Background
Starting with Drupal 8, major version upgrades are done with a migration path, rather than an upgrade path. Both 6 -> 8 and 7 -> 8 migrations are included in core. While migrations apply to moving from 3rd party systems and other use cases, this meta issue deals with older Drupal to newer Drupal migrations only.
Goals
- Provide a stable Migration API in core. (Core Migrate module marked stable.)
- Resolve all "Migrate critical" issues. These include a working Drupal 6 to Drupal 8 migration, a working Drupal 7 to Drupal 8 migration, and a shippable Drupal Migration UI. (Core Migrate Drupal and Migrate Drupal UI modules marked stable.)
Process and where to find it
Members of the team can be found in #drupal-migrate in Freenode IRC.
Check back soon for meeting time information, still being finalized.
The migration system component is used to file all issues.
Proposal roadmap
Triaged migration issues are listed at https://docs.google.com/spreadsheets/d/16SwQsp7nF1UKrZQCNdPYML_wi53ZjM1e... for now, moving that information to the issue queue.
Not in scope
Issues not related to older Drupal migrations to newer Drupal versions.
Related work
Existing core features
Core contains three experimental modules related to migration:
- Migrate: (alpha) The underlying API for the migration system.
- Migrate Drupal: (alpha) Underlying API for Drupal-to-Drupal migrations, currently including migration paths from Drupal 6 and Drupal 7 to Drupal 8
- Migrate Drupal UI: (alpha) Provides a very simple user interface for running migrations from older versions of Drupal (similar to update.php).
It should also be noted that migration support for each individual core module is contained within that module, not within the experimental modules, although some of that support may still be considered experimental.
Open core issues
@todo (This would be things NOT in Migrate queues, but affected/related. E.g. the URL case sensitivity upgrade path issue.)
Contributed projects
The following are contributed projects in the migration system ecosystem, none slated for core inclusion at this time:
- Migrate Plus provides additional functionality to the core migration system, such as example migrations.
- Migrate Upgrade: Currently provides the drush equivalent to migrate_drupal_ui (runs full older-to-newer Drupal migrations only). See https://github.com/drush-ops/drush/issues/2140.
- Migrate Tools General-purpose Drush commands for running and managing migrations.
- Migrate Manifest: provides a Drush command for running migrations using a manifest format (listing specific migrations). This makes it possible to easily re-run the same migrations.
Team and resources
- Mike Ryan (mikeryan)
- Ben Dougherty (benjy)
- Michael Anello (ultimike)
- [Add more team members here...]
@todo: Define team members' roles here (e.g. initiative coordinator, etc.; see https://www.drupal.org/contribute/core/maintainers#initiative; compare https://www.drupal.org/node/2721129). List additional team members; there are many active Migrate contributors in addition to the maintainers that might be part of the team.
Signoffs
Signoffs needed
For any significant change: There needs to be a majority of Migration subsystem maintainers who agree to a given patch.
For most significant changes, including API changes and new migrations (?): Migration patches also need sign-off from framework managers.
For user-facing changes to Drupal Migrate UI, additionally the usability and accessibility topic maintainers, and product managers should be involved, since this is a critical site builder UI.
For any changes that are disruptive, that increase the technical debt/followups needed, or that make existing issues more significant: Release managers should sign off.
Signoffs given
The core committers already signed off on replacing the old update.php-based upgrade system with a migration system at DrupalCon Prague in 2013, and prioritizing 6->8 migrations first, during the Drupal 8 Leadership Q&A session.
Framework managers signed off on a major API change for 8.1.x to make migrations plugins instead of configuration entities (now committed with a few remaining followups).