Dealing with Drupal 7 & 8 End-Of-Life

Guillaume Kuhmel
Pernod Ricard Tech
Published in
7 min readMay 7, 2021

and defining migration strategies for your legacy Drupal websites.

https://www.freevector.com/arrow---doodle-19294, Icons made by https://www.freepik.com, Photo by Kelly Sikkema on Unsplash

At Pernod Ricard we have 40+ websites using Drupal 7 & 8, from brand websites to internal tools and events dedicated websites.

Drupal 7 & 8 will reach soon their official End-Of-Life and the question of defining a global strategy for those websites is crucial. This article is written in April 2021, so you have a little bit more than 6 months to react, regarding D8 (D7 planning is less tight, you’ll see it later).

In this article I’ll present the elements to consider when conceiving such a strategy. We host our Drupal websites on Pantheon. This is a PaaS which we use to host Drupal and Wordpress Websites. Along the article I’ll highlight some specific information regarding Pantheon, but most of the following strategies would work with a different hosting provider.

Pantheon

Current situation

Whereas it’s an oldest version, Drupal 7 will be maintened longer than Drupal 8. That’s because D8 is based on a Symfony version that’ll be itself EOL.

Drupal 7 & 8 EOL planning

Two deadlines have to been considered :

  • Short term (November 2021) : D8 to D9 migration. It is supposed to be simply « an update »
  • Mid term (November 2021) : you have to define how to deal with your existing D7 websites

Focus on Pantheon :

Drupal 9 is now currently officially supported by Pantheon but has been announced very recently.

Currently, D9 is available with limited availability : you need to create a new site to get a supported D9 site. So migrating an existing D8 to a brand new D9 website is possible but can be complex and not seamless.

General availability is the next step : you will be able to upgrade an existing site to D9 without creating a new site and migrating. No date is announced yet — and no date for a date :)

Pantheon does not directly offer an extended support, non-official for D7 and D8.

Drupal 8 migration strategy

Things are quite easy for a Drupal 8 website — and we prefer that because the EOL is very close.

D8 to D9 migration should be seen as an update and not an upgrade. It’s presented as a maintenance version, with a longer support and deprecated code removal.

So to be able to succeed your migration :

  • Keep your D8 core and module up-to-date to ease the migration process,
  • Run UpgradeStatus ASAP to check modules compatibility and anticipate module migration / module change.

Focus on Pantheon :

As maintaining up-to-date tens of Drupal websites can be challenging depending on the context, we’ve decided to force Core & Modules updates via some terminus based cron. Terminus is the command line tool for Pantheon.

It pushes updates on the Dev environment and forces development teams to stay up-to-date.

Incoming new set of features called “Autopilot” will help you to automatically push thoses upgrades and control the non-regression with advanced Visual Regression Testing. However we have not tested this yet, i would be happy to have some feedback !

Drupal 7 migration strategy

About the Drupal 8+ benefits

Before considering upgrading D7 to D8/D9 it seems important to have a quick look of what the newest versions can provid. Upgrading to stay up-to-date is fundamental; but if it can bring you brand new features, your dev team and end user won’t blame you, will they ?

First of all, Drupal 8 is close to be a brand-new CMS compared to Drupal 7. Its core architecture has been globally revamped, and it has interesting news features :

  • Object-Oriented coded core (!)
  • Modern frameworks (including Symfony => best learning curve, better dependency management, …
  • Twig template engine : better, faster, stronger
  • Composer enabled
  • Improved security & performance
  • Native responsive design
  • Best contributors experience : new embedded text editor, front end edition
  • New APIs …

Drupal team has invested on a huge core refactoring on Symfony to ensure a stable, performing and long-life supported solution. Drupal 9 will be consistently updated bi-annually to help companies to stay up-to-date.

So switching to D8 (and then, D9) will ensure further upgrades to be seen as “simple” updates — and this is a good news.

The upgrade challenges

As detailed above, the deep changes brought by D8 imply that a D7 to D8/D9 migration must be seen as a replatforming project and not a technical update (exactly as D5 to D6 was); whereas D8 to D9 must be seen as a technical update (exactly as D6 to D7 was).

Briefly, migrating a Drupal 7 web site to Drupal 8/9 includes theses steps (you’ll find a lot of details everywhere for that, that’s not the purpose of this article).

  • Build the new content structure / data model
  • Check the contrib modules to Drupal 9
  • Migrate customs modules developed for Drupal 7
  • Migrate contributed content, files and translations

D7 to D8 (or to D9 directly) has to be led as a project similar to a new website creation. So you can easily understand that making the move can be impactful for your organization, in particular if have a big website, or a lot of websites — or both :)

You have to keep in mind to that D7 is still largely predominant in the Drupal ecosystem in number of active projects. That’s — among other reasons — why the EOL has been recently extended to reach now, November 2021.

Source : Usage statistics for Drupal core | Drupal.org — Feb 2021)

That means that there’s a long way before the real Drupal 7 death. Community will still continue to maintain modules and bring you help & support.

And what about not migrating ?

When hosting a lot of Drupal websites, D7 to D8/9 opportunity to migrate should be analyzed site by site to determine if the efforts to make it, worth it.

In some cases, you should prefer not to migrate to D8/9. Because you don’t want to invest on legacy website that don’t evolve anymore, or you don’t have a real interest in new features, or because your roadmap is already full of more business impacting project (yes, you recognize yourself in this description).

You could be afraid by the RLODEOL (Red Line of Drupal EOL). You don’t want to throw away your old D7 websites because of the Security guys who warn you about the potential security breaches after the end of support.

Some vendors, such as Tag1, can help you with that, providing Extended Support. For instance the solution Tag1Quo offers you for a very affordable pricing, to monitor all your D7 websites cores, modules in a single dashboard. You can then apply the security fixes the Tag1 team offer you, after the D7 EOL.

Focus on Pantheon :

The Tag1 team can provide you a Pantheon upstream D7 Extended Support so that you can apply core update directly within the Pantheon dashboard.

NOTICE : Keep in mind that maintaining a D7 website means that every new functionality developed will be very likely to have to be redeveloped on D8/D9 when (if) upgrading.

Ok, nice … but what about the PHP 7.4 EOL ?

Wow, well, you’re a clever guy.

1 — PHP 7.4 will be EOL at the end of 2022, replaced by PHP 8.0.
2 — The table below show which versions of PHP is supported by Drupal 7.

A project to make D7 compliant with PHP8 is on track : https://www.drupal.org/project/drupal/issues/3145797
The project is active and will soon be ready for testing.

By the end of the next year, this compliance will be implemented and companies such as Tag.io (or other vendors) will provide support for D7 on PHP 8.

— To keep it short and sweet —

Drupal 8 will reach its EOL very quickly, but a migration to D9 should be easy (relatively), though you should start now !

Drupal 7 will reach its EOL one year later but a migration to D9 won’t be painless, because of major core changes.

Thus, evaluate the migration effort now, and depending on the results, take a decision :

A : Simple upgrade project :

  • Upgrade to D9 if Drupal still remains the best choice.
  • You can too evaluate the opportunity to switch to another CMS instead of upgrading. That’s the right timing for that.

B : Big update project (migration not really possible before D7 EOL — many reasons for that !)

  • Sign up an Extended Support
  • Try to decrease D7 surface (externalize some technical or functional blocks that could be developed on other tools, limit evolutions …) and re-evaluate the situation.

I would be happy to ear your own reflections about migration strategies! Don’t hesitate to comment.

--

--