Yesterday I checked in a new script at
NEW LINK:
http://trac.mu.wordpress.org/browser/trunk/wp-content/mu-plugins/sync-taxonomy.php?rev=1141
OLD LINK:
http://trac.mu.wordpress.org/browser/trunk/wp-content/mu-plugins/sync-taxonomy.php
The first thing you'll notice looking at it is that the whole thing is commented out. There's a good reason for that. I didn't want anyone blindly svnupping and enabling a major new bit of beta code. If you're going to try this, do it on a development server first please. I need feedback that it's working but I don't want anyone to screw up their database!
So what does it do?
It creates the new taxonomy tables and then synchronises operations on the old categories tables.
How do I run it?
1. First of all you'll have to remove the comments around the code. They are on lines 23 and 424 of that file.
2. If you want to upgrade every blog on your site, open the main page of your site and append "?upgradetaxonomy=1" to the end of the url. Your url should now look like http://example.com/blog/?upgradetaxonomy=1
3. That will generate a secret key in your site_options table called upgradetaxonomysecret. You'll have to examine that table in phpmyadmin or otherwise grab that value from the db to do a full site upgrade.
4. Once you have that key, open your main blog again like above but this time replace 1 with your secret key. It should be a long 32 character string of numbers and letters.
5. The URLs of blogs from your site will be printed on the page, 10 at a time, until the script runs out of blogs to work on. The blogs that are displayed should be upgraded and syncing until you upgrade your site to the new WPMU release.
How do I test it?
Once your blog is synchronising, do some admin work on the categories. Create a category, delete another, edit yet another one. Open your new taxonomy tables and verify the changes are carried over from the old categories tables.
What if I want to revert?
I also have code in the script to handle synchronising the other way from taxonomy to categories. This code is completely untested and may be removed before the final release.
If all that sounds like too much work, you could wait until the new release in the next week and upgrade your blogs through the normal wpmu-upgrade-site process and when your bloggers visit their backend the upgrade script will be called too in the background. Unfortunately on large and busy sites this is likely to cause load problems as many tables are created at the same time.
This release won't include a sitewide tags page but the site_categories table will be updated as per usual.