I hope this is the right place to post this.

I maintain a moderately-sized Drupal-based site that currently uses Drupal 4.7 as its base. There have been some minor modifications to its core made, and it has a number of modules that we have custom-created for it. We use CVS to manage it, with a branch containing the unmodified Drupal 4.7 code (not including 3rd party modules) which is merged into the trunk periodically (as described here: http://drupal.org/node/5123). We'd like to upgrade to Drupal 5 (and hopefully make fewer modifications to Core while we're at it), but since we've never done this before, I'm not sure what the best strategy would be.

Here's currently what I had in mind:

  1. Start fresh with a new repository (I'm not a CVS guru, so the interaction between the "vendor branch" and trunk is a little on the 'magical' side to me, and there were a lot of changes to the directory structure in 5.x anyway), using the same sort of setup as we have currently with a 'clean' branch with code directly from the official distribution that is merged into the trunk.
  2. Use a new installation of the database, with little to none of our existing site's data.
  3. Make any modifications to core as needed (and hopefully they won't be).
  4. Upgrade our custom or customized modules to work with Drupal 5, providing/modifying update scripts as necessary.
  5. Make our theme compatible with Drupal 5.
  6. Once we have the modified version of Drupal 5 ready, use roughly the upgrade process described in the manual by checking out a copy of our modified version, migrating over any user-uploaded files and running the update.php script on a copy of the live database (this would be tested before going live, of course).

Is there anyone that has gone through something similar to this before that would care to comment on this strategy? What has worked for you? Anything I should be careful of? I don't want to waste time if I can avoid any missteps before I start monkeying with the code.

Thanks in advance!

Comments

laura s’s picture

First of all, I would say don't modify core at all. There really is no reason to in 99.998% of the cases where you want to scratch that itch.

Laura
_____ ____ ___ __ _ _
design, snap, blog

_____ ____ ___ __ _ _
Laura Scott :: design » blog » tweet

timothyf’s picture

I'm hoping I won't have to as well. We modified core originally mostly to handle our third-party authentication system, though I understand that Drupal 5 has the patch we used included already. There were some additional modifications to core to handle loading of additional data on a user on page load, but I'm hoping that I can move that out of core; it's possible that we overlooked a hook or something that would handle that, or something that would store this data in the session once the user is logged in (which would be the ideal situation).