By jofitz on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
8.3.x
Introduced in version:
8.3.5
Issue links:
Description:
Prior to 8.4.x, the filter_format_permission process plugin had the ID of the filter format hard-coded to 'd6_filter_format' - if implementing a custom migration process with a different ID for the filter format migration then you would need to write a custom process plugin extending filter_format_permission to correctly complete the migration. With Drupal 8.4.0 you can simply provide a migration option pointing to your custom filter format migration.
Previously:
my_migration.yml:
...
process:
...
permission:
plugin: my_filter_format_permission
source: permission
...MyFilterFormatPermission.php:
namespace Drupal\my_migrate_module\Plugin\migrate\process;
use Drupal\filter\Plugin\migrate\process\d6\FilterFormatPermission;
use Drupal\migrate\Plugin\MigrationInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* @MigrateProcessPlugin(
* id = "my_filter_format_permission"
* )
*/
class MyFilterFormatPermission extends FilterFormatPermission {
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
$migration_plugin_configuration = [
'migration' => 'my_filter_format_migration',
];
return new static(
$configuration,
$plugin_id,
$plugin_definition,
$migration,
$container->get('plugin.manager.migrate.process')->createInstance('migration', $migration_plugin_configuration, $migration)
);
}
}Now:
...
process:
...
permission:
plugin: filter_format_permission
source: permission
migration: my_filter_format_migration
...Impacts:
Module developers