It seems like just yesterday we were migrating all of our clients to Drupal 8 from Drupal 7. ‘Migrating’ is actually not the best word for it. It conjures images of a simple, turnkey step by step, perhaps even wizard-like interface that magically moves your site from the old to the new. Or, migration conjures images of graceful birds, steadfastly and instinctively making their way to their new surroundings. If anyone who went through this Drupal 7 to 8 journey knows, it was neither graceful nor wizard-like. So, knowing that all Drupal sites will need to be on Drupal 9 by either Nov. 2021 or Nov. 2022, can be scary.
Here is the overall Drupal Landscape:
Drupal 6: Released in 2008,
reached “End Of Life” in 2016
Drupal 7: Released in 2011,
“Supported” until 2022
Drupal 8: Released in 2015,
“Supported” until 2021
Drupal 9: Released June, 2020;
You may notice something curious in the roadmap above. Drupal 7 will be supported a year later than the newer version, Drupal 8. Again, that is because anything on Drupal 7 will need to be completely rebuilt in 9. The Drupal 8 to 9 progression promises to be much easier, and we have found that indeed it is. Since Drupal 8 and Drupal 9 share the same core code, ‘upgrading’ to Drupal 9 will be much easier. From Drupal.org:
Drupal 9 was mostly built in Drupal 8 using deprecations and optional updated dependency support. Unlike previous new major versions, Drupal 9 is not a reinvention of Drupal. There are only two key differences in Drupal 9:
- Updates of dependencies to versions that stay supported.
- Removal of our own code that we deprecated with removal before Drupal 9's release.
Before you start be sure to check out How to Prepare your Drupal 7 or 8 site for Drupal 9.
The four main steps to upgrade are:
- Install Upgrade Status Module to check the sites readiness for upgrade
- Update contrib modules to be compatible with Drupal 9. Using Composer it is possible to upgrade modules without writing code.
- Update custom module code to be compatible with Drupal 9. This will mostly require rewriting the use of deprecated functions and declarations. Drupal.org should have documentation on how to replace deprecated functions. Important: Any code changes should work for both Drupal 8 and Drupal 9, so you can start rewriting code now!
- Update Drupal core to Drupal 9 (through Composer)
In the coming month we will be upgrading a few test sites and will be sure to report back on how the effort went.
To recap, if you want support for your site (security patches, etc.) past 2021, you must upgrade your Drupal 8 site (2022 for Drupal 7). But often doing things because we have to is not the most exciting reason, and can be hard to motivate a team of developers around... sort of the technological equivalent of a root canal.
So, in order to make it exciting, I am sure you want to know what are the improvements on Drupal 8 in Drupal 9. Much of it is still work in progress, but here are some of the high notes:
- One-step update or install of Drupal with new built-in Composer support.
- Automatic updates
1 and 2 mean the cost of upgrading and maintaining Drupal is decreased, which most organizations should be excited about.
3. Better configuration management. This should help dev and deployment teams to better manage configuration when deploying builds to dev/stage/prod. This should help streamline builds and also reduce errors when deploying code.
4. Continued progress in improving decoupling of the platform for headless deployment. This can help organizations who have centralized content that needs to be syndicated in multiple platforms (for example a website, intranet, and a mobile app). See our post about When to Use a Headless CMS.5. Prioritizing the beginner experience. Improving the user experience for Drupal developers and site maintainers that are just starting out with the project. More low code/no code/WYSIWYG components. They even updated the default Drupal theme around the principles of Simple, Modern, Focused and Flexible. And we were inspired to hear that the new theme is named Olivero, after Rachel Olivero, Drupal Contributor, leader and Accessibility advocate.