Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough

Drupal 9 Has Dropped! What To Do Now

Parent Feed: 

The long-anticipated drop of Drupal 9 has arrived. This marks an exciting step in the evolution of Drupal. A migration from Drupal 8 to Drupal 9 is not as complex and cumbersome as previous version releases. Drupal 8 to Drupal 9 will be an upgrade that is more akin to a point release.

If you are not prepared to upgrade to Drupal 9 immediately, you are not alone.

Sign up for a free migration consultation and explore your options for a path forward. 

Both Drupal 7 and Drupal 8 are not slated for end-of-life status until November of 2021, but now is a time to begin planning for a migration and understand what that will entail. To help in that process, we created a Drupal 9 Upgrade Planning Template for migrating from Drupal 8 to Drupal 9.

spreadsheet screenshot for a Drupal 9 migration

The upgrade plan involves the following steps:

Install Upgrade Status or Drupal Check

Installing the Upgrade Status module or the Drupal Check utility is the essential migration planning starting point. The former provides a report in the Drupal user interface to give you a list of what deprecated code you still have. The latter works on the command line. Run the report on your site to see where you stand. It is recommended that you run this check on a lower environment than production if possible.
 

Check Drupal Core and Your Environment

Running Upgrade Status should give you a report that looks like this:

Drupal 9 migration planning

We’ve created an example version of the Drupal 9 Upgrade Planning spreadsheet and added it to our plan:

Drupal 9 Upgrade Planner spreadsheet

 

Upgrading to Drupal 8.9

If you have upgraded your site to the latest version of Drupal 8, you will already have the latest Drupal 9 features. 


New features have been added incrementally to Drupal 8. A key step in upgrading to Drupal 9 is the removal of deprecated functions.

Drupal 9 deprecated code list
 

Check Your Custom Projects

Your custom modules, themes and libraries are the domain that is most under your control. Running the Upgrade Status module will give you a report that looks something like this:
 

Drupal 9 Upgrade Planner spreadsheet

In our example the “My Site Custom” module has 1 warning and 1 error

When we take a look we see that we need to change the name of a function.

Drupal 9 Migration planning

We’ve added this to our Drupal 9 Upgrade Planner spreadsheet.

Drupal 9 migration spreadsheet

Check Your Contributed Projects

Your “Contributed Projects” are modules, themes, and libraries that are created and maintained by the community.

For upgrading to Drupal 9, this is where things get more difficult. Not every Drupal 8 contributed project will be ready for Drupal 9 on day one. Your course of action will depend on your constraints. 

In our example, we get the following report for “Contributed Projects:”
 

Drupal 8 Migration planning

The report reveals that we have 9 projects that contain errors and 23 that have warnings. I’ve added these to Drupal 9 Upgrade Planner sheet.

Drupal 9 migration spreadsheet
 

Address Compatibility Issues of Contributed Modules

To get a better understanding of where contributed modules that produce errors or warnings are in terms of their Drupal 9 compatibility, you can check the module page. If there is not a notice about Drupal 9, there should be an issue in the issue queue. For example, this test project is using “Environment Indicator” version 3.7. A search of the Issue Queue () reveals an issue: “Drupal 9 Deprecated Code Report“ that has a patch that is “Reviewed and Tested by the Community.”

The amount of work to put toward a contributed project (“Low Estimate” and “High Estimate”) and when you would hope to have it upgraded (“Delivery Date”) are up to you.

For Environment Indicator, the Drupal 9 code has been reviewed and needs to be accepted or rejected by the maintenance team.

The actions to take are:

  • Add an additional review of the patch to help get it accepted
  • Apply the current patch to the current codebase
  • Wait for the next stable release

For this example we’ve estimated a couple of hours to update the project during the next stable release.

In Conclusion

Upgrading from Drupal 8 to Drupal 9 will be a lot easier than any previous upgrade. For our example project we have the following estimates:

Drupal 9 migration spreadsheet
 

We can reduce that estimated delivery date by contributing to the upgrade of some of the contributed modules we are using. Promet Source has contributed to a number of “Drupal 9 Upgrade” issues and encourage others to do the same.


We’re Here to Help

At Promet Source, we are passionate about helping clients to optimize their Drupal environments, whether that means the relatively simple shift from D8 to D9, or a migration from an earlier version. While there are still 18 months before the decommissioning of Drupal 7 and 8, keep in mind that waiting until the last minute to do so might be akin to reaching out to an accountant on April 14 concerning the previous year’s tax filing. Take steps now to ensure that thorough focus and attention can be devoted to the migration of your site.

Our team of Drupal 9 migration experts leverages best practices and proven processes for efficiently migrating websites, applications, and content to Drupal 9 -- whether from a previous version of Drupal, another CMS, or a home-grown system. Contact us today to schedule your FREE Drupal 9 migration consultation.  

 

Still on Drupal 7?

You are in good company. We will be addressing that migration process in a blog post later this month.

Feel free to contact us in the meantime for a FREE migration consultation
 

Author: 
Original Post: 

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web