af3cafbcceff555f95e71440746b7451b875d78b
[yaffs-website] / web / modules / contrib / migrate_plus / README.txt
1 The migrate_plus module extends the core migration system with API enhancements
2 and additional functionality, as well as providing practical examples.
3
4 Extensions to base API
5 ======================
6 * A Migration configuration entity is provided, enabling persistance of dynamic
7   migration configuration.
8 * A ConfigEntityDiscovery class is implemented which enables plugin
9   configuration to be based on configuration entities. This is fully general -
10   it can be used for any configuration entity type, not just migrations.
11 * A MigrationConfigEntityPluginManager class and corresponding
12   plugin.manager.config_entity_migration service is provided, to enable
13   discovery and instantiation of migration plugins based on the Migration
14   configuration entity.
15 * A MigrationGroup configuration entity is provided, which enables migrations to
16   be organized in groups, and to maintain shared configuration in one place.
17 * A MigrateEvents::PREPARE_ROW event is provided to dispatch hook_prepare_row()
18   invocations as events.
19 * A SourcePluginExtension class is provided, enabling one to define fields and
20   IDs for a source plugin via configuration rather than requiring PHP code.
21
22 Plugin types
23 ============
24 migrate_plus provides the following plugin types, for use with the url source
25 plugin.
26
27 * A data_parser type, for parsing different formats on behalf of the url source
28   plugin.
29 * A data_fetcher type, for fetching data to feed into a data_parser plugin.
30 * An authentication type, for adding authentication headers with the http
31   data_fetcher plugin.
32
33 Plugins
34 =======
35
36 Process
37 -------
38 * The entity_lookup process plugin allows you to populate references to entities
39   which already exist in Drupal, whether they were migrated or not.
40 * The entity_generate process plugin extends entity_lookup to also create the
41   desired entity when it doesn't already exist.
42 * The file_blob process plugin supports creating file entities from blob data.
43 * The merge process plugin allows the merging of multiple arrays into a single
44   field.
45 * The skip_on_value process plugin allows you to skip a row, or a given field,
46   for specific source values.
47
48 Source
49 ------
50 * A url source plugin is provided, implementing a common structure for
51   file-based data providers.
52
53 Data parsers
54 ------------
55 * The xml parser plugin uses PHP's XMLReader interface to incrementally parse
56   XML files. This should be used for XML sources which are potentially very
57   large.
58 * The simple_xml parser plugin uses PHP's SimpleXML interface to fully parse
59   XML files. This should be used for XML sources where you need to be able to
60   use complex xpaths for your item selectors, or have to access elements outside
61   of the current item element via xpaths.
62 * The json parser plugin supports JSON sources.
63 * The soap parser plugin supports SOAP sources.
64
65 Data fetchers
66 -------------
67 * The file fetcher plugin works for most URLs regardless of protocol, as well as
68   local filesystems.
69 * The http fetcher plugin provides the ability to add headers to an HTTP
70   request (particularly through authentication plugins).
71
72 Authentication
73 --------------
74 * The basic authentication plugin provides HTTP Basic authentication.
75 * The digest authentication plugin provides HTTP Digest authentication.
76 * The oauth2 authencitation plugin provides OAuth2 authentication over HTTP.
77
78 Examples
79 ========
80 * The migrate_example submodule provides a fully functional and runnable
81 example migration scenario demonstrating the basic concepts and most common
82 techniques for SQL-based migrations.
83 * The migrate_example_advanced submodule provides examples of migration from
84 different kinds of sources, as well as less common techniques.