You are hereHousekeeping / Move to Drupal
Move to Drupal
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 :)