Years in the making, MODX Revolution 3.0.0 is now available in MODX Cloud. You can read the complete release announcement at the MODX Blog. However, there are some key things to consider when starting a new project in MODX Cloud.
PHP Versions
You cannot work with MODX Revolution 3.0.0 with PHP version 7.2.x or earlier. And while it will install with PHP 7.3, we strongly recommend using PHP 7.4 or 8.0 which are available on our new platforms.
Extras Compatibility and Considerations
In addition, some Extras may not yet be compatible with MODX Revolution 3. While the MODX core integration team worked to maintain as much backward compatibility for Extras as possible, there are breaking changes from Revolution 2 to 3.
Most commonly used Extras should work and simple Snippets that work with currently supported PHP versions should continue to work as well. The most common issues are with Extras that include Custom Manager Pages (CMPs) that have not been tested or updated for Revolution 3.0.0, those that have not been updated for PHP 8+ compatibility, or those that rely on the now removed, modAction, which was marked deprecated in Revo 2.2.x.
Upgrading from Revolution 2 to 3
The following sections and steps will enable you to safely test and upgrade to MODX Revolution 3. For more in depth details on all the changes and considerations see the official MODX documentation on Upgrading from MODX Revolution 2.x to 3.0.
Test Upgrade on a Separate Cloud Instance
In general, we highly recommend testing a Revo 3 upgrade on another Cloud before you consider moving your production website, using the following method and checking your site and manager after each step below:
- Make a backup of your site before making changes, just in case, or flag last night’s backup to be preserved and rename or update its description so you’ll recognize it as a fallback
- If you’re on a legacy platform (stops at PHP 7.3), upgrade your site to PHP 7.3
- Upgrade all your Extras to the latest version
- Purge the old versions of your Extras
- Consider clearing the Manager Error log and Manager Action log
- Upgrade MODX to the latest 2.8.x version
- Check the MODX Manager Error report for anything that needs to be addressed
- Check the PHP error log for any warnings, errors or deprecations notices post upgrade
Snapshot and Create the Test Cloud
Once the above is complete, make a Complete Snapshot of your site and use it to create a new instance on one of the new platforms. You will need to manually copy any crontab entries and your web rules to the new site, too. To minimize the number of variables, we recommend starting with PHP 7.4 which is available on Texas 3, Washington 1, or Frankfurt 2 (new second gen platforms).
Upgrade to Revo 3
Once this is done, go ahead and upgrade to MODX Revolution 3.0.0 and check for any Extras that need to be upgraded for 3.x. Repeat the last two steps above:
- Check the MODX Manager Error report for anything that needs to be addressed
- Check the PHP error log for any warnings, errors or deprecations notices post upgrade
You may need to report non-working Extras to their authors, typically at a Github repo, or you can open a ticket to see if MODX Cloud Support knows of any workarounds.
Ideally Upgrade to PHP 8
Once you’re happy with how things work under PHP 7.4, you can upgrade to PHP 8.0 (8.1 when it becomes available) for a speed boost and to ensure you’re on a version of PHP that will be supported for security and bug fixes longer; PHP 7.4 ceases getting support updates on 28 Nov 2022.
Ready to Launch: Add Add-ons and Switch DNS
If everything checks out, you can either add any Cloud Add-ons (including custom domains) and change your DNS to point to the new site, or open a ticket to request a migration which will prevent double-billing for any Cloud Upgrades or Add-ons during the current billing cycle.
Remove Old Cloud
Once migrated, you’ll want to make sure to remove your old Cloud instance once you’re comfortable that everything is working as well as (probably better!) than the older version.