I have been using Drupal for projects here and there for 5 years. Really, once I found Drupal I haven’t looked back… much. At the time I was using Mambo, and there was no easy way (or, at least I didn’t know how) to override modules to make completely table-less layouts. This coupling of markup and functionality drove me to look elsewhere. I love Wordpress, and would recommend it for anyone wanting to set up a blog. However, if you are need a customizable platform for handling different kinds of content, I found it lacking in a handful of places. Some of these issues have been addressed, some are being addressed. At the time, Drupal had what I needed. Now, I am converted.
“All content management systems suck,
Drupal just happens to suck less.”
— Boris Mann at DrupalCON Amsterdam, August 2005
When I found Drupal I was unaware of web development frameworks. In hindsight, when I think of what I was looking for in a CMS, I realize I was looking for a framework. Drupal fit the bill pretty well. In general, I find Drupal to be a very extensible solution that allows me to have semantically acceptable markup. The down side: although most all of the presentation can be overridden and customized as much as you like, most of Drupal’s default markup is pretty cludgy. The justification for the divitis is… it is easier for non fronted developers to skin a site by ignoring copious superfluous hooks than to figure out how to add a missing hook. I strongly disagree with this philosophy. In fact, this is probably one of the bigger reasons that drives me to consider alternatives.
One thing I would like to highlight is the fact that I use Drupal to make customized content management systems. I use Drupal because it’s community has solved a majority of the problems associated with this kind of goal. If about to embark on a totally new and different kind of web app, I would probably not use Drupal as I doubt it would continue to be the path of least resistance. That said, CCK + Views + Taxonomy = FTW! I am not a developer, I don’t even play one on a podcast, but with 2 contrib modules and a couple of overridden .tpl.phps Drupal is ready to handle most any task I can throw at it.