Successfully reported this slideshow.

Migration from Legacy CMS to Drupal

5,498 views

Published on

Migrating 100,000 pages of content
From Legacy CMS to Drupal

Published in: Technology
  • Be the first to comment

Migration from Legacy CMS to Drupal

  1. 1. Drupal Migration<br />Migrating 100,000 pages of content<br />From Legacy CMS to Drupal<br />Rachel Jaro<br />Solutions Architect at PrometSource<br />www.prometsource.com<br />
  2. 2. Overview<br />We’ll talk about:<br />Successful migration recipe<br />Common questions you should be asking before you start<br />Top 3 tools to do migration in Drupal<br />Issues<br />Tools to use in URL Rewriting<br />File management Comparison in D6<br />Testing<br />Deploying Solution<br />
  3. 3. Data Migration<br /> “Data migration solutions extract data from a source system, correct errors, reformat, restructure and load the data into a replacement target system”. <br /> It sounds simple, but poorly managed data migration is the most common cause of failure in implementing a replacement system. <br /> -- Gershon Pick, March 2001<br />
  4. 4. Successful Migration Recipe<br />
  5. 5. Planning<br />Source: http://www.flickr.com/photos/bjornmeansbear/4380595283/<br />
  6. 6. Plan: What to Ask<br />Node types (Content separation, fields)<br />Do you want to separate contents into pages, articles, biography, news, etc.<br />What fields are needed for each node?<br />Who can access it?<br />Do you really need that content type? Or can we just use taxonomies instead for similar contents. <br />
  7. 7. Plan: What to Ask<br />Taxonomy (Categorization, tags)<br />Do you need to categorize nodes? <br />Would you need different access?<br />What kind of taxonomy groups or vocabularies you would need?<br />Permission (per nodes) and User Roles<br />Who are going to use the site? <br />What are particularly their access rights?<br />
  8. 8. Plan: What to Ask<br />New URL mapping<br />Do you need to make SEO friendly URLs?<br />Files, files permissions and file directory<br />Do you need advance file management or document management tool?<br />Do you need simpler solutions? How simple is that. <br />Do you need access rights for each folder?<br />Do you need browser type interface to access them?<br />What kind of files do you need to store? Images, pdfs?<br />
  9. 9. Build<br />
  10. 10. Requirements<br />Use CSV files to import data<br />Divide migration into group or sections<br />Map and replace old URL to SEO friendly URL<br />Before: 05-200.htm<br />
  11. 11. Data in CSV Example<br />December 13, 2005 3:39:54 PM||||||||||December 13, 2005||||||||||Report Spotlights Need for Reform in Jackpot Jurisdictions||||||||||/press/releases/2005/december/||||||||||05-200||||||||||{UUID}|||||||||| Economics^^^^^^^^^^Economy ||||||||||<br /><p>LoremIpsum is simply dummy text of the printing and typesetting industry. LoremIpsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </p><br /><p>LoremIpsum is simply dummy text of the printing and typesetting industry. LoremIpsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </p><br />$$$$$$$$$$<br />Separator: ||||||||||<br />End of Row: $$$$$$$$$$ <br />
  12. 12. Content Type Division<br />Example: CNN.com<br />Divide migration sequences into US, World, Politics, Justice, etc<br />
  13. 13. Solutions/Tools<br />TW and Migrate modules Combo<br />node_import()<br />Drush + custom script<br />
  14. 14. TW & Migrate Module Combo<br />http://drupal.org/project/tw<br />Supports Migrate module to run views of source data<br />http://drupal.org/project/migrate<br />a flexible framework for migrating content<br />
  15. 15. Migrate Module<br />Features:<br />users browse their legacy data using views<br />support for creating Drupal nodes, users, and comments is included<br />hooks permit migration of other types of content.<br />provides a dashboard for running mini migrations<br />Drush support<br />
  16. 16. Why I did not choose migrate<br />Importing to mysql was not an option. CSV were used instead<br />Cannot map old URL to new URL<br />
  17. 17. node_import()<br />http://drupal.org/project/node_import<br />Features:<br />Easy to learn, Point and click<br />Uses CSV to upload contents<br />Can easily delete previous imported data<br />Can download errors when import failed for easy reference to fix issues<br />
  18. 18. node_import() Problems<br />I can’t define map old URL to new URL<br />No drush support<br />It doesn’t save my old settings for a csv. <br />
  19. 19. Drush + Custom script<br />Flexibility <br /> - I can do whatever I want with the data<br />
  20. 20. Create your own migration script<br />[demo]<br />
  21. 21. Issues<br />File Management<br />URL Rewriting<br />
  22. 22. File Management<br />Client requirements<br />Intuitive<br />Has wysiwyg support<br />Access control – upload, edit, delete, revise files by different roles<br />Revision control – optional but good to have<br />Limited time!<br />
  23. 23. File Management Modules<br />*DbFm was not included due to problems encountered during tests in D6<br />
  24. 24. URL Rewriting<br />Source: http://www.flickr.com/photos/randomfactor/483264915/<br />
  25. 25. URLs Rewriting Solution<br />Not recommended<br />.htaccess<br />Too many URL to handle. <br />Too much server load<br />Recommended<br />pathauto + path_redirect modules<br />automated alias settings<br />301 redirect set<br />global redirect<br />Additional reference:<br />http://acquia.com/blog/migrating-drupal-way-part-ii-saving-those-old-urls<br />
  26. 26. URL Checker<br />http://drupal.org/project/linkchecker<br />
  27. 27. Access control Alternative<br />/default/files/PressReleases<br />/default/files/Documents<br />/default/files/International<br />/default/files/International/America<br />/default/files/International/England<br />/default/files/International/Asia<br />
  28. 28. Test, Test and did I say Test?<br />Source: http://www.flickr.com/photos/paperpariah/2424107350/<br />
  29. 29. Common problems<br />Broken links<br />Misconfigured page<br />Empty pages<br />Invalid date<br />File not found or orphan pages<br />Page format<br />Test when CACHE is on<br />
  30. 30. Deployment<br />
  31. 31. Deployment<br />2 Ways to Deploy your data to live environment<br />All at once<br />Divide and conquer<br />
  32. 32. Deployment: Divide and Conquer<br />Example: CNN Division<br />
  33. 33. Deployment Mockup<br />* shadow box is your migrated data’s production box<br />* old CMS is still active at this time<br />
  34. 34. Deployment<br /><ul><li>Coordination between the old CMS and Drupal
  35. 35. URL Testing</li></li></ul><li>Deployment Mockup<br />* shadow box is your migrated data’s production box<br />* replacing old CMS with Drupal<br />
  36. 36. Deployment<br />Pros<br />Less risk, less stress <br />Editors can do continues data entry daily<br />Cons<br />URL rewriting can be a tricky<br />Updating the production box with new content can be an arduous task<br />
  37. 37. Deployment: Updating Production<br />Automation<br />SVN<br />Drush scripts to migrate contents from tester’s box to shadow box<br />Deploy – http://drupal.org/project/deploy<br />Manual<br />Document configuration changes<br />Document database changes<br />
  38. 38. Recap<br />SDLC + Agile<br />Common questions you should be asking before you start<br />Top 3 tools to do migration in Drupal<br />TW & Migrate, node_import(), drush<br />Issues<br />File management Comparison in D6<br />Tools to use in URL Rewriting<br />Testing<br />Deployment Solution<br />
  39. 39. Questions?<br />
  40. 40. Resources<br />http://groups.drupal.org/content-migration-import-and-export<br />http://drupal.org/handbook/migrating<br />

×