Drupal 9 Research Notes

Please include links to any pages / resources you found information on

Questions to answer

 

When moving to Drupal 9 from Drupal 8 planning is required. Firstly need to create a Drupal 9 upgrade checklist, and understand what's required to complete the items on the list.

Environment requirements of Drupal 9

  • MySQL version 5.7.8+ is required.

  • MariaDB, version 10.3.7+ is required.

  • Drupal 9 requires at least PHP 7.3. PHP 8 is supported from Drupal 9.1.0

Useful LInks: https://www.drupal.org/docs/understanding-drupal/how-drupal-9-was-made-and-what-is-included/environment-requirements-of

Environment requirements Drupal 9 on Pantheon

Pantheon is providing both option for upgrade site manually as wall as build tools. here is the all steps mentioned for both options https://pantheon.io/docs/guides/drupal-9-migration . Migration by using composer https://pantheon.io/docs/integrated-composer .

Drupal 9 upgrade checklist

  1. Update to Drupal 8.9.x version.

  2. All contributed module should be Drupal 9 compatible

  3. Custom code Drupal 9 compatible

  4. Update core codebase to Drupal 9

  5. Run update.php

Updating modules and code

For contrib modules, the latest releases will often support both Drupal 8 and Drupal 9, so that can go ahead and be updated.

For Custom modules, Custom module code should be compatible with Drupal 9 version. Make sure to update all contributed modules and themes. Most projects will improve Drupal 9 compatibility as the release of Drupal 9 comes closer. Ensure they are all compatible with Drupal 9. They would also still be compatible with your Drupal 8.8+ site. Use Upgrade Status (Drupal 8/9 Module) to check their compatibility. that should cooperate with module maintainers and offer help where possible to make sure updates happen. Check the module's project pages for Drupal 9 plans as most key modules provided that.

To Do:

Pantheon Prerequisites to Updating

Things to checkoff/ensure:

  • Ensure Multidev support

  • Ensure we have the database upgrade feature

  • Using a compatible Drupal 8 site

  • Using an upstream of git://github.com/pantheon-systems/drops-8.git

  • Ensure the site does not use a nested docroot (the repo does not contain a root /web folder in the git repo)

  • Ensure the site does not use Pantheon Search (we do not have Apache Solr as an option on our plan)

  • The site does not use another package and library manager like Ludwig.

Local Machine Preparation

Things to checkoff/ensure:

  • Review our documentation on GitComposer, and Terminus, and have them installed and configured on your local computer. Pantheon requires Composer 2 at minimum.

    • Navodit

  • Install the Terminus Site Clone plugin

    • To Do:

Upgrading to Drupal 9 (core) using Composer

Composer is the preferred way of moving forward to work with Drupal 9. Firstly, Need to make sure that all the libraries and modules installed on current site are Drupal 9 compatible. Otherwise, It will get a lot of errors on the terminal thrown by Composer.

Run the following commands to get started with the process:

  • Remove the drupal/core entry in your composer.json file if you have it.

  • Change access permissions for the default folder and the files inside of it:

  • Pull Drupal 9 and dev dependencies packages:

composer require drupal/core-recommended:^9.0.0 drupal/core-composer-scaffold:^9.0.0 drupal/core-project-message:^9.0.0 --update-with-dependencies --no-update # If you have drupal/core-dev installed. composer require drupal/core-dev:^9.0.0 --dev --update-with-dependencies --no-update
  • Update your local code:

composer update
  • Run database updates:

#Drush drush updatedb #Drupal console drupal update:execute

 

Useful link: https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-to-drupal-9-or-later