Developer Notes: Preparing your site for Drupal 10

When preparing your site for Drupal 10, we recommend using our Docksal/docker working environments on your local machine. Setup information can be found in .docksal/README.md in the ucsf9_multisite git repo. You'll first need to download Docker and follow the other Docksal instructions.

To help you get started, Web Services has setup a D10 branch (Release10) in ucsf9_multisite git repo.

Most of the docroot modules have been upgraded to a Drupal 10 version however you'll need to ensure all modules and custom code and themes for your site are updated if they aren't part of our core updates.

In your local working version we recommend you do the following:

  1. Switch to the Release10 branch, then create your own branch from there, labeled [yourwebsitesubdomain]10 or something similar.
  2. Run "composer install" in your local environment; for Docksal it would be "fin composer install" from the folder root
  3. Enable the Upgrade Status module, it give you the current status of modules, which need to be upgraded, patched or version wrapped
  4. Add patches to the composer.json file as needed
  5. To ensure modules upgrade correctly, add the module to the drupal-lenient > allowed-list section of the composer.json
  6. Run "composer run purge" to purge the prior installation
  7. Running another "composer install" to install Drupal 10.x locally
  8. Ensure all fixes recommended by the Status Upgrade module for your website are applied and functioning locally.
  9. Locally ensure your application is fully functioning on Drupal10 and the Update DB process completed as neccessary.
  10. Once all modules are upgraded, create a Pull Request in Github from your branch back into the Release10 branch
  11. Ask for a review from Eric Guerin at this time, he will merge your code and confirm
  12. Do a full QA run of your website on our staging environment stg-yourdomain.ucsf.edu under the new version, we will migrate the database and run updb for you for then for you to check one more time.
  13. Once everything looks good you can notify us of a time period for us to do a Drupal 10 cutover.