Migrating to Drupal 6

Drupal 5 Status

Modules

Below is a list of all modules currently installed and their support in releases 6 and 7 of Drupal. We don't necesserily need all these modules after the migration.

Mark must-haves with an 'M'.

 
 M? 6.x 7.x   Module
 M   x  -     adsense
 M   x  -     advuser
 M   x  x     captcha
 M   x  -     captcha_pack
     x  x     cck
 M   x  -     comment_upload
     x  x     contemplate
 M   x  x     diff
 M  (x) -     drutex
 M   x  -     filterbynodetype
 M   x  -     freelinking
 M   x  x     geshifilter
 M   x  x     image
 M   x  x     imagepicker
 M   x  -     img_assist
     x  -     import_html
 M   x  -     listhandler
 M   x  -     mailhandler
 M   x  -     mailman_manager
 M  (x) -     mailsave
     -  -     mathfilter
 M   x  x     pathauto
 M   x  x     path_redirect
 M  (x) -     pearwiki_filter
 M   x  x     quote
 M   x  -     spam
 M   x  x     spamspan
 M   x  -     tableofcontents
 M   x  -     talk
 M   x  -     taxonomy_breadcrumb
 M   x  c/x   token
 M   x  -     user_mailman_register
 M   c  c     user_status
 M   x  x     views
     -  -     wiki
 M   x  -     wikitools

 M :  must-have
 - :  not present
 c :  present as core feature
 x :  module released
(x) : released but unmaintained

Newly found:

 x  -     Emailfilter - for listhandler
 x  -     JsMath - latex render in browser instead of on-server

Drupal 6 Migration Procedure

Testing

  1. copy 5.x database to 6.x test-database 'drupal_orocos_testing'
  2. copy 5.x website to 6.x test-site 'test'
    1. rename settings.php to point to new database and fill in the url_base !!!
  3. Go to 'test' site and select default themes & disable all modules
  4. Install Drupal 6.x and remove 5.x copy. Keep settings.php for reference.
    1. Symlink drupal5 's files to drupal6's files (avoid copy on server due to quota)
    2. Install plugin manager and administration menu
    3. Disable pulling forum posts from orocos mailing list, such that original 5.x site does not loose content.
  5. Upgrade core
  6. enable & upgrade modules
  7. apply patches from the drupal 5.x branch on the drupal6 branch. See https://github.com/psoetens/orocos-www
  8. Upgrade the Drupal theme, according to http://drupal.org/node/132442#signature
    1. Copy the existing orocos theme into the new drupal installation (sites/all/themes)
  9. Check results and themes. Special attention checklist:
    1. Media wiki layout on wiki pages
    2. Drutex on KDL pages (formulas)
    3. forum posts, quoting of parent post must work 'recursively'
    4. Major content pages : front, toolchain, kdl, rtt,...
    5. table of contents on wiki pages
    6. Syntax highlighting
    7. Mailing list pulling and posting
      1. This may require a test forum setup such that the original 5.x site is not influenced
      2. Do not enable retrieval of the original orocos-dev/orocos-users !

Migrating

If this works:
  1. Log in as use 1 and shut down 5.x site (maintenance mode)
    1. Maybe we should set a redirect in our .htaccess that doesn't rely on any file currently on the server.
  2. copy 5.x database again to 'drupal_orocos_backup' have backup of latest changes
  3. copy 5.x website on-server to 'www2.orocos.org' have backup of latest status
    1. Edit settings.php of that site to use 'drupal_orocos_backup' DB and url_base of www2.
  4. Log in as user 1 on www.orocos.org
    1. select default themes & disable all modules
  5. Log in as user 1 on 'test' site
  6. Edit Drupal 6.x 'test' site to use 5.x database 'drupal_orocos' (settings.php)
  7. Do upgrade of database & modules as above
  8. When all works, remove 5.x files on 'www' and copy-over 6.x files from 'test'.
  9. Leave maintenance mode

Plan B

If the final upgrade fails (it shouldn't, you tested it!), We can:
  • Redirect to 'www2' from 'www' (.htaccess)
  • Disable maintenance mode on www2
  • Keep playing on the 'test' site until 'it works' (test is working on 'drupal_orocos' DB) and copy over any files to 'www'
  • Put 'www2' in maintenance and remove the redirect again.

Plan C

We don't want this ever to happen:
  • Remove all files from 'www' and copy all files from 'www2'
  • Drop 'drupal_orocos' DB (or rename it for later reference)
  • Copy 'drupal_orocos_backup' to 'drupal_orocos'
  • Modify settings.php to contain correct DB and url_base