Upgrade from Drupal 7 to Drupal 9
Upgrade from Drupal 7 to Drupal 9
Drupal 7—the popular web content management system that powers many top-rated websites—is ending. The Drupal Association planned to pull the plug in 2020, but the timing of the COVID pandemic pushed out the deadline.
Drupal 7 end-of-life is now scheduled for November 21, 2023.
Jumping Two Drupal Versions
It’s a tall order. You’ve been working with version 7, and now the clock is ticking for its end-of-life. Because Drupal 8 had its end-of-life on November 2, 2021—due to Symfony 3’s end of life—you’ll have to upgrade directly to version 9.
But the good news is that the intention of the Drupal core developers is to make major upgrades seamless from current to future versions, and you still have some time to complete the transition to version 9.
However, you don’t want to end up crunched for time, and Drupal web development agencies are in high demand. Hopefully, you already have a relationship with the Drupal-focused agency that built your original site, and they can help lay out a path to Drupal 9.
Making the Upgrade from Version 7 to Version 9
Now is the right time to start the migration process if you haven’t already. Drupal.org gives you information and resources to prepare for your Drupal 7 to Drupal 9 upgrade. You won’t want to wait until the Drupal agency stops security support for the platform.
As a first step, you should plan out the migration and take stock of the platform requirements including module compatibility. Several automated tools are available to help you find and fix deprecations in your codebase.
Some users have discovered that switching from 7 to 9 brings significant changes. And if you want to do a full redesign or re-theming to version 9 along with the migration, it can take six to nine months to complete, depending on the complexity of your website or web application.
Visit Drupal 9 upgrade case study for the National Fish and Wildlife Foundation
Understanding the Module Changes
One example of a change between the versions affects contributed modules—some are now part of the core in 9. On the other hand, implementation is different, and it affects feature parity. Refactoring is the best way of dealing with this issue if it comes up.
Enjoy the New Tools (Briefly)
In version 9, you’ll start to get very familiar with Composer—which takes the place of Drush.
Twig is the new templating engine that makes you wonder how you ever got along with PHPTemplate.
Version 9 also embraces the gradual deprecation model. It’s not something Drupal web development has used so far. If you get comfortable with this particular aspect of the changes, you will be able to easily move forward from 9 into newer versions.
Nuts and Bolts of the Database Upgrade
The best way to manage this upgrade is to migrate your site content and its configuration to version 9. Select and empty the version 9 installation. Then, you’ll be able to build the site by hand and determine the placement of content types and fields. With this framework in place, you can migrate the version 7 content to the appropriate places in 9.
If you have a site with a more or less standard presentation, you’ll likely use the core functionalities of version 9 to migrate many fields automatically.
That said, automation isn’t available if your site has custom code or a lot of contributed modules. Web development experts have found that Migrate Plus is an effective module set for starting the migration of a highly customized project. You’ll just need to do some organizational work on the back-end first.
We recommend generating a database-informed spreadsheet that organizes your plan for scheduling the move.
When you have third parties handling the migration workload, they can keep track of progress on the spreadsheet. If they end up having to code to a YAML file, have them document their progress.
Making a Plan for the Migration
What does your budget for this project look like? How much time can you dedicate to it?
Don’t overlook these questions.
The answers will tell you whether you should do a basic migration of existing content or an overhaul of information architecture complete with design and features.
If you’ve been thinking of a design refresh or corporate rebranding, this is an excellent time to do it if you get started on the Drupal upgrade right away.
On the other hand, if it’s critical that you get the site up and running, this is not the time to explore major upgrades. Consider keeping a running list of desirable upgrades that could become part of a site refresh project down the road.
When you’re excited to get started, you might be in danger of trying to go in too many directions at the same time. If money dries up, you’ll find that parts of the migrated site work beautifully while others are rushed and don’t function as well as they should. Make it easy on yourself and your team by pulling together a baseline plan.
Avoid Upgrade Fatigue
Version 7 of Drupal has been around since 2011. If you’re working with a web developer who’s been on board since then, there’s a good chance that they’ll have some upgrade fatigue. It’s easy to grow accustomed to working with Drupal in a certain way, and there might be some resistance to making the move now.
Unless your developers are on top of their game and already have some training, factor in time for a learning curve as part of your overall migration plan.
While your developers might leap at the opportunity to use Composer for managing dependencies, the Symfony platform forces them to change their ways of creating a process. They’ll also have to get used to hooks being a thing of the past since the YAML files are now the way to make menu items.
Bringing in an Outside Firm to Do the Heavy Lifting
Unless you have experienced Drupal Developers in-house along with the time and money to spend on staff retraining, consider bringing in a third party or outside Drupal development firm.
You can save money at the onset of the project with this option. Rather than tying up your internal resources, you can work with experts in the field who will handle the migration quickly and competently. When speed is of the essence, bringing in a partner to help is likely the best way to go.
If you find the right partnership, you’ll have support from web pros that teach your team the ropes as they go. With the tasks clearly defined, no one struggles over who’s in charge.
Read our Drupal upgrade case study for The Phillips Collection
Additional Drupal 7 to 8 to 9 documentation and resources
You can find helpful upgrade documentation on the Drupal Association website. Here’s list of a few key resources for quick access:
- Deprecation checking and correction tools to prepare for Drupal 9
- Prepare a Drupal 7 site for Drupal 9
- Preparing Drupal.org projects for Drupal 9
- Preparing for use of Twig 2 in Drupal 9
- Upgrading a Drupal 8 site to Drupal 9
If you need help with a Drupal upgrade project or with migrating from Drupal to WordPress, get in touch with us today.
For Drupal hosting, we recommend our Drupal hosting partner https://pantheon.io and Acquia hosting www.acquia.com