Drupal Association members fund grants that make connections all over the world.
The Nodewords module went through an illogical architecture change between the 1.11 and 1.12-rc releases. If you were running the 1.12-alpha/beta/RC releases of Nodewords and then tried to upgrade to 1.12, you were probably directed to this page upon trying to run update.php.
Options for moving forward
- If you were using Nodewords 6.x-1.11 or older you can upgrade to the new 6.x-1.12 and continue to use future 6.x-1.x releases, as normal; the 6.x-1.x branch will continue to receive bug fixes and minor updates.
- If you were running Nodewords 6.x-1.12-alpha/beta/RC version (or the 6.x-1.x branch before May 3, 2011) there are two options:
- Upgrade to Nodewords v6.x-2.x,
- Downgrade to v6.x-1.x.
#1. Upgrading to Nodewords v6.x-2.x
The 2.x branch of Nodewords is a continuation of the recent 1.12-alpha/beta/RC versions. The 2.x version of the module may not receive further updates, its future has not been determined at this point in time. As a result you may want to downgrade to the latest stable 1.x version (see below).
#2. Downgrading from Nodewords 2.x (formerly 1.12-alpha/beta/RC) to 1.x
Currently there is no official support for downgrading from the 2.x version to 1.x stable release. Additionally, downgrading your site will erase all your existing manually-defined meta tags. That said, all meta tags generated automatically from taxonomy terms or the node body will be regenerated for you.
To downgrade from 2.x to 1.x:
- Download and install the latest 2.x release of Nodewords from the Nodewords project page.
- After the 2.x module is in place, disable the module on the modules page.
- After the module is disabled, uninstall the module at admin/build/modules/uninstall. This will delete all the Nodewords database tables, rendering the site as if the module had never been installed.
- Delete the 2.x version of the module from your site. Download and install the latest 1.x version of the module.
- Configure your site with Nodewords as if you had just installed it for the first time.
The Full History
There's an ugly story behind how what was supposed to be the 1.12 version became a total rewrite of the module, leading to an 18 month gap after the 1.11 stable version. Ultimately the Nodewords team made the decision to put this rewrite of the module back into a different branch and make the new 1.12 version a minor update for existing 1.x users. It's not pretty and we really wished it hadn't gone the way it did, but in such a messed up situation some compromises had to be made. Here's a general summary.
- Nodewords was moving along as in a single branch of development (1.x) in 2009, when a more flexible approach to handling meta tags was proposed.
- The maintainer of Nodewords decided to start developing this new approach in a 3.x version of the module. There was already an 2.x version of the module at the time that was abandoned in favor of the new 3.x approach.
- Rather than maintain both the 1.x and the 3.x versions of Nodewords at the same time, users were encouraged to submit patches that fixed the 3.x version of the module only. Patches were not being applied to the 1.x version of the module. If you wanted a bug fix, you had to upgrade to the 3.x version of the module.
- Because no fixes were being committed to the 1.x branch but many users were not willing to move the 3.x version of the module, instead of fixing the 1.x version of the module the 3.x version was instead merged into the 1.x version. Making it so that 1.x-dev was a complete rewrite in comparison to 1.11.
- Of course any major rewrite takes a long time, so now with 1.x-dev being a rewrite no new versions of Nodewords could be released while all the kinks in the rewrite were worked out. At this point, the module changed maintainership to a new team that needed a stable, working version of the module above all else.
- The new team worked hard on stabilizing the 1.x branch as much as possible to make it usable. However everyone widely agreed that the new approach was significantly harder to understand and configure that it was previously. But work continued anyway just to get out a new stable release.
- When trying to make it so that users could upgrade from 1.11 to what was going to be the 1.12 release however, the maintainers realized that the fundamental concept of a rewrite between minor version numbers (1.11 and 1.12) was entirely flawed. Instead of forcing users to upgrade from 1.11 to 1.12 (and the complete rewrite it involved), they decided instead to pull the rewrite back out into a separate branch. Because both the 2.x and 3.x branches were no longer in use, they deleted the entire contents of both dead branches and moved this rewrite into the 2.x branch.
- The current maintainers feel that though the rewrite of Nodewords had good intentions, but the approach used was either poorly-designed or too heavy-handed. So while the users of the current 2.x branch may continue to use this rewritten version, the stable 1.x version is currently the recommended version.
To discuss this general moving of code (yes we know it's messed up, please don't just come in to yell at the mistakes), please see the issue on Re-branch the Nodewords Rewrite into 2.x.