Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough

Drupal 9: All questions answered here

Parent Feed: 

“The big deal about Drupal 9 is … that it should not be a big deal” - Dries Buytaert (Founder and Project Lead of Drupal)

June 2020 marked the onset of the long-awaited version 9 of the Drupal CMS. And just like every product, the moment this new CMS rolled out, it raised a lot of interest in the Drupal community as well as among Drupal users. The interest was to understand the new version of Drupal with a view to unlocking the new digital opportunities. Logically this interest gave rise to a number of questions in the head of users who were planning for Drupal 9, right from the ways to migrate to what this new release actually means to a user.

There are some common concerns about Drupal 9 that every Drupal user is battling with in some way or another way. Therefore, in this blog, we have initiated to unpack Drupal 9 FAQs which will put all your questions at peace and will surely help you unleash the best user experience on your website. 

Girl sitting right next to a big white tablet


1. What’s new in Drupal 9? 

Drupal 9 is an engine of innovation that has experienced the most straightforward update in the history of Drupal. As a matter of fact, Drupal 9 shares the same new features as Drupal 8.9. Thus, Drupal 9.0 will not include any new features. However, Drupal 9.1 will continue to receive new features biannually (within every six months) with a view to helping enterprises stay up-to-date. Check out the definitive guide to Drupal 9 to know more.

2. Did Covid-19 have any impact on the Drupal 9 release?

Covid-19 has impacted each and every sphere of our lives and the effect of this global pandemic is felt by everyone around the world. Drupal is no different and indeed there were certain challenges that Covid-19 generated against Drupal. However, despite all those hurdles that came across the way, Drupal 9 was released on its planned day i.e. on June 3, 2020. This launch of Drupal 9 is itself a milestone in the history of the open-source community that builds Drupal. 

3. Why was Drupal 9 built in Drupal 8?

Instead of working on Drupal 9 in its own git branch from the scratch, Drupal 9 was built in Drupal 8. Yes, you heard it right. Using the deprecations and optional updated dependency support, Drupal 9 was mostly built in Drupal 8 because of the following reasons:

  • All new (Drupal-9-ready) code was deployed on Drupal 8 sites before Drupal 9 came into existence. 
  • The community worked out the issues in the new code in Drupal 8.
  • Feedback was provided based on the new code so that necessary improvements can be made in Drupal 8.
  • Unlike previous versions of Drupal, building Drupal 9 in Drupal 8 helped the community to avoid ending up with an entirely reworked API.
  • It is important to note here that unlike previous versions of Drupal, Drupal 9 is not a reinvention of Drupal.

4. What will happen to Drupal 7?

Considering a large number of sites that would still be using Drupal 7 in 2020, Drupal 7  was originally decided to receive community support until November 2021. However, in the light of the impact of COVID-19 on the community, the association has now extended Drupal 7 support and moved the end-of-life date to November 28, 2022, which implies that Drupal 7 will be supported for close to 2.5 years after the release of Drupal 9. 

5. What will happen to Drupal 8?

Drupal 8 relies on Symfony 3, and Symfony 3’s end of life is November 2021. As a result, the community support that Drupal 8 receives- including security coverage, will last until November 2021. In other words, no new features will be added to Drupal 8, nor will minor releases be made available. After November 2021 users on Drupal 8 must upgrade to Drupal 9 in order to continue receiving support from the Drupal community.   

6. What are the benefits that Drupal 9 holds over Drupal 8 or even Drupal 7?

Drupal 9 is the culmination of all of the features that are developed over the course of Drupal 8. This updated technology helps Drupal 9 to continue Drupal 8's pattern of continuous innovation along with significant features that are released every six months.

Drupal 9.0 shares the same features as Drupal 8.9 (with the notable exception of updated dependencies). Further,

Drupal 9.1, 9.2, etc. will add new backward-compatible features every six months to Drupal 9.0. 

Drupal 9 platform will be supported with security fixes after November 2021 which makes it more advantageous than Drupal 8. Not to mention, Drupal 9.1 onwards will continue to add new features to Drupal core.

7. What is the best possible way to upgrade from Drupal 7 to Drupal 9?

Migrating from Drupal 7 to Drupal 9 is one of the recent advancements that took place in the world of Drupal. However, before the release of Drupal 9, the best path for Drupal 7 sites to upgrade to Drupal 9 was to upgrade to Drupal 8. This path of migration to Drupal 8 is still a good option for Drupal 7 sites, despite the release of Drupal 9.

Migration from Drupal 7 to Drupal 8

The Drupal 7 to Drupal 8 upgrade includes some pretty significant changes. Migrating Drupal 7 to Drupal 8 can be done in the following ways: 

  • Migrate everything, which includes content and configuration, into an empty Drupal 8 installation (the default method).
  • Manually create a new Drupal 8 site, set the content types and fields up as per the requirement, and then migrate your Drupal 7 content in it. 

Migration from Drupal 7 to Drupal 9

Migrating from Drupal 7 to Drupal 9 can be a possible jump in the world of Drupal. In other words, the Drupal 7 migration ecosystem is still available in Drupal 9, which can help you easily skip Drupal 8 entirely and migrate to Drupal 9. There are three factors that will likely shape this decision-making process that include time and budget, developer skillset and planning a release window. 

8. What is the best possible way to upgrade from Drupal 8 to Drupal 9?

Fortunately, migrating Drupal 8 to Drupal 9 is radically the easiest update that has happened in a decade. However, it is equally important to note here that the path of Drupal 8 to 9 is not a sudden jump, rather it is a compendium of several steps that are much easier to adapt and perform. 

Upgrade to Drupal 8.8 or Drupal 8.9: In order to update your Drupal 8 to Drupal 9, update your site to the most recent version of Drupal 8.x. Drupal 8.8 was a big milestone for API compatibility which is fully compatible with Drupal 9. That is to say, contributed modules that are released prior to 8.8 may not be compatible with Drupal 9.
 
Environment requirements: Ensure that your environment is well suited to Drupal 9’s requirements.  There are new minimum requirements for various databases like MYSQL and MariaDB. Also, your Drush version must be updated to Drush 10. 
 
Audit for conflicting dependencies: If there exist dependencies that are no longer in use, then you will have to find some way to remove those dependencies. This can be done by either rewriting custom code or finding alternative solutions to fix these issues.
 
Check and remove deprecated code: Your site includes deprecated code that needs to be removed. There are a few tools that can be used to check if your site contains deprecated code or not. Some of the common tools include Drupal Check, PhpStan Drupal, Drupal Quality Checker, Upgrade Status and Configuring your test suite. Further, in case your site detects deprecated codes, you can use tools like Rector for Drupal 8 and Upgrade Rector to fix the deprecated codes. 
 
Flag modules as Drupal 9 compatible: Once you have removed the deprecated code from your custom modules, do not forget to flag them as being compatible with both Drupal 8 and Drupal 9.
 
Update contributed modules: Make sure to update all your contributed modules to a Drupal 9-compatible version while your site is still on Drupal 8. This needs to be done before attempting an upgrade to Drupal 9.
 
Once that is done, update your Drupal core to Drupal 9 and run update.php.

9. What are the system requirements to run Drupal 9?

  • In order to run a site built on Drupal 9, your system must comply with the following requirements.
  • If you are planning to run Drupal 9 on Apache, you should have at least version 2.4.7 of the same.
  • PHP 7.3 is the minimum requirement of Drupal 9. PHP 7.4 can be supported too but it is not required. 
  • Despite the fact that Drupal core does not require Drush, many people do use it. However, as of now, Drush will only provide Drupal 9 compatibility in Drush 10. 
  • Besides these requirements, there are some other requirements which include:
  1. Version 5.7.8+is required if using Drupal 9 with MySQL or Percona.·        
  2. Version 10.3.7+ is required if using Drupal 9 with MariaDB.
  3. Version 3.26+ is required if using Drupal 9 with SQLite.
  4. Version 10 is required with the pg_trgm extension if using Drupal 9 with PostgreSQL. 

10. Has theming changed from Drupal 8 to Drupal 9? 

Drupal 9 has updated the Twig templating engine from Twig 1 to Twig 2. This up-gradation of Twig from version 1 to 2 implies that much of the work that has already been done to theme your site using Twig is completely reusable. 

11. Is there any update for third party dependencies in Drupal 9? 

Symfony 3 to 4.4:

The release of Drupal 9 is planned for security support for the most important third party dependency, called Symfony. Since Symfony 3's end of the date is November 2021, Drupal 9 is updated to Symfony 4.4. 

Twig 1 to 2:

Drupal 8 shows a heavy reliance on Twig 1.  Since there is no clear end of life date announced yet, Twig 2 has been launched for years which will be used by Drupal 9 users.

CKEditor 4 (not 5):

CKEditor 4 and 5 are two completely different codebases. Both Drupal 8 and 9 include CKEditor 4. Security support of CKEditor 4 will end around the end of Drupal 9’s life. Therefore, the community has decided to include CKEditor 5 in a future version of Drupal 9, deprecate CKEditor 4 in Drupal 9, and remove it in Drupal 10. 

jQuery and jQuery UI:

Re-evaluation of jQuery UI has resulted in the elimination of most of the components from the core. Only a limited number of components will remain as forked versions that can be used to repair future security issues. Drupal 9 will still be dependent on jQuery itself.

PHPUnit:

Drupal 8 diminished the very own SimpleTest testing system, giving support to PHPUnit. Drupal 9 requires PHPUnit 8 which is responsible for the updates of their PHP requirements strictly according to the support provided by PHP.

Doctrine:

Drupal 8 uses Doctrine's Simple Annotation Parser. However, this has received strong disapproval and will be discarded from a future release without any replacement. The part of the code is divided and included with the Drupal core. 

12. How much time will the contributed module and theme ecosystem take to be ready for Drupal 9?

The process of updating the majority of the top 200 Drupal 9 contributed modules is relatively simple. For this, the contributed project maintainer is required to remove deprecated code from the module or theme and further update the info.yml file in order to confirm compatibility with Drupal 9. Also, patches can be contributed by the developers in the Drupal community to make modules Drupal 9 compatible. 

13. Which modules are no longer supported in Drupal 9? 

The Place Blocks and SimpleTest modules have been removed from core in Drupal 9.

14. Is Drupal 9 difficult to use?

Is Drupal 9 difficult to use? Will I be able to work with Drupal 9? Will I be able to deliver easy access to regular users? You surely have these questions in your head if you are preparing for Drupal 9. 

Well, the answer is no. Drupal 9 is an upgraded version of Drupal 8 which is built on the true spirit to provide an improved user-friendly experience. With every update that Drupal undergoes, it comes as a more powerful and user-friendly approach and this is why Drupal has come a long way. Using the tremendous technical power that Drupal offers, Drupal 9 creates an ideal user experience. Regardless of the job profile (content creator, a website developer, or IT support) you hold, you can count on continuous innovation in usability from Drupal.

15. Why choose Drupal 9 over other CMS platforms?

The software should always support your business model and not the other way around. Saying so, Drupal is an ideal CMS that provides a platform to deliver ambitious digital experiences. As the digital landscape continues to extend to more channels and touchpoints, a CMS like Drupal 9 is all you need in your store. Not to mention, Drupal 9 has a hold on the creation of powerful content creation tools, and efficient workflows that can nourish customer journeys. While the true power of Drupal 9 lies in its flexibility and richness, other CMS platforms focus on pre-defined templates or industry-specific solutions. 

16. What ideal tools do Drupal 9 provide to manage content deployment?

Drupal 9 offers the Workflows core module to manage the content deployment as well as editorial workflows in Drupal. The workflows module being an ideal tool is leveraged by major media organizations throughout the world. In addition to this, there are 2 other modules, namely the Content Moderation module and Workspaces module which are responsible to enhance the capability to manage content deployment in different workspaces. 

17. What are the various accessibility features that Drupal 9 will have built-in? 

The Drupal community has always stuck to its root, which means providing the best to its members. The release of Drupal 9 is no different and this is the reason why Drupal 9 is carrying forward the commitment to accessibility which began with the advent of Drupal 7. The existence of Drupal's Core Accessibility Gate feature (responsible for the core changes) in Drupal 9 is itself evidence of dedication to accessibility efforts. Major accessibility features included in Drupal 8 like full keyboard support, voice-to-text for visually impaired users, and media and layout enhancements will continue to be refined and worked on in Drupal 9. 

18. Is there any important security change to expect in Drupal 9? 

One of the main reasons behind Drupal 9 up-gradation lies in security enhancements. Drupal has always shown itself as a secure and ideal choice and the launch of Drupal 9 ensures that Drupal is secure and compatible with modern system requirements. As a matter of fact, Drupal 9 discards deprecated data code, implying working on a smaller codebase, thereby improving security standards and reducing security risks or errors. 

19. Does Drupal 9 offer the same kind of multilingual support that Drupal 8 offers? 

Drupal 9 is graced with all of the robust multilingual features that Drupal 8 has and does not require any re-architecture when updating. 

20. How will Drupal 9 support API-first/headless/decoupled deployments? 

Drupal 9 is built on Drupal 8's API-first architecture and thus it continues to be a leader in headless and decoupled solutions in the CMS market. However, headless//decoupled solutions may differ widely depending on the front-end technology being chosen.

21. Will Drupal 9 enhance movement towards more robust headless support and non-web content? 

With the advancement in technology, there is a huge interest in headless and non-web content with things like chatbots and IoT devices. As of now, there are no plans set to expand into more decoupled features, but the community will always look for change and innovation. There are a myriad of contributed modules that are solely dedicated to decouple and headless support. 

22. How does the new Layout Builder feature allow content editors to build and modify pages?

Drupal's Layout Builder allows content editors to build and modify pages visually using drag-and-drop. Using this feature, a heavy reliance on developers can be eliminated and marketing workflows can be increased. Speaking of the role of Layout builder, this tool lays its entire focus on providing layout tools for non-decoupled Drupal installations. In order to expose Layout Builder components through Drupal's API, a hybrid approach could be used in decoupled implementations.

23. How will Drupal 9 work in combination with disruptive technologies?

Voice, visual search, AR and VR displays are effectively new interaction and presentation models that are responsible for dealing with already existing data. The fundamental content modeling expertise of Drupal and its API-first design makes it a perfect fit to prototype these aforementioned interactions, or to build production applications.

24. What can we expect in Drupal 9 in the upcoming releases?

Making Drupal intuitive is the foremost priority of Drupal 9. Automated Updates Initiatives, adapted during Drupal 8, is being actively worked upon, which would help organizations to keep their sites in a proper and maintained state without requiring a lot of dev resources.

Olivero, a new frontend theme is lined up that can be used optimally for accessibility and front-end experiences. Olivero is being created for people like marketers, site designers, and content editors. 
Besides this, Drupal 9 includes dependency updates and removing deprecated code requirements which were not possible in Drupal 8.9 due to backward compatibility. 

Drupal 9.1 will be open for feature development of all the issues that cannot get into Drupal 9.0. It will also be the place to introduce new deprecations for Drupal 10 and all changes that are only allowed in minor releases. Drupal 9.1 will be released in December 2020.

25. How long will Drupal 9 be supported?

As stated earlier, Drupal 9 heavily relies on Symfony 4 which has an end of life in November 2023. After this, security bugs in Symfony 4 are not possible to get fixed. As a result, all users of Drupal 9 will have to upgrade to Drupal 10 by the end of 2023. 

26. What about Drupal 10?

Drupal 10 is planned to align with the life cycle of third-party projects that are closely integrated with Drupal, for example, Symfony and Twig. Since the Drupal community wants site owners at least one year to upgrade from Drupal 9 to Drupal 10, the community is hoping to jump in and make the next release i.e Drupal 10 in June 2022.

Moreover, new functionality for Drupal 10 is actually added to Drupal 9 releases, implying easy adoption of any new APIs by module developers. Drupal 10 removes all deprecated code providing developers a chance to stay up to date with API changes and thus making the upgrade to Drupal 10 a lot easier. 

Conclusion

The best of the Drupal community has worked hard to produce and deliver this masterpiece to the digital world. Years of hard work and determination have given birth to this higher-performing, robust, and more flexible solution. The change from Drupal 7 or 8 to Drupal 9 is not that easy, however, once you embark on the journey of Drupal 9, life will surely get much easier. 

Skeptical about how to migrate your site to Drupal 9 at ease? Contact us at [email protected] and our experts will help you with the best possible approach towards a successful Drupal 9 migration. 

Author: 
Original Post: 

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web