View
584
Download
1
Category
Preview:
Citation preview
No Code Content Migration
Hector Iribarne @hectoriribarneTrack: Site BuildingLevel: Intermediate
Drupalcamp Atlanta | October 16-17, 2015Kennesaw State University Conference Center
3333 Busbee Drive | Kennesaw, GA 30144
@hectoriribarne
Hector Iribarne (iribarne.com)
Drupal Site Architect & Developer (since 2007)
Broward Drupal Users Group co-founder (since 2010)
iribarne on Drupal.org and IRC
Currently working on Contentin and Contentout (sandbox modules)
#DCATL
@hectoriribarne #DCATL
Prime Focus of Presentation: Contentin module (for site builders)
● 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
@hectoriribarne
Main Topics Traditional Migrate module
“Code Approach” (Appendix A)
Export Content to CSV w/ Contentout module
No Code Content Migration w/ Contentin module
#DCATL
@hectoriribarne
DB
Simple CSV files[(h)field,
(c)single-value fields]
Site 2(D7)
Site 1(D7)
Traditional “Code Approach”: No Code Content Migration:
Migrate Code
(not covered)
Migrate Code (Appendix A)
Hierarchical CSV files
[(mh)field:subfield,(mc)multi-value fields]
One-clickContentout
migr8csv2articlemigr8csv2page
1 2
mhmcmcmc
hccc
Legend:(h) header(c) content(mh) multi-value header(mc) multi-value contentModules Demo number
#DCATL
Two-clicks Contentin
Presentation in one slide
One file per content type
1
@hectoriribarne
Site 1(D7)
Use Contentout module to create CSV:
Hierarchical CSV files[(mh)field:subfield,
(mc)multi-value fields]
One-clickContentout
2
mhmcmcmc
Legend:(mh) multi-value header(mc) multi-value contentModule
#DCATL
Steps to creating Site 1
(Create CSV files with Contentout)
(module content out)
@hectoriribarne #DCATL
@hectoriribarne
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 out
#DCATL
Site 2(D7)
No Code Content Migration:
Hierarchical CSV files
[(mh)field:subfield,(mc)multi-value
fields]
Two-clicks Contentin
3
mhmcmcmc
#DCATL
Legend:(mh) multi-value header(mc) multi-value contentModule
Steps to creating Site 2
(Import CSV files with Contentin)
(module content in)
@hectoriribarne #DCATL
@hectoriribarne
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;drush en -y module_filter admin_menu migrate migrate_ui bundle_copy taxonomy_csv;drush dis -y overlay toolbar
#DCATL
@hectoriribarne
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
#DCATL
@hectoriribarne
Get the Contentin module from the Drupal sandbox:
● Copy the CSV files from Site1 to Site2 (e.g. /data dir)
● 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 in
#DCATL
@hectoriribarne
Current Focus -> Contentin module for Drupal 8 (work in progress):
Site 2(D8)
Site 1(D7)
Hierarchical CSV files
[(mh)field:subfield,(mc)multi-value fields]
One-clickD7 Contentout
1 2
mhmcmcmc Two-clicks
D8 Contentin
@hectoriribarne
Links:
● Code/files for “Traditional Approach” (See Appendix A)○ 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
#DCATL
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
#DCATL
Questions?
Hector Iribarne @hectoriribarne
Drupalcamp Atlanta | October 16-17, 2015Kennesaw State University Conference Center
3333 Busbee Drive | Kennesaw, GA 30144
Appendix A
Hector Iribarne @hectoriribarne
Drupalcamp Atlanta | October 16-17, 2015Kennesaw State University Conference Center
3333 Busbee Drive | Kennesaw, GA 30144
@hectoriribarne
Simple CSV files[(h)field,
(c)single-value fields]
Traditional “Code Approach” with Migrate module:
MigrateCode
migr8csv2articlemigr8csv2page
hccc
Legend:(h) header(c) contentModules
Site 1(D7)
#DCATL
Steps to creating Site 1
(Traditional Code Approach)
(modules migr8csv2article and migr8csv2page)
@hectoriribarne #DCATL
@hectoriribarne
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;drush en -y module_filter admin_menu migrate migrate_ui bundle_copy taxonomy_csv;drush dis -y overlay toolbar
#DCATL
@hectoriribarne
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
#DCATL
Recommended