summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Pott2016-11-15 10:27:42 +0000
committerAlex Pott2016-11-15 10:27:42 +0000
commited730baa8c0edbdbbb7e12aaca0734429f1afd3e (patch)
tree0489a139b8f1b337c3706fce28acf0fc8afce20c
parent0f3f279238648106152a33e9b192cf0ee916f59a (diff)
Issue #2755865 by quietone, mikeryan, alexpott, xjm: Describe Migration plugins and their relationship to source, process and destination plugins
-rw-r--r--core/modules/migrate/migrate.api.php23
1 files changed, 13 insertions, 10 deletions
diff --git a/core/modules/migrate/migrate.api.php b/core/modules/migrate/migrate.api.php
index 77fc241..ba11a16 100644
--- a/core/modules/migrate/migrate.api.php
+++ b/core/modules/migrate/migrate.api.php
@@ -23,15 +23,18 @@ use Drupal\migrate\Row;
* 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 @@ use Drupal\migrate\Row;
* 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