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.

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.

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.

Rewrite the Modules
Rewrite custom modules for the new version. Write a manual audit to implement the features in Drupal 8.

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.

Enable the Modules
Execute the Migrate Upgrade module. It might take a few unsuccessful attempts before a successful migration is started. Nodes, terms, users, and other entities are then migrated to the new website.

Rebuilding site
Often, you might face the problem where the 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.

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.

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.

Validating Data
Monitor and verify the consistency in data which has been migrated to the new build.

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 programme 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 former 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.