Upgrading Drupal 6 or 7 to Drupal 8 requires a path different from previous upgrades. It requires that you start with a clean installation of Drupal 8 and perform content and configuration migrations from Drupal 6 or 7.
Your theme will need to be re-created from the ground up. Drupal 8 has introduced a new templating engine using Twig. This means that your old Drupal 6 or 7 template will not be compatible with Drupal 8. This is a good time to perform a CSS cleanup and consider using a SASS/SCSS framework if you are not already using one.
Contributed modules are also a concern. An Inventory of your current Drupal 6 or 7 contributed modules needs to be taken and a one-to-one or similar Drupal 8 contributed module needs to be identified. Drupal 8 contributed modules may not function in the same way or may not yet exist. In such cases, the differences need to be accepted or a custom module will need be developed to take its place. In some cases, Drupal 6/7 contributed modules are no longer needed because their functionality has been included in Drupal 8’s core. The Views module is a good example.
Using Drupal’s migrate modules along with Drush is an efficient way to perform both the configuration migration and the content migration. Along with Drush, you will also need to use the following modules:
With these tools you can generate and customize migrations and then execute them all from the command line. It is important to test all migrations before performing them on a production site.
Once you have migrated all that can be migrated, use standard Drupal 8 practices to configure any new modules that might be required.
Here are some sites that can help you prepare for and execute a successful migration:
- Upgrading from Drupal 6 or 7 to Drupal 8
- Learn key Drupal 8 concepts prior to upgrading
- Known issues when upgrading from Drupal 6 or 7 to Drupal 8
Anthony Mangini, is responsible for overseeing the Development and IT teams at Blue Water. He is a highly-accomplished developer, providing oversight on all Blue Water development efforts working in an Agile environment, including full life-cycle website support across strategy, design, layout, functionality, delivery, maintenance, and training.