Next month marks two years since the release of Drupal 9, and among the hundreds of thousands of site owners who have migrated, there’s a general consensus that D9 is a bit of a masterpiece with unrivaled scalability, security, and flexibility.
Backed by the brainpower of a million member strong Drupal community, new modules that expand functionality are consistently being released. Along with our partners at Acquia, we’ve championed Drupal 9 and advocated for migration as a means to begin realizing the benefits of a superior CMS ASAP.
For the 56.3 percent of Drupal sites that are still on Drupal 7, or the 18.6 percent that are on Drupal 8 and have not migrated from a version that reached end-of-life status in November 2021, migration is inevitable.
Fact is, migrating to Drupal 9 is far more of a “get to” than a “have to.” Here are our Top 10 reasons why we at Promet and our partners at Acquia believe that to be the case.
10 Key Advantages of Drupal 9
Drupal 9 relies on Symfony 4 and requires at least PHP 7.3, which results in improved security and stability.
Drupal 9 comes with no fewer than four modules for language support, each performing a different role. These modules have enabled the following capabilities:
- The ability to install Drupal in 100 foreign languages from the get-go;
- Translation for content items, such as nodes, taxonomy terms, menu items and user profiles; and
- Configuration translation, providing an interface to translate website configuration to multiple language.
Drupal 9 still relies on jQuery itself, but most jQuery UI components have been removed from core.
Database version requirements have been increased for all supported database back ends within Drupal 9.
The newest versions of Drupal have been designed with mobile in mind, from the installer to the modules page. Drupal incorporates responsive design into all of its functionality, offering a responsive administrative toolbar that on wide screens automatically expands and orients itself horizontally. On small screens, the toolbar collapses into icons and orients itself vertically. Data entry in Drupal is seamless thanks to HTML5 form elements. These provide targeted user interfaces on mobile devices for fields such as date/time, phone numbers and email addresses.
Drupal 9.1.0 introduced the experimental Olivero front-end theme which became stable in 9.3.0. This theme is intended to replace Bartik in a future Drupal 9 release, with Bartik to be removed in Drupal 10. Olivero is a more modern, cleaner theme with various new features and a greater focus on accessibility. Composer offers the most future-compatible solution for constructing the codebase of a Drupal 9 site. Composer itself released version 2 on Oct. 24, 2020. This version is a massive improvement in terms of memory usage and speed. Drupal 9.1 onwards fully supports Composer 2.
The experimental Claro administration theme keeps improving. Updates since Drupal 9.0 include a clean module administration page, views administration UI designs, status report page and maintenance page updates. Claro is expected to achieve stability in a future Drupal 9 release and replace Seven as the default administration theme, while Seven will be removed in Drupal 10.
For many, the most welcome aspect of Drupal 9 was that it represented an evolutionary, not revolutionary leap forward from Drupal 8. All the functionality that made Drupal 8 powerful has been retained in Drupal 9. As such, migrating to Drupal 9 from Drupal 8 is a relatively streamlined and simple process compared to the full-scale platform switch that accompanies migration from Drupal 7 to 8 or 9.
Drupal contributors leveraged the June 3, 2020 release of Drupal 9 as an opportunity to clean up the codebase and to ensure Drupal stays on supported versions of external dependencies. Drupal 9 revised some third-party dependencies, including Symfony 3 and Twig 1. At the same time, it removed deprecated solutions, such as most of jQuery UI, from Drupal core.
Richer Media Management Drupal has long supported images and generic files, and Drupal 9 expands on this functionality with a generic media field supporting local audio, video, images and additional files. This iteration of Drupal also gives users the ability to embed remote content such as YouTube and Vimeo videos. Additionally, it features a Media Library module that allows users to add existing media assets to a site, as well as upload new items directly into the library.
Migrating to Drupal 9
As mentioned above, migrating from Drupal 8 to Drupal 9 is a relatively straightforward process. The first step is to ensure that the environment is compatible with the requirements for Drupal 9. Drupal 9 requires PHP 7.3 or higher and that version requirements have been raised for MySQL (at least to 5.7), MariaDB (at least to 10.2), PostgreSQL (to 9.6) and SQLite (to 3.26).
Also, for those using Drush, only Drush 10 is compatible with Drupal 9.
Any dependencies which are not being used also need to be removed and contributed modules need to be up to date. Beginning with Drupal 8.7.7, it is possible for modules to be compatible with Drupal 8 and 9 at the same time. Acquia’s Drupal 9 Deprecation Status page allows for a quick search of the Drupal 9 readiness status of contributed modules, along with access to related issues and patches.
The Upgrade Status Module can be used to discover whether the the most current versions of contributed modules are being used.
Migrating from Drupal 7 to Drupal 9 requires a rebuild, and there are numerous tools available that can get the right code in place and avoid migration challenges. Additionally, there are a number of community add-ons aggregated in the Migrate Tools and Migrate Plus project, not to mention a suite of command line tools (such as Drush) that help streamline the migration process.
Migration to Drupal 9 from either 7 or 8 entails multiple moving parts, and the most reliable resource is a depth of perspective and expertise. We at Promet are here to answer questions or guide you throughout any part of the process. Let us know how we can help.