Drupal is an open-source content management framework released 20 years ago. Since then, there have been nine major releases. What makes Drupal different and special from proprietary content management systems that also serve organizations is that it is supported by a community of ~1.4 million members.
Upgrading Drupal to the next major version usually meant you had to rebuild your site from the ground up, which could have been a big undertaking.
Have a developer write migration scripts to move your data from your old Drupal site into a new one using migration modules or tools.
Why is Drupal 9 different?
Drupal 9 launched its version 9.0 in June 2020 alongside Drupal 8’s last incremental update, version 8.9. Since 2022 January 05, version 9.3.2 is available. So what’s this latest version, Drupal 9, all about?
The Drupal community learned a lot from the upgrade experience between prior major versions and decided to change the way upgrades are handled, starting with Drupal 8. Drupal developers are most excited about Drupal 8’s update system, meaning how Drupal will handle major version upgrades as we advance.
Drupal 9 is built on Drupal 8’s architecture with built-in backward compatibility. It uses Drupal 8’s codebase rather than starting with a new codebase. New minor versions will continue to be released every six months (in June and December each year) with new features, following the cadence that began with Drupal 8’s adoption of semantic versioning.
At launch, Drupal 9 should feel very similar to 8, so don’t expect big changes in functionality out of the gate. Drupal 9.0 was identical to the June 2020 Drupal 8.9 release but removed deprecated code and updated third-party dependencies.
If your site relies on deprecated code, you will have to fix that before moving to Drupal 9. Drupal 8.9 includes older versions of some third-party dependencies and code that has been marked for deprecation. Drupal 9.0 upgrades those dependencies and removes the deprecated code.
How to prepare if you are on Drupal 7?
If you are on Drupal 7 or earlier, start your upgrade to Drupal 9 with this upgrade process.
- Review upgrade paths: Find out which contributed modules don’t have Drupal 9 releases and find alternatives. Many contributed modules did not provide an upgrade path, so you might have to migrate your configuration changes manually.
- Rewrite any custom modules: The code you wrote for custom work in Drupal 7 will no longer work in Drupal 9.
- Take stock of your content: Delete/archive anything you don’t need.
- Migrate your configuration: This includes content types, taxonomies, module configuration, etc.
- Migrate content: Use the core Migrate suite (in Drupal 9) to automatically move content (nodes, users, terms, etc.).
- Rebuild “complex” layouts: If you were using Panels, Page Manager, Panelizer, Context, etc., to build complex pages (like your homepage), you will need to rebuild those pages using Layout Builder, Paragraphs or directly in the Twig templates.
- Re-write your theme: Drupal 7 used PHPTemplate, and Drupal 9 is using Twig for a template engine.
Tools & Modules Involved in Migration
If you’re ready to start moving in the right direction, here’s the list of tools and modules that will aid you along the way:
1. Migrate Module Suite:
Drupal core offers the migrate module suite for carrying out data and/or content migrations from Drupal 7. It enables users to build their website in Drupal 8 or 9 in the best way and import the content to the new areas.
2. Upgrade Status Module:
The Upgrade Status module’s Drupal 7 version summarizes the Drupal 8 or 9 availability of currently used modules.
3. Drupal Module Upgrader:
This is a command-line script, which scans the source of any Drupal 7 module, flags codes requiring an update to Drupal 8 or 9, and points off relevant notices of API (Application Programming Interface) change. Moreover, wherever possible, it will automatically perform conversion of the Drupal 7 code to the Drupal 8 and Drupal 9 version.
Drupal Module Upgrader does not use deprecated APIs in generated codes. Therefore, if you upgrade to Drupal 8 first, your path to upgrade to Drupal 9 will become smoother.
4. Upgrade Rector:
It helps automate module updates for Drupal 8 sites of common deprecated code to the latest Drupal 9 compatible code.
Prioritize Drupal 7 to Drupal 9 Migration Now
Although the end-of-life of Drupal 7 has been extended, it is wise to move to Drupal 9 now, given that Drupal 9 is out. Drupal 9 has several attractive features and benefits that can help you get a robust and dynamic business website.
Let us talk today about a robust Drupal 9 website! If you wonder how to proceed with the migration, our Drupal team can help you. We have a proven record of accomplishment in developing websites driven by Drupal and have expertise in upgrading to Drupal 9.