Migrated to Drupal 7!

After nearly 3 years of development, Drupal 7 is almost ready. Release client 2 was released yesterday, so it looked like a good idea to get our hands dirty and migrate our old blog (wordpress 2.x!) to Drupal 7. 

Migrating Wordpress to Drupal (6) can be easily done with the wordpress import module, as long as your needs are simple and you don't need to migrate registered users for example. In our case we mainly wanted to migrate the content, and we did a port to Drupal 6 and then 7 RC2, resulting in what you see before you: our first Drupal 7 site.

Having it first in Drupal 6 was also a good test to see how the upgrade path looks like, which went pretty smooth except for some small glitches. One of them was the migration of taxonomy terms, which looked to be fine at first but I wasn't able to perform update #7005 because of some database errors involving duplicate entries. I think it is related to this issue.

However, I wanted to clean up the categories anyways so I decided to start with clean taxonomy tables. By the way; field are everywhere now, including using them in terms. This also changed the database schema and you will see a lot of field_ tables.

Bartik is the new default theme, and it's supposed to be a good starter theme too. Besides it look pretty nice, so we decided to use it as a base, just changing some small things like the header and column widths. No problems there.

Now the fun started: checking for our usual modules to see if they are Drupal 7 ready. Here is a list of modules we checked out and have a Drupal 7 release, in alphabetical order:

  • addtoany
  • admin
  • admin_menu
  • codefilter
  • comment_notify
  • context
  • ctools
  • date
  • ds
  • email
  • entity
  • filefield_paths
  • google_analytics
  • link
  • media
  • mollom
  • nodeformcols
  • page_title
  • pathauto
  • redirect
  • relevant_content
  • rules
  • search404
  • semanticviews
  • styles
  • token
  • transliteration
  • twitter_pull
  • views
  • webform
  • wysiwyg
  • + a custom module


  • rubik
  • tao

Mind you, we only currently use about half of them, but it was good to see that most module maintainers of popular modules do have some kind of Drupal 7 version available. Though many of them are still -dev, alpha or beta, but the situation is much better then during Drupal 5 -> 6.

Personally I'm not sure if I like the new admin overlays. I'm pretty used to the old ways of doing things so I disabled them together with the new core toolbar (both modules), and quickly turned on admin_menu which is a huge time saver during development. Plus it's much faster to learn the new places some things are located in Drupal 7.

For clients, we mostly use admin + rubik (theme). I really like how Rubik looks as an admin theme in Drupal 7. It's even more polished and takes advantage of some of the new features. Definitely better then the core admin theme seven (which also looks good, but just a tad bit boring).

The block admin page still sucks, so I hoped context would have a Drupal 7 version, which it does, but it still has some bugs. I had to patch it to get custom block titles displayed for example.

Globalredirect caused some infinte loops while logged in so I had to turn that one off for now.

Path_redirect is now just called redirect. Seems to work but I couldn't see the integration with pathauto module I was used to, but maybe it does that automatically now?

Then I thought it would be fun to try I out the new media library. This module builds on the new file streamer options available in Drupal 7. It has dependencies on the new styles and entity (entities?) modules. Unfortunately, the styles module has an issue with image styles (new imagecache in core) or views (or maybe I did something wrong) which caused me not to be able to display imagecache images in node teasers. 

I also quickly wrote a quick custom module to implement a hook_block for my twitter_pull. This looks a bit different in Drupal 7: hook_block is replaced with hook_block_info and hook_block_view but works pretty much the same.

One of the usual modules we use are for metatags and especially descriptions. However, these are currently not available as there is still discussion to see if nodewords and other related modules like integrated metatags should be merged in the new metatags module.

In conclusion, Drupal 7 feels very poweful and solid and had a lot of small but very pleasant surprised along the way. D7UX payed off I would say. Sure there are still a lot of small bugs, especially in all the contrib modules, as everybody is learning their way in the new API, but things look pretty good at the horizon. It's like driving a muscle car and just feeling all the power under the hood.

Drupal distributions

Read More »


This is the company blog of
Drupal specialist Merge.nl

We are located in Breda (Netherlands) and build websites using Drupal. More about us.

Content on this blog is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Netherlands License.

Creative Commons License

Recent Comments