Upgrade path from Drupal 8.2 to 8.3 and Bootstrap Layout module

If you use modules like Panels, Panelizer, Context, Bootstrap Layouts or context and you are trying to figure out how to upgrade a Drupal website from 8.1.* or 8.2.* to 8.3. The modules I mentioned before have a dependency with Layout plugin, a module that cannot be run at same time as Layout Discovery module in a Drupal 8.3.x instance.

There are a few places where you can find the steps to do this upgrade, but most of them involved to do things like re-install models, but that is not recommended for websites that are already running in production or they are in an advanced stage of the project. Here is an upgrade path that might work for you.

First, the Basics
  • Look on every contrib module installed if exists a newer version compatible with 8.3, not only modules that have a dependency with Layout Plugin or Content Moderation needs to be updated.
  • Choose one of the recommended options to update the core on this link.
  • Create backups of your files and database and prepare a process to roll back the changes in case something goes wrong during the update.
This is the part of the script I used to perform the update:
drush sset system.maintenance_mode 1

cd ../../

composer update drupal/core --with-dependencies

# Rename temporally bootstrap_layouts.services.yml
mv ./modules/bootstrap_layouts/bootstrap_layouts.services.yml ./modules/bootstrap_layouts/bootstrap_layouts.services.yml.bak

# Disable layout_plugin module and enable layout_discovery module
cd sites/default/
drush pmu layout_plugin -y
drush en layout_discovery -y

# Restore bootstrap_layouts.services.yml
mv ../../modules/bootstrap_layouts/bootstrap_layouts.services.yml.bak ../../modules/bootstrap_layouts/bootstrap_layouts.services.yml
drush cc module-list;

# Perform database updates
drush updb -y
drush cr

# Apply any entity updates available
drush entup -y
drush cr

# Sanity check to make sure no errors or failed updates are not being applied.
drush updb -y
drush cr

drush sset system.maintenance_mode 1

 

If you have installed Content Moderation module and you are looking for an upgrade path, this post could be helpful for you.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.