The CMC and CMF landscape
‘Drupal considered dangerous’ has been echoing trough the RSS feeds for the last days. More often then not, the word Ruby has been mentioned. To kill some FUD before it is even spread, I wrote a short intro on what Ruby and Ruby on Rails are, and how they stand newt to Drupal.
But there is more. Sure, Drupal can be considered dangerous, so should Perl, and Java be, and the same can be said about Wordpress, phpBB etceteras.
To state the obvious: For every problem there is a perfect solution. And not the other way around: For every perfect solution there is a problem. What I am saying is: Don’t consider Drupal the perfect solution for each problem. Don’t think That Ruby on Rails equals forty two.
To illustrate that, I put several solutions for your website in a diagram. This diagram is valid for most, but certainly not all website-development-projects; complete websites, not small improvements to existing sites. On the y-axis we see the amount of effort (development Time, development budget) needed to get a website up. On the x-axis we see the amount of flexibility we want to have. Every “solution” has an area in which it can be deployed, this is marked by an ellipse around the logo of the solution.

Some examples might clarify this a bit better: Take a simple blog: wordpress is all ready-to-go for blogging. Your flexibility, however, is rather limited to that blogging: you won’t get the flexibility to run forums off wordpress. phpBB sits in the same ellipse: Its good to run bulletinboards, but its near impossible to use for your brochure site.
On the very far end of the spectrum, we see the ‘raw’ languages: They give you all the freedom you’l ever need and want, but it comes at a cost of effort: you’ll be on your own, and need to do it all by yourself. Ruby on Rails and Drupal sit in the middle, both have their own area and both overlap a little.
I’ll also need to stress what this does not show: If you want to stretch, e.g. Drupal, beyond the grey ellipse, the required effort (costs!) will shoot up: using Drupal for something it is not good at, is considered dangerous. No-one should even think of running a brochure site on phpBB, for a client with very specific design wishes. No-one with a bit of sense should consider building a bells-and-wistles-weblog in Perl, when the budget is limited.
| Attachment | Size |
|---|---|
| cmf_land.svg.svgz | 4.72 KB |
| cmf_land.png | 74.7 KB |

graph
that’s a mighty nice graph. only thing I’d change is to stretch drupal’s development time right to the bottom: the drupal install/basic setup time is much quicker than word-press’s, especially now with drupal 5.
it definately takes a bit of time to get something pretty working, but if you wanted a simple blog, it would be easier to set up drupal than word-press.
I knew people were not going to like Drupals position
I also got the same comment on IM by someone saying: “a nice graph, but you need to stretch Joomla a lot more towards the Flexibile side: it has many extensions and bots and all that”.
which is true. But. Jommla! bots are by far not as powerful as Drupal modules.
Drupal modules range from ‘Suck’ to ‘Great’. Drupal modules will, most of the time not work together with other modules. Drupal will, most of the time not exactly do what you want — exactly. Drupal needs quite some configuration, quite some reading up docs, you’ll need to hang in the forums, read code, read scattered out howtos etceteras.
No, Drupal is far less fast+easy to deploy as wordpress. 5.0 will change this only for the base install a little, but it is a) not yet released, and b) only handling core install. And since core does almost nothing (good enough), every site out there features at least one module. Now that’s where the Real Time goes.
Additional thought:
Someone asked me why I ‘bordered the flexibility of Drupal on both sides’. What I tried to tell there, is the following:
Drupal comes with certain flexibility, that is the centre of the ellipse. There are modules, APIS, themes, hooks etceteras that allow you to increase flexibility. And there are those that allow you to decrease it.
Say, I have a site for a publication team, with users sending in ideas, editors writing stories from that, and final-editors approving and checking the stories. For each group, I need to make their work as inflexible as possible: showing an editor a huge form with checkboxes, collapses etc, but having to tell her to ‘never ever touch that button, you will break the site’ is bad. Yet Drupals permission system is, by far, not finegrained enough to easily achieve such things: Drupal has a minimum in flexibilty too
Same, obviously goes for Rails (though it can be made far less flexible).