Migrating from Drupal5 to Drupal6

in

Yes, I know that Drupal7 is just around the corner, but I am stuck around the prior corner with some of my web sites.  My largest, most complex site is still on D5, and I am starting a project to migrate it to D6.  I believe that all modules needed are finally on D6, although I plan to look to the future and not depend on some modules who took a really long time to mograte from D5 to D6.

I started the migration by copying the production site and installing it on my PC which is Windows Vista with XAMPP.  The first time I started the site locally, it showed me the home page, but on the next page, Apache crashed.  I thought it might be the copy, which included files that are maintained locally using a sync process, so I made a fresh copy of the database and files, and downloaded it.  Due to the size, 6GB, it took many hours, but I finally got it.  I loaded it and ... same result, Apache crashed.

Not wanting to debug Apache, since it worked on the server, I took an easy way out, and made a copy of the site on the server.  That seems to work fine, but then I started eliminating some modules that I don't plan to use in migrating to D6, as I don't think I am using them anymore.  I guess I got overly aggressive in removing things I thought weren't needed, and now my view that displays events won't work with date filtering.  I get some strange error messages, like

"warning: array_filter() [function.array-filter]: The first argument should be an array in /home/fumcsr/fumctest.dreamhosters.com/sites/all/modules/date/date/date_views.inc on line 315."

I then took a different approach.  I copied the site on the server, and worked on the copy.  That worked fine.  As I worked, I took careful notes so I could reproduce the changes when I migrated the production site.

I wish Drupal had a better way to migrate test site settings to production site, but this just may not be possible with a version upgrade. 

After I completed the migration of this large, complex site, I also migrated a smaller, simpler site.  Because I knew it wouldn't take much time, and because it was off-season for the site users, I took the production site offline, made a copy, upgraded the copy, and then just copied the copy back over the production site.  Worked great.

Comments

Getting Close

The site is getting close to going live.  I have completed my work and am waiting for client review and signoff.  Because Drupal has no automated way to migrate the settings and modules independent of the content, I have to log all the changes I made in the testing site, and then reproduce them in the production site.  I can easily copy the theme, and Drush has made it a lot easier to update modules and Drupal itself.  Beyond that, it's laborious.  There is some hope.  There have been blogs lately, such as http://www.lullabot.com/articles/site-development-workflow-keep-it-code that begin to describe how to transfer the settings to code to facilitate migration, but it still takes a lot of discipline.  I'll be trying some of these migration techniques and let you know how they work out.

Installing DRUSH

I have found DRUSH useful in maintaining a site.  It makes updating modules a lot easier.  It does a lot more, but I tend to use tools for the things I need and not necessarily all they can do.  I went to DRUSH from Plugin Manager as it had some limitations and bugs that were tiresome.  I had some problems installing DRUSH due to PHP CLI version problems, but finally got it working.  See my notes here: http://drupal.org/node/581870#comment-2800918

Access control problems

I want to move from TAC to TAC-LITE as I move from D5 to D6, so I tried to disable TAC.  I got an error in the log "internal error" and couldn't disable TAC.  I also couldn't rebuild permissions.  In reading through some comments in the Drupal forums, I found a possibility, so I first disabled Forum Access and ACL, then I could disable Node Access and TAC, and rebuild permissions.

php debugging

Where can I find some good information about debugging php code?  The book I got, "PHPand MySQL Web  Development," doesn't really say anything useful for me as I start out.

Problem with views and date

I restored the database, and found that the problem is related to using some fields I set up in Date format to control what records I wanted to display in a view.  If I tried to add a sort criteria, or to use the date field as a filter, I got the error messages.  In reading about similar problems, I found that there may be a problem with Views 5, and that the maintainer declined to fix it.  Therefore, I will just not use those fields, and rebuild the function when I get to D6, where I should be able to get support if it doesn't work.

X
Loading