Drupal 9 Research Notes
Please include links to any pages / resources you found information on
Questions to answer
What will it take to get to Drupal?
What work processes that the API Team currently does manually will change?
Please explain how Pantheon is handing the move towards Composer (may have been discussed above)?
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
Update to Drupal 8.9.x version.
All contributed module should be Drupal 9 compatible
Custom code Drupal 9 compatible
Update core codebase to Drupal 9
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
Results: We cannot update to Drupal 9 until our upstream (SA Drupal Template) is updated to Drupal 9. Elda has said she will look into it in the future; but she has no timeline available yet.
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 Git, Composer, 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