Drupal 7 End-of-life

Blog Media
Image
Abstract graphic image with strings of code behind it.

Since the beginning of Affinity Bridge, one of our favourite open source content management systems (CMS) has been Drupal. Drupal is a wonderful demonstration of why we love open source software: huge amounts of community-contributed code have allowed us to build complex sites and applications for our clients at a fraction of the cost that fully custom or commercial solutions would have cost.

We also love that Drupal has one the kindest, most supportive software development communities out there: within the Drupal community, the motto has been “Come for the software, stay for the community.” Drupal also has been particularly popular with the kinds of purpose-driven organizations we love to work with. By making low-cost, people-centered software available to everyone, Drupal has enabled us to collaborate with the people who are making the world a better place.

But Drupal is changing. Both Drupal 8 and Drupal 7 are going to reach End of Life soon, November 2021 for Drupal 8 and November 2022 for Drupal 7. **UPDATE as of February 2022, Drupal 7 EOL has been extended to November 1, 2023. They have advised that the date will be re-evaluated annually. We recommend planning for this now to facilitate a smooth transition off Drupal 7.

What does End of Life (EOL) mean for a software project?

When a piece of software reaches End of Life, it means the developers and support team are no longer going to commit to working on it. In the case of Drupal, EOL means the official Drupal Security Team will no longer provide security updates for these versions. Other developers are less likely to integrate new technologies into projects that have gone EOL. These versions of Drupal, though perhaps beloved, are like Windows XP and MS Paint, being retired.

Drupal 8 EOL

Right now we are working with our clients who have Drupal 8 sites to upgrade them to Drupal 9 before Drupal 8 support expires November 2021.

The upgrade from Drupal 8 to Drupal 9 was touted by the Drupal team as “the easiest major Drupal version upgrade ever.” This has proven by and large to be true: the user-facing changes from Drupal 8.8 to Drupal 9 were negligible. Most of the changes are under the hood and have to do with updating the libraries and technologies that Drupal is built on top of. We’ve been able to turn around the upgrade to Drupal 9 for clients like the Vancity Community Foundation in under a week with minimal changes or disruption for site users.

Image
Image of a laptop with the Vancity Community Foundation website on the screen.

Drupal 7 EOL

A bigger change, however, is on the horizon: the retirement of Drupal 7.

Drupal 7 has been by far the most popular version of Drupal. Over half of the Drupal sites that are running today, and also over half of the Drupal sites we support, are built on Drupal 7. In the ten years it has been around, Drupal 7 has been used to run over a million websites, sites for everything from small non-profits to The White House. Nevertheless, it has been announced that Drupal 7 is going to reach End Of Life (EOL) in November 2022.

Part of the reason so many Drupal sites remain on Drupal 7 even though Drupal 8 has been out since 2016 is that Drupal 8 was not just an upgrade for Drupal 7, it was a ground-up rewrite of Drupal. The Drupal team decided it was time to “get off Drupal Island” and build a new version that was more robust and allowed Drupal to more easily integrate with other open-source projects. In this, they succeeded, but it means that there is a bigger gap between Drupal 7 and Drupal 8 than between any of the previously released major versions. It is best to think of moving a website from Drupal 7 to Drupal 8 as a website rebuild rather than an upgrade.

So where to?

For Drupal 7 site owners, this creates a conundrum: if they can’t upgrade their sites, what should they do?

Broadly speaking, Drupal 7 site owners have four options:

  • Go ahead and rebuild their sites on Drupal 9
  • Migrate their sites to Backdrop CMS.
  • Migrate their sites to a different CMS or technology
  • Postpone making a decision by relying on Drupal 7 Extended Support

We are happy to work with organizations to decide the best course of action. Below is more information to help inform the decision.

Option 1: Drupal 9 upgrade

We’ve been building sites using Drupal 8 and 9 for six years now and love it. Built on top of the Symfony framework, Drupal 9 is an enterprise-level CMS that integrates well with other PHP software solutions. The built-in media handling and caching make it one of the most powerful open source CMSes available. We love working with Drupal 9.

The downside? As mentioned, the move from Drupal 7 to Drupal 9 is not an easy upgrade. It’s a site rebuild and migration. Though Drupal 9 comes with tools to migrate existing content and users from previous versions of Drupal, the public-facing website theme and much of the site’s business logic will need to be rebuilt on the new platform. Depending on the complexity of your site, a team of developers doing all of this can need anywhere from a couple of weeks to a number of months. Though it is a great way forward, it isn’t a trivial undertaking.

Option 2: Backdrop

Aware that the rebuild of Drupal 8 was going to leave many Drupal site owners stranded on an unsupported version of Drupal, some members of the Drupal community decided to start another project that took Drupal 7 in another direction. Backdrop is a fork of the Drupal project, with the goal of being “Drupal 7 modernized”. The upgrade from Drupal 7 to Backdrop is considerably less difficult than the migration to Drupal 8.

How much easier is it? Well… that is where it can get sticky. Hundreds of Drupal 7 modules have been adapted so they work with Backdrop, but not all of them. In order to estimate how complex a Backdrop upgrade for your site is, we’d have to look at what elements your site uses. On most sites, it should be straightforward but there are some scenarios where we’d either need to remove existing site functionality or do additional work to support the functionality you need migrated from Drupal 7.

Option 3: Non-Drupal Options

There are a lot of other CMSes out there. WordPress, for example, is another open-source CMS that many of our clients use. Depending on your organization’s needs, one of these other options may be a good fit for you.

Option 4: Drupal 7 Extended Support

Details are still vague, but just as when Drupal 6 went EOL and some vendors within the community created an extended support program to extend the life of Drupal 6 sites beyond the EOL date, something similar is afoot for Drupal 7. Exactly how this program will work, whether it’ll be paid or free, remains to be determined, but either way, there should be an inexpensive option available to extend the life of Drupal 7 sites through at least 2025. Though it is unlikely that sites in the extended support program will see any kinds of improvements or upgrades in that time, the hope is the extended support program will buy these sites at least a few more years of life.

Which solution is right for you?

Which solution is right for you and your organization? That depends. If you expect to invest much time and effort into developing and improving your site in the next five years, one of the first two options is probably appropriate. If you are flexible about how your site runs or what it looks like and just want an inexpensive but professional-looking website, the third option might be a good fit. And if you are unsure but are happy with what you have and need more time to consider your options, the extended support solution is probably the way to go.

Contact us and let’s talk about what makes the most sense for you.

Floyd Mann
By: Floyd Mann (He/Him), Lead Developer
Floyd has 20 years of development experience and has been successfully leading development teams in the backend implementation of complex systems at Affinity Bridge since 2014. Concentrating mostly on the Drupal platform for the past 14 years, Floyd is an expert at all things related to Drupal theming, module development, deployment and maintenance.