Skip to main content
Solutions Architect
Mar 31, 2021

Drupal 9 has been released since June of 2020, and now Drupal 9.1 is the current release. Drupal 7 and 8 will both reach end of life on November 2, 2021, necessitating an upgrade or migration. What can you expect, and what should you plan for when envisaging the transition to Drupal 9? How does this translate to the experience to be had for developer portals (such as our Zero Gravity developer portals) built on the CMS? Let’s explore.

What makes Drupal a great fit for a developer portal?

Drupal’s flexibility and extensibility makes it an ideal foundation for addressing the diverse requirements (design, components, strategy) of developer portals and the various 3rd party systems with which they need to integrate (e.g. API management tools). In particular, the variety of authoring experiences that can be realized in a Drupal CMS-based developer portal are unmatched: 

  1. Tight coupling between the content model and user interface in the native authoring environment allows even non-technical users to author rich and informative content.
  2. In a docs-as-code model, developers can write documentation and commit it to version control, typically as Markdown files. Drupal imports those files via a CI/CD process and treats them like native content.
  3. Finally, API-based authoring is possible for automated or command-line driven content import via an API endpoint. 

For this and many more reasons, we have built Pronovix’ Zero Gravity developer portals using the Drupal 8 CMS.

If you are interested in options for migrating your existing Drupal based developer portals to Drupal 9 see our pages on Developer Portal Migration.

Drupal 8 for Devportals

Drupal 8 for Developer Portals Why choose Drupal 8 for your developer portal? In this article we outline the elements of why Drupal 8 is a good candidate for building your developer portal and why we use it as the base for our SaaS product.

Read more

WHY upgrade to Drupal 9?

  • Drupal 7 and 8 will both reach end of life on November 2, 2021, necessitating an upgrade. Alternatively, you can contract with an agency providing long term support for older Drupal versions.
  • Major new Drupal versions often introduce performance enhancements that are not always backported to older versions, at least not in as clean a form as a major update allows for. For example, in Drupal 9.1 native image lazy loading was introduced as the new default, which speeds up the user experience on all sites.
  • New major versions update underlying software subsystems. This increases security, stability, and maintainability.

What Should You Expect for your Drupal 9 Developer Portal?

You can expect a relatively painless upgrade process.

  • If you are running a Developer Portal on Drupal 7 or 8 and are interested in upgrading your developer experience while transitioning to Drupal 9, contact us.
  • If you are a Pronovix customer with a version of our Zero Gravity developer portal under support, your site will one day run on Drupal 9 without any disruption. We are moving the product to Drupal 9 this year, and when ready, will communicate deployment of that change like any other update.

A frictionless move into the future

Drupal 9 is an evolutionary upgrade, not a complete rewrite, and it will not force you into a challenging migration where you need outside help, or worse, a complete site rebuild. In the words of Dries Buytaert, Drupal project founder and lead:

“The big deal about Drupal 9 is … that it should not be a big deal”

That is reassuring news, so let’s dig a little deeper.

If you have owned and operated a Developer Portal or any type of website on Drupal 6 or 7, you may remember the transition to the newer Drupal version as hard, costly, and time consuming. Successive major Drupal versions were not backwards compatible, and hence required significant work for the upgrade. Custom code had to be rewritten, themes had to be extensively adjusted, and content migration was not exactly easy either. Quite often it was easier to rebuild a site from the ground up instead of embarking on the upgrade/migration process. Of course, this gave site owners the opportunity to reimagine their site and rework technical and information architecture, so rebuilds had beneficial side benefits even if forced. But the upgrade process often left a sour taste.
With the Drupal 8 to 9 transition, these worries should be history.

Three tracks: Drupal 8 train goes to Drupal 9. Drupal 7 and Drupal 6 tracks lead to dead ends.



Transitioning from Drupal 6 to 7, and from Drupal 7 to 8 required changing tracks with concomitant significant effort. Transitioning from Drupal 8 to 9 is more like a stop at the Drupal 9 station for some maintenance work, and then you can continue on the same track.

#How Drupal 9 was made

Drupal 9, unlike versions 7 and 8, is not a complete reinvention of Drupal. There are only two key differences in Drupal 9:

  • Updates of dependencies to versions that stay supported.
  • Removal of Drupal code that had been deprecated before Drupal 9's release.

All new (Drupal-9-ready) code was deployed on Drupal 8 sites before Drupal 9 was even released. The Drupal community worked out the issues in the new code in Drupal 8. Feedback was provided based on this new code so that it could be improved while in Drupal 8. This kept the community from refactoring too much like they did with previous Drupal versions, so we will not end up with an entirely reworked API. Drupal.org: How and why we deprecated code on the way to Drupal 9

Drupal 9.0 API equals Drupal 8.9 API minus deprecated parts plus third party dependencies updated. The image shows blocks for version 8.9 API and version 9.0 API. In the 9.0 API the deprecated blocks of code are removed and Symfony 3 has been replaced with Symfony 4.4



The only difference between the Drupal 9 release and the Drupal 8 LTS release is Drupal 9's updated dependencies and removal of deprecated code.

For the changes that were made, there are tools available that will identify and fix deprecated APIs in your codebase.

The State of Drupal’s Contributed Modules

On Drupal 9’s release date - June 20, 2020 - 87% of the Top 200 contributed modules were explicitly compatible with Drupal 9. Another few only needed minor changes to their info.yml or composer.json files without actual changes to code.
Of the rest, over half had test coverage and proposed fixes from the automatic code check tool Rector. We should mention here that the Pronovix team has introduced the Drupal Rector tool. In other words, we have long and deep experience with the required code changes in contributed and custom modules.

Drupal 9: Automated Deprecated Code Removal - A Proof of Concept

Drupal 9: Automated Deprecated Code Removal - A Proof of Concept introduces a new tool called Rector. We discuss possible use cases in which Rector can benefit Drupal developers - including but not limited to the automated update to Drupal 9.

Read more



By now, 9 months on, we find 100% of the Top 200 contributed modules explicitly Drupal 9 compatible. This is quite unlike previous transitions when key modules lagged behind for many months.

You can check a module’s support status on its project page on drupal.org, and also in its info file, where a line should indicate:

core_version_requirement: ^8.8 || ^9

Updated Dependencies

A number of underlying code bases have seen significant changes over the years. To keep current with supported versions and security updates, code dependencies in Drupal 9 have been updated:

  • Symfony 3 to 4.4
  • Twig 1 to 2
  • jQuery UI was removed as it had reached emeritus status (not supported), and required code for Drupal functionality has been moved into Drupal core itself

There are also a handful of other, minor dependency updates.

Modules Removed from Drupal 9 Core

The Place Blocks module was removed from core and made a contributed module. You can still use it, or use the more modern Layout Builder Everywhere module instead.

Drupal’s own Simple Test module was removed. Drupal has been moving to the standard PHPUnit code base and has added test coverage using that tool for years. Custom code depending on Simple Test needs to be rewritten using PHPUnit tests.

The Upgrade Process

A straightforward five step process will bring you from Drupal 8.9 to Drupal 9.x:

  1. Ensure your hosting environment is compatible with Drupal 9
  2. Keep Drupal 8 core up-to-date
  3. Update contributed projects to their latest versions
  4. Remove deprecated API use in your custom code
  5. Update core itself to Drupal 9

Of course, in real life the devil is in the details, but in our experience there are very few unpleasant surprises. It is a straightforward process of plan, discover, and execute.

What is in Drupal 9.1 and Drupal 9.2?

With the release of Drupal 9.1 we saw support for PHP 8 added, as well as work on Symfony 5 and 6 forward compatibility. In addition, there were lots of minor fixes and updates. The highlight for an end user or site owner, however, is support for native lazy loading of images. This change stands to substantially speed up any website.

Drupal 9.2 will be released in June 2021, and is expected to give us a stable Claro backend theme, and a stable Olivero frontend theme. Claro will be a modern, clean and fully accessible (to WCAG 2.0 AA standard) administration theme, something to really look forward to. The Olivero theme is mostly relevant to first-time Drupal users, and might be a good starting point to theme new sites. Olivero too aims to be fully WCAG 2.0 AA accessible. For existing sites on their own custom theme the Olivero theme won’t matter much.
In Drupal 9.2 we might also see a stable Workspace module, and possibly automatic updates. The latter could revolutionize how simple sites are managed, although at enterprise scale we anticipate CI/CD deployment processes to remain the norm.
In conclusion, the transition to Drupal 9 will be smooth and quite painless, perhaps even fun. Plus, it will provide new features, such as the enhanced and accessible Claro backend theme, and substantial speed enhancements.

If you are interested in options for migrating your existing Drupal based developer portals to Drupal 9 see our pages on Developer Portal Migration.


Pronovix Logo

Are you building an API marketplace or developer portal? Interested in a shortcut? As a devportal specialist, Pronovix has created developer portals for 70+ customers since 2015. Talk with us to learn how our Zero Gravity developer portals can accelerate and simplify your launch.

Read More about our Devportal Solutions Contact us >


Christoph is a creative and versatile technical leader who can present complex subjects in plain English. He has extensive experience managing demanding computing projects and partnering with stakeholders of all stripes to optimize solutions. He is also a regular speaker at technical events, and in his spare time builds furniture that align with his penchant for simplicity.

Newsletter

Articles on devportals, DX and API docs, event recaps, webinars, and more. Sign up to be up to date with the latest trends and best practices.

 

Subscribe