Changing from MODx 2 -> 3 easy?

Is the change from MODx 2 to MODx 3 easy?

I am just about to built a new website thinking if choosing MODx 2 as all the years before or tanking MODx 3? Is this a big difference for building up a new website?

It seems like my question was either stupid or the forum-community here is almost dead?

Any comments if changing to MODX 3 is recommended or should I better stay with MODX 2 if such a change is accompanied with much work for a web developer who is familiar with MODX 2?

You can read about changes 2->3 here
Upgrading from 2.x to 3.0 - Getting Started | MODX Documentation

And yes, the switch should be relatively easy.
Not all Extras are working, yet, though.


Thanks Bruno. So this means: It makes no sense to wait till an Advanced Version of MODX 3 and I will take the Traditional Version and after standard installation process I will change e.g. the name and/or path of the manager-folder. Correct?

I wanted to mention that, at present, it looks like the UpgradeMODX extra will not work to upgrade from MODX 2 to MODX 3. I’m still trying to figure out why. There’s an error updating the modUser table. Setup reports success, and the left panel of the Manager appears, but the rest of it flashes on the screen and then disappears.

I have several dozen extras. Most (but not all) of the ones I’ve tested work, but I haven’t found time to test them all. Now that MODX 3 beta has been released, I hope to get more serious about testing them and updating the ones that need it.

1 Like

In spite of what I wrote above, I was able to use UpgradeMODX to upgrade from MODX 2 to MODX 3, and to upgrade between versions of MODX 3. The secret turned out to be disabling the browser cache. I used the Chrome Extra, Cache Killer.

I think it’s likely that my earlier UGM upgrade attempts (without Cache Killer) were successful, and the MODX Manager would have worked fine if I just visited the Manager in Private or Incognito mode to take the browser cache out of the picture, but I haven’t tested this.

The extras I’ve tested so far do work in MODX 3, though they throw a lot of deprecation warnings. I’m working on eliminating those.


Just to note, traditional and advanced installs are practically the same. The only difference is in the setup, where traditional offers fewer options. The actual MODX installed is the exact same code. So there is indeed no reason to wait for advanced if you want to try MODX 3 now.

As for wether to start a new build right now with 2 or 3: it depends™.

The recommendation I’ve been pushing is to not yet upgrade production sites to 3, unless you really know what you’re doing and can diagnose and fix issues that come up. Basically if someone’s a core developer involved with 3.0, go for it.

For new sites you start building today for which you are not under time pressure, you can definitely start with the release candidate. Check the known compatibility of extras you expect to use.

Keep in mind the vast majority of people have not yet done much with 3.0 at all, so if you run into things that don’t work as expected, you will need to be able of figuring out why. There’s gonna be bugs and broken extras nobody else has run into yet. If that sounds daunting and way out of your comfort zone, 2.8 is a safer bet.

1 Like

A while back, I did a file compare on the traditional and advanced installs, where advanced install had everything in the default places. The only difference was in this line of the file:

$v['distro']= '@traditional@';

I don’t know if that’s still the case.

I’ve argued for some time for just having one distribution with a button to display the hidden advanced options.

I have no real evidence for this, but I suspect that some newcomers don’t install MODX at all because they can’t figure out which distro to pick. I imagine there are also users who, when they get advice that references the distro, are not sure which they have.

That wouldn’t work. The whole point of the advanced distro is to allow the extraction of the various files for assets, manager, and connectors to custom locations. Without this capability, the advanced context options are useless and would require you to manually move them to where you specified.

Similarly, the point of the traditional distro is to provide all of the files already extracted into standard locations for environments where extracting files with PHP would cause access problems because PHP runs as a different user than the SSH/SFTP account.

Couldn’t setup move those files and adjust the settings?

On your second point, it seems like that would no longer be an issue if everyone got the traditional version with the custom options.

I always run my PHP environments where the SSH/SFTP user matches the PHP user. But many shared hosting environments do not. In those cases, sometimes PHP does not have permission to manage the files uploaded as their SSH user, nor would the user have permission to manage the files extracted by PHP. There was no other way I saw to solve this and still allow the advanced functionality. So this is the solution that was created.

Also, for upgrades, if the files were uploaded all to the standard locations instead of just extracted again into the customized location, that could cause other problems, not the least of which are with how much space is being consumed by having all of them there at once. And my favorite part of using the advanced was how much faster it was than uploading every single individual file in all of those locations. Extraction fails far less often than an SFTP transfer does.

But anyway, maybe nobody cares about any of that anymore and you can all just use traditional and I can delete and stop maintaining all this additional distribution code.

That was my motivation for the argument, but I don’t know how others feel about the advanced distribution.

Somewhat ironically, I think what the advanced distro does in terms of custom names and locations could be done with an extra. :wink: