Developing Themes: Drupal Compared With WordPress, First Impressions

I love WordPress, let me get that out of the way at the beginning. But Drupal is really powerful. And terribly exciting—you can do so much with it! But I only like Drupal. Bit of a difference.

I’ll let that serve as introduction to letting you know that I have two projects that will require Drupal as a CMS and I don’t think that WordPress will cut it. WordPress, like I’ve said before, makes a great little CMS. But it’s not for everything. One project is a site for a complex and growing organization that will need finely grained user permissions and the other, a hobby site, is something like a Digg-clone for rating and sorting user-generated content. Sort of the standard “you need Drupal” projects.

Anyway, Drupal 6 is coming out (It’s available as a Release Candidate now and expected to be finished soon) so I downloaded it to take it for a spin. My first impressions of developing a theme for it may give you an idea of why I only like it and not love it (but don’t get me wrong, I really do like it).

Drupal has a terrific Module (modules are just like plugins) called the Devel Module. It’s essentially Firebug for Drupal but instead of what’s going on in the DOM it shows you what Drupal functions can be overridden in your theme—which is a lot. It’s insanely cool and really opens Drupal for the newcomer trying to bend a theme to their will.

When I try to install it, however, I get the dreaded white-screen of death. Not good. I’m using Mamp and I’ve upped the memory in PHP.ini (never mind that I shouldn’t even have to know this) and it still won’t work (fixed: I turned off the Zend Optimizer). Now I know I’m using a beta module for beta software but if Drupal wants to attract designers, they really should be getting code-clueless designers installing Drupal on their Macs and watching how they break it. It’ll help the project and, you know, I might find out how to get that Devel module working—I really want to use it!

The Zen theme, Lullabot’s starter theme—what they call the ultimate starting theme for Drupal—is terrific. It’s there for guys like me who don’t know what they’re doing and want to get going fast. And although I won’t be using it except to study (I want to start from scratch, for various reasons) I love that it no longer tries to look like anything except, maybe, a wire-framing theme. And I love the over-documentation in it. As the Sandbox theme moves into the WordPress core I’d like to see it model the documentation in this theme, for the core version that is. If it’s there for developers, document it for developers.

But, while the documentation is great, the markup for Zen just can’t compare to Sandbox. Have a look at the source code.

Sandbox Theme compared to the Zen Theme

I’m not looking to disparage anyone’s work but, when it comes to first impressions, the Sandbox theme is a bit neater and surprisingly (given it’s reputation in the WordPress community) far less intimidating.

Starting a Zen sub-theme is pretty easy, though—overriding the Zen styles is another matter—the instructions are very clear— but it surprises me that it’s not a scripted process. I mean, that there’s no script in the Zen package that automates the initial production of a sub-theme. Not that I’m saying there should be, just that it surprises me, after doing it, that there isn’t one.

But making a theme from scratch is incredibly easy. Drupal requires one file with a few lines to get started, a .INFO file that really only needs a name for your theme. The required minimum code is stored in the Template Engine. A theme’s template files are just overriding it. The template files are easy to produce and just like WordPress there’s a lot of well-coded examples (although there’s far too many examples, still included in the core, using tables for layout. It’s 2008, Drupal!). That’s a cool idea.

One last thing, Don’t believe people when they say Drupal is too complex to learn. Whether you’re using Drupal or WordPress or building static sites, nothing is too complex for you to learn. Nothing. Those people think you’re dumb. You’re not.

… although Nuclear Physics is kind of hard. Especially if you’re trying to use it as a blogging platform. I think it’s the quantum uncertainty around draft vs. published that really hangs everyone up there.

13 thoughts on “Developing Themes: Drupal Compared With WordPress, First Impressions”

  1. Thanks for the write-up, Ian. We’re getting ready to use Drupal at work for some things and this has been helpful.

    If you’re looking for e-commerce to go along with Drupal I would check out Ubercart. I’m friends with one of the developers, and they have a lot of momentum right now.

  2. I am looking to use UberCart in the one project. In fact, I was just showing the project to someone yesterday (when I mistakenly told them it was Google Checkout-ready—just a matter of time for that, I’m sure).

    If you’re looking for a guide to Drupal 6 Theming, David, check this out.

  3. I remember back in the day making a theme for Drupal, it was retarded easy. I love the fact that all you have to do is upload a .zip to install a theme. So great.

    Aside from that, I tried using drupal for my main CMS, but my only problem was the back-end isn’t user friendly. There’s a butt load of options and menus and submenus I had to explain basic task to my clients.

    Working with wordpress is a lot easier, since it’s sort of a baby project. It’s not as developed as an entire CMS so the learning curve isn’t as hard.

  4. No doubt there. WordPress, as is, is incredibly easy to use (and I can’t wait to see what Happy Cog has done to make it easier). Once it’s installed, it’s not hard at all to figure out how to get going.

  5. “I think it’s the quantum uncertainty around draft vs. published that really hangs everyone up there.”

    LOL! I love it.

  6. Ian,
    Saw your tweet the other day re: drupal requiring a different mindset for theming – glad to see some elaboration because it got me curious. I’m kind of hoping I can stay with WordPress to build my painting site (studio, not house), but wondering whether I need a straight-up CMS. Absolute props for ThemeShaper, btw. Strongly considering ditching Thesis for Theseus. Or maybe just Thematic. Anyway, I’m with you on Death to get_sidebar.

  7. Ian –

    Interesting post. I’ve built a couple of sites in Drupal (5.xx) and a couple in WordPress, and would be interested to hear a followup on your experiences with the two projects. I’m a designer and have found WP to be much easier to work with given my coding skill level, and much much easier for my clients to work with the Admin side of things.

    Thanks for the great contribution of Thematic!

    Best – Bob

  8. I really like this post. Great write up for both! I’m still learning a lot with WordPress, having cut my teeth on Joomla and, to a lesser degree Drupal, I can say that WordPress is a very elegant blogging solution and, yeah, I can see its use as a cms, but it’s certainly not meant to address that solution space.

  9. Hey Ian,
    Thanks for the tip.

    I recently moved from only developing in Joomla, to using WP for small sites and Drupal for anything else. I think it’s important for developers to be flexible in a few different CMS’s , so I can totally related to your ‘feelings’ towards both WP and Drupal.


  10. I have to admit that the relative complexity of Drupal has pushed me toward WordPress.
    But the other important reason to go with WP is continuity.

    Drupal is a coder’s experiment — each new version is created anew in pursuit of some Platonic ideal of the database — core tables change from version to version. Therefore, upgrading your Drupal site to the latest version becomes a major data-migration project. WordPress builds upon a core of 10 database tables. This makes upgrading to newer versions of WordPress relatively painless.

    Perhaps someone in the Drupal community has built a module that alleviates the pain of upgrading, but I am unaware of it.

  11. I’m more of a front end designer type who has used both drupal and wp along with my coder/programmer friend to build sites. I can do a wordpress site almost entirely on my own, I definitely need his help when I’m using Drupal.
    Thanks for discussing the two commonly used open source cms’s – it opened my eyes for sure.

  12. This is the sort of thing i’m talking about with Drupal. Sure the learning curve is steep at times but its power is amazing and i’ve never got to the “Oh you just can’t do that” stage at all. Its more of a “Now whats the best way to do that” implementation.

    I think Drupal gets bad press sometimes from new members (myself included in that statement) and i just wanted the people that work hard on the system, in whatever format they do to help, to know that the positives far outweight the negatives and efforts are appreciated.

Comments are closed.