First of all, thanks to everyone who read and commented on the original post. If nothing else, I got some (angry) tips for how to improve my Drupal experience when I do have to use it. It reminds me of this bash.org gem: Start the sentence with “Linux is gay because it can’t do XXX like Windows can”, and you get Linux geeks rushing to angrily help you. So again, thanks everyone.
That said, I haven’t changed my general opinion about Drupal, and this week I’ll be addressing some of the recurring points from the comments.
Let’s start with:
Q. What do you recommend in its place and under what circumstances?
A. If you’re building a web app with complex requirements, build from scratch.
I’m a programmer by trade so I’m usually inclined to “roll my own”. If your project is less “website” and more “web app” with many custom features, you need an architecture to work around your requirements, not the other way around. There are plenty of frameworks—Rails, Symfony, Django, to name a few—with enough plugins that you’ll get many of the same features that Drupal offers, such as user management and authentication, without sacrificing flexibility.
More importantly, rolling your own leaves you in charge of deployment procedures. My number one issue with Drupal is deployment. Storing configuration in the database makes deploying a Drupal site across multiple environments a huge PITA. There is a module dealing with this—of course—but it’s still in active development. And as far as I’m concerned, the sheer fact that this has to be dealt with through a third-party add-on is evidence of bad design.
In the original post I wrote that it’s possible to code up a custom CMS in a couple days, and I stick to this statement. No, it’s not possible to code up a Drupal replacement, i.e. a CMS that can be used for “anything”. But it’s definitely possible to code a basic custom CMS for *one* site. And custom-tailored suits, if well-sewn, are superior to off-the-rack jackets. This is hard to dispute.
Blogging? Use a blogging engine.
Use Wordpress, Typo or any of the other excellent ones out there. I happen to use WP but don’t have a particular bias.
Simple content site? Off-the-shelf CMS (including Drupal) is fine
If you’re aiming for something a tad more complex than a blog, but that is still limited to presenting content to a limited audience, and you don’t need much flexibility beyond the front end, and you don’t have complex deployment procedures, and you don’t have a team of developers working on the site, and there won’t be much post-launch development (that’s a lot of ifs) by all means use a general-purpose CMS. This can be Drupal (I said as much in the original post), but in the comments I’ve also seen people recommend these, in no particular order:
(I’ve excluded Joomla, a big ball of spaghetti fail. Wonder when the hate mail will start for that one…)
In short, I stand by my statement. Use an off-the-shelf CMS if you don’t need to do anything fancy. And if you’ve tried ay of the Drupal alternatives I mentioned above, please write in with your opinions.
12 Comments
Drupal is PHP right? You were right in the first post: It sucks.
Another useless, uninformed post by a person with NIH syndrome.
Enjoy wasting your time rewriting everything. The rest of us will enjoy Drupal, Joomla, etc.
Sure will, especially when “rewriting everything” takes less time than configuring an off-the-shelf CMS to do what you want. And no one “rewrites everything” anymore. That’s what we have plugins for.
I think ExpressionEngine is an interesting one, especially with it’s new plugin: Structure.
MODx needs a kick in the ass. Drupal FTW!
I agree with you. Drupal has so many problems with its 3rd party “non core” items being Pieces of Crap that to use many modules outside of core (which you MUST use if you are to have a decent operating site: Views, image handlers, CCK, etc) you run the increasing risk of site failure and at the very least slowness.
Drupal is more promise than anything, but it fails to deliver. Strangely, my most lucrative clients ARE Drupal clients, who constantly call me confused and needing repair or support. All my projects that are over-budget and missing deadlines are Drupal-based. Adding Drupal “experts” at $150/hr hasn’t solved any problems yet.
CMSMadeSimple.org
A CMSMadeSimple site is not nearly as full featured as Drupal + dozens of modules site, but CMSMadeSimple does work right away and is easy for clients to use.
One of the most fascinating and brilliant about CMS Made Simple is the idea of internal linking. This means that if a page called “My Page” is located in a certain part of the sitemap and it moves to another part of the sitemap and even changes name/url…all other internal pages that link to this page will AUTOMATICALLY update their link to find the destination page at its new location. Eat your heart out Drupal!
Thanks for a calm and reasoned analysis. I whole-heartedly agree.
I just did an audit for a failed project that attempted to use Drupal, am saving another Drupal project that went awry, and am trying to decide next week if I have the stomach to bailout yet another client who got sold on Drupal, configured a few things, and is now lost. All in the span of 1 week.
The majority of the failures/overruns are people trying to use the wrong tool for the job. ie. Trying to force Wordpress into a CMS, trying to force Drupal into a web app framework, using a CMS when all you have is a static site with maybe 1 or 2 changes a year, etc…
I come from a sw engineering background and like you have experience with a wide variety of tools and frameworks, plus years of experience. I pick the tool based on the requirements and am not married to any one framework, tool, or language.
BTW, if you are looking for an minimalistic, intuitive CMS that hits the sweet spot for sites without a lot of heavy CMS baggage, have a look at Radiant.
And are you confused and in need of repair?
That Drupal requires 40 or so database queries for even the most simple of pages and hundreds for more complex pages, tells you all you need to know about that pile of garbage and the people who wrote it.
Thank you for this article. I tried using drupal for one of my sites and it was a huge learning curve. The most simple activities such as removing “view” from the my account page was a nightmare and I still have not got round to doing this. Thanks for the interesting advice. I will check out those other links.
2 Trackbacks
[...] Edit: First followup posted. [...]
[...] Drupal Sucks ou “Drupal Sucks” Followup: Drupal Alternatives par Mariya [...]