How Drupal CMS stands above the rest

As a site developer, web designer or site administrator, you’ve probably had to go through the process of choosing between platforms. But maybe not recently—if you’ve been designing and developing web sites for very long, chances are you’ve already got your favorite go-to platform that you always use. And if your go-to content management system isn’t already Drupal, maybe it’s time to take another look.

The downside is, Drupal is huge. There is a steep learning curve and it can be a full-time job just looking through all the contributed modules to find exactly what you’re looking for. It is not a happy-go-lucky, “set it up right out of the box” platform.

But the upside to all of this is, Drupal is huge! There is nothing you can’t do with Drupal. Want to run a blog? Done. Want to run a blogging community? Done. Share links and photos, run classified ads, show Twitter updates and statuses, sell products, upload and share files, play movies, even manage a wiki? Done, done, done, done and done!

At the risk of sounding trite (and please forgive this slightly over-used phrase)…Drupal is as Drupal does…And Drupal does it all. So what makes Drupal stand out so much? Many things, but we’re going to focus on just the most important aspects right now..

 

Views

First… Views. I could almost just stop right here. No other platform offers your site the power and flexibility that Drupal does through Views.

For those of you not already well-versed with Views and all its glory, let me explain it to you. In a nutshell, Views allows you the chance to define how you want the content on your site to be displayed. But that’s not all. Thanks to the powers that be at the Views project, Views allows you to query your Drupal database for the content and define and solidify exactly how you would like to display the content retrieved from the query… all without having to write the SQL queries yourself. And with the even more simplified administrative interface offered by Drupal 7, building Views has now become streamlined. A basic View – say, showing a list of all the products on your site – can be set up, configured, and saved in two or three minutes.

More complicated Views will take a little longer to set up and configure—for example, maybe 15 minutes to set up a list of all your members as an exposed proximity search by zipcode.

If I never have to write another SQL query, I will die a happy web designer! Even if you love SQL, who wants to spend unnecessary time on repetitive tasks? Views helps you stay focused on the important parts of your project.

 

Custom Content Types

Next, Custom Content Types. The Content Construction Kit (CCK) has been around for, well, forever. CCK was a contributed Module for Drupal 4, 5 and 6, but now with Drupal 7 most of CCK has been added to Drupal Core.

The Content Construction Kit does, pretty much, what it says in its name—it’s a kit to help you construct various types of content. Thanks to CCK, you can have thirty different types of content and each one can be glorious and different from all the others. For example, you can have real estate listings in which there are fields to input things like square footage and the number of bedrooms. Or you can have auto listings that need a whole separate set of fields. Here’s an example of various content types in action:

It just doesn’t get much more flexible or easy than this.

 

Powerful SEO Tools

Third, Search Engine Optimization galore! It would probably take me ten articles to describe to you the top ten ways that Drupal rocks SEO…and even then I couldn’t get into any real detail or address every aspect of the power behind Drupal’s SEO capabilities.

Everyone knows about how important it is to optimize content for SEO, and add in things like keywords and meta tags. And Drupal gives you the power to do this. But Drupal goes even further by offering you full control over your URL structures, page titles, and even power over caching tools.

Plus, integration with other SEO tools such as Google Analytics is easy to do and highly configurable. Want to track your members but not your moderators? It can be done! All from within Drupal, all without manual programming… And all for free.

I have two words for this…Rock On. By radically simplifying this side of things, Drupal helps increase the value of the services you can provide to your clients – all in a pain-free way.

 

Versatile Theming System

Fourth, Drupal’s theming system is extremely versatile – and perfect no matter your level of experience.

For new users, Drupal offers a slew of free themes that are ready for you to use right out of the box. And we aren’t talking about bottom-of-the-barrel themes that will make your site look like it’s been built with a free theme. We’re talking beautiful, professional themes that will give your site a clean, professional look without much work from you at all. Check out these examples:

Changing the look of your Drupal site is as easy as uploading your theme to your server, and clicking on a link in your site’s theme administration system:

For more experienced users looking for an option somewhere between building a custom theme and using one of the available free themes, Drupal also offers a collection of starter themes that will provide you the basic building blocks—allowing you to further customize and build your theme on top:

And for you experts out there, Drupal has provided you with a thorough explanation of their theming system, including basic page templates, hooks, functions and classes.

Taxonomy and Unicorns (well, maybe)

Fifth is the magic of taxonomy. Okay, so taxonomy isn’t actually magical (it’s the science of classification)—but it might as well be. Through Drupal’s taxonomy system, you can build a seemingly limitless hierarchy of keyword-rich terms that will help you classify and categorize your content.

From there, you can even build menus, pages, and Views that center on this taxonomy. Each Vocabulary on your Drupal site can be as strict (select a term from the given list) or as free (type in a term) as you like. Powerful organization and easy management is magical, right?

 

User Management and E-Commerce

Next is the sheer power and flexibility offered by Drupal’s user management capabilities. You have absolute control over everything, including registration, member profiles, content access controls and role assignments. You can allow or restrict inter-member communications as much or as little as you like – from full-blown community sharing to simple forum discussions or messaging.

Let’s not forget e-commerce…Drupal has several options available for your e-commerce site, including the ever-popular Ubercart and, of course, the creatively-named Ecommerce.

Create and control inventory, offer shipping quotes, calculate taxes and handling fees, accept payments from any of several payment gateways…The sky is truly the limit. No need to find a third-party resource to list and sell your products; it can all be done from within your site.

 

Awesome Community

And finally, Drupal’s awesome community of developers, themers, programmers and overall support sets this content management system apart.

First, the centralized repository for Drupal modules helps ensure that the support queues and version control are handled in a more universal way and remain GPL compliant. (Don’t know what GPL compliance means? Basically, it means you won’t have lawyers breathing down your neck!) If you happen to be a developer of one of the many (many, many…many) contributed modules on Drupal, you can be assured that your module will get a high level of exposure and be thoroughly vetted by the Drupal community.

And, Drupal has been around a long time—which is a huge benefit for a number of reasons. It’s stable and it works; its longevity already proves that. But, let’s be honest: other CMS platforms can boast the same thing. But can everyone else also boast that they have never forked or branched out? The Drupal community works together: programmers work in hand with writers to bring you the documentation area, guides, and handbooks; developers of one module work together with the developers of other modules to help design better integration. And they do it in such a way that allows your online presence to continually grow and expand without ever having to hack into the core modules. And who wants to hack into the core of anything?

While we’re on the topic of community and universal handling of modules, I should note how easy it is to hand off a Drupal-based project, or get a new developer on a project up to speed. I know… as a business owner you would never have to fire your existing site developer and, likewise, as a site developer you would never leave your client. You are both mutually awesome and work together perfectly.

But, in the chance that I am wrong and you do find yourself someday in a predicament where you’re looking for someone to continue the work for a site being developed, almost anyone trained in Drupal can handle that for you without worry. There’s no need to feel like you’re stuck with a platform that no one else can learn or understand. Also, if your project takes off and you need more help, you can get a new developer going in almost no time.

 

Conclusion

In short, if you’re looking to build a simple site with anywhere from six to twelve pages that aren’t going to be updated all that frequently, then Drupal is probably over-kill. But if you’re looking to build a robust site with infinite possibilities for expansion and growth, Drupal is an absolute must.

If you’re a brand-new beginner within the world of Drupal, you may find Drupal a little harder to pick up than most other CMS platforms.

With great power and flexibility comes a steeper learning curve; unfortunately, there’s not much that can be done about that. But if you stick with it, use the support queues and forums to gain help as needed, and truly experience all that Drupal has to offer, you’ll find yourself wondering why you didn’t try Drupal earlier.

 

Do you use Drupal for your own projects? Why or why not? Let us know in the comments!

  • Anonymous

    There are a lot of these off the shelf CMS systems that often have a steep learning curve. I would suggest building your own instead. You can then bespoke it to the website/clients needs and therefore really reduce the learning curve.

    • http://twitter.com/stevieg_83 Steven Grant

      a proprietary CMS for a client is not the way forward in my view. Unless of course you are going to make it easy for the client to extract their data from your system if they want to move away. At least using something like ExpressionEngine, Drupal or WordPress guarantees access to that content/data in some sort of format either by XML or similar.

      • Anonymous

        Due to the system being bespoke it is no issue at all to make it easy for the client to extract their data. A lot of clients ask for reporting with export ability which means the data can be processed to what they need before exporting it and also exported in a format they require. Otherwise they can just connect directly to the database and export the whole thing in whatever format they require (or we do that for them).

        I would always suggest making it easy for a client to move away if they wanted and l suspect using a bespoke system would make this a lot easier.

      • http://www.millwoodonline.co.uk timmillwood

        The biggest issue you get with bespoke systems is security. Drupal has a dedicated security team and thousands of developers working on it.

      • Anonymous

        The reason they have such a large security team is because they are such a large target. If a hacker breaks into Drupal they gain access to lots of websites at once therefore making them a target.

        Hackers are hardly very likely to spend the time and effort to break into a bespoke system that runs on a much smaller number of websites as they won’t gain nearly as much for their efforts.

        Drupal is also used by some people who don’t know anything about security where as a bespoke system is built by developers who do understand it. Drupal also needs to be updated as they plug their security holes, these vulnerabilities become widely know and there are many users who don’t regularly update leaving their sites open to attack.

        The way Drupal works is also well known or easy to find out where as a bespoke CMS could work is such a variety of different ways this again will help protect against people wanting to waste time trying to hack into it.

        That being said security is of huge importance but if a bespoke CMS is built correctly there is no reason why it can’t be as secure as Drupal.

      • http://www.millwoodonline.co.uk timmillwood

        /me stops feeding the trolls.

      • Matt Vaughan

        I would argue this is not true. I’ve seen quite obscure sites using custom “CMS” solutions get hacked quite thoroughly, then hacked again after simple patches that were supposed to fix the  original problem. After a while it was apparent that deeper vulnerabilities existed throughout the system that would not be easy to fix, so the whole system was abaonded.

        There are lots of automated tools trawling the internet looking for random vulnerabilities. As has been said many times, security is very hard by its nature – that is, you can’t just anticipate one or two obvious ways the site could be vulnerable, you have to anticipate many obscure ways in various layers of the system, understand how those weaknesses could be exploited through often non-obvious means, and understand how to solidly prevent those problems, which is also usually harder than it seems (without creating more problems).

        The number of really smart developers who are truly good at this is small, and most of them also understand quite well that they’d be better off with a well-tested system, poked at by many hackers over the years and examined by many eyes (and well-covered by automated unit testing, as is the case with Drupal 7), than trying to roll their own. Furthermore, the likelihood that they’ll be given the time to “do it right” on a given project is pretty small, leading to oversights that leave the site vulnerable.

        If your app/site doesn’t have solid security, it’s pretty likely to get hacked sooner or later, at which point you will have to scramble to save all the content (hope you have good backups, that also haven’t been compromised) and put it up in a real CMS before the client disowns you. (I should note that the custom CMS’s I’ve encountered in the past were also pretty atrocious to use or modify, despite apparently quite a lot of effort on the part of the original developers. And there was typically little or no documentation.)

      • http://www.facebook.com/jessedcouch Jesse Couch

        I’m going to have to join the throng and categorically disagree with you, blmuk. Your approach is one that I’ve seen countless clients of mine brought down by – and then they come crawling to me asking me to integrate one of the larger CMS choices into their site, and sing its praises (in comparison to the ‘custom’ CMS they’d previously dealt with) when the work is done. 

        While touting a custom CMS may allow you some job security, it definitely is not the best choice from the perspective of most clients due to the following issues:
        1. EXTRA COST – this is the huge one. Most clients do not need a custom CMS at all, and can’t even begin to justify the expense.
        2. Lack of quality programmers – the collaborative environment that most of the larger CMS communities posses allows for a quality product without much room for crippling software errors. You don’t get that guarantee with a custom CMS.
        3. Lack of support – a custom CMS would be insanely difficult for a new developer to pick up, and if the client has a problem with the site, they can only call the person/people who wrote the CMS (oh look – we’ve found our way back to job security!)

        There are lots of others, but I think I’ve made my point.

      • http://www.facebook.com/lizwinfreyventura Liz Winfrey Ventura

        Me too, Jesse. Amen. There’s a reason some of the custom-written CMS end up floating to the top… they’re better! When you have a million people out there all writing their own thing and no one working together, you end up with a complete lack of teamwork and progression.

        The Drupal community is what makes it such a great CMS. If you can think of a need for a module, chances are, there’s probably one out there for it already.  If not, I’m sure you can find people who will help you write it.

        So why start from scratch when there’s already something so awesome that you can help advance?

        Also, your data extraction and reporting issue sounds like something that could easily be done via Views.  If the data you’re using comes from an external database, stick with Drupal 6 (as this functionality did not carry over to Drupal 7 and I’m not willing to go to Drupal 8, yet) and use TableWizard.  Works like a charm. Never had any security problems with it, either.

      • http://twitter.com/lquessenberry Lee Quessenberry

        I agree with you on that. Writing a CMS for one client is not a solution, especially when you can get Drupal the way you want it and box it up for a custom install on each client’s website. We have our install process down to about 2 minutes setup time. This creates our Drupal install on the server with the admin password ready to go along with all the modules we use for every site.

    • http://nosheep.org.ua Алексей Раю

      It’s like “There are many OS’es around. Build your own”. Well, if you have life to spend, why not compete with the community of developers? But in real life, those “own” CMS are just lame patched up code junks that give headache to clients.

    • http://twitter.com/just4TheALofit TheAL

      Considering how much people charge to implement a Joomla/Drupal/Wordpress site for clients when custom plug-ins or modules are needed, do I even want to ask how much an entirely custom CMS would cost from scratch? You’re basically implying making something like Drupal before even beginning work on the website itself. If the client can wait 6 months and can pay 12k, sure. You’re also suggesting a proprietary CMS made by one or several people can top an open source CMS maintained by hundreds or thousands of people. This is getting trickier the more I think about it.

      • http://twitter.com/NathanHornby Nathan Hornby

        12k for 6 months work?  Something tells me you’d be VERY surprised at how much bespoke content management solutions cost :p

        It should hardly be surprising that off-the-shelf CMS’s aren’t always perfect for clients that require efficiency and ease of use.  If the experience generated and the in-built efficiency of a bespoke CMS is strong enough you might require 1 less employee to maintain the content; that could be a cost saving of £20-£40k in it’s first year of operation – imagine if it means you require 2 less employees? Maybe even 1 less developer?

        Although off-the-shelf CMS’s have their advantages, they are better suited for limited budgets and smaller businesses, where needs are more generic and compromises can be made.  That’s not to say every big company needs a custom CMS, because they don’t – but it’s not like there isn’t a market there.

        The reason Drupal, WordPress etc. require huge communities is because they’re do-it-all solutions.  They’re masters of none.  People that build bespoke CMS’s do so because they have very specific needs and they don’t need to add an e-commerce plugin in 2 months or have the entire front-end focussed around blogging.  

  • http://twitter.com/faze47 Mark Cropper

    there’s no disputing its a powerful CMS, however WordPress has all this functionality and is a lot quicker to develop with, plus end users seem to find it more intuitive than Drupal. 

    • http://twitter.com/rogerpfaff rogerpfaff

      uhm, can you create your own content type and select it by categories, displaying only some fields in a sortable table view from the UI?

      • http://ixcreative.com/ Evan Jacobs

        Yup. This has been available since 2.9 I think.

      • http://twitter.com/rogerpfaff rogerpfaff

        so far, when i looked for these functions I saw only tutorials which presented some php code blocks   to activate those things.

      • Anonymous

        Yes, you can. Custom post types, custom taxonomies and custom fields.

    • Matt Vaughan

      This is true for simple sites, but WordPress still has some limits compared to Drupal. Also, somewhat ironically, most customizations to WordPress actually require a lot more PHP coding compared to doing the same thing in Drupal, which often requires NONE.

    • http://www.facebook.com/lizwinfreyventura Liz Winfrey Ventura

      I met one of the core coders of WordPress at a Drupal conference a few years back… they’re trying to make WordPress more Drupal-like… ;)

    • http://twitter.com/druggedoncolor Kristi Beisecker

      there’s some customization learning curve with wordpress tho

  • http://www.facebook.com/thomasstock Thomas Stock

    The Open Source CMS Umbraco also offer views and custom content types. Certainly worth a look.

    • Clain Dsilva

      Only the Umbraco CMS is free..   but the programming language .Net Still remains as a Paid Programming language package. 

    • http://twitter.com/lquessenberry Lee Quessenberry

      I’ve seen Umbraco. I was impressed with it, but unfamiliar with Windows hosting. I prefer PHP and MySQL.

  • Anonymous

    Great Article. Drupal 7 is actually the best of free CMS, imho.

    • http://www.facebook.com/lizwinfreyventura Liz Winfrey Ventura

      I’d agree, except there are a few MUST HAVE modules that were not brought over from 6 to 7.  I think some developers seem to be holding out for 8.  I really hope TableWizard makes an appearance when 8 comes out.

  • Mihalcea Razvan

    Great article… and Drupal is indeed the best choice CMS for complex projects… for easy projects go with WordPress always.

    • http://twitter.com/lquessenberry Lee Quessenberry

      We’ve got our Drupal install down to a science. We use it for projects big and small, just because we have been building it for 2 years now. I find myself limited with WordPress and I am probably feeling that just because we use WordPress on a rare case and I forget everything I learned about it on a case by case scenario. ;)

  • Clain Dsilva

    Its really difficult to spend hell a lot of time to learn a CMS like Drupal for my Clients who are really layman’s. When compared with Wrodpress that has all the features that you have mentioned, Drupal is really horrendous and confusing.

    The worst part is Drupal stores everything in database, even the minor modifications in appearance. That really kills the coding.   

    • http://twitter.com/lquessenberry Lee Quessenberry

      You can make Drupal into a Layman’s CMS really easy, then you just need to box it up and redistribute it. You can’t beat the views module when it comes to custom layout. 

      As far as appearance, I have not encountered any design cues with Drupal that relied on the database. You can edit the tpl files for template work, and CSS can be overridden with the CustomCSSJS module easily.

      I edit most of my themes for Drupal using only notepad++

      • http://www.facebook.com/lizwinfreyventura Liz Winfrey Ventura

        Absolutely!  You can create custom content types (using CCK) and tailor the terminology to the client. The least computer-savvy clients I’ve had took to it so much easier because I made their site using their own layman’s terms.

        Instead of having them create “posts” or “pages”, I created entities for people and things that were called what they called them.  So, if they create a new staff member, for instance, it automatically loads within that view and the person didn’t have to think about how to put it on the page.  They just fill out the lovely little form for “Staff Member” and it goes up “WAM!” (yes, it literally “wams”)…

    • Matt Vaughan

      While this is true with the “out-of-the-box” system, Drupal is really meant more to be used as a basis for building a somewhat customized CMS solution, though gradually the best ideas are being folded back into Core so less customization may be needed in the future. Also, UX has become a big priority for Drupal, so the default admin interface is much friendelier in Drupal 7 than previous versions. Certainly this takes a lot more knowledge on the part of whoever sets the site up initially (though less so once you have an accepted solution to most problems), but in the end the solution can be customized to the client and just as easy for them to use as WordPress.

  • Jorgen Kesseler

    I’m sure Drupal is a nice system but how am I going to explain a client how too use it?

    Drupal is great for creating huge complex websites for big corporations that have their own team of web experts, but it is over-kill for just about everything else. From Joe the plumber around the corner to you average size company.

  • http://twitter.com/gidgetthegeek Diane

    Some of these comments are just silly.  WordPress has absolutely nothing that compares to Views, and while custom fields and custom post types have come a long way, they are not even close to Drupal.  Managing content on a Drupal website has been very easy for the clients I have used it with.

    • http://twitter.com/lquessenberry Lee Quessenberry

      I agree with you totally. Views is the most powerful module I have ever encountered.

  • Anonymous

    Considering WordPress powers something like 25% of all websites, I dont see Drupal standing above it….

    • http://www.facebook.com/brentbice Brent Bice

      Windows powers something like 85% of all computers, does that mean Mac’s are not better solutions?

    • http://www.designingdotgov.com Sean Ryan

      I would bet that more people drive Kias than Acuras, but that doesn’t mean that Kias are better.

      • Anonymous

        Both of your examples are determined by price.. Don’t get me wrong I like Drupal, but it being the best or ‘standing above the rest’ is a bit far fetched.

      • http://www.designingdotgov.com Sean Ryan

        And your original comment was implying that volume = better. Brent and I were just illustrating that such an assumption is not always true.

      • Anonymous

        I think volume does matter in this case.. Why would “over 60%+ of the top 100,000 sites on the internet” use WordPress over Drupal? 

        Again, I am not here to argue or say one CMS is better than the other. They both have features that are great for certain projects. My original comment was about the title of the article.

      • http://www.facebook.com/brentbice Brent Bice

        Well, I guess it depends on what you consider a top 100,000 website. Is that based on Alexa ranking? I would guess that most people use WordPress because it is very plug-and-play. It really has nothing to do with the quality of its construction.

        I’m sure if you looked at the number of government agencies that use WordPress vs Drupal due to stability, reliability and security you would have significantly different stats. Or perhaps if you looked at the number of Fortune 500 companies that are using Drupal to run their enterprise (not a basic blog) you would also have very different stats.

        I believe the author was saying that the power of Drupal is unparalleled in the open-source market. And if you look at the types of sites being built with Drupal you can not argue that fact.

  • Christopher Bishop

    I’ll stick with Expression Engine. Powerful, Flexible, and a client can actually use it.

    • http://8gramgorilla.com/ Gordon McLachlan

      Well said! :)

    • http://www.facebook.com/jessedcouch Jesse Couch

      Would like it twice if I could. I’m very much in agreement.

  • Nick Perez

    I agree that Drupal is huge and almost anything can be done with it. If you’re working on a project that requires a huge and flexible CMS, this should be one to naturally consider.

    At the same time, I’ll avoid using a huge CMS unless I have no other choice. This is one tool of many that you have available for different situations, and it doesn’t stand above the rest 100% of the time. Sometimes a simpler solution is preferable.

  • http://pulse.yahoo.com/_ON73DOQ4AOHHT7EZF5RLVEYJWM AaronK

    LMAO!!!! Drupal… unbelievable.

    Is this post a joke?

    WordPress is used by over 60%+ of the top 100,000 sites on the internet… That should tell you something.

    I totally disagree with this post – WordPress & Expression Engine blow Drupal away.

    • http://www.facebook.com/brentbice Brent Bice

      Then I would continue building your $2000 sites on WordPress. It clearly suits your clients’ needs :)

      • http://twitter.com/timgummer timgummer

        YEP. Drupal has a very steep learning curve particularly for designers like myself. I was dragged kicking and screaming into theming drupal on a large site, but the funny thing was when it came to my next project, which I was project managing myself, Drupal was the only CMS of the big three which would do the business. Since then I’ve drunk the kool aid and it is good. 

        That steep learning curve has been the best investment i ever made. in the two years we’ve been using drupal, typical projects have scaled from 2-12k, to 10-100k. Views is the biggest thing I was missing in other CMSs, CCK and taxonomy were the things i didn’t know I was looking for. The community is a bonus I never expected.

        I can see why many would choose wordpress, but if you want to do some serious scalable work.. look no further than drupal.

  • http://ixcreative.com/ Evan Jacobs

    Drupal is also impossible for non-tech savvy users to operate. I do NOT recommend it unless you (the developer) is the sole back-end user.

    WordPress is much better IMHO and it can do everything Drupal can.

  • http://aljiro.com Leo Aljiro

    Wow. This is a hot button topic right here. I personally prefer working with wordpress if only because I have worked with it since I first started working online. Also, theming and customizing is real easy. Can anyone here tell me how hard or how easy will it be working with Drupal’s theming system?

    I will download Drupal on my home server to play around and learn how to use it. :) Thanks for the post! :)

  • https://plus.google.com/102286939617893155530/posts Roi Agneta

    What is the point of this “article”, other than to promote Drupal?  The obvious issue is correlation between the title and the content – the title tempts you with “..Drupal stand above the rest” and the content is filled with features that are available on pretty much any decent CMS.  So, the only thing that really stands out as a true differentiator for Drupal is the steep learning curve!  

  • Anonymous

    Having worked with Drupal and WordPress, Drupal is by far more powerful than WordPress.
    Wordpress on the other hand is better for smaller sites that do not require custom coding.

    • http://www.climaxmedia.com/ Climax Media

      I couldn’t disagree more. Clearly you’ve never built an enterprise level website using WordPress. No community compares to that of WordPress. More developers, more support, more plugins, more theme designers.

  • http://twitter.com/just4TheALofit TheAL

    Been using Drupal since 2007, version 5. I love it, and I truly believe that nothing compares. While I use WordPress for smaller, “pretty” sites, Drupal is where all the power is at.

  • http://cheekymonkeymedia.ca Rick Bjarnason

    Wow! I could not have said it better myself! As a long time Drupal and WordPress developer, I have to admit Drupal is our go to CMS.
    Great article

  • Douglas Wollison

    I’m sorry, but after building a site in Drupal (a rather extensive one with a blog, complex membership system, evaluation testing system, and a crap load of other features) I just had to fit in my opinion on this CMS.

    It’s hell. Just hell. Long read by the way, just a heads up.

    Keep in mind this is all MY OPINION base on MY EXPERIENCE.

    To start, I can usually pick up a new system or language fairly quickly, and I had 5 months to work on this site. I had so much trouble using this system it was ridiculous; 75% of the features I ended up writing in such a way that they were almost completely independent from Drupal itself. Theming was incredibly painful, and because of the way I had to build the controls for the various site systems, I have literally 40 block–block–##.tpl.php files in my theme (I had to start a reference list so I could tell which block was which). I’m not complaining about having to make so many, it’s the fact that I had to use such a mechanical naming system that doesn’t let me tell what the file’s just by the name.

    Another problem was the fact that I can set role restrictions on Blocks, but not Pages. This lead me to having all the members only information pages empty with a unique content block tied to it, which makes it a pain for the client to manage. I found a better solution with some custom taxonomies but the fact that there’s no easy way to set a page as registered users only or similar is pathetic.

    On top of that, while I understand it’s not exactly a “set it up right out of the box” system, for goodness sake I had to install 3 modules to get simple image uploading functionality in the editor.

    Finally, and this frankly angers me the most, the documentation is often incredibly sparse and sometimes just plain useless. It’s often tricky to even find the manual for a specific function (often I have to search via google rather than the drupal search itself), and on many occasions when I do find it, there’s no information on how to use the function, simply the code that makes up the functions, which usually is just a collection of calls to other functions wrapped up together. Knowing what a tool is made up doesn’t always mean you know how to use it.

    In short, I found Drupal to be needlessly complicated and poorly documented. Normally, when I finally do find the solution to a problem I have, my reaction tend to be “That makes sense, and now I know how to do it for the future”, with Drupal, my reaction was often “What? Why was that so difficult to do?”. I find it strange that some modules—ones I bet a good number of people don’t even use—are in the core, yet ones that the vast majority use (e.g. Views) aren’t. I don’y deny it’s powerful, but it seems incredibly unbalanced and while fairly user friendly, not very developer friendly.

    I don’t think I’ll ever use Drupal, simply for those reasons. I’m positive I can find a better documented and balanced system should WordPress prove not to be the right one (and by god I’ve been able to make it work for any and every kind of site I’ve used it for).

    Oh, and to all the commenters pointing out how many sites use WordPress: how many of those sites are relatively simple brochure, blog, portfolio or similarly basic websites? It’s like saying Windows Movie Maker is way better than Adobe Premier because so many videos on the web are made with it.

  • http://www.facebook.com/nickyeomanwebdesign Nick Yeoman

    Is drupal MVC yet?  When I tried it a year ago it wasn’t.  Building add ons takes longer than on a modern MVC system, so it’s just to costly to bring into my business.

    Great article though, it would seem you really enjoy using it.  Would love to see you write one on Joomla.

  • http://profiles.google.com/l8rm8e Matthew Harrold

    Great article!

    I’ve built and deployed around 80 Drupal (5,6,7) sites for clients over the last 3 (and a half) years. These range from simple brochure sites to K-12 private schools, an online medical transcription service, a text mining project, and some community forums.I agree 100% with this article … Drupal stands above the rest … Drupal 7 (w/ Views, CTools, Panels, Fusion, Entity, etc) makes building “anything” remotely related to online content very easy. Despite being comfortable with JQuery and PHP programming, I rarely need to code anything anymore.

    For those who’ve had Drupal nightmares (as I had early on), I’d suggest to utilize the Drupal forums to work through your difficulties, as there is almost always a “non-hack” way to solve things.

  • Anonymous

    I wish people would give non-PHP CMS frameworks a try more often.

    WordPress is great for beginners and simple sites, but Drupal seems clunky and needlessly complex compared to something like Django.

  • Alexandre Kilian

    Nah, Small projects -> WordPress… bigger projects -> Symfony…
    Drupal is just a big mess…

  • http://twitter.com/NathanHornby Nathan Hornby

    I’ve worked with a few developers that have clearly stated the Drupal is the work of the devil and is a huge pig to work with – and that they’d never intentionally work with it.

    My experience as a designer working on content for a Drupal CMS was also unpleasant – we all vowed never to touch it agin, and hey, that’s hardly a problem, plenty of other fish in the sea.

  • Anonymous

    Drupal is one of the most powerful CMS systems out there. It doesn’t compare to WordPress at all. Yes, it is true that it can give you nightmares and major headaches, but Drupal 7 kicks ass. The views and display suite is awesome. Or have a look at the media module…No way WordPress can do what Drupal can. I do agree thought that it is not well documented, but lets keep in mind, it is open source, sometimes you just have to dig a little deeper in the forums.

  • http://gauravmishra.com/ Gaurav Mishra

    Drupal rocks! and also wordpress :-D

  • http://www.facebook.com/jessedcouch Jesse Couch

    Have to say that while I like Drupal, it isn’t really for everyone. Personally, my free CMS of choice is modx, and if the client is willing to pay, Expression Engine is great.

  • http://www.mikeot.graphicline.co.za Graphicline

    Drupal is not so difficult to learn.

    I started with Drupal 6 and 7 three months back, so have
    really only scratched the surface. Agreed the initial learning curve is steep,
    but once it makes sense it’s not so difficult. Views must be the most
    challenging, simply due to the possibilities it opens up. Right now the biggest
    problem I have is deciding what I want to include next in my own D7 site. (And
    finding time to do it).

    Drupal may not be for every site builder, nor for every
    site. For an end user WordPress may prove friendlier with less customer
    instruction needed, at least for some applications. When it comes down to very
    basic 4 or 5 page sites that don’t get updated very often, HTML still can offer
    much at a low cost, as long as the client understands the need for a coder to
    make changes and add new content.

    One thing that doesn’t get mentioned very often in regard to
    Drupal is the need for adequate hosting, which may often be a deciding factor
    whether to recommend Drupal to a client or not. Bottom end cheap shared hosting
    is seldom good enough, although there are some ISP’s that will upgrade memory
    allocation and so on – I was fortunate my ISP was very willing to do so.

    Regarding CMS, I for one prefer not to design another
    mouse-trap if the existing ones already do an excellent job.

    A big fan of Drupal (and WordPress – I haven’t tried Joomla
    yet so reserve judgement)

    Mike