All - I've been going through an extremely painful 4.1.0 to 4.2.0 migration. Got through the initial "Upgrade to CVS" hurdles, to upgrade the core DB table structures to conform to the 4.2.0 changes. I've been slowly working through upgrading my modules as well. I've run into severe problems with module developers making wholesale changes to the table structure of their modules, for 4.2.0, from the 4.1.0 structure.
Personally, I believe this is a bit improper software development modeling going on. A minor point release change shouldn't be implementing so many major structural changes. However, I do understand the fast and loose MO of Open Source (I've supported, coded for, and used many dozens of different Open Source tools).
Major problems come from modules that provide an SQL structure for the 4.2.0 table formats. There are no update/upgrade SQL statements, to migrate a 4.1.0 to 4.2.0 table structure. This has caused me over 2 days of work, to manually compare the tables, determine which rows/fields in the tables are changed, new, deleted, etc. Observe the contents of the cells, then decide whether to jetison the data in deleted rows/fields, or move it to another new row/field, etc...
The core engine to Drupal, it's extensibility, and flexibility are a major critical reason why I run it. However, I consistently find that there are way too few structural rules defining how things should be handled in terms of usability, upgrading, structure in how modules should work, etc...
I know there is (finally!) a big usability push occuring to try and address some things, but my major woes and issues lie with back end developmental procedures and structure. Are there any movements I'm unaware of that would help address these major flaws?
If I hadn't already invested 100s of hours of effort into getting 4.1.0 running, tweaked, tuned, and burned in on my production sites, I'd jettison 4.2.0 and move to another platform, simply because I don't have many many hours to deal with a minor point release. I absolutely grant that there are dozens of great changes, enhancements, fixes, etc... To 4.2.0, but I believe little effort has been given to those folks who have running production sites, to help them with the migration.
Some simple examples:
- some 4.2.0 "compliant" modules still use functions that have been deleted from the core (eg la(), lm() - etc...)
- changes to core functions without documenting those changes clearly in a distributed README or INSTALL guide (eg the change of page_header() to drupal_page_header() - and the *footer() function as well)
- radical alterations to the underlying table structures, with no provisions for proper migration or documentation of changes
Please don't misread me...I think Drupal is awesome, and far ahead of a lot of other stuff out there. I consider myself a very savvy end-user/sysadmin. I'm not a good coder, I make no pretense about it, but I can hack code and fix stuff here and there. With that said, I find making Drupal go a major hurdle that requires extreme amounts of my time - especially the upgrade process. I had the same and more issues from 4.0 to 4.1.0 - but I didn't have production data, I was safely able to NUKE my existing DB and install base and start fresh. That's an absurd thing to have to do.
I only wish to try and open some dialog on making things better, please don't misread my statements as being negative.
v/r