A while back, the WordPress development team decided to aim for date-targeted, quarterly releases, to speed up the development cycle. One of the main things this does is to give more frequent updates, but with fewer “big” new features in each release. The target for WordPress 2.2 was set for around April 23.
One of the new features in WordPress 2.2 is ‘tags’. For any of you who still don’t know what tags are, they are basically keywords that you can put on posts. It’s similar to categories, but the idea is that tags are intended to be more generalized and free-form, and less formal than a category system. When tags appear on your posts or your RSS/Atom feeds, they are marked up in a way that they can be detected by search engines, allowing them to index your content in a more meaningful way, and even allowing you to cross reference data across multiple services which share the same tags. Some of the most popular applications that use tags are Flickr, Technorati, and del.icio.us.
Recently on the wp-hackers mailing list, there was a flurry of technical discussion about the underlying implementation of the WP tags system. I won’t bore you with the details (see the mailing list archives if you’re interested, it basically started with Knut-Olav Hoven’s post and really took off with Robert Deaton’s proposal, but there were several other related threads, including Matt’s rationale for the first implementation and Ryan’s proposal for a replacement), but the result of the conversation was that the tags system is getting a serious under-the-hood overhaul. The new system is going to be extremely flexible, and will even allow plugins to define their own taxonomies (which basically means that they could have their own private set of tags, separate from the main system or from other plugins).
But, since these changes have come about so close to the scheduled release date, the developers have decided to push the release back by “a week or two”, according to Matt. I have a feeling that this will definitely be worth it in the long run. The improved tags API and underlying database schema are going to open a lot of interesting doors for plugin developers
This whole process has been a great example of the WordPress development community at work. The decision to implement tags came about because it’s one of the most popular topics on WordPress Ideas, and the re-engineering and subsequent decision to spend more time on it came about because of discussions on one of the mailing lists. That’s how an Open Source project is supposed to work, and it’s great to see the process succeed.