Menus, the Merge, and a Patch Sprint!
A Report from the 3.0 Development Cycle
There’s been a flurry of blog posts about the integration of the WooThemes Custom Navigation into WordPress core, so I thought it was time we posted the official word. For 3.0, the main user-facing feature we wanted to include was a better site menu management system. Currently, dealing with menus is clunky, using Page IDs or in some cases categories, if a theme uses categories instead of pages for the menu. We wanted a menu system that had the drag and drop ease of the widget management screen, could combine Pages, Categories, and Links, was able to be re-ordered, allowed submenus, and enabled hiding specific Pages or Categories from the menu altogether. We were in the process of building this when WooThemes introduced their Custom Navigation system. Watching their introductory video, it seemed that their system did pretty much everything we wanted to do for core, so we reached out to them about contributing to core.
As you’ve probably heard, it worked out, and the first patch has been submitted. It does require some code modification, which is happening now. The decision to incorporate the Woo menus happened right before our planned feature freeze for the 3.0 development cycle, so we pushed our freeze date back by two weeks to allow the addition. We’re now targeting the 3.0 release for early May, and we think it will be worth the extra two-week wait.
I’m personally really happy that it worked out this way, because I think it will show commercial theme and plugin authors that contributing to core is a win-win proposition. More people can contribute to and improve the basic functional code now, while WooThemes can continue to innovate on top of it for their customers. They get massive bragging rights (which I have no doubt will lead to even more customers), core gets a nice menu system without having to reinvent the wheel, and WordPress users all over the world will benefit. I’m hoping other plugin and theme developers will take a cue from Woo and look at core as a place for collaboration, rather than competition.
It was announced at WordCamp San Francisco last year that WordPress and WordPress MU would be merging codebases. This has now happened in 3.0-alpha, and we’re working on smashing bugs and tidying up a few screens. If you’re currently using a single install of WordPress, when you upgrade to 3.0 you won’t see any of the extra screens associated with running a network of sites. If you’re currently running MU, when you upgrade you’ll notice a few labels changing, but upgrading should be as painless as usual. If you’re going to set up a new WordPress installation, you’ll be asked as part of the setup if you want one site or multiple sites, so that’s pretty simple. If you want to turn your single install into one that supports multiple sites, we’ll have a tool for you to use to do that, too. So if you’ve been worried about the merge, have a cup of chamomile tea and relax; it will all be fine.
Okay, so where are we now? The new feature freeze date is on Monday, March 1, 2010. That means that after that date, no more enhancements or features will be added, and we’ll switch gears to focus solely on crushing bugs and fixing up the features that have already made it in. That means we only have a week to try and finish up the many Trac tickets on the 3.0 milestone that either need a patch or have a patch that needs testing. You can help! From now until noon eastern time on March 1 (that’s 17:00 UTC on March 1), head on over to Trac and pitch in. If you hit a wall, hop into the core development channel at #wordpress-dev on irc.freenode.net and hopefully one of the friendly core contributors can give you a push.