Jim's Articles

Migrating from Drupal 7 to Drupal 8

Migrating a website script version is one of the highest risk task a webmaster has to deal with when managing a website. Drupal 8 Upgrade? Here is a small guide with various details. Let’s start with general info : How to see the NID of a node. If the node is in ‘edit’ mode, you can see the nid in the URL. (A node, in case you’re wondering, is a page like an article or a forum posting. You can design what fields it has and how they is displayed. Typically a node will consist of a heading, some body text, maybe an image, etc. Drupal assigns two URL addresses to each node, a human-friendly one made of words, and a nid, or node id.)

First of all, make a list of all the contributed modules on your current website. Next, check whether these modules have a Drupal 8 compatible version. In case of unavailability of the Drupal 8 version, the migration process will suffer. Fortunately, Drupal 8 has come a long way and many of the major modules now do support Drupal 8. You can check all the available update paths through the Migrate UI modules. Though not yet perfect, the upgrade procedure in Drupal has come quite a long way. As you can see in this tutorial, the upgrade process is now very streamlined and is an integral part of the Drupal Core. If you liked this blog post, then give a read to another blog post by us on, How To Update Drupal 8 Core.

If you’re importing data from a non-Drupal datastore, start with Set up Migrate Demo Site and Source Data . We’ll walk through the process of connecting the migrate system to an external data source, writing custom migration paths, using custom process plugins to transform data during import, and best practices for executing your custom migrations. We’ll primarily look at using an external MySQL database as our data source, but the techniques learned will apply to any data source. We’ll also discuss how to extract data from CSV, JSON, and XML sources.

Update your site to the latest version of Drupal 6 (core and contributed modules). Before upgrading to Drupal 7, disable and uninstall modules you know you won’t be using in the new site. To help determine which modules to uninstall, you could review the list of modules included in the distribution, which often are found in the download in the directory profiles/[distribution_name]/modules. If a given module is not in the distribution and you don’t foresee needing its functionality on your new site, you may choose to uninstall it.

The steps above outline how to get a distribution minimally installed on an existing site. But you’ll still have a lot of work to do to reconcile your existing site content and structure with what has been created by the distribution. Here are a few tips to get you started–but you should begin with the assumption that there will be lots more you’ll discover and need to fix. Roles. Many distributions will create one or more custom roles. Examples include contributor, editor, and administrator. If any of these roughly correspond to existing roles on your site, delete the roles created by the distribution and rename the existing ones to use the distribution role names. For example, if your site has a role called “site administrator” and the distribution has created a role called “administrator”, delete the newly created “administrator” role and rename “site administrator” to “administrator”. After adjusting the role names, visit admin/config/people/accounts, ensure the “administrator” role is selected as the “Administrator role”, and save the form. Consolidating the roles in this way will get you the functionality of the distribution’s roles and permissions while maintaining your existing users’ role allocations. Read extra info on Upgrading to Drupal 8.