By: Akshita
April 9 2018

Upgrade to Drupal 8 | Complete Guide on Drupal 8 Migration

Drupal 8 has been the talk of the town since its release and what brings it to the fore is not just features but the process of migration alongside. 

A major question that has been bugging the community for the past 2 years is if you should migrate?

When should you migrate and will it be worth the efforts?

To understand things better you must first know the pros and cons are and how easy or complex the process of migration is. 

Difference Between Update And Upgrade?
There is a thin line between upgrading and updating. 

Updating a Drupal site means keeping the same major version and moving ahead only with the latest minor rollouts. In this case, it would mean “updating” from 8.0 to 8.1 or 8.2 and so on.
While upgrading a Drupal website involves moving from the older build to the newest build (from D6 to D7/8 or D7 to D8).

Upgrade or Migrate? What Is Drupal 8 Migration?

We know that upgrading involves shifting from one major version to another while migrating involves shifting altogether to a new technology (say from WordPress to Drupal). Then why do we keep reading/hearing “Migrate to Drupal 8 from Drupal 6/7”? 

The reason lies in the approach of the upgrade path (involved with Drupal 8). For the previous versions of Drupal (6 to 7) upgrading to another version involved redesigning a similar database for the new version. In this case, your website is completely altered. 

graphic for migrating content from Drupal 6 to Drupal 7
Source: Drupal.org

But with Drupal 8 upgrade, redesigning the website utilizes altogether a different approach where you first need to introduce a clean Drupal 8 site. Then relocate your site arrangements and substances to the site. Your existing Drupal 6 or 7 website remains totally unaltered, while you get a new upgraded D8 website.  

graphic for upgrade to Drupal 8 from Drupal 6/7 website
Source: Drupal.org

Why Upgrade To Drupal 8?

Feature/ Module Drupal 8 Drupal 7 Drupal 6
Mobile Responsiveness Responsive for all devices Non-responsive Non-responsive
Multi-lingual support 94+ new languages added to the core Add-ons not compatible with different languages Same as Drupal 7
In-place editing Available in core Available as contributed module Same as Drupal 7 
Views Available in core Available as contributed module Same as Drupal 7 
Configuration Synchronization facility Not available Same as Drupal 7
Authoring WYSIWYG Need to install various authoring modules Same as Drupal 7
User Interface Easier with Twig template PHP template engine
Same as Drupal 7
Semantic Web RDF is in core Not in core  Same as Drupal 7
Field Types Simplified new field types with customization available Need to add contributed module Same as Drupal 7

WHY?

Apart from the aforementioned features, the best thing about Drupal 8 is all the modules and features that otherwise had to be added manually in the previous versions are available as the out-of-the-box solution.

An improved user interface is another reason to migrate.

After 2 successful years, the community is slowly shifting towards maintaining Drupal 8 than the previous versions. Also, officially the support for Drupal 6 was dropped on 24 February 2016.

Websites built on the previous version are on a back foot as they slowly lose the community support for their website. With new features come new issues and of course the community is more focused on bettering the latest versions than supporting the near-obsolete versions.

With a few more improvements related to the speed, Drupal 8 version is quicker than all its previous versions. Caching comes as an out-of-the-box solution and modules like BigPipe help separate a site page into static and non-static components and stacks in a prioritized manner.This results in dramatically quicker load times. 

How To Upgrade/Migrate?

The big question that surrounds the discussion, after ‘why upgrade’, is “how to upgrade?”, and it remains one of the biggest challenges too. One of the most popular modules that Drupal offers for easy migration is the Migrate Module which is available in Drupal 8 core. Even though it makes the migration process easy its application remains one of the most challenging jobs.

You can also use the following migration modules: 

  • Migrate
  • Migrate Drupal 
  • Migrate Drupal UI
  • Migrate Upgrade
  • Migrate Tool
  • Migrate Plus
  • Migrate Manifest
  • Migration Plugins
  • Drush

While there are many tutorials on the web to teach you about the migration process, there are very few which will help you calculate the estimated migration costs and man hours as accurately as the Drupal Upgrade Migration Tool.  

Migration estimation tool at a glance:

Drupal 7 to 8 upgrade compatibility check results. With migration compatibility status and estimated efforts

You can have a neat analysis of your website.

complexity status in the form of graph

time estimation involved in the form of pie chart

You can access the information on the migration tool from Drupal.org

Here is a step by step guide for you to understand and initiate Drupal migration:

  1. Setting up the Migration Environment
    Take the backup of your Drupal 7 website and install Drupal 8 (from Drupal.org) Vanilla to start the migration. Enable migration related modules i.e., Migrate, Migrate UI and Migrate Upgrade. 
     
  2.  Rewrite the Modules
    Rewrite custom modules for the new version. Write a manual audit to implement the features in Drupal 8.
     
  3. Preparing the Upgrade Path
    Write upgrade path of contributing modules for migration. Define two categories when upgrading and write a manual audit. First category for the ones which need an upgrade path. And another which needs to be reconfigured without an upgrade path. 
     
  4. Enable the Modules
    Execute the Migrate Upgrade module. It might take few unsuccessful attempts before a successful migration is started. Nodes, terms, users, and other entities are then migrated to the new website. 
     
  5. Build Views
    Re-build Views. Views are not automatically migrated to Drupal 8. 
     
  6. Rebuilding site
    Often, you might face the problem where features end up losing support after an automated upgrade. Drupal 8 comes with a nice configuration manager to deploy configurations. Most of the time you might need to move those configs, rebuild and deploy via configuration manager.
     
  7. Rebuilding the Themes
    Deploy ‘Twig’ which helps in rebuilding the theme for your new website. Chunks of code from the present website can be also be used. But the extent to which it is reused can only be defined after a manual audit.    
     
  8. Managing the File System
    Now migrate the private files separately. While the public files are handled mostly by the automated migration (as in the above step), the validation process needs to be executed here to ensure 100% successful migration of files.
     
  9. Validating Data
    Monitor and verify the consistency in data which has been migrated to the new build. 
     
  10. Quality Assessment
    Practicing a standard QA process is necessary to ensure UAT. Check QA.
     
  11. The final blow
    The final step is to migrate the Drupal 8 site to production and staging infrastructure. 

Potential Problems You Might Face When Migrating to Drupal 8

Despite the fact that you may trust your new Drupal website to be better than your previous website, things may not meet your expectation. 

Issues like poor module stability, ID conflict and content duplicacy are some of the issues you might face when migrating. 
  • A major drawback to migrating to Drupal 8 is, not all contributed modules that you need would have a programmed redesign and certain modules might not be stable for the latest build.
     
  • Another problem that arises during migration is, the ID conflict. The migration procedure protects the IDs of content and other items when bringing them to the new Drupal 8 site. Because the end goal is to keep up with the information, the original URLs are saved.
     
  • Since the destination of the migration isn't really empty, there could occur duplicacy of content. If such situations are not handled with due caution, content and other elements can be abrogated causing information loss, and possibly damaging referencing entities by placing them into the wrong category. 

Let’s, have a detailed insight into all modules/features which are not available in Drupal 8. (The following list should be paid attention when migrating to Drupal 8)

With Drupal 7 to 8

  • Blocked IPs
  • Comment type
  • Menu UI
  • Node translation
  • PHP Code
  • Plain text field

With Drupal 6 to Drupal 8

  • Aggregator Categories - not available with Drupal 8.
  • Allowed Protocols
  • Date format
  • Homepage load and a broken theme 
  • Menu UI
  • Profile category 
  • Profile field
  • URL Alias - Enable the language in Drupal 8 first
  • Views - To be done manually
  • Who’s online block - To be done manually

Conclusion

It wouldn’t be wrong to say that Drupal 8 is the fate of the web. Even though the speed of the development cycle is slower than the previous versions, over the long haul Drupal 8 will stand up to expectations.

Our free automated  D7 to D8 upgrade estimation tool will help you understand your stance to plan your requirements from us and we would be happy to help. Connect with us at [email protected]. Patches, features, updates, distributions, and modules will all become more Drupal compatible as the time and community moves far from Drupal 7. While this won't be prompt, time is running out for Drupal 7.

Akshita is a Senior Content & Marketing Associate at OpenSense Labs. A Hubspot certified Content Marketer, she likes to devour content related to SEO, open source technologies, and politics besides Drupal, of course. As a hobby, she trains young girls with TaeKwondo.

She is also a big Game of Thrones fan and quotes Tyrion atleast 5 times a day.