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.
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.


4 Comments
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.
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.
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.
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.