Systemseed.com running on Drupal 9 within two weeks of its release - and how we did it
The first agency website running on Drupal 9 (probably)
Drupal 9 was released on the 3rd June and two weeks later we had upgraded the all-new systemseed.com from Drupal 8 to Drupal 9.
The benefits of Drupal 9 over Drupal 8 are mainly in:
- An improved upgrade experience, with the same twice-yearly release cycle as Drupal 8;
- Even further enhanced stability and security; and,
- An incremental, but significant move to Drupal as a Digital Experience Platform (DXP) rather than just a Content Management System (CMS).
We decided to upgrade our shiny new website from Drupal 8 immediately and put the ease of upgrading to Drupal 9 to the test.
As pointed out by Evgeniy Maslovskiy, our CTO, ‘we’ve previously recommended Drupal 8 to our clients on the basis of a painless future upgrade to all new releases of Drupal. We’re keen to prove that point by upgrading a real project straight away - our own site’
Upgrading Drupal Core, and the well-supported modules we use, was as smooth as you’d hope it to be.
The Tech Lead for our site (which is still undergoing iterative design and development) is Andrey Yuratev, the maintainer of the Material Base Theme for Drupal, who also took the lead on this upgrade: ‘In theory, if our Drupal 8 site was fully up-to-date, then an upgrade to Drupal 9 should be as easy as a regular update between each minor version of Drupal.
‘Upgrading Drupal Core, and the well-supported modules we use, was as smooth as you’d hope it to be. We used the Upgrade Status module and tool to check the readiness of the contributed and custom modules being used by systemseed.com.
‘On the day of Drupal 9’s release, a lot of modules used on our site weren't compatible with it. However, during that week, most of the contrib modules that had not yet been updated received patches and new releases for D9 compatibility. We became part of that process and issued or rerolled several patches ourselves.
‘In terms of custom modules and the site theme, no additional development was needed for the Drupal 9 upgrade, they just carried on working.
‘This is definitely the smoothest update of a major Drupal version I’ve been involved in. Previously it took much more time and effort, and even then the result was not always acceptable. It’s great to know that’s all in the past with Drupal 9.
‘I’m impressed by how fast the Drupal community picked up the D9 upgrade initiative. They have automated and streamlined the upgrade process with patches being posted by drupal.org bots fully covering our needed upgrade path, in 3 out of 4 cases’, commented Anthony Fox-Davies, SystemSeed CEO. ‘The process was relatively easy for our engineers and that bodes well for our clients too’.
The process was relatively easy for our engineers and that bodes well for our clients too
The step-by-step of how we did it:
- Updating to Drupal 9 is possible from versions 8.8 and 8.9, both released in the last few months. We were running 8.9 already, so we had the very latest version to use as a starting point for our upgrade.
- We installed the Upgrade Status module, which lists all compatibility problems in the contributed modules being used and the environment.
- An automatic update was carried out by Composer (package manager). By default it installs only stable versions but some of the incompatible modules didn't have stable Drupal 9 versions available.
- For the modules without stable Drupal 9 versions, we updated them individually to development versions.
- Some of the modules didn't even have development versions that were compatible with Drupal 9, so we checked the issues list for available patches and applied them where possible.
- For those modules without either development versions or patches, we created them and also uploaded them to drupal.org
- After all the checks had been passed, we performed an upgrade to Drupal 9 using Composer.
- Once we’d upgraded, we made a few final minor fixes, did a quick clean up, and we were done!
That is it, systemseed.com is now on Drupal 9!
Since 2009, SystemSeed has been using technology to help high impact organisations achieve big ambitions.
We’re a boutique digital experience agency focused on open-source technologies with world-class technical expertise in Drupal.
Our clients include global charities, NGOs, governments, universities, and mission-led companies.
You can find out more about us at systemseed.com.