Why Drupal?

Printer-friendly versionPrinter-friendly version

Much has been written already about why to use Drupal, and a little about why not to:

Here are my own two cents.  I taught myself the PHP programming language during slow times at work in 2002-04, and used it to build some database front-ends.  In 2005, I wrote my own content-management system (CMS) from scratch, without having researched the fact that there were already such programs available.  Then I was hired by PSDUUA, and they wanted me to use PmWiki, so for all of 2006-07 I was using PmWiki almost exclusively -- whenever a client wanted a site, I gave them a wiki.  It's a very solid CMS and a powerful programming platform, as far as it goes, and I could teach anyone to use it in under an hour.  I wrote six modules (called "recipes") and contributed them to the project.

The trouble with PmWiki was, clients kept outgrowing it.  They wanted features like blogs and forums and media galleries and shopping carts that PmWiki is not really designed for and doesn't do very well.  The developer community behind PmWiki, while fairly active, is small (maybe a hundred programmers), so if someone drops the ball on a particular recipe, no one may ever pick it up again.  Up until this month (January 2009) the core PmWiki program itself depended on one person, who was unavailable for most of 2007 and 2008.  And I can't really criticize, because I myself became unavailable in 2008 and stopped maintaining the recipes I'd contributed.  In any case, by the end of 2007 I was feeling disenchantd with PmWiki, and I'd heard great things about Drupal, and all I needed was an excuse to learn it.

In 2008 I worked for Smartphone & Pocket PC magazine, and they paid me to learn Drupal and sent me to DrupalCon.  It was just the opportunity I was looking for.  DrupalCon was a blast and just confirmed my decision to devote myself to Drupal: it's a going concern.  There are thousands of programmers around the world working to make Drupal and its modules better every day.  That's more programmers than work on Microsoft Office, I believe.  What that means is that any security problems are fixed within hours, and whatever new trendy features a client may want are usually available before they ask.

There are disadvantages, of course. 

  • Drupal is very resource-intensive and needs a Web hosting company that is tuned to its needs, or else it will run very slowly. 
  • The learning curve is steep for new users, and the administration screens are intimidating.  (Usability is a top priority for Drupal 7, due later this year.)
  • As a database front-end, its data model is much more complex than anything you might develop for a specific purpose (because it's designed for general purpose), which means that if you want to get data in or out you had better use Drupal's functions instead of working directly with the database.

On the whole, though, in my opinion Drupal is a good foundation for any new Web site, because even if the site doesn't need it now, it is likely to later.  It's better to start with a strong foundation than rebuild later.  And since I'm now proficient with Drupal, I can install and configure it in the same amount of time as I formerly took to install and configure PmWiki, or build static HTML pages, or write PHP code.

OK, but why not Joomla! or Wordpress?  Drupal is currently the 3rd most popular open-source CMS, after these two behemouths.  Why am I championing the (relative) underdog?  Well, partly because I have so much invested in it already.  But also because, after seeing the community at work at DrupalCon 2008, and grasping where the project is headed, I fully expect Drupal 7 (due later this year) to surpass all other CMSes in capabilities and user-friendliness, and then in popularity.  The easiest way to prepare a site for Drupal 7 now is to embrace Drupal 6.