Now that the End of Life for Drupal 7 has pushed out to November 2022 it no longer shares an end of life date with Drupal 8 (Drupal 8 is set for an end of life in November 2021). This means you are likely not only re-thinking your original upgrade plans but also asking what’s next for your Drupal website or future project.
Let's first start with the definition of “End of Life,” or EOL. In software terms End of Life is when a piece of software reaches the point when it will no longer receive bug fixes or security updates from the maintainers.
Just to give you a point of reference in November 2022, Drupal 7 will be over 11 years old and while it was previously scheduled for its end of life in November 2021 it has now been extended to November 28, 2022. This is due to the global and overwhelming impact that COVID-19 had on businesses' and their annual budgets.
Even though Drupal 8 is a more recent version, it will actually reach its' end-of-life before Drupal 7. Drupal 8's end of life is currently set for November 2, 2021, due to Symfony 3's end of life (Drupal has Symfony set as a dependency).
Three Impacts of Drupal 7 And Drupal 8’s End of Life:
#1 Drupal.org will stop issuing security updates making your Drupal 7 or 8 website more vulnerable and at a heightened risk of hacking and security breaches.
#2 No new modules or updates for existing ones.
#3 Support will be severely reduced, and in many cases completely non-existent from the Drupal community, especially for Drupal 7.
Alright, let's do a quick check in...you’re still reading this blog, which means chances are your site is built with either Drupal 7 or Drupal 8. You’re now likely asking questions like:
“What do I do next?”
“Is it really that important to be on a supported version of Drupal?”
“If my site is on Drupal 7 should I upgrade to 8 and then 9?
Or can I go straight to Drupal 9?”
Don’t panic...we’re here to help. Let’s dive into some answers and start mapping out your Drupal upgrade plan of attack.
First off, it’s important to know that you’re not alone in this situation or with any of these questions. In fact 4 out of 5 sites are still on Drupal 7 and about 20-25% are on Drupal 8.
If you’re upgrading from Drupal 8 to Drupal 9 the code between the two versions is going to be very similar and, much less of a dramatic change (as long as all your Drupal core and it’s dependencies have been kept up to date) than upgrading from Drupal 7.
In fact, most major contributed modules are usable in both Drupal 8 & Drupal 9, which is very different than how it’s worked in the past as the code base between these two versions will be very similar (unlike Drupal 7 and Drupal 8’s code bases which are drastically different).
So Why is This Even Happening?
Quite simply, Drupal wants to continue to propel forward as a modern platform with a core that is strategic, effective and most importantly secure.
Drupal 8 & 9 are built on top of, and dependent upon, several other codebases or frameworks. When these building blocks get deprecated, and are no longer supported by their communities with security releases, changes, and enhancements, then those building blocks need to be upgraded in Drupal Core so that it all stays secure and functional.
For example, Symfony 3, which is also Drupal 8’s biggest dependency, is reaching end-of-life in November 2021. So when Symfony 3 is withdrawn, Drupal needs to be using Symfony 4 or 5 - which is where Drupal 9 comes in.
Drupal Core maintainers have diligently reviewed the codebase to see what parts of Drupal’s API have dependencies which could change and break Drupal 9. These have been deprecated in Drupal 8 and removed in Drupal 9. Which means that Drupal 9 no longer includes deprecated building blocks. In November 2022 Drupal Core maintainers can solely focus on one supported Drupal version; which for now is Drupal 9.
This shift also empowers Drupal to solidify itself as a modern, stable, secure platform capable of handling massive websites with complex functionality. And with the sole focus on Drupal 9 it will also enable module maintainers to have a clear roadmap for how future releases of Drupal impact them, thus creating a path to more innovation and less concern of full re-builds due to incompatibility of future versions.
So...What Does This Mean For Me?
Well, if you’ve got a healthy, up-to-date Drupal 8 site, you don’t have much to worry about because the upgrade to Drupal 9 should be fairly minor.
However, if you’re upgrading from Drupal 7, the process is going to be more intense due to the radical differences between Drupal 7 and Drupal 8 and Drupal 9. The one upside though, is that with the delay of the End of Life of Drupal 7 to November 2022, you now have significantly more time to plan your project.
Now let’s dig into some common scenarios to help you map out the best path to Drupal 9.
We’re on Drupal 7, But We’re Not Ready for a Rebuild.
The good news is that you now have more time, over a year to be exact, to secure the funds, capacity and/or time for a rebuild and bringing your Drupal 7 website up to date.
During that time the Drupal Security Team will keep watch on the Drupal 7 codebase, releasing security updates as needed into November 2022. It's important to keep in mind that this extension will not change the fact that Drupal 7 won’t be actively supported or developed in terms of new features.
So while it might be tempting to use all the additional time to delay your upgrade, it would be wise, and in our professional opinion advised, to utilize the extension to plan and budget for your upgrade instead.
Should Our Organization Rebuild, or Can We Hold Off a Little Longer?
There’s no benefit to hold off on rebuilding your site if you're ready to rebuild. Whether you’re rethinking your content, your visual design, your site’s core functionality, or any of the above, if you have funds and capacity to rebuild right now, our advice would be to go for it.
Unlike last minute hotel deals, procrastination when it comes to your brand and overall online presence does not have many benefits.
So if you on Drupal 7 it's probably best to go straight to Drupal 9, we'll dive into that a bit more below, which means skipping Drupal 8 and going right to the latest and most stable version of Drupal.
We Want to Rebuild on Drupal, But Now That Drupal 7 Has a Longer Life Than Drupal 8, We’re Confused.
In short, Drupal 7 is an old, different product, while Drupal 9 is the future, and will provide your website with a stable foundation for many years to come.
Your best option, as we mentioned above, is to go from your Drupal 7 site straight up to Drupal 9, which essentially is going to be a complete rebuild. There are some cases where this jump will be a bit more complicated, but for most it really will be this straightforward.
The exception would be if you have a more complex site with custom functionality and/or if you need to preserve your content. In which case you'd be looking at a migration as well. Here at Thinkbean we have successfully migrated sites with over 100,000 pages of content and so although it is not an insignificant project with the right partner it is relatively straightforward.
The whole re-engineering of Drupal under the hood, between versions 7, 8, and now 9, was done with the intention of making Drupal future friendly in that upgrades will be less intensive into the future. Long story short...once you’re on Drupal 8 or 9, you should not need a complete rebuild to get to the next Drupal version, unless you feel like it.
Whatever you choose it will be imperative that you have a Drupal expert either on your team to execute the upgrade, or that you partner with a Drupal expert like Thinkbean to guide you through.
How Hard is it to Upgrade From Drupal 7 to Drupal 9?
Well lets just say it's not quick and easy.
So it's best to start with a plan.
Here's our process here at Thinkbean:
#1 Start with a Site Audit
Review your site and content and determine if it's actually accomplishing your needs - what's working and what isn't. From there you can establish the the functionality used by your Drupal 7 site and allows you to cross reference that with what's provided in Drupal 9.
This information will help in the creation of a technical spec for your new site, and highlight any changes you may want to make in regards to UX, information architecture and content.
#2 Make a Plan
A successful upgrade requires planning and strategy for the following elements:
- Determining which Contrib modules have upgrade paths from Drupal 7 to Drupal 9.
- For modules that do not have an upgrade path document the functionality which would be lost and what dependencies the module has. This will help determine the impact on scope, timeline, and budget.
- Plan ahead for the theme as it will need to be completely rebuilt in Drupal 9.
- Plan for the content:
- The content migration plan in regards to standard Drupal entities is fairly straight forward. Taxonomy, Blocks, Nodes (content types) and Users have solid migration paths. Custom entities or any data stored outside of Drupal norms will cause complexity.
- Realtime vs static content also needs to be determined.
- If commenting is heavily used or any end-user interactions occur on the system a maintenance period will need to be enacted to prevent content loss while the migration processes.
- Likewise if you have extensive amounts of static content you'll want to map out a migration plan to ensure that the content is populated in your new site.
- Once the migration has completed, end-users can start interacting with the site again knowing data is being stored in the new Drupal 9 database.
- Plan for SEO and elements such as URL and data structure changes, how changes affect Google PageSpeed, overall compliance etc.
- Plan for Configuration Storage
#3 Rebuild and/or Migration
In regards to the upgrade itself you have two options. The first is to simply rebuild the site, meaning that your Drupal 7 site would essentially be retired and replaced by your new Drupal 9 site. This mode is ideal for sites that do not have much complexity and are small to medium in size in relation to content and functionality.
If you have a large and or complex site you'll need to include migration in your overall plan to ensure all content and things like user generated content, special functionality and custom code is accounted for. All content and custom modules will need to be migrated, alternative modules will need to be identified (or created from scratch) and the front end of your website will then also need to be rewritten (which is a great time for making aesthetic changes).
There are a lot of moving parts during a migration so you'll want to plan in advance to ensure the least amount of (ideally zero) downtime for your end-users.
#4 Review & Testing
After the rebuild and/or migration, there’s a stringent testing process to ensure the upgrade is complete and has been successful.
Once your site is in Drupal 9 future updates will be simple - so keep in mind the complexity of the above is a one time experience.
What About Costs and Time Investment?
This truly will depend on the complexity and size of your website.
If you are completely rebuilding on 9 and do not need to consider any migrations it will save you a considerable amount of time.
If the migration of content and/or special functionality is needed you are going to need a solid increase in budget due to the amount of development hours needed for planning, strategy and execution.
Another element to consider for budget and timeline is if you’re changing your overall branding and/or design. If so you’re looking at an additional investment of both time and money for the UX/design and then implementation of the designs and any new functionality they may create.
Upside is that no matter how you get to Drupal 9 you’re going to be smooth sailing on future upgrades to Drupal 10 and beyond.
What if We Decide We Don’t Want to Upgrade?
There is of course one additional option, which is to plan for a new website on another CMS platform before the Drupal end of life in 2021 and 2022.
And while a migration to another CMS could actually be more complex that upgrading to Drupal 9. If your organization does not need a scalable, customizable, scalable and highly secure solution you may be able to find an alternative CMS that fits your organization better.
This is All Really Great Information...but I Still Don’t Know What to do.
We get it. While knowledge is power it can still be a little overwhelming.
It’s important to find a partner who not only understands Drupal, but whose primary goal is finding the solution that is right for you, and your unique needs.
Ready to start that conversation? Get in touch with our team here at Thinkbean so that we can start mapping out your Drupal 7 End of Life roadmap.