We recently received news of Drupal 7’s end of life being extended to November 2023. For Drupal 7 users, that allows a bit more time to make the jump. However, for Drupal 8 users, now is the time to make the upgrade. Generally, an upgrade from Drupal 8 to Drupal 9 is a matter of removing deprecated code, while migrating from Drupal 7 to Drupal 9 requires much more legwork. Sevaa Group can help you get started, whether you’re on a legacy Drupal version or even on a different CMS and looking to switch to Drupal.
Drupal End of Life
To rehash, EOL means that the Drupal community will halt creating new projects, bug fixes and documentations for this version. From November 2023 and on, there will no longer be anymore Drupal 7 commits or core support. More importantly, if you continue to use Drupal 7 past EOL, your site may be flagged as “insecure” in 3rd party scans. This is all currently true for those still using Drupal 8, which is past EOL. But there’s a lot to look forward to with upgrading the Drupal codebase.
Key Benefits of Upgrading from Drupal 7
Drupal 8 saw the community overhaul Drupal’s core infrastructure. Since it was created, Drupal has always had a bit of a unique way of architecting and implementing its code. Drupal 8 saw a big push to move the codebase “off the island” and begin integrating and using powerful libraries already developed and rigorously tested in the larger PHP community. The goal was not only to save core engineers time by not having to constantly manage their own re-invented wheels. Developers who have already used these codebases elsewhere would also be able to quickly jump into Drupal work without having to learn too many quirks.
This revision of the main core of Drupal added several features:
- A codebase managed by Composer, which handles library integrations.
- Integration with Twig to allow for safer and cleaner template theming.
- Key features from the contrib community were integrated into Drupal core, like Views, the Entity API, and Media.
- Symfony 3 added as the backbone of Drupal, providing features like class loading, routing, translation, YML parsing, and many more.
- A configuration export system allowing the syncing of multiple site environments.
- And many, many more.
Preparing for Drupal 9
If you’re migrating from Drupal 7, Sevaa’s recommendation is to move directly to Drupal 9. If you’re already based in Drupal 8, the jump to Drupal 9 is a breeze. Drupal 9 is essentially a “cleaned-up version of Drupal 8.” Drupal 9 includes much of the same features as Drupal 8, but also adds some new and updated features. These include:
- An updated version of Symfony 4
- Upgrade to Twig 2.0
- Fewer third-party dependencies as depreciated code gets removed
- Panelizer will most likely be replaced with the Layout Builder
- Most if not all Drupal 8 modules will be compatible with the new version
All of these updates amount to better performance for your website.
Migrating to Drupal 9
So what does a Drupal migration look like? Let’s break down some of the major phases of migrating to Drupal 9.
Configuration Migration
First we start with configuration migration. This includes aspects like ensuring that your site’s basic infrastructure is in Drupal 8. In this phase, we’ll also ensure new and custom fields are implemented to accommodate content. This is also a good chance to do some clean up. If you have multiple content types, now would be the time to decide which ones you want to consolidate, split or do away with entirely. Lastly, any Drupal 7 views you intend to keep will need to be recreated in Drupal 8, as Drupal 8 does not currently support migrating Views.
Code Conversion
It’s pretty common that sites developed in Drupal would have some custom modules or other functionality coded specifically for the site. To maintain this functionality you’d need to rewrite it just a bit, swapping out old Menu hooks for routing, for example. Drupal 8 sites may even need to find replacements for depreciated code functions. There are a handful of automated tools to support preparation for Drupal 9, but we lean heavily on internal Drupal expertise to properly rewrite code.
Theme Rebuilding
A major aspect of code conversion to Drupal 9 is the theme, which is usually unique to a site. Many clients migrating up to Drupal 9 might consider taking the opportunity to refresh the appearance of the site by creating a new theme. That said, it’s entirely possible to take an existing theme and re-engineer it to make use of Twig and Drupal 9’s revised architecture.
Content Migration
Now we’re ready to migrate all of your content. This includes text, blog posts, headings, files, media, etc. Drupal 8/9 comes with a powerful Migrate tool designed to make moving content from one source to another as easy and complete as possible. Migrating from older versions of Drupal can be made incredibly simple, and even allows the Migrate tool to generate migrations based on the existing site architecture. Once those migrations are tuned to perfection, there can be a brief content freeze and the content will be ported over to the new site.
Get Started
Although a migration can seem overwhelming, Sevaa Group can help you with the initiative, whether you’re moving from a different CMS to Drupal, or upgrading within Drupal. We have over 10 years of experience with Drupal and CMS migrations. From start to finish, we’ll ensure a seamless migration while using best practices. Acquia certified developers are standing by.
Sources:
- https://www.drupal.org/docs/understanding-drupal/how-drupal-9-was-made-and-what-is-included/what-are-the-new-features-of
- https://medium.com/@OPTASY.com/whats-new-in-drupal-9-any-game-changing-features-to-expect-and-prepare-for-31706616a09a
- https://mtech-llc.com/blog/luke-pekrul/guide-estimating-upgrade-drupal-8-drupal-6-or-7