Change record status: 
Project: 
Introduced in branch: 
8.1.x
Description: 

If you were previously only using migration YAMLs and source, process and destination plugins, there is nothing you need to do. Note the concept of migration templates is gone and migrations should be in the MODULENAME/migrations subdirectory.

Each migration YAML, while the file same as before, is a plugin now. For backwards compatible reasons, MODULENAME/migration_templates directory still can be used but the new canonical place for migration YAMLs is simply the MODULENAME/migrations directory. The file name without the .yml extension becomes the plugin id. Standard plugin keys, like class and deriver can be used to change or provide migrations from code instead of templates which are no longer supported. If using class it's practical to extend the Drupal\migrate\Plugin\Migration class which is used if no class is specified.

Code examples:

Builder plugins are gone:

builder:
  plugin: d6_cck_migration
  cck_plugin_method: processField

Instead:

class: Drupal\migrate_drupal\Plugin\migrate\CckMigration
cck_plugin_method: processField

To retrieve migrations, as they are plugins, the plugin.manager.migration service can be used. Before:

Migration::load('d6_user_picture_file');

Now:

$this->container->get('plugin.manager.migration')->createInstance('d6_user_picture_file');

There's a convenience method to retrieve every derivative of a plugin:

$this->container->get('plugin.manager.migration')->createInstances('d6_node');

will create a plugin instance of d6_node:article, d6_node:page,etc.

Tests need a little change if they used derivatives:
Before:

    $this->executeMigrations(['d6_node:*', 'd6_node_revision:*']);

After

   $this->executeMigrations(['d6_node', 'd6_node_revision']);
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done

Comments

Nikro’s picture

After pulling out some of my hear, trying to figure out what's the current status of things: putting things under MODULE/migrations won't work, because we should have a registering mechanism.

You can read everything here: #2667368: Make migrate_tools work with Drupal 8.1.x

That's a blue drop, we live in..