What to get excited about in Drupal 9?

What to get excited about in Drupal9

Dries Buytaert, founder and leader of the Drupal project, presents ideas about the future of Drupal twice a year at DrupalCons. He held his traditional DriesNote also at the first DrupalCon Global, the replacement for the cancelled DrupalCon Minneapolis 2020.

Plans for Drupal’s future are quite clear from my standpoint and Dries just specifies them a bit every time. This time we’re in a bit of a special position given the recent release of Drupal 9 and therefore Dries presented plans for the whole Drupal 9 release cycle.

Let me start with the most important date - Drupal 10 release is planned for June 2022. That gives us just 16 months or three minor releases compared to eight Drupal 8 releases. Release date was given by third-party dependencies which are part of Drupal 9. Upgrading them will be a tough task:

  • CKEditor - Drupal 9 is using CKEditor 4 ending its security support in 2023. CKEditor 5 is a major rewrite of the editor. Right now when you click the Bold button in your editor, you basically just add <strong> tag to some hidden textarea. The new version is creating virtual DOM elements for each tag. Because of the size of the change, the community thinks about switching to something completely different.
  • Symfony - Drupal 9 has been released with Symfony4, although Symfony 5 has been released over six months ago. Primary goal for Drupal 9 is to upgrade to Symfony 5 within the release cycle and the extended goal is Drupal 10 coming with Symfony 6.
  • jQuery - We’re aiming either for an upgrade to jQuery 4 or completely removing jQuery.
  • Guzzle - Upgrade to Guzzle 6 with PSR-18 support
  • Support of PHP8

It’s obvious that these changes are a must for Drupal 10 and are the main priorities.

Next of the priorities is finishing already started things. You might be even using one of them already. First item is easy out-of-the-box usage. This contains media replacing files, placing blocks using Layout Builder (we assume that it will be possible to use Layout Builder in all regions, right now it’s possible only within the Main page content block) and various UX improvements of Layout Builder. 

The other item in this priority is the new frontend theme Olivero. It should be added to Drupal 9.1 as experimental. You can watch the progress and help with it in the contrib space.

Third of the priorities are requirements of existing users. These requirements were gathered in a survey by approx. two thousands of users and were evaluated separately by persona, their Drupal 8 experience and level of seniority. The survey shows that a lot of these requirements are already being worked on - Claro admin theme, better tools for content creators - Media, Layout Builder.

O1

The most requested feature amongst all user groups is automated updates. Dries showed that this feature consists of two parts and the first is already developed in cooperation with the European Commission. You can even try this feature on your simpler sites. I think that the limiting factor is having no support for patches right now. This along with other features should be part of the second stage, which is seeking funding right now. 

Bit confusing for me is a request for more modules in Drupal core as it's the complete opposite as the Small Core initiative from pre-Drupal 8 times. On the other hand, I completely understand users not wanting to download and configure the same modules all over again. I also find the out-of-the-box integrations requirement interesting, because it should be bundled with the Privacy Initiative, otherwise it might be very hard to use those features in most of the world because of various privacy data protection laws.

The last of the priorities are requirements enabling Drupal to remain state-of-the-art technology. I think there were major improvements in Drupal 8 release cycle in this area e.g. JSON:API addition to the core. Dries expects everything moving from browsers to the real world and Drupal must evolve unless it wants to remain only content storage.

Out of these four priorities, five initiatives were formed so all additions are well-balanced. First four initiatives are quite obvious - Drupal 10 readiness, easy out-of-the-box, new frontend theme and automatic updates.

I was quite surprised by the last initiative - javascript components for working with menus. As Dries showed, in the past, there already was a modern UI initiative aiming to bring decoupled admin experience. It ended prematurely because it proved to be too big and complex. However, as part of it, many important issues were resolved - config validation, creation and updating of configs through API. Now the community has a more realistic goal of publishing official Drupal JavaScript components for React and VueJS frameworks. These components should cover everything needed for working with menus such as defining menus and hierarchies, path aliasing and routing.

Drupal 10 Initiatives

That said, I'm a bit worried about recent investments into Layout Builder given that it might be replaced by React components quite soon. I hope this and maybe other questions will be answered during other sessions at DrupalCon Global 2020.

Proposed Initiatives
We have lots to figure out