Commit ed730baa authored by alexpott's avatar alexpott
Browse files

Issue #2755865 by quietone, mikeryan, alexpott, xjm: Describe Migration...

Issue #2755865 by quietone, mikeryan, alexpott, xjm: Describe Migration plugins and their relationship to source, process and destination plugins
parent 0f3f2792
......@@ -23,15 +23,18 @@
* means to load data into storage, while traditionally Drupal uses "load" to
* mean load data from storage into memory.
*
* Source, process, and destination phases are each provided by plugins.
* Source plugins extract data from a data source in "rows", containing
* "properties". Each row is handed off to one or more process plugins which
* transform the row's properties. After all the properties are processed, the
* resulting row is handed off to a destination plugin, which saves the data.
* In the source phase, a set of data, called the row, is retrieved from the
* data source, typically a database but it can be a CSV, JSON or XML file. The
* row is sent to the process phase where it is transformed as needed by the
* destination, or marked to be skipped. Processing can also determine that a
* stub needs to be created, for example, if a term has a parent term that does
* not yet exist. After processing the transformed row is passed to the
* destination phase where it is loaded (saved) into the Drupal 8 site.
*
* A source plugin, one or more process plugins, and a destination plugin are
* brought together to extract, transform, and load (in the ETL sense) a specific
* type of data by a migration plugin.
* The ETL process is configured by the migration plugin. The different phases:
* source, process, and destination are also plugins, and are managed by the
* Migration plugin. So there are four types of plugins in the migration
* process: migration, source, process and destination.
*
* @section sec_migrations Migration plugins
* Migration plugin definitions are stored in a module's 'migrations' directory.
......@@ -50,8 +53,8 @@
* with \Drupal\migrate\Annotation\MigrateSource annotation, and must be in
* namespace subdirectory Plugin\migrate\source under the namespace of the
* module that defines them. Migration source plugins are managed by the
* \Drupal\migrate\Plugin\MigratePluginManager class. Source plugin providers
* are determined by their and their parents namespaces.
* \Drupal\migrate\Plugin\MigrateSourcePluginManager class. Source plugin
* providers are determined by their and their parents namespaces.
*
* @section sec_process Process plugins
* Migration process plugins implement
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment