You are hereHousekeeping / Move to Drupal

Move to Drupal


By murray - Posted on 06 August 2009

It wasn't that long ago I reported that topicmap.com had moved across to WordPress as its blogging and content management platform. WordPress proved to be quite an easy system to set up and configure with lots of great themes and plugins. I was pretty happy with the way things turned out, however, was less less than enthused with some of the organisational aspects of the site. The use of taxonomy and categories could only get you so far, providing for the application of facets to posts. However, if you wanted to go any further than this then you were out of luck.

Specifically I wanted to be able to:

  • define my own content types
  • relate content with different relationship types
  • filter content by facets
  • get exposure to the semantic web.

I did consider writing some plugins for WordPress to provide some of the functionality list above but to be honest the effort would largely have been in vain. There is no point in fighting the limitations of a system when other systems provided this functionality out of the box. After a bit of research I discovered that Drupal was taking the semantic web seriously and that it also provided all of the building blocks I was after to do what I wanted. I also noted with interest that a couple of other influential sem web folks were making the switch as well.

So I decided to make the move myself and convert topicmap.com to Drupal. Using the basic functionality of Drupal with a few other contributed modules I have been able to achieve all of the goals outlined above. It took a bit of experimentation but in the end I got there. The site has been improved with the following features:

  • new content types: conference, event, resource, tool, person, organization
  • new relationships: author, editor, publisher, subject, etc
  • faceted filtering of tools and resources
  • addition of a calendar

I am particularly happy with the ability to filter by multiple facets. It is nice to see immediate payback for using out of the box features. The really hard slog was in upgrading all of my content to fit into the improved site structure. Hopefully this will be the last time I have to groom each and every piece of content on the site :/ Managing content is a very time consuming process.

A couple of things haven't made it across in the move. Firstly, the Simile timeline of all of the content has been removed for now. Yes, it is possible to do this in Drupal - the Exhibit module is able to consume JSON created by a view and then output it using the familiar Exhibit formats, including a timeline. Maybe one day I will get around to adding this functionality back in. The Exhibit module is very attractive and one of the main reasons I moved across to Drupal - it allows the average Joe to do some pretty amazing stuff. I look forward to playing around with it some more. Secondly, the XTM feed is also missing in the new site. I don't think that anyone was using the feed anyway so this isn't a big deal.

So if you are considering CMSs I recommend taking a look at Drupal. The combination of the Content Construction Kit (CCK) and Views is very powerful and allows you to achieve most of what you want to do very easily. In a sense Drupal is more of a framework than a CMS and can be compared to projects such as ROR, Pylons, TurboGears etc. It is very heavy compared to these (bootstrapping Drupal is relatively slow) but it does provide the same basic services: URL routing and templating. It doesn't come with an ORM providing just a thin DB wrapper, however, you may not need an ORM though, given the flexibility of content types. On the upside, it does provide a whole bunch of other things which you will most probably need for content management: content types, taxonomy, permissions, caching, forms, search, modular extendability, SEO, etc. You get all this for free which is a massive win. Customising is then a matter of coming to grips wth the API, something I'm yet to do :)

Update: fast forward to February 2011. I've spent the last year or so tooling around with Drupal and not updating this site. Sincere apologies. The site has just been moved from dodgy shared hosting to a VPS at Linode. I've moved the search feature over to Solr so you now get facetted search goodness. A CDN has been added just for fun. Page level caching has been added too. I'm not really expecting any Slashdottings or anything :) but nice to have. Finally the site is scoring 98/100 in YSlow. I don't think I can get it any better than that. Hmmm... how about I start adding some content now :)

Trackback URL for this post:

http://topicmap.com/trackback/821

How long did you took to transfer from Wordpress to Drupal? Is it an easy task to do it? I have several websites which I've been thinking to convert to Drupal but I don't have any experience with it. For your information, I'm a complete beginner.

__
Pat
MMA Pound for Pound

murray's picture

Hi Pat.

Converting a WordPress site to Drupal is not a painless process. How much pain you go through will mostly depend what extra do-dads you want to add to the Drupal site once you have it converted. There are conversion tools out there which can take some XML exported from WordPress and suck that into Drupal. They do a reasonable job as far as getting basic posts, pages and perhaps taxonomies across. Give it a try and see how it works for you. If you WP site is simple then you might be pleasantly surprised.

Things were a bit nasty for me because I wanted to upgrade the structure of the site during the move. Firstly, the Tags in WordPress needed to have the relationship made explicit - Node References in Druapl speak. Secondly, I also wanted to create a number of different content types in Drupal: Person, Event, Exhibit, Organization, etc. These two requirements meant that I basically had to go through each and every resource and groom them up to the required level. You have to love your data to do that because it is quite repetitive work :) The UI in Drupal is not as fast as WP as it isn't possible to edit bulk content as easily. It really is something you need to do a page at a time. So, if you want to do something like this then the pain experienced is going to be proportional to the amount of content you have.

Moving across to Drupal requires patience and attention to detail on the administrative side of things. You need to install more modules, configure more stuff and be more rigorous in the updating of the modules. WP has this side of the game sorted. Things will be better in Drupal 7 though. With the admin hassles of Drupal comes advantages in flexibility and functionality. Make the move if you need that flexibility and functionality.

I wouldn't let your beginner status put you off - it's the only way we learn - trying new stuff. Good luck with it.

cheers

Murray