Hitch yourwagon
-
Upload
oscar-merida -
Category
Technology
-
view
634 -
download
0
description
Transcript of Hitch yourwagon
O M &S S
7/26/13
Hitch Your Wagon!How to migrate legacy content into Drupal
Monday, July 29, 13
Musketeers.me
Who are we?
• Sandy Smith (@SandyS1)
• Oscar Merida (@omerida)
Monday, July 29, 13
Musketeers.me
It’s time to migrate
Monday, July 29, 13
Musketeers.me
Now what?
Monday, July 29, 13
Musketeers.me
Types of migrations
• App to CMS
• Hand-coded to CMS
• Between Drupal versions
Monday, July 29, 13
Musketeers.me
App to CMS
• Legacy applications
• Home-grown
• Translate the functionality not the form
• Leverage Drupal
• Standardize (helps with UX, too)
Monday, July 29, 13
Musketeers.me
Hand-coded to CMS
• Look at variability
• Automate well-structured & consistent HTML
• Few old sites are consistent
• Sounds like a job for Intern-person!
• Migration training opportunities
Monday, July 29, 13
Musketeers.me
Drupal versions
• Major versions are not backward compatible
• Contributed modules may be left behind, lag in updating.
• Content & media have to be migrated.
Monday, July 29, 13
Musketeers.me
Planning
• Map old to new (not 1:1)
• Decide what to leave behind
• Allow for exceptions & discovery
• Agile approach
• Review early & often w/ stakeholders
Monday, July 29, 13
Musketeers.me
Content Inventory
• Take stock of current site
• Identify needed functionality
• Views/modules/contexts
• Information Architecture
• Draft content types
• Sketch site map, navigation
Monday, July 29, 13
Musketeers.me
Prioritization
• Foundational content
• Cross-cutting taxonomies
• Media handling
• Content important to users
• Content important to stakeholders
• Group like content & functionality
Monday, July 29, 13
Musketeers.me
Migration Strategies
• Automate as much as possible
• Use 3rd party solutions.
Monday, July 29, 13
Musketeers.me
Migration Smells
• Inconsistent formatting
• No access to data store
• Legacy media formats
Monday, July 29, 13
Musketeers.me
Old days
Monday, July 29, 13
Musketeers.me
Old Case In Point
• Mambo (predecessor to Joomla!) to Drupal 5
• ~60,000 data objects (video, audio, text)
• siloed to interrelated
Monday, July 29, 13
Musketeers.me
Old solution
• Copy both sites to local machine
• Custom scripts to migrate
• Find interrelations
• Reverse engineer both Mambo and Drupal DB structures
• bootstrapped too slow
Monday, July 29, 13
Musketeers.me
Modern Techniques
Monday, July 29, 13
Musketeers.me
Case in point, an inhouse PHP site
• Static HTML content since 2003
• 12 databases
• 290+ Video files, 25G data
• 780+ Audio files, 8.5G data
• 3 external WordPress blogs
• Multiple video players, slideshow tools
Monday, July 29, 13
Musketeers.me
Enterprise CMS
• Consistent role-based authoring workflow
• Centralized content repository
• Standardized presentations
• Less burdensome maintenance
Monday, July 29, 13
Musketeers.me
Migrate module
• Multiple sources: DB or XML/CSV files
• Execute, rollback, update migrations
• Map legacy content using PHP classes
• Approve, cleanup content before saving
• Process content after it is saved
Monday, July 29, 13
Musketeers.me
Migrate Extras
• Extends migrate module capabilities
• Flag, GeoField, Media, OG, Rules
• Support moving to contrib modules
• Date, Email field, Entity Reference, Link
Monday, July 29, 13
Musketeers.me
WordPress Migrate
• Import content from WordPress
• Can import media content
• Uses WXR export format from WP
• Leverages Migrate API
Monday, July 29, 13
Musketeers.me
Migrate_d2d
• Migrate from previous versions to Drupal 7
• Uses the Migrate API
• Provides a UI for mapping legacy content to D7
Monday, July 29, 13
Musketeers.me
Hand-Crafted,Artisanal Migration
• Manual copy from source.
• Source usually in various formats.
• Determine level of cleanup intended.
Monday, July 29, 13
Musketeers.me
Cleanup
• Automated
• Update links, media.
• Tag content based on keywords
• Hand-correcting
• Save for last for content imported via Migrate module.
Monday, July 29, 13
Musketeers.me
Repeatable/Partial Migrations
• Allow for failed migrations
• Time doesn't stand still
• Risks
• New functionality on old site
Monday, July 29, 13
Musketeers.me
Resources
• Migrate http://drupal.org/project/migrate
• Migrate Extras http://drupal.org/project/migrate
• WordPress Migratehttp://drupal.org/project/wordpress_migrate
• Drupal-to-Drupal data migrationhttp://drupal.org/project/migrate_d2d
• Move my Content! Florid Drupal Camphttp://bit.ly/18Dnt1a
Monday, July 29, 13
Musketeers.me
Thank You!• Musketeers.me owns php[architect]:
• Magazine, books, training, conferences
• 25% Subscription discount!
• AZ42-W1JJ-D57Z
• PHP 5.5 Summit: Sept. 17
• http://summits.phparch.com/summits/php55/
• Questions?
Monday, July 29, 13
Musketeers.me
Credits
• http://www.flickr.com/photos/nihonbunka/
• http://www.flickr.com/photos/emjayphotos/
• http://www.flickr.com/photos/houseofcards/
• http://www.flickr.com/photos/teflon/
• http://loc.gov
Monday, July 29, 13