drupal 7 - no code content migration
TRANSCRIPT
@hectoriribarne
Hector Iribarne (iribarne.com)
Drupal Site Builder & Developer (since 2007)
Broward Drupal co-founder
iribarne on Drupal.org and IRC
Currently working on Contentin and Contentout (D7 sandbox modules)
@hectoriribarne #FLDC15
Prime Focus of Presentation: Contentin module
● The Contentin module is at the core of the “No Code Content Migration” approach for getting content into Drupal without writing any code (leverages the Migrate module)
● The module is targeted for site builders (two-click import):○ One click to dynamically register migrations from a CSV
file (Contentin module at work)○ Second click to import registered migration (Migrate module
at work)
● Contentin sandbox:https://www.drupal.org/sandbox/iribarne/2461615
○ git clone --branch 7.x-1.x http://git.drupal.org/sandbox/iribarne/2461615.git contentin
#FLDC15@hectoriribarne
Main Topics Traditional Migrate module
“Code Approach”
Export Content to CSV w/ Contentout module
No Code Content Migration w/ Contentin module
@hectoriribarne #FLDC15
DB
Simple CSV files[(h)field,
(c)single-value fields]
Site 2Contentin
Site 1Contentout
Traditional “Code Approach”: No Code Content Migration:
Migrate Code
(not covered)
MigrateCode
Hierarchical CSV files
[(h)field:subfield,(c)multi-value fields]
One-click Two-clicks
migr8csv2articlemigr8csv2page
1
2 3
hccc
hccc
Legend:(h) header(c) content
@hectoriribarne #FLDC15
Simple CSV files[(h)field,
(c)single-value fields]
Traditional “Code Approach” with Migrate module:
MigrateCode
migr8csv2articlemigr8csv2page
1
hccc
Legend:(h) header(c) content
Site 1
@hectoriribarne #FLDC15
Set-up the basics from contib for Site1:
● cd sites/all/modules
● mkdir custom
● mkdir contrib
● cd contrib
● drush dl module_filter admin_menu migrate bundle_copy taxonomy_csv devel;drush en -y module_filter admin_menu migrate migrate_ui bundle_copy taxonomy_csv;drush dis -y overlay toolbar
@hectoriribarne #FLDC15
Set-up the basics for custom:
● Create a data directory under the files folder
● Place CSV files article.csv and page.csv in the sites/all/default/files/data directory
● Place custom modules migr8csv2article and migr8csv2page in the sites/all/modules/custom directory and enable the modules
@hectoriribarne #FLDC15
Site 1Contentout
Use Contentout module to create CSV:
Hierarchical CSV files
[(h)field:subfield,(c)multi-value fields]
One-click
2
hccc
Legend:(h) header(c) content
@hectoriribarne #FLDC15
Get the Contentout module from the Drupal sandbox:
● cd sites/all/modules/custom
● git clone --branch 7.x-1.x http://git.drupal.org/sandbox/iribarne/2461613.git contentout
● Enable the Contentout module
● Go to Contentout on the admin menu: Configuration -> Content authoring -> Content automation -> Content out
#FLDC15
Site 2Contentin
No Code Content Migration:
Hierarchical CSV files
[(h)field:subfield,(c)multi-value fields]
Two-clicks
3
hccc
Legend:(h) header(c) content
@hectoriribarne #FLDC15
Set-up the basics from contib for Site2:
● cd sites/all/modules
● mkdir custom
● mkdir contrib
● cd contrib
● drush dl module_filter admin_menu migrate bundle_copy taxonomy_csv devel;drush en -y module_filter admin_menu migrate migrate_ui bundle_copy taxonomy_csv;drush dis -y overlay toolbar
@hectoriribarne #FLDC15
Copy Content Types and Taxonomies:
● Use the Bundle Copy module to copy your content types over from Site1 to Site2
● Use the Taxonomy CSV module to copy your taxonomies over from Site1 to Site2
@hectoriribarne #FLDC15
Get the Contentin module from the Drupal sandbox:
● cd sites/all/modules/custom
● git clone --branch 7.x-1.x http://git.drupal.org/sandbox/iribarne/2461615.git contentin
● Enable the Contentin module
● Go to Contentout on the admin menu: Configuration -> Content authoring -> Content automation -> Content in
@hectoriribarne #FLDC15
Links:
● Code/files for “Traditional Approach”○ http://browarddrupal.org/PastMeetings/march-2015
● Contentout sandbox module○ https://www.drupal.org/sandbox/iribarne/2461613
● Code for Contentout sandbox module○ git clone --branch 7.x-1.x http://git.drupal.org/sandbox/iribarne/2461613.git contentout
● Contentin sandbox module○ https://www.drupal.org/sandbox/iribarne/2461615
● Code for Contentin sandbox module○ git clone --branch 7.x-1.x http://git.drupal.org/sandbox/iribarne/2461615.git contentin
http://iribarne.com/contact
If you liked my presentation, follow me on Twitter: @hectoriribarne
Go Fish:Details:
HectorIribarne
d.o. username: iribarne
http://certifiedtorock.com/u/192646