Drupal: Is Flexibility Mistaken for Better?
When a new article gets posted online and shared on Twitter, explaining how WordPress is a simpler content management system to use, Drupal users generally tend to come out of the closet to defend their CMS of choice and try to justify some way to bash WordPress back. I just wanted to clear a few things up. I like facts, lets use some of those.
-
Drupal is a CMS.
Yes. Drupal is a CMS, as well as a framework. Although I wouldn’t really even consider it much of a framework because the API changes dramatically every 6 months.
-
Drupal is flexible
Yeah, sure, Drupal is very flexible. I’m not denying the fact that Drupal is a great platform to do a lot of cool stuff on – such as Open Atrium. But the fact is, that people are more concerned with being able to get a website up and start publishing their content instead of having worry about taking 4 hours to figure out how to put “the box on the left”.
-
Most new websites are made with WordPress
Why? It’s not hard to figure out. It’s pretty easy to figure out actually. WordPress is easier than Drupal. In the original post that I made, I never said that Drupal was impossible to figure out, I just said that the complexity of WordPress was a lot more simpler than Drupal.
-
Drupal claims “without a line of code”
My main focus on the article regarding WordPress vs. Drupal was to state that WordPress was simpler for the common user. (You know, those who typically have a life outside of learning how to write code for complex API’s and just want a website to get some content online). The purpose was to prove the whole “build a website without typing a line of code” theory wrong. I’m sure open atrium wasn’t built in a WYSIWYG editor, wouldn’t you agree?
-
Flexibility can be achieved with WordPress, just as it can with Drupal.
As stated above, Drupal has great flexibility – but denying the fact that WordPress has the ability to be as flexible wouldn’t be accurate. As stated in the previous article, Drupal has 6,000 modules. Of those 6,000, how many are kept maintained? Of those that are kept maintained, how long will they be maintained and will they continue to be developed when the next version of Drupal comes out?
Also, eventhough WordPress and Drupal are both CMS’s, it’s kinda like comparing apples to oranges. I, personally, would not use Drupal for a blog – because I would choose WordPress. I would not use Drupal for eCommerce – because I would choose Magento. I would not use Drupal for a forum – because I would use vBulletin. So no, Drupal and WordPress technically aren’t the same things.
A lot of people compare Drupal to Lego building blocks. You start with the foundation and build on top of it. I have an analogy (at least for a large part of newer people to Drupal) of my own. Drupal is like a Rubik cube. Sure, some people know how to solve it, but for those who have never messed with it are clueless – at least for development anyways. Contrib means having to rely on other people to keep their stuff up to date in order to keep your website up to date as well. If I’m building a $10,000+ project for a client, I’d rather have more than “We can fix that problem whenever the module developer updates their module” to tell my customer.
Anyways, I’m rambling. Bottom line… The flexibility can be arguable between Drupal and WordPress – that’s not my argument, I don’t care to argue about it, I don’t have time to argue about it. To each their own. As far as simplicity goes, it’s WordPress by far. Don’t get me wrong, Drupal is a great project. I would love to see Drupal grow as a community and a product, but the complexity of the API is only going to discourage new users from using it – I’ve seen it happen on countless occasions.






I love WordPress, and if you read my not-very-often updated blog you’ll see that I haven’t got a bad word to say about it. Which is why I tweeted about your article – I just get annoyed when people write blogs with sweeping generalisations based on very little facts, and facts which are there are completely incorrect.
First, I’m not coming ‘out of the closet’… my tweet about your blog was one of the 12,000 tweets I’ve made to my 3,000-odd followers, and you’ll find quite a few of them are pointing to blogs like yours, simply to point out that by trying to compare the two systems you’re doing more harm than good IMHO.
I *know* WordPress is easier out-of-the-box to set up a blog with and put some shiny widgety-things to spruce up the columns and connect with your facebook friends or whatever – I never said it wasn’t. But you said in your original blog “Drupal isn’t as easy as it claims to be” – well, that’s a matter of opinion. For the work I do, it makes incredibly complex things very easy indeed. It also makes some easy things incredibly hard, which is where a lot of the issues are, but for me, the fact I can use and extend something like OpenAtrium gives me the power of Enterprise-level CMS/web app platforms at a zero cost – a very powerful thing indeed.
So let’s look at some of your observations:
- “Drupal is a CMS, as well as a framework. I wouldn’t really even consider it much of a framework because the API changes dramatically every 6 months”
Really? Drupal 7 came out earlier this year after 3 years of development and there were improvements to the API which meant you’d need to change some things in Drupal 6 modules to get them to work.
There’s a coder upgrade module which will even tell you what things you need to change – for example whereas a display block was defined in one function previously it has now, quite rightly, been split up into block_view, block_save, etc.
If you didn’t improve on APIs over the years then you’d end up with old architecture, then you’d no doubt be saying Drupal was old and out-of-touch. Drupal 7 integrates RDF for example, which is fantastic so we can bootstrap the semantic web.
- “But the fact is, that people are more concerned with being able to get a website up and start publishing their content instead of having worry about taking 4 hours to figure out how to put “the box on the left”
Which people? Certainly a sub-section of users, but not all “people”.
This is also where Drupal distributions and services come in. Take http://drupalgardens.com where even my granny could set up a site in just a few seconds, if she weren’t 6 feet under.
Like Linux, you can package up Drupal in distributions and make it specific to certain people’s needs. What you’re looking at is Drupal out-of-the-box, a bit like saying “ooo isn’t that Linux kernel a bit complicated”. Well, yes it is, but it’s also very flippin useful.
You have Linux distributions specific for music and arts, and ones more specific to corporate use, etc. Same with Drupal, you can make a distro for “people who want to get a blog up and running in 4 seconds” if you want.
- “Most new websites are made with WordPress”
It’s not how many there are, it’s what you do with them that counts
- Drupal claims “without a line of code”
Again, I refer you to a service like http://drupalgardens.com – you can set up a site in seconds there, no lines of code. Then you can download it and host yourself and extend, if you like.
- “Drupal has 6,000 modules”
Again you’re factually incorrect and can’t even be bothered to check the http://drupal.org homepage when you write a blog to research the subject you’re writing about. If you had have, you would have seen it has, currently, 11,253 modules. So only a little out of touch there
You then go on to say “how many are kept maintained? Of those that are kept maintained, how long will they be maintained and will they continue to be developed when the next version of Drupal comes out?”. This is just plain FUD. It’s Free/Libre Open Source Software, you could say that about anything, like, erm, WordPress.
I’m sure many won’t be maintained, many more will. The point is, the useful ones get used more and thus maintained more. You’re talking as if it’s a commercial product and it’s someone’s responsibility to maintain those modules. What is the point here? I don’t see any difference to WordPress in this respect.
“I would not use Drupal for”… ecommerce… forums… etc,
It’s silly to use many different systems to provide one solution. If you want to start doing anything interesting (say for example giving points for posting on forums and those points mean discounts on products) then it’s going to be very hard and time consuming to try and do this with three different systems. Drupal’s integrated approach makes things like this simple.
My main point to all this is why write blog posts like you do when you could just be saying how wonderful your system is, instead of writing about something you obviously have no clue about and are seemingly unwilling to even do the slightest bit of research about?
Why not write about how good the systems you love are?
I too don’t have time to argue, but seen as you have time to write two blog posts about it and reply to my tweet, I felt it only right of me to reply. Have a nice day!
You have some valid points.
1) I do appreciate and love the fact that Drupal has different distributions – whereas WordPress does not.
2) If I could ever figure Drupal out – it would be a lot easier to do more complex things – the problem is figuring it out.
When I was referring to the API’s being changed “every 6 months” I was referring more to Drupal 8 being soon to release (where D7 was released in Janurary)
3) You’re right, there are more than 6,000 modules – this was a number that stuck with me whenever I was watching Drupal 6 videos (which didn’t help me any with D7)
4) The fact that the modules/plugins may not be updated on WP is a good point too – although I only use a handful of WP plugins. On the two Drupal sites that I’ve created I used mostly the same modules on both – I’m assuming that this would be the case for most sites. The good ones that people will need will always be developed.
Drupal seems like a great system. I’ve used it and would love to figure out the API and learn how to actually USE it. It’s not very flexible when you don’t know how to use it, but I’m sure for those who actually know how to take full advantage of it, it’s a super great too.
5) Using one tool for the multiple things… Yeah drupal can come in handy there. You could have a website that had a forum as well as a blog, as well as ABC… as well as XYZ… as well as LMNOP.. (you get the point). I was referring to the scenario of “if I am going to have a website that is going to be nothing more than a forum… I would use vB. or “if i’m going to have a website that is only going to have a catalog of 8,000 products I would use Magento.. but yeah, drupal would be super efficient for handling multiple tasks on the same platform.
I do love Drupal, as well as I love wordpress. They’ve both helped me along the way and made me a bit of money. I only wish that Drupal was easier to understand or Drupal would elaborate on api.drupal.org.
My only fear is for Drupal that as newer versions come out, they are going to lose developers because of the complexity…
For example, I fought with drupal (the first time I used it) to create a search box on both page–front.tpl.php and page.tpl.php.
When I did the research, people said that…
< ?php print $search_box; ?>
would work – but this was for Drupal 6. In Drupal 7 the API changes actually required this:
< ?php print render($page['searchfront']);?> on page–front as well as:
function geothermal_page_alter(&$page) {
$page['searchfront']['search_form_two'] = $page['right']['search_form'];
}
in template.php in order to get the block duplicated.
The API functions are mainly just confusing to me and learning it will take a bit of time, but Drupal is a great platform for development, and I’ll continue to use it – just as I’ll continue to use wordpress, magento, vb…etc
You should update your blog more often, you have a lot of information to contribute.
Thanks for your considered reply! Just a couple of points – we’re already past 6 months since Drupal 7 was released and much of Drupal 8 is still in discussion and nowhere near launch! They are trying to make it a bit better than the 6->7 gap though because that just went on too long so they’re aiming at 18 months, so mid next year if on target…
The issue with the render() function is actually a really Good Thing in Drupal 7 – in Drupal 6 people were hooking in at all sorts of places to change stuff, so in Drupal 7 the data is collated and only just at the last minute rendered using the render() function which makes it a hell of a lot easier to change stuff where you want.
You’re right that Drupal isn’t the easiest thing in the world, but as mentioned, we can make it easy for specific market segments using profiles – the Drupal core does its best to find a middle-ground between end users & site developers, which is a very hard thing. WordPress IMHO does very well on the end user side, but when it comes to developing applications it becomes much harder. I’d still happily use it for a blog for a client though!
Well Steve I appreciate you touching on all the points you did because it saved me a lot of time. Beings he is involved with SEO it somewhat appears he’s only posting content that might get him noticed in the search engines, or throughout the communities of both platforms.
WordPress is a blog platform that people are trying to turn into a CMS, and Drupal is a CMS the is also a blog platform and is used in both instances and performs very well. I can’t say anything bad about wordpress because I don’t implement it for ANY client project and it’s because I decided to invest my time learning something that was a better choice for all things IMO.
To each is own when it comes to which platform they choose to implement their products and services so no ill will toward those who choose right or left, but as mentioned you should focus more time on writing about what you know and not try to compare options when you really don’t have much knowledge of Drupal which is obvious in your post, and your comments.
Actually, Josh, this was a post regarding my experiences with Drupal. The title wasn’t “Drupal sucks”, the title was “Drupal isn’t as easy as it claims to be” – which I still believe that drupal development is not “easy” and requires more than “without a line of code”.
I agree, Drupal is a great platform, as is WordPress. I use both platforms. However, I think Drupal is designed and geared more toward experienced web developers rather than just “anyone” wanting a website. Drupal claims to be easy – They say it every year at DrupalCon. That was my main point throughout the article.
Is Drupal good? Yes. Is Drupal Flexible? Yes. Is Drupal a good solution for most websites? Yes. But… is Drupal easy and can anyone pick up on it as quick as they can wordpress? No.
This website has nothing to do with getting ranked in search engines. This is a local business, I do not do web work for anyone out of my local area because it’s easier for me that way and I have too much work here to expand to everywhere else without hiring more people. I do enjoy blogging about my experiences though – if you don’t agree with my opinions then that’s fine, no one has to visit or read it, but my experiences and opinions are mine. If you’re are different then those are yours to discuss.
I actually agree with this article. Drupal has always been a solid system but in recent years I see it slipping. I use wordpress and drupal and drupal is hard as hell to figure out when you first start out. i’ve been to drupalcon a couple of times as well and they do promote the fact that drupal is suppose to be easy… but it isn’t simple like they make it out to be. I think wordpress is more popular mostly because it’s easier.. which was what the article was talking about anyways