Migrate 2.6 Beta 1
Migration developers will need to add the "advanced migration information" permission to their roles to continue seeing all the info in the UI they're used to.
Auto-registration (having classes be registered just based on their class name, with no call to registerMigration or definition in hook_migrate_api()) is no longer supported. Registration of classes defined in hook_migrate_api() is no longer automatic - do a drush migrate-register or use the Register button in the UI to register them.
Migration class constructors should now always accept a $arguments array as the first parameter and pass it to its parent. This version does support legacy migrations which pass a group object, or nothing, but that support will be removed in a future version.
Features and enhancements
- #1826112 - A new API has been added to support external modules in developing easy-to-use wizard-based UIs.
- #1833380 - Major refactoring of the UI, breaking groups and migrations (tasks) into separate pages, introducing an advanced permission and presenting a simplified UI to those with only the basic permission.
- #1860450 - The UI now has the capability of spawning import/rollback operations in drush, with email notifications of completion. The notification ability is available when running drush at the command line, which may be useful for running imports via cron.
- #1996602 - A default field handler is now provided that should handle many if not most field types without custom handlers.
- #1901980 - Support encrypting particular arguments saved to the database, to support wizard implementations that may be prompting for secure database credentials.
- #1896096 - Add ability to define field mappings via arguments at registration time, and use those to override mappings in code.
- #1961620 - When editing field mappings, allow destination or source fields to be explicitly set DNM.
- #1996280 - Allow all field/subfields/options to be edited, and indent subfields/options to make the relationship more clear.
- #1996350 - Allow sourceMigration to be edited.
- #1996736 - Add support for hook_migrate_api_alter().
- #1984568 - Add setters to enable constructing migrations according to a dependency injection pattern.
- #1835822 - Hash source rows to detect changes.
- #1975180 - Explicitly check dependency existence so missing dependencies aren't reported as circular.
- #1984534 - Updating/cleanup of examples to reflect current best practices.
- #1972600 - Add getter for the MigrateXMLReader member of MigrateSourceXML.
- #1856694 - Allow disabling of uri encoding.
- #1835142 - Add names-only option to drush ms command.
- #1892296 - Increase time limit for batch UI migrations.
- #1839644 - Groups have been extended to record titles and arguments in the db.
- #1896920 - Remove auto-registration, and make static registration expicit.
- #1928956 - Clean up registration/instantiation chicken-and-egg problems, by supporting consistent constructor arguments.
- #1550878 - Added UI for deregistering migrations, including one-button deregistration of orphans.
- #1792894 - Remove empty field values, permitting proper defaulting.
- #1903236 - Allow reset of migrate_migrations() cache.
- #1894344 - Support warn_on_override for bulk unmigrated methods.
- #1886404 - Allow subfields to be mapped before primary fields.
- #1989012 - Support preserve_files for MigrateFileFid.
- #1982564 - Properly handle messages for ignored rows.
- #1989022 - Strip HTML tags from drush fields output.
- #1988008 - Restore group dependency support.
- #1985750 - Add missing prepareRollback/completeRollback for file destinations.
- #1978702 - Check highwater marks against the starting highwater.
- #1974216 - Change field mapping table PK to a simple serial column.
- #1977578 - Bad exception handling in MigrateDestinationTableCopy.
- #1973030 - Handle zero-valued timestamps properly.
- #1973092 - Fix preservation of sourceMigration when editing mappings.
- #1968358 - Prevent unnecessary reimport when using track_changes.
- #1968014 - Fix menu notices on task list page.
- #1967946 - Missing check on existence of mapping.
- #1849350 - Make sure encoding of uris doesn't break query strings.
- #1844316 - Ensure rollback_action is added to all map tables.
- #1913462 - Fix update functions returning arrays.
- #1831940 - Allow empty string source keys in handleSourceMigration().
- #1896042 - Fix incorrect usage of originalQuery.
- #1954936 - Allow overriding source count in isComplete.
- #1952430 - Prevent bogus "no error provided" messages.
- #1931168 - Properly cache class info in _migrate_class_list().
- #1900914 - Disable email with no custom mail system configured.
- #1901648 - Missing bundle property on file migrations.
- #1885362 - Make access callback explicit, to avoid conflict with admin_views.
- #1880512 - Strip tags from descriptions on drush migrate-mappings.
- #1872446 - Properly handle updates on role migration.
- #1871764 - Pass zero values through handleSourceMigration.
- #1839534 - Handle missing chunk separator in MigrateItemFile.
- #1854382 - Prevent duplicate terms due to leading/trailing spaces.
- #1794236 - Namespace detail pages within menu system.
- #1836426 - Proper check on activeUrl for multiple XML files.