Skip to main content

Blog

Incoming drush connection

How to configure XDebug, PHPStorm, and DrupalVM to debug Drupal migrations via Drush commands and the browser

In recent articles, we have presented some recommendations and tools to debug Drupal migrations. Using a proper debugger is definitely the best way to debug Drupal be it migrations or other substems.

Example configuration for debug process plugin.

How to debug Drupal migrations - Part 2

Today, we are going to show how to use the Migrate Devel module and the <code>debug</code> process plugin. Then we will give some guidelines on using a real debugger like XDebug. Next, we will share tips so you get used to migration errors.

Example configuration for log process plugin.

How to debug Drupal migrations - Part 1

When working on Drupal migrations, it is often the case that things do not work right away. Today’s article is the first of a two part series on debugging Drupal migrations. We start giving some recommendations of things to do before diving deep into debugging.

sample entity look up and entity generate plugins YML config

Understanding the entity_lookup and entity_generate process plugins from Migrate Tools

A deep dive into two process plugins: `entity_lookup` and `entity_generate`.

Single item configuration import interface.

Executing Drupal migrations from the user interface with Migrate Tools

A step by step look at the workflow for importing configuration entities and executing migrations from the user interface with Migrate Tools.

Example migration group definition containing migration tags.

What is the difference between migration tags and migration groups in Drupal?

In the previous post we talked about migration groups provided by the Migrate Plus module. Today, we are going to compare them to migration tags. We will dive deeper into how they work and provide tips to avoid problems.

Example definition of a migration group.

Using migration groups to share configuration among Drupal migrations

In the previous posts we talked about option to manage migrations as configuration entities and some of the benefits this brings. Today, we are going to learn another useful feature provided by the Migrate Plus module: migration groups.

Example workflow for managing migration configuration entities

Workflows and benefits of managing Drupal migrations as configuration entities

In the last blog post we were introduced to managing migration as configuration entities. Today,  we will also show a recommended workflow for working with migration as configuration.

Example of migration defined as configuration entity.

Defining Drupal migrations as configuration entities with the Migrate Plus module

Today, we are going to talk about how to manage migrations as configuration entities. First, we will explain the difference between managing migrations as code or configuration. Then, we will show how to convert existing migrations and options.

Example configuration for Microsoft Excel and LibreOffice Calc migration.

Migrating Microsoft Excel and LibreOffice Calc files into Drupal

Today we will learn how to migrate content from Microsoft Excel and LibreOffice Calc files into Drupal using the Migrate Spreadsheet module. We will present how to configure the module for spreadsheets with or without a header row. There are two example migrations.

Example configuration for Google Sheets migration

Migrating Google Sheets into Drupal

Today we will learn how to migrate content from Google Sheets into Drupal and give instructions on how to publish them in JSON format to be consumed by the migration.

Example config to add HTTP headers and authentication

Adding HTTP request headers and authentication to remote JSON and XML in Drupal migrations

In the previous two blog posts we learned to migrate data from JSON and XML files. To provide this functionality the Migrate API leverages the Guzzle HTTP Client library. Usage requirements and limitations will be presented.

Example configuration of XML source migration

Migrating XML files into Drupal

Today we will learn how to migrate content from a XML file into Drupal using the Migrate Plus module. The example includes node, images, and paragraphs migrations. Let’s get started.

Example configuration of JSON source migration

Migrating JSON files into Drupal

Today we will learn how to migrate content from a JSON file into Drupal using the Migrate Plus module. The example includes node, images, and paragraphs migrations. Let’s get started.

Snippet of CSV file migration YAML.

Migrating CSV files into Drupal

Today we learn how to migrate content from a comma-separated value (CSV) file into Drupal, using the latest version of the Migrate Source CSV module and the CSV PHP library by the PHP League.  We will show how configure the source plugin to read files with or without a header row and also cover stream wrappers.

Example mapping for paragraph reference field.

Introduction to paragraphs migrations in Drupal

Today we will present an introduction to paragraphs migrations in Drupal. The example consists of migrating paragraphs of one type, then connecting the migrated paragraphs to nodes.

Example address field process mapping.

Migrating addresses into Drupal

Today we will learn how to migrate addresses into Drupal. The address components can change per country, and the way to store those components also varies per country. These and other important considerations will be explained.

Example syntax for date migrations.

Migrating dates into Drupal

Today we will learn how to migrate dates into Drupal. Depending on your field type and configuration, there are various possible combinations. In addition to the examples, a list of things to consider when migrating dates is also presented.