The Myths, Musts and Migraines of Migrations

Session track
Code & Development
Experience level
30 min

How often do you meet a new client that does not have a website yet? Practically every organisation has an online presence, often not Drupal, sometimes with lots of content that must not be left behind when a new site is built. In that case, a data migration is unavoidable.

Migrations are complex things. You will encounter different data sources such as files and databases. Usually there are dependencies and references between different types of content. Dirty, incomplete, duplicate or inconsistent data is the rule rather than the exception. Existing data must be massaged into the new format.

The good news is: Migrations may be complex, but thanks to Drupal's Migrate API, the basics are not difficult to learn.

In this session we will explore the Migrate system in D8 core and the contrib modules you'll want to add. I will focus on non-Drupal to Drupal migrations. From a high-level overview of the source-process-destination flow, we will zoom in on the details: How do you define a migration in YAML files? How to link migrated data together? How does a migration fit into the rest of the development process? How does one write custom migrate plugins? How to judge the quality of the supplied data?

Every migration is tailor-made and after this session you should be ready to get started with your own migration, tailored to the needs of your client. Knowledge of the Migrate API is not needed, but I assume knowledge about Drupal's general architecture and the ability to read YAML and PHP code. Being able to say the title of this session five times fast is a plus ;-)

About the speaker

Marc van Gend is a senior developer at LimoenGroen from Amsterdam, The Netherlands. Over 11 years of Drupal development has made him a true all-rounder, with experience in back-end, front-end, site building, training and contributing.