Tuesday, December 15, 2009...8:30 am

Which CMS? Drupal vs Expression Engine – a diary of frustration

Jump to Comments

I’ve been posting a bit about dithering between WordPress and Drupal for a web development project, and also which one to use for a student learning environment.
Fellow blogger Soilman is in a similar position – though he’s dithering between Drupal and Expression Engine for bigger, corporate sites. Here’s how he compares the two:
Drupal
Pro:

  • Out-of-the-box functionality. You really can create a video/ecommerce/whatever site FOR FREE with bolt-on modules. Amazing.

Con:

  • Horrifying theming. If you want to put your own design into Drupal, you need not only to know PHP, but to be fluent in it. I’m not kidding. After extensive dicking around, it’s become clear to me that this is a pro developer’s tool only… unless you’re happy to stick with provided themes (or bought ones) and confine yourself to playing with the CSS and tweaking image files etc.



Expression Engine
Pro:

  • You don’t need to know a syllable of PHP. Honestly. It’s amazing. You can input ANY HTML/CSS design into it; you simply break up the various divs and assign CMS tags to them… Expression Engine does the rest, creating the PHP behind the scenes for you. You can delve into it if you like but you don’t have to. It’s like Views in Drupal, but for theming. Very clever, and VERY easy.


Con:

  • Limits on functionality. Expression Engine couldn’t render a full-blown ecommerce site, for instance. You’d have to use Magento (or similar) for that. BUT for creating your basic, non-specialist site with a minimum of aggro and quite a lot of functionality and useability, it’s great. If you can afford it.

I don’t know Expression Engine – and the fact that it’s not open source puts me off.
It’s not just the money – I am actually prepared to pay real money for software – but the fact that you’re tying yourself into a proprietary system.
But Drupal has been a nightmare.
I realised that creating database queries to manage content using Drupal’s Views module is easier than programming WordPress PHP directly. You can create your own sidebar widgets, much as you would use in WordPress, and never touch code. There also seems to be more control over sidebars.
It seemed ideal – a CMS with a very flexible and powerful architecture (that is, the scaffolding that holds it all up and lets you manipulate the content in different and useful ways).
But Drupal has some serious problems – mainly in theming. As Soilman says:

One disappointment is how few themes are available. If you want it to look really bespoke, and unlike a typical Drupal site, it seems you have to get your hands dirty and design one yourself. My mate who makes websites for a living gave up in despair with theming Drupal. He tells me that unless you’re pretty much fluent in PHP and HTML, Drupal will break your heart.

Well – maybe that’s the point. In order to code web sites, maybe you do need to actually, you know, understand code. Anyway:

The good news is that apparently the commercial themes you can buy for Drupal do work (mostly) and are configured basically around Blocks so you can create database-driven pages in Views, then use the resulting content in Blocks around the various provided parts of the theme.

Which is nice – but expensive. And also undermines the control that you have over a site you develop yourself.
There are some other interesting potential solutions available that I want to explore.
Artisteer, for example, claims to be a simple visual web design tool that outputs theme code for CMS software, including Joomla, WordPress and Drupal.
And I don’t know much about Joomla. Steve Hill at Solent University uses it as a student CMS, for instance, and by all accounts it’s easier to set up and use.
But life is short. Drupal seems powerful – and is nothing if not a challenge. I’ll see how I get on with it…

Leave a Reply