Why choose the new Drupal 9?
The worldwide COVID-19 pandemic has ushered in a new reality where online services are increasingly more important to us in order to be able to run our day-to-day lives. This new situation creates opportunities for those who go with the flow but is a hindrance for those who don’t react fast enough.
The Drupal framework with its multifaceted functionality and flexibility offers a convenient way to stay on course amongst the socioeconomic changes. It is worth mentioning that the non-profit organization behind the open source Drupal project didn’t allow itself any rest and released the new 9th version of Drupal in the beginning of June.
Why should you update to the new 9th version? Or why use the new Drupal framework at all if you haven’t done so before? In this article, you will find answers to those questions.
Drupal versions and their life cycles
Drupal versions timeline
There is an established rule that after the release of a new version of Drupal, support will continue to be provided only to its direct predecessor – after the release of Drupal 8, support was discontinued for Drupal 6. Previously, support for Drupal 7 was planned to be discontinued in November 2021.
This type of long-lasting extended support offered to the 7th version was an exception related to the fundamental differences between Drupal versions 7 and 8, and offered to give developers extra time to migrate their Drupal 7 solutions to Drupal 8. The differences between 7 and 8 are so substantial that essentially, you must rebuild your Drupal solution from the ground up to migrate it to Drupal 8.
A decision was made in June of this year (2020) to extend support for Drupal 7 until November 2022. The decision was made to give developers more time to migrate due to the COVID-19 pandemic which severely affects not only the Drupal community but the global population. This ruling means that the end of life for Drupal 7, which is still the most popular Drupal version, is over two years away. The discontinuation of support provided by the Drupal community is not the end of all support. There are certified vendors who offer extended Drupal 7 support until least 2025.
The end of life of Drupal 8 is tied to the end of life of Symphony 3, which Drupal 8 is dependent on – both will be discontinued in November 2021. Drupal 8 stopped receiving any updates with the release of Drupal 9, except for the occasional patches for security vulnerabilities. The end of life for Drupal 9 is expected to be sometime in 2023 and is dependent on the end of life of the different dependencies it relies on.
At the moment, it is known that the end of life of its dependencies Symphony 4 and CKEditor 5 is in 2023. However, if sometime in the future it is announced that some other dependency’s end of life will arrive sooner, then those plans will likely change. The release of Drupal 10 is projected to take place in the first half of 2022 to give developers enough time to finish any necessary migrations.
Backwards compatible Drupal
Major software upgrades are usually complicated and resource-intensive affairs because generally, the differences between the old and new versions are extensive. This is also the case with the upgrade from Drupal 7 to Drupal 8. However, it will not be the case with the upgrade from Drupal 8 to Drupal 9, which will be relatively easy and fast compared to the upgrade process from version 7 to version 8. Although an oversimplification, we can say that Drupal 9 is a more modern Drupal 8 with redundant code removed.
Drupal 9 is the first Drupal version that is backwards compatible.
What does that mean? In general, it means that a newer version of software can use files and data generated with an older version of the software. For example, the Windows OS is backwards compatible and after each major upgrade, users can still use files generated with an older version of the OS. This means that users can open and edit text files generated with Windows 7 in Windows 10.
In the context of Drupal, backwards compatibility is exemplified by the fact that Drupal 9 can use modules made for Drupal 8 (with some minor adjustments). In the migration from Drupal 7 to Drupal 8, the application had to be rebuilt from the ground up because of major structural and functional differences between the two versions.
These changes were necessary since the Drupal organization chose the path of innovation to stay competitive. Any innovations that are implemented (including backwards compatibility) make the Drupal framework suitable for even the most demanding clients.
Migrating from Drupal 7 to Drupal 9
Drupal 7 is still the most widely used version of Drupal. Many Drupal 7 users have postponed migrating to Drupal 8 because it is a work-intensive process – everything has to be done from the ground up. Essentially, this means that a new application must be built.
The good news is that the process is much easier today than it was when Drupal 8 was first released thanks to the work of Drupal organization volunteers who have developed better methods for it and amended the documentation. Now that Drupal 9 is released, there is also the option to update directly from the 7th version to the 9th version. Doing so would guarantee that you have updated to the version with the longest expected support.
The second option would be to first update to the 8th version and from there, to the 9th version. If you have an application that requires modules not yet available fore the 9th version, you should first migrate to Drupal 8. The same rules that apply for migrating from Drupal 7 to Drupal 8 also apply when migrating from Drupal 7 to Drupal 9. The foremost advantage in choosing the 7 to 8 migration path is an established road map: precedents, extensive documentation, and migration modules, all of which help make the process less painful.
What’ new in Drupal 9 ?
Drupal 9 continues where Drupal 8 left off. One of the leading motives is to make the framework even more user-friendly. The 9th version of Drupal is even easier to use, which is especially true for people who are less technically inclined. The ongoing day-to-day operations need less developer attention. This frees up developers' time which can then be used for development work with higher returns.
The aim is also to give editors/administrators/marketing people more tools that they can use to change the information displayed with the framework. Additionally, there are options for integrating the framework with different Customer Relationship Management platforms, which helps to save time and simplify and streamline client management.
Workflow and Content Moderation modules
Drupal’s Workflow and Content Moderation modules offer content architects the opportunity to create simple as well as very complex content management processes. The standard Drupal framework sets different roles and permissions for users, which determine what kind of content they are allowed to create and edit. Workflow and Content Moderation modules expand on these presets.
Here is an example of a process where both modules are used.
A volunteer working at a Creative Space creates a draft of a future event and sends it to the “Head of Events” who approves it. The “Head of Events” assigns the event draft to the building manager to attain a key card for a given time. The building manager modifies the draft by adding in the necessary information and assigns it to the President of the Creative Space who gives their final approval. With that, the event is published and gets a place in the operational plan.
Workspaces module
The Workspaces module expands on the functionality offered by the Workflow and Content Moderation modules and was added to the Drupal core in the 9th version. In essence, the Workspaces module creates a copy of the live version of the website and exists parallel to it. For example, the marketing department can create the content and layout for their Christmas campaign before the season begins without having to publish anything prior to the actual launch date.
The employees share different version of the website with each other, change the information contained in it, rearrange blocks and only publish it once they are completely sure that everything is done the way it has to be done. Essentially, employees who have been assigned the content editor role are given tools similar to what the GIT version control software offers.
How exactly all of this works is exemplified by the following module.
Work is continued on developing additional functionalities for Layout Builder, which was introduced in the 8th version. Layout Builder gives editors the tools to independently design new pages using the ever popular drag-n-drop methodology.
The Claro admin theme, which was in experimental status in the 8th version, is now part of the Drupal 9 core. Claro is based on the new Drupal Design System, which development experts and stakeholders from around the world have contributed to. Once again, the aim is to offer users a modern and user-friendly user interface.
The possibilities offered by decoupled Drupal
The Drupal framework is not set in stone – it is possible to configure it in accordance with the client’s wishes. You could say that the Drupal framework is for ambitious projects. At the same time, it also offers safe bets, out-of-box trusted classic solutions, and continued development of the JSON:API. JSON:API makes it possible to build robust decoupled solutions. Drupal is following the technological trends.
Adopting new technological solutions and integrating them with Drupal framework should be as easy as possible. Drupal project leaders see the possibility of using the same multilingual content in many different channels as one unequivocal strength of the framework.. For example, this allows for using the same content displayed on the homepage to also be used in a kiosk, app and voice assistant. Drupal’s API-first approach makes it a prime candidate for different AR and VR prototypes and solutions.
The API-First methodology was taken to heart during the development of the 9th version of Drupal. The entire catalog of different Drupal functionalities is available through APIs. Saved data can be queried and changed using Drupals RESTful webservices and JSON:API’s (Tim Lehnen, Drupal CTO). The cornerstone of Drupal modules – Views – can be utilized in both the classic Drupal versions and the decoupled versions.
As you might have guessed from this read, Drupal is a framework of many possibilities. One article can be only so long, but I hope I created some interest towards the 9th version of Drupal in you.
If you have used an earlier version of Drupal and were disappointed, I encourage you to give Drupal another try. If you have no prior experience with Drupal, but would like to give it a try, here is a how-to guide to get it running on your computer in 10 minutes. You are always welcome to share with us your experience with Drupal or ask us questions.