Experiences with upgrading to Drupal 4.6
I started this topic to describe my experience with upgrading from Drupal 4.5.0 to Drupal 4.6.0 (released yesterday). I hope others can comment on what they found here, so that it becomes a single reference for others trying to do the same in the future.
Let me state here that this was all on a test machine, using an exact copy of the files from my production web sites, and a copy of the database as well. This way, I will know what to expect when I upgrade my production sites, and have a set of instructions on what to do then.
As sepeck always says: "Test site! Always start with a test site!"
So here is what I did, and what I found:
Steps to upgrade
0. Make sure you are logged in to your web site using your admin user/password BEFORE you do the following.
1. Backup your production site. This involves backing up your public_html directory AND doing a dump of the database.
2. Make sure that you have done step 1. Really make sure!
3. Create a new directory and extract the Drupal 4.6 tar ball to it.
4. Create as many sites/sitename/settings.php files as you need (one per site), and aliases for www.example.com and example.com. Put in the database user name, password and database name, as well as the base_url. Add a db_prefix if you are using one database with multiple prefixes. Change the cookie_lifetime to the number of seconds you want users to stay logged in.
5. If you have modified the .htaccess, then copy the changes to the new one. Do not just overwrite the .htaccess.
6. Add a robots.txt if you have one. If you do not, then google for it and create one while you are at it.
7. If you have external directories with Drupal data in them, then move that directory to the appropriate place. For example, a files directory, a pictures directory, banners, ...etc depending on what modules you are using.
8. You can do steps 3 to 7 ahead of time, and then zip, upload and unzip to minimize downtime to your production web site(s).
9. Now point your browser to http://example.com/update.php, and follow the link there. Drupal should automatically detect from which date/version your database need to be upgraded (in my case this was "2004-10-31: first update since Drupal 4.5.0 release"). The database should be updated, with no errors on the results page. Repeat this step for every site you have. This is the third Drupal upgrade I have done, and this one went through without any errors reported.
10. If you have blocks that are only visible on certain paths (e.g. Ads that are not visible on the admin pages), then you have to add new parameters to each block. The new syntax is easier, and is well documented on the admin/block page.
11. As Dries mentioned, check which modules are enabled, and what permissions are enabled as well.
12. Check the permissions of any new directories that you created.
What works
I use the following modules, and they all seem to work fine:
- feedback
- sitemenu
- stock
- banner
- pathauto
- customerror
Issues
The only Drupal core issue I have seen so far is:
1. The workaround for blocks without titles mentioned here http://drupal.org/node/17170 does not work. This is a known issue http://drupal.org/node/11724 and I reopened it.
Some other issues with contrib modules I am using:
2. Banner module has a security error at each cron run. Here is the issue opened for this http://drupal.org/node/20608
3. HTMLArea does not work. Issue is http://drupal.org/node/20629
4. TinyMCE does not allow blockquote tag (but you can use the indent to do the same thing). Issue is http://drupal.org/node/20611 and has been closed.