Thursday, January 21, 2010

Questioned about Drupal

A friend asked me if I could train them on Drupal. As I wrote them a response (sure, but I'm no expert) I realized it was too good to leave just for a personal conversation. The rest of the reply follows.

I have set up a few Drupal sites for myself, and found that it was not at all suitable for a one person operation. Two key reasons are that:

1) Deploying a salable feature on Drupal often requires coordination between the steps of creating typed content ("nodes") and identifying and installing multiple add-on modules. Contrast this to Joomla or Wordpress, where a salable feature is most often implemented as one installable package.

For instance, when I set up a portfolio, it required an image gallery module, then an image import module, then an image module, then a taxonomy module, and I think a couple of other modules, then configuring the content nodes in the right order and with the right taxonomy type... and modules had to be installed in the "correct" order else something might not work... it is a development task that can become intractably tangled rather than a straightforward configuration process.

People have been known to destroy Drupal sites by installing modules. But developers like the complexity because they can compose solutions by tying together nodes via the behavior of the add-ons; the complexity also offers them a modicum of job security because no customer in their right mind would want to monkey around with the content nodes.

2) Security updates to the Drupal core are supposed to be installed in the following way: the site add-ons are uninstalled, the patch applied, then add-ons reinstalled and reconfigured again. Drupal reminds me it has a security update needed once every month or so. This is hideously infeasible without a fully automated configuration process to recreate the salable features and content I've deployed, which is not in the core.

Getting to a scripted, repeatable process requires more add-ons and procedures, and I have not yet found the time or motivation to put that together. I know others claim to have no problems, but I often find people are punting, not counting their true costs, or are doing risky things that aught not to be done. I want things to be predictable and reproducible, and safe for the client (me). Lacking that I felt Drupal presented too much overhead for me to maintain for my own site.

I also thought that Drupal's templating system lent itself toward uglier sites.

That isn't to say I think Drupal is horrible. It has an elegant internal structure compared to Joomla. I just don't think the developers care about making pre-packaged installable solutions, in the way that Joomla developers obviously do. That's why there is an aftermarket for Joomla add-ons and not for Drupal. It isn't because, as they say "there is a strong 'give back to the project'" mentality ... lots of Joomla developers release free stuff too... but few people want to buy two axles, an engine, a windshield, etc etc ad nauseum, when they are in the market for a car.

No comments: