Migrating from Drupal5 to Drupal6
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.