diff --git a/README.txt b/README.txt index 8e46d4ced43d5dfb1f825cfafbaec2a5eddbfb5b..af3cafbcceff555f95e71440746b7451b875d78b 100644 --- a/README.txt +++ b/README.txt @@ -4,26 +4,76 @@ and additional functionality, as well as providing practical examples. Extensions to base API ====================== * A Migration configuration entity is provided, enabling persistance of dynamic -migration configuration. -* A ConfigEntityDiscovery class is implemented which enables plugin configuration -to be based on configuration entities. This is fully general - it can be used -for any configuration entity type, not just migrations. + migration configuration. +* A ConfigEntityDiscovery class is implemented which enables plugin + configuration to be based on configuration entities. This is fully general - + it can be used for any configuration entity type, not just migrations. * A MigrationConfigEntityPluginManager class and corresponding -plugin.manager.config_entity_migration service is provided, to enable discovery -and instantiation of migration plugins based on the Migration configuration -entity. + plugin.manager.config_entity_migration service is provided, to enable + discovery and instantiation of migration plugins based on the Migration + configuration entity. * A MigrationGroup configuration entity is provided, which enables migrations to -be organized in groups, and to maintain shared configuration in one place. + be organized in groups, and to maintain shared configuration in one place. * A MigrateEvents::PREPARE_ROW event is provided to dispatch hook_prepare_row() -invocations as events. + invocations as events. * A SourcePluginExtension class is provided, enabling one to define fields and -IDs for a source plugin via configuration rather than requiring PHP code. + IDs for a source plugin via configuration rather than requiring PHP code. + +Plugin types +============ +migrate_plus provides the following plugin types, for use with the url source +plugin. + +* A data_parser type, for parsing different formats on behalf of the url source + plugin. +* A data_fetcher type, for fetching data to feed into a data_parser plugin. +* An authentication type, for adding authentication headers with the http + data_fetcher plugin. Plugins ======= -* A Url source plugin is provided, implementing a common structure for -file-based data providers. -* XML and JSON fetchers and parsers for the Url source plugin are provided. + +Process +------- +* The entity_lookup process plugin allows you to populate references to entities + which already exist in Drupal, whether they were migrated or not. +* The entity_generate process plugin extends entity_lookup to also create the + desired entity when it doesn't already exist. +* The file_blob process plugin supports creating file entities from blob data. +* The merge process plugin allows the merging of multiple arrays into a single + field. +* The skip_on_value process plugin allows you to skip a row, or a given field, + for specific source values. + +Source +------ +* A url source plugin is provided, implementing a common structure for + file-based data providers. + +Data parsers +------------ +* The xml parser plugin uses PHP's XMLReader interface to incrementally parse + XML files. This should be used for XML sources which are potentially very + large. +* The simple_xml parser plugin uses PHP's SimpleXML interface to fully parse + XML files. This should be used for XML sources where you need to be able to + use complex xpaths for your item selectors, or have to access elements outside + of the current item element via xpaths. +* The json parser plugin supports JSON sources. +* The soap parser plugin supports SOAP sources. + +Data fetchers +------------- +* The file fetcher plugin works for most URLs regardless of protocol, as well as + local filesystems. +* The http fetcher plugin provides the ability to add headers to an HTTP + request (particularly through authentication plugins). + +Authentication +-------------- +* The basic authentication plugin provides HTTP Basic authentication. +* The digest authentication plugin provides HTTP Digest authentication. +* The oauth2 authencitation plugin provides OAuth2 authentication over HTTP. Examples ========