Drupal 8.0 has been here for quite some time now, but many websites and companies are still waiting for easier DIY ways to migrate their data from 7.0 to 8.0. The different modules and stacks of data make it especially difficult to migrate data from one CMS version to another, albeit using the same language and protocols. Drupal 8 is now well standardized and it has become easier to migrate from a different CMS system to Drupal as well.
What will you need for Drupal-to-Drupal migration?
When Drupal 8 was launched there were quite a few bugs that made the process elaborate. Right now, there are 4 migration related modules that you need to know:
- Migrate: The core API
- Migrate Drupal: this provides all classes need for a Drupal 8 migration
- Migrate Update: it provides a simple user interface that can help migrations from Drupal 6 to Drupal 7.
- Migrate Plus: all Drupal 7 migration functionalities that are not included in the core reside in this module. It includes XML, JSON and CSV data, and proprietary databases like Oracle and MS SQL. All migrating operations receive their UI and Drush commands from Migrate Tools that is also a part of this module.
As per Mike Ryan’s blog, Migrate Plus is now split into separate projects. As of November 2015, Migrate Plus will be installed with the “split” branch along with migrate_source_csv and migrate_tools.
Why welcome a new environment?
Including a split in the Migrate Plus module will help in segregating the data better. Separate modules will help the maintainer to handle separate pieces of the migration ecosystem. It is about compartmentalization and breaking the information down into smaller bits helps spread out the maintenance responsibility within the DBMS.
What else will you need for a successful migration?
If you look at the bare minimums of a successful migration, you will always need the following:
- A local secure environment for your source website
- A local Drupal 8 sit
- A migrate upgrade module for the process
- Drush 8.x
By using these, you can migrate your data from the UI or by using Drush directly.
Issues you may face during migration:
Drupal 8 may have been standardized by 2017, but there are still a few issues you might face while migrating from one site to Drupal 8. Most of these problems will fall into one of the two categories –
- You might miss migration paths
- You will need to manually port contributed modules to Drupal 8 site
Since these problems are pretty common during site migration we would suggest you make a note of all contributed modules that you are going to use on your site. Then check which of those modules have Drupal 8 versions that you can test out before commencing the migration procedure.
Preparation for the migration:
To get started, you need to activate the Migrate options including Migrate Drupal and Drupal Upgrade Modules. Now visit the upgrade form that will show you warnings for not using your live site as the data source. Once you successfully specify your credentials and the location of your database, you will get a visual of all available and missing migration paths. With this list, you will get a pretty good idea of what is missing and what need to be worked on to get your site ready for migrating to Drupal 8.
The migration tools integrated with Drupal come with tons of migration features that include migrate-import, migrate-manifest, migrate-reset-status, migrate-stop and migrate-rollback. These are critical functions for completing the migration process successfully. Running migrate-status should give you a working idea of all possible migrations, total records, imported and unprocessed information, and status of migrating data from site.
Once the identification process of all migrations is complete, you can create a migrate-manifest YAML file.
How to integrate Drupal 8.0 with Oracle?
Migrating your site to 8.0 is a part of the new setup. You need to be able to integrate the Drupal 8.0 site with the new OracleDBMS to make sure your data is safe, secure and scalable.
Here are the basic steps you will need to follow for a basic integration process:
- Download and install the Oracle software stack. This is the easiest bit of the process so you should not be facing any trouble from the server-side. Just stick to the installation guide for this process. Make sure you install Oracle database on a different hardware since its memory requirement starts from 4G.
We also recommend the Oracle 11G XE version since it is much easier to configure and install. The full-blown EE version is much complicated and if you are a DBA newbie, try to steer clear of such intricacy.
- Next, create a user with complete access to the database content. You will need to log in to the UCM content service console for this step.
- Next, choose an API that is supported by your Drupal application. You may notice that the Oracle UCM supports a variety of web services and API. We found that JSON message format was the easiest to use for our needs. Other client-side API also include CIS and RIDC,
- JSON response is quite detailed and can be a bit daunting for the DBA newbies. If you want, you can write up codes for HTTP proxy servers that will filter out unnecessary information. This proxy server can act like a UCM client that will pull content off and check content in to the UCM.
Drupal is currently running about 1 million websites worldwide and about 35% of the sites that are using Drupal 6 and 7 are looking to migrate to Drupal 8 by the end of 2017. Migrating to Drupal 8.0 and integrating a new Oracle database with the new site is quite an easy task if you have the right guidance.