Upgrading migration and moving house


Published on

Presented at Drupal Science Camp in Cambridge January 2012.

Part 1 Looks at the process of moving house (and how to do it better). Hint, cats != developers!

Part 2 Looks at how the analogy can be expanded to look at web development and migration between different systems.

Part 3 Looks at how the migrate module for Drupal 7 can be utilised to assist with migration and how it can help your migration workflow and testing.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Upgrading migration and moving house

  1. 1. Migration, Upgrading and Moving House Will Hall @willhallonline http://willhallonline.co.uk
  2. 2. My House
  3. 3. Unstructured Developer● Eliza● Cat● Likes sleeping● Not very good developer● Poor at typing
  4. 4. Structured developer● Steph● Wife● Has coding standards● Loves Drupal● Structures things properly● Good developer
  5. 5. Why move house?● The house is not big enough● I want to do too much to my house● Rather move than maintain● I want to live in a different area● The neighbourhood has changed● I am getting divorced
  6. 6. Planning to move house● Look at other houses● Look at other neighbourhoods● Plan what you want your new house to have● Think about how easy it will be to move there● Will it be big enough, develop-able, maintainable and manageable?
  7. 7. Packing your boxesUnstructured● Run around throwing things into boxes
  8. 8. Packing your boxesStructured● List what you want to put where● Put them in well marked boxes● Make sure you arent taking anything with you that you dont want
  9. 9. Moving house● Hire a van and move things yourself● Hire removal men who will come in and move your stuff for you (provided you give them instructions on what you want where).
  10. 10. Unpacking your boxesUnstructured● Rip open boxes and shove things into the nearest corner● Have a breakdown because you; cant find what you want and dont know where to start looking● Tell yourself that you wont do this in the next house move
  11. 11. Unpacking your boxesStructured● Move your boxes into the correct room● Open your boxes in order● Move your things to pre-arranged places● You can find everything you want and know where everything is, therefore negating the need to eat take-away for 2 months whilst you find your cooking stuff.
  12. 12. Enjoy your new house
  13. 13. The End.Any questions? Only joking!
  14. 14. Houses/buildings and computers● Houses that sell stuff = shops● Houses that store documents = libraries● Houses that show people stuff = museums● Code = windows/doors/people inside the house● Stuff in the house = data● House blueprints = database diagram
  15. 15. My House● Neighbourhood: St Neots (nr Cambridge)● House size: 2 bedroom (1 bedroom, 1 office)● Interior: Painted, not too hard to change● Flexible space: No. All rooms must stay where they are.● Decoration: Largely done by my wife. Guitars are mine.
  16. 16. My House
  17. 17. The Drupal house● Neighbourhood: PHP● House size: able to be developed, maintained. Scalable depending on the size you want.● Interior: Content management so you can make the interior without necessarily knowing the code/data that you change● Flexible space: Can be turned into almost any house style.● Decoration: flexible themeing styles.
  18. 18. Drupal House
  19. 19. Drupal house blueprints (ERD/EER)● Drupal 6● Drupal 7● Fairly simple installation
  20. 20. Why move house? (Why migrate?)● The house is not big enough ● Needing a more scalable solution than can cope with more visitors● I want to do too much to my house ● Developments planned however are difficult to achieve on current website● Rather move than maintain ● Rather build a new system than put effort into an outdated system● I want to live in a different area ● The technology we are using has run its life cycle and we need to adopt or die● The neighbourhood has changed ● The system we are using has changed its licence/terms or uses a language no longer supported● I am getting divorced ● The provider has stopped supporting the product. Or wish to change providers.
  21. 21. Planning to move house (Planning to migrate)● Look at other houses ● Look at other websites/systems. What do you like what features could you use?● Look at other neighbourhoods ● Evaluate other languages and systems● Plan what you want your new house to have ● What features do you want. How easy will it be to have them in your new system?● Think about how easy it will be to move there ● How easy is it to move data into the system. How long will it take to migrate data and structure into the new system?● Will it be big enough, develop-able, maintainable and manageable? ● How easy is it to develop, maintain and manage the software? Can you add new features easily and does it provide good options for maintaining and managing the software?
  22. 22. Packing your boxes (Plan and package data to move)Unstructured● Run around throwing things into boxes ● Copy and paste some bits of your site. ● Move it as quickly as possible. ● Dont think about managing the process ● Write your own modules/extensions/databases just to move data
  23. 23. Packing your boxes (Plan and package data to move)Structured● Go through your database getting data you actually want to move● Use migrate module to continually pack your boxes and check which is the best way to pack and unpack them.
  24. 24. Moving House (Migrating)Your data is moved between place. Either:● Structured: You can move between the two easily and have good ways to manage your data to make sure you dont miss anything● Unstructured: It is a one-off process that leaves stuff behind, but you are forced to accept it as doing differently would take too much time.
  25. 25. Unpacking Your Boxes (Move data from old to new)Unstructured● You hope that you have everything you want, but probably have no way of checking this anyway● You embark upon a massive data tidy up that takes longer than writing all the data anew
  26. 26. Unpacking Your Boxes (Move data from old to new)Structured● Everything is sorted into its place to enable you to easily find the data you are looking for.● Minimal data tidy up happens as you have already positioned everything to make it easy to unpack and use quickly
  27. 27. New House (Migrated site)● You sit back and enjoy your new house/site● You maybe start planning the next one :)
  28. 28. Moving House(Migration) Job Roles● Estate Agent = Consultant● Removals Men = Migration Developers● Decorators = Themers● Builders = Developers● (Some people can do all of these roles)
  29. 29. The End.Any questions? Only joking again!
  30. 30. Migrate Module● Getting the removal men in to use the technology that has been proved time and time again.● Open-source enables us to use other peoples code to achieve more than we could on our own in a shorter space of time.
  31. 31. Using the migrate module● Prerequisites ● Drupal ● Drush ● Data ● Some idea of module building (Drupal 7)● Write a module to conduct the migration of data controlled by Drush.
  32. 32. Our new migrate module● mini_migrate.info● mini_migrate.module● mini_migrate.inc
  33. 33. mini_migrate.info● Basic outline of your module● Give it a name● Development section (possibly)
  34. 34. mini_migrate.moduleAdd:function mini_migrate_migrate_api() { $api = array( api => 2, ); return $api;}
  35. 35. mini_migrate.inc● Map out fields for migration● Add any other handlers with Migrate Extras: ● User ● Image ● Taxonomy ● Location (maybe) ● More...
  36. 36. Lets see some code (Non-coders look away now)
  37. 37. Enable your module● Enable module “drush en mini_migrate”● “drush help”● “drush ms” (migrate status)
  38. 38. Run migration through your module● “drush mi mini_migrate” (migrate import)● View output● “drush ms” migrate status
  39. 39. Extensions
  40. 40. Other Modules● WordPress Migrate● Joomla to Drupal● Feeds (simpler for importing nodes; more difficult to maintain structure)
  41. 41. Upgrading/migrating● Upgrading versions within Drupal● Not always a standard path● Drupal 6 Module != Drupal 7 Modules● Recommend migrating content and rebuilding● Drupal 5 => Drupal 7● Drupal 6 => Drupal 8?
  42. 42. Overview: What to learn● Moving houses takes a long time● Migrating content can take a long time● It is a lot easier when you plan● Using the right tools can make it even easier● Cats != developers
  43. 43. The End Questions?@willhallonline – http://willhallonline.co.uk This time I mean it.