Your roadmap to Drupal 9 migration is here!
By: Gopinath Manimayan
Tags: CMS, Customer Experience, Drupal 9, Digital Experience, Drupal

Drupal 9 is finally here, marking yet another addition to the world of web development. While Drupal specialists and community enthusiasts highly recommend this recent offering in the market, you are probably still contemplating the upgrade, thinking it might be too soon or if it is worth it at all. This article aims to help you with this decision, highlighting the need and navigating a smooth migration path to the latest version.

But before that, let’s take a look at why Drupal 9 is probably your best choice for a CMS right now.

Why choose Drupal 9?

If you are a Drupal user and have been following the course of its evolution, you must already be aware of the major innovations introduced in Drupal 8 in terms of ease of use and extended support. With a host of new features in core, and a new PHP framework, Symfony, the 8th version was a pathbreaker for Drupal exceeding all expectations.

Drupal’s enterprise platform is a cut above the rest with access to a large library of modules, templates, tools, and various components, making content creation and management structured and effortless. Drupal has always ensured to empower its users making architectural features accessible to all regardless of technical ability. This powerful and flexible framework is supported by a vast open-source community and a plethora of contributed content that can be leveraged by site builders without development or programming skills, making it a robust and intuitive platform option for websites and applications.

Drupal 9 is a natural progression of Drupal 8 as it is built on the same codebase adding new functionality to the existing framework making the transition smooth and effortless keeping up with their continuous innovation model.

So, if you are a Drupal 8 user, the obvious question on your mind would be if at all you need to upgrade. The answer would be yes…primarily due to security reasons.

Let’s take a quick look at some of the Drupal 9 highlights:

Better stability: With Drupal 7 and 8 versions nearing their end of life (November 2021), technical support for earlier versions, especially the availability of patch files, would be difficult. With the latest version, Drupal updates some of the PHP library dependencies to recent versions ensuring long-lasting support. Enhanced features and functionality in core: Media Library, Layout Builder, and Content Workflow are some of the significant modules now in-built in the core that enable ease-of-use for building a website or application. Another powerful feature added in Drupal 8 is the Big Pipe that increases page view performance through segmented loading of content. Advanced technology: Drupal 8 onwards, developers can leverage the headless support with a decoupled front-end with the implementation of JSON: API. Also, RESTful web services will also now be in core. Site configurations become easier with in-built YAML engines.

Drupal 7 users…Time for an upgrade!

If you are on Drupal 7, the primary concern is the discontinuity of community support, since the projected end-of-life for the version 7 software is closing in. Needless to say, Drupal 7 users will need a site rebuild to move to Drupal 9, the latter being built on a different framework.

A complete site migration always poses several challenges in terms of the transfer of content and continuity of existing functionality, especially when the codebase is significantly different from the existing. Although it may sound intimidating, the process is not that tedious if you follow the right way to go about it.

We address some of the common questions faced by site builders and enterprise platform decision-makers before a migration.

Will my existing features be affected? There may be an impact on existing features and functionality depending on the current system structure, however, any discrepancies can be addressed through custom codes as per the higher version coding standards. Can I use the existing site content? Yes, absolutely! Drupal has modules specifically for site migration — Migrate, Migration API, Migration Drupal UI — that can handle your content transition seamlessly. The Migrate module allows importing existing content in bulk and mapping them to the new system. Will I lose Drupal 7 core module features? With the new upgrade, you will find an extensive library of features that are an advancement over version 7 features. Will the existing theme break after migration? Yes, that would break, since Drupal 7 had been using Core PHP templates, and version 8 onwards Drupal introduced a new template engine called TWIG. So, post-migration you get an even better theme with more secure form elements with a better scripting style.

Migration path explained

Here’s a broad overview of how to prepare your Drupal 7 site for migration and a step-by-step map on the major things to do while upgrading to Drupal 9.

One of the first things to do before migrating is to take stock of all your existing contributed modules and check the migration version compatibility for each of them. Also, for core modules, there will be an advanced version of the same. You can check these through the Upgrade Status Module. For custom modules, there is a Drupal Module Upgrader, which can recommend changes to modules for better compatibility with the higher version.

For the configuration transition, the core Migration module, introduced in Drupal 8, is best suited for the job. Each form of configuration will be exported as file format (YAML format) and imported into the Drupal 9 version. Media assets can be copied manually to the respective location of the folder structure, but themes have to be restructured manually.

The website content migration is subjected to the digital enterprise structure; if it has a low-level complex entity structure, you can use a contribution module to copy the content easily from one DB to another DB. And, if the existing system is a complex structure entity formation, you may need to create a custom module corresponding to the existing structure to read the data.

Drupal 7 to a higher version migration can be seen as an “adapting migration”. This means importing the complete site to the fresh instance into the new Drupal 9 system. So, you are accepting and adapting the existing site into a new site in the process of migration as opposed to overwriting the entire platform.

The below steps form the high-level migration process:

Step 1 — Backup

Take a backup of the existing website including DB and media assets.

Step 2 — Download the Drupal Instance to local

Go to drupal.org and get the stable version of planned migration version

(Would recommend to this through composer)

Step3 — Setup the local copy of Drupal instance

Install the fresh copy Drupal instance to the local machine. (We would recommend to set up the virtual host on webserver / use the ACQUIA desktop to setup the local instance with the domain)

Step 4 — Make sure, you have migration modules installed in the fresh instance

Go to the “extend” menu as an administrator and check the modules present for the migration process.

Step 5 — Put the site to maintenance mode

In Drupal, super admin privilege will allow you to put the site into maintenance mode. So the end-user will not view any errors on the site.

Step 6 — Navigate to upgrade location, enter the required details for migration

Navigate to http://localsite.com/upgrade location. Enter the required information including source DB, Drupal version, and files directory.

Step 7 — Your site is now ready for migration

Migration is not easy…we understand!

Migrating to a whole new version may seem daunting at some point, but it’s a crucial step toward building the perfect digital experience for your users. In the world of digital experience, there is constant innovation in technology, however, finding the right tools to best suit your needs requires adroit planning. One can leverage the power of the Drupal community partners to select the right tools for migration. For instance, our partner Acquia has tools and accelerators like Acquia CMS Migrate, which improves migration efficiencies by 5x, or Acquia Cohesion, which offers a low-code option for a smoother Drupal updating experience. At Moonraft, we have helped several organizations and industry leaders across the globe tide over their enterprise platform migration challenges. Our unique approach explores tactical solutions from a wide variety of options to suit varied content architectures, aiming to deliver consistent and cohesive platform experiences. We have also developed our own automated content migration tool, which uses automated scripts to improve content migration efficiencies by almost 75%. The path to a better digital experience might be steep, but the experience at the end of the road helps you achieve your desired business outcomes.