Direct Drupal 5 to Drupal 7 Migration in 24hrs

With Drupal 7 around the corner, a lot of Drupal developers and users are surely looking at their lingering still-on-Drupal-5 sites and thinking, "surely I might be able to skip Drupal 6 and upgrade directly to Drupal 7?"

Most all experienced Drupal developers would say (to end-users), "not possible". This is because modules only provide upgrade paths from one major version to the next, and just about all Drupal modules received large rewrites between Drupal 5 and Drupal 6. Without help from module developers, it's not extraordinarily difficult to do a direct Drupal 5 to Drupal 7 migration, but you are going to be building out a lot more things manually.

Of all the projects I'm working on, only my personal blog was still on Drupal 5. As this is rather embarrassing, I figured at least it would be a good experience with direct migration from D5 to D7. Here are my experiences and the approach I used in this upgrade.

Personal Post-DrupalCon Agenda

Once again, DrupalCon this year was no disappointment. After getting back and having a few days to refresh and set my priorities, I've laid out a bit of list of tasks that I hope to complete in the coming months.

Image handling. There's no getting out of it now. After announcing my drive to make image handling part of core during the Multimedia Panel session (with Aaron Winborn and James Walker), I don't think there's any way I can back down from the commitment.

Image issue on Drupal.org: http://drupal.org/node/232129

A color picker for Fivestar. Before the Drupal code sprint at MIT, I brokered a deal that if Mahalie Pech made me a set of Bombs for Fivestar I'd make it so you can pick the colors. That's come along pretty nicely for code written during a code sprint. Look to a beta implementation of that in Fivestar soon.

Fivestar issue on Drupal.org: http://drupal.org/node/232127

Popups (modal dialogs). Tao Starbow took the lead on implementations of popups (think Facebook) in Drupal 6 and I helped kick around some possibilities and how we can possible get this implemented into the Drupal UI. Seems like first candidates for popup implementation are the help text Drupal-wide, and the confirmation dialogs (Are you sure you want to delete this node, etc). Tao's done an amazing job and I'm very excited to see where this takes the Drupal UI.

Popups issue on Drupal.org: http://drupal.org/node/193311

JavaScript in Drupal 6 - DrupalCon 2008

March 5, 2008 I'll be giving a presentation on two of the most exciting new JavaScript features in Drupal 6. You might be able to guess, on Drag and Drop and the new AHAH framework in Drupal 6. These are two features that slipped in at the last possible moment in the Drupal 6 development cycle, but I feel will be a serious player in module development in Drupal 6 contributed modules.

Drag and Drop

Drag and drop is already implemented in many places in core: the blocks page, book outlines, menu hierarchies, taxonomy terms, file uploads, and others. In the contributed modules, CCK has already implemented drag and drop for field organization and it's likely we'll see it in the final version of Views 2. I posted a screencast of the drag and drop for the blocks page a few months ago.

AHAH Framework

AHAH stands for Asynchronous HTML and HTTP. It's a close cousin of AJAX, which is the same concept of making a HTTP request in the background through javascript, then updating the page somehow with the new content from the second request. The difference between them is AHAH simply returns HTML back, then directly injects it into the page. It's a simpler and more direct method of page manipulation.