Having developed web applications using Drupal 6, 7, and 8, the launch of Drupal 9 is incredibly exciting. Ironically, I started working with Drupal 6 at a time when Drupal 7 had already been released. However, there was a huge resistance in adopting Drupal 7 due to its incompatibility with contributed (open source) modules. This often meant that adoption of Drupal 7 would prevent companies from using the modules their websites relied upon to function in their entirety.
The major update release cycle from Drupal 6 to 7 has altered drastically by comparison with Drupal 8 to 9. Drupal is now adamant on releasing a new major Drupal release that can provide a seamless update from a prior version, meaning the update process should be seamless for developers. So much so, that if you are using Drupal 8.8 or 8.9, with contributed themes and modules not having any deprecated functions, you’re already equipped for the upgrade.
Sounds neat, right?
However, why update if you don’t need to?
No, you don’t need to update. But it’s an update you’ll need to make eventually. With Drupal planning a new major version every 2-3 years under the revised structure, upgrading sooner prevents deferring the work to a later date (see this article detailing the software development life cycle). By observing the below release schedule (provided by our friends at Drupal), you’ll notice Drupal 9 has an end of life no time in the foreseeable future in the end of 2023. While this is a long way off, it does mean you have time on your side (see Drupal’s release life cycle here).
On the contrary, as a software developer loving everything open source, I’m a huge fan of leveraging the latest technologies. Drupal 9 (unlike Drupal 8) comes equipped with the latest versions of Symphony, CKEditor, and other packages, which won’t be updated within minor releases of Drupal 8. In updating, you have the latest iterations of these respective solutions. If this isn’t of interest, as previously mentioned, you can defer this update to a later time.
Updating previously between major iterations of Drupal was much easier than it is now. The process of updating from Drupal 8 to 9 is incredibly easy if you’re already using the latest versions of these respective solutions. I always like to consider updates to Drupal as having three primary pillars:
If all three can be updated without too much difficulty, the upgrade process from Drupal 8 to 9 should be rather simple. Below is a brief summary of what is required within each facet:
Updating Drupal from 8 to 9 is a five-step process.
Step 1: Prepare Your Server
Updating your server to the technology required by Drupal 9 is critical. This includes the following:
As previously mentioned, Drupal has recently released versions 8.8 and 8.9 as a midpoint between Drupal 8 and 9. Modules and themes developed for Drupal 8.8 and 8.9 are already compatible with Drupal 9. By updating to Drupal 8.8 or 8.9, you can then track any warnings or errors to determine if you are still using any deprecated Drupal APIs. You can trace errors with Stackify’s Application Performance Management tool, Retrace. Try your free 14 day trial today!
The Upgrade Status module for Drupal is the Hail Mary to any woes you may face. By downloading the module (here) and installing it into your Drupal installation, you will be able to analyse your Drupal setup and confirm if there are any concerns you should have prior to the upgrade.
Per step 2, you should now be aware if any custom modules or themes are using deprecated Drupal APIs. If this is the circumstance, make sure you update these with versions compatible with Drupal 8.8 or 8.9 to prepare for the upgrade.
It’s now time to update Drupal 8 to 9. By this stage, you should have Drupal 8.8 or 8.9 installed, with all modules and themes no longer producing any errors. If not, I recommend not proceeding the update to Drupal 9.
If you are ready, there are two steps:
Be sure to use Retrace to continue monitoring Drupal during and after completion of the update. It will help to ensure you resolve any issues and are provided with detailed reporting to resolve them urgently.