There is a big concern facing many businesses and organizations today: The end of life for the Drupal 7 & 8 CMS platforms is coming in November 2021.
What does this mean? After that date, the Drupal community will stop creating new projects, fixing bugs, and providing support for anyone still using those platforms, leaving outdated sites extremely vulnerable. Essentially, it’s highly advisable for every Drupal website to upgrade to Drupal 9 in the window between its June 2020 release and November 2021, which means now is the time to put plans into motion.
Here, I've laid out some honest answers to how a D9 upgrade might affect you. Even if you don’t read this whole post, these are the important takeaways you need to know:
- D9 is set for release on June 3, 2020.
- Community support for D7 & D8 will end in November 2021.
- You need to plan now to transition an existing site built in 7 or 8, or plan for an entirely new project built in 9.
- No matter which situation you’re in, you’ll need an experienced Drupal dev team to help you manage your path.
What to Do Now If You Currently Use Drupal 7
Make the jump to D9 starting any time between June 2020 and November 2021, but plan for a challenging transition. The good news is this is the last major migration you’ll need to undertake because the new release model was designed to make future major version upgrades much simpler.
What to Do Now If You Currently Use Drupal 8
Transition to D9 by November 2021, and expect a much easier and stable migration path — the process of going from 8 to 9 should be the easiest major Drupal version upgrade in its history. These versions share the same functionality and their core supports the same platforms.
What to Do Now If You’ve Just Started a New Drupal 8 Project
It’s perfectly safe to start new D8 projects even with D9 coming soon. Unlike previous Drupal versions, D9 is built to be a seamless continuation of D8. As mentioned above, the upgrade process to 9 should be straightforward, and won’t require significant rebuilding the way earlier versions did.
What to Do Now If You’re Planning a New Site in Drupal 9
New sites may be built in D9 starting in June 2020. The difficulty level will depend on the complexity of your site and whether you’re migrating from another CMS (link to blog post) or building from scratch.
The Main Benefits of Drupal 9
D9 is built in D8 — essentially, it is just the latest version with minor but meaningful upgrades that include the following:
Integrated configuration management — Controlling data and component display is simpler than ever, especially for non-technical team members, as no coding is required.
Out-of-the-box media management — Although Drupal has a long history of supporting the management of images and generic files, it now offers a generic "media" field for uploading local audio, video, and images, as well as external media from sources like YouTube and Vimeo. A library allows you to easily manage your media archives.
Fully multilingual capabilities — Automated language translation allows you to reach different audiences with localized content. You can target specific geographic locations or audiences with detection of a preferred language based on a user’s IP address, browser settings, URL, or session, and content can be created, updated, and delivered to any audience in 100 different languages.
Accessibility for all — With everything from better text contrast to aural alerts and required image ALT text, D9 lets you create a variety of dynamic content interactions that are more usable for all.
Mobile-first design — Enhancements allow content managers to make changes more easily from mobile devices, and end users to more easily consume content on the mobile platform of their choice.
Speed — D9 features the fastest page loads to date thanks to new caching features.
Editorial Workflow — Built-in features help with managing different states of content (draft, review, published) and setting appropriate permissions.
As a Developer, What Do I Gain?
In my opinion, the case for D9 is strongest from the point of view of the developer.
Drupal has obviously established itself as an enterprise-class CMS, but under the hood, the architecture and coding practices have been more suited to PHP tinkerers than true software engineers. Looking back just 3 years to 2017, Spaghetti PHP, mostly procedural code, and config-in-the-database meant that Drupal just didn't feel like the kind of system you expected to work on as a developer at that time.
But D9 — as an extension of 8 — represents a fundamental rethinking of D7's architecture, and the shift toward object orientation, Twig 2-based templates, config-in-files, and a host of other changes make it something that can attract and maintain the attention of more seasoned developers. Combine it with PHP 7.4.5, and you've got an architecture and development framework that feels much more contemporary.
As a System Administrator, What Do I Gain?
The most obvious answer to what D9 offers the system admins/IT folks is future-proofing. D7 and 8 will both eventually go the way of D6, left like an Apollo service module to float into space — appreciated, but no longer needed (or supported). You're going to have to upgrade at some point, and planning for that upgrade can't happen soon enough.
D9 should also offer you the ability to implement a more well-governed devops workflow: the move from config-in-the-database to config-in-files makes versioning, staging, and feature updates much more practical. That said, your developers will still need to make use of those features for them to be valuable to you. Make sure they're using the config exporter and the Features module and that they're being smart about compartmentalizing their code. Otherwise, you're in for the same D7-style devops workflow: "keep a text document that lists the steps, and repeat the changes in both databases on deployment."
As a Content Manager, What Do I Gain?
As a content manager, D9 probably won't feel like a drastically different world. It uses almost all of the same terms you're used to: content types, nodes, taxonomy, views, etc., which means you won't have to retrain yourself on how to manage content. It also uses CKEditor for editing body copy, which is probably the same editor you used in D7 and 8. Probably the most compelling content management modules that you're not using — Quickedit and Paragraphs — have been available since version 7, and they’re worth another look now.
As a content manager, one of the most important things for you to know about upgrading is this: Drupal is really a collection of modules, and your site's administrative back end is the product of how all of those modules are configured to interact with one another. If you had complaints about your D7 or 8 back end, D9 probably won't solve them. Rather, you should make sure your developer knows your specific pain points and works with you to address them.
What About the End User?
Because Drupal is so flexible, the end user's experience will depend heavily on how well crafted and intuitive the front end of your website is. That said, D8 brought a host of performance improvements that are carried over into 9, especially when teamed up with PHP 7.3 or higher (the latest versions of Drupal's underlying programming language). So you can expect a lot less sluggishness when serving pages. Additionally, D9 plays very well with a lot of the modern front-end frameworks (e.g., AngularJS, React), so your developers have a lot of freedom in how they craft the design and user experience.
What Module and Theme Changes Should I Know About?
In D9, the Place Blocks and SimpleTest modules will be removed from the core, with improved replacements available for each. Additional modules and themes will be deprecated in D9 and removed in later versions, including the Stable theme (D8 version), and potentially others down the road.
Essentially, all other modules that worked in D8 will work in D9 as long as they don’t contain deprecated code. As of April 2020, Drupal was reporting that all 7,000 contributed modules for D8 had been analyzed using drupal-check: 44% had no deprecation warnings, and 56% needed to be updated — but the majority had less than three deprecation warnings. Tools for identifying deprecated code are available here for devs, site owners, and content managers.
While some deprecations will call for extensive refactoring, the good news is that many updates can be made with a simple search-and-replace approach that can begin today, even before 9 is released.
How Hard Will the Upgrade From 7 to 9 Be?
Unlike the easy upgrade from 8 to 9, making the jump from 7 to 9 will be fraught with potential issues — a lot has changed, and the upgrade paths aren't always clear — but the effort will be well worth it in the end. If your site involves only a small set of very common modules, the process will be simpler, but you should still plan for some complexity. Also, the theme engine has changed drastically, so you'll have some work to do if you want to convert custom templates to Twig 2 (assuming you're not using an out-of-the-box theme). Plan early for your upgrade and don't underestimate the effort.
And if you’re already on D8, the smoothest path you can create while awaiting your D9 upgrade is to stay current with update releases and the latest versions of dependencies, modules, and APIs.
If your existing site is ready for an upgrade or you're planning to begin a new Drupal project, reach out to begin a discussion with our team as early in the process as possible. We'll explain how the changes presented here apply to your unique situation and create a strategy for reaching your goals most effectively.
Don’t Forget to Make Your Voice Heard
In the end, Drupal products and upgrades are only as good as the contributions and feedback they receive from those using them. Drupal is encouraging everyone — even those on the farthest edges of the community — to discuss their experiences and voice their opinions about the future direction of Drupal. Take the 2020 Drupal project survey here.