Drupal Sucks

Edit: First followup posted.

Are you choosing a Content Management System for your next site? Allow me to throw in my two cents against Drupal. In theory, Drupal is a CMS that lets you control your site out of the box. In practice, it’s a nightmare to configure and maintain.

I recognize that Drupal might work for small sites: install the software, upload your custom theme, and start adding content. But if you’re planning a serious site, with custom features and potential for high traffic, Droople, as I’ve christened it, might not be your best bet.

Apologists may protest that module X or hack Y might fix my gripes with Drupal. I think this is irrelevant. A CMS requiring a slew of third-party mods before it can be usable is useless to someone who can code a custom Rails CMS in a day or two. (Hint, hint. Build it in Rails.)

Without further ado, here is a breakdown of why Drupal is bad for the various parties involved, together with Why It’s Bad (WIB) notes for the less tech-savvy.

Gripe #1: Drupal Stores Just About Everything in the Database

Databases are great for storing passwords, content, and countless other things. These things do not include “views”, i.e. templates. That’s right, templates. In the database. Drupal stores templates in the database.

WIB: Best practices dictate using a version control tool like Subversion or Git which, among other things, lets two developers “download” the same code so they can work on it simultaneously. Unfortunately for Drupal developers, database settings are not typically stored in version control. This means that two developers have no easy way of coordinating their work. Further, it means you’ll have a heck of a time replicating your settings across multiple servers if you have a high-traffic site that requires load balancing, or a staging server where you want to preview changes before they go live.

Another thing Drupal stores in the database? Logs. In the database. Drupal stores logs in the database.

WIB: Logs record visits to your website, together with other useful details like errors. When you get lots of traffic, logs tend to get huge – we’re talking gigs. Logs are important for debugging, but, unless you’re a high-security outfit, they do not need to be permanently stored. If you back up your database regularly – and you should – you’ll be transferring all that unnecessary data every time you run a backup. Further, you might want to grant a sysadmin or programmer access to your logs to help diagnose a problem. You don’t want that person digging around in your database for this information: one bad search query and your data is gone.


Gripe #2: Drupal is Freaking Hard to Use and Has a High Learning Curve

In the good old days, building a website meant coding a page in HTML and uploading it to a server. If you wanted to update the page, you edited the HTML, and re-uploaded the file. Then people who didn’t know HTML started clamoring for a way to edit their own sites. Along came Content Management Systems, presumably to let an admin log in, edit, save, and call it a day.

Enter Drupal. This CMS, my friends, is so bloated that it takes days, if not weeks, for the layperson to learn their way around it. In fact, my Drupal clients are so confused by the interface that they still send me content and ask me to input it for them.

WIB: The whole point of a CMS is enabling a layperson to update a website. I think the average person can learn basic HTML and FTP within weeks. So if a CMS takes weeks to learn, and you still need a techie to help you find your way around it, the CMS is not doing its job of simplifying the website update process.

Why is Drupal so hard to use? It’s a combination of bad usability and  confusing navigation. An example of Drupal’s bad usability is requiring a user to confirm changes twice before they’re saved—often with the Save button located below the jump, i.e. out of view. As for confusing navigation:  creating a blog post is under “Create Content” but editing a blog post is under “Manage Content” and sidebar content is under “Site Building / Blocks”. What?

Gripe #3: Drupal’s Design is Piss-Poor

Drupal has a history of security vulnerabilities and is written in ugly spaghetti code (guys, have you heard of classes? Objects? Inheritance? Oh, nevermind).

It also has poor maintainability. In other words, upgrading to a newer Drupal version breaks templates and other code you may have written for an older version. Fixing this, of course, costs time and money. Other frameworks also deprecate older APIs, but in my experience, the changes between versions of other frameworks are not so drastic, and there is often a helpful process built in to migrate your code.


Gripe #4: Drupal’s None Too Friendly

There’s been quite a backlash over Drupal’s new trademark policy, which is rather contrary to the spirit of open-source software. Why protect your trademark so fiercely, Drupal? Your product is open, and great, so why the need to protect it against sites like DrupalSucks.com? Oh, right…

Conclusion: Drupal Sucks

If you are on a low budget and do not plan on hiring a developer, give Drupal a whirl (I guess). However, if you find yourself needing an oxymoronic “Drupal programmer” to do extensive configuration, consider hiring a Ruby on Rails developer instead. Chances are, you can get a custom CMS at the same price and with half the frustration.

Edit: Oh, and Drupal’s search also sucks. Thanks YCombinator.

Edit #2: I was unclear re. the templates in the database. I wasn’t referring to .tpl files, but to Drupal Views.

Edit #3: Oh, and for the templates you do store in the filesystem, the naming conventions for overriding a particular item are horrendous. For example, block-block-5.tpl.php contains the auto-generated id in the filename. So if the node/block has a different id in a different environment (dev vs. production) you’re out of luck, and the template won’t work.

Edit #4: Thanks for the amazing feedback everyone, both positive and negative. There have definitely been a lot of helpful suggestions. I’ll look into them all and write a followup with the results!

This entry was posted in Technology. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

187 Comments

  1. nelson
    Posted October 4, 2009 at 2:10 pm | Permalink

    You suck!

  2. Posted October 4, 2009 at 2:22 pm | Permalink

    I agree with you that Drupal sucks. But then, so does a lot of other stuff I regularly use in daily life. What do you recommend in its place and under what circumstances?

  3. Posted October 4, 2009 at 2:58 pm | Permalink

    I agree, Drupal is a total Ass pain to use and to develop for!

    There are not many PHP based CMS’ that aren’t to be perfectly frank. Most are either bloated, unusable or just an absolute nightmare to develop for.

    The only one I have found (and now use regularly) is called Silverstripe. It if fully OOP, runs on an MVC framework and has been built for generally pain free development. Its the only reason I haven’t switched over to Django :) .

    Mo

  4. Posted October 4, 2009 at 3:05 pm | Permalink

    I’ve always said that Drupal is less a CMS and more a framework that uses the PHP language. If you want to develop in drupal, you can forget 90% of PHP functions you’ve learned, because drupal has reinvented them.

  5. Cjc
    Posted October 4, 2009 at 4:05 pm | Permalink

    Try uploading a 1+ MB excel file and displaying it inline. This will practically kill your server. :)

  6. Donnie
    Posted October 4, 2009 at 4:11 pm | Permalink

    lol

    code for a few days…

    Please do and give away your awesomest-ever CMS for everyone to use. I got here from reddit and i can clearly see this whoever wrote this hasnt done anything other than a ‘lil html.

  7. clint carlson
    Posted October 4, 2009 at 4:34 pm | Permalink

    let’s remember that this whole… internet web design/development thing is still a baby, and nothing we do now is going to be the same as how we will do it in 5 years.

    bashing what many would argue as the most versatile CMS around without givin any alternatives and why they are better is just a negative post.

    it’s my opinion that drupal is moving everything in the right direction and has a community behind to see that it continues into the future. while we don’t know if it will even be around in 5 years as things change, dismissing it as something that should just die is silly.

  8. am
    Posted October 4, 2009 at 5:17 pm | Permalink

    I disagree with most of this, i’ve build a number of large sites with Drupal and find it excellent. There is a steep learning curve, but then again once you get your head round it you’ll find Drupal can do just about anything.

    Views and Panels etc are stored in the database for a very good reason – they allow you to make very complex and useful theming devices on the fly and easily edit them. Drupal does allow you to hardcode this kind of thing – go ahead and make yourself a module or complex template. These modules are there so you don’t have to do that, and you’d never have the flexibility that these kind of modules offer.

    As for security vulnerabilities I get an instant update whenever a flaw in a module or core has been found and fixed, with the huge number of developers working on Drupal this happens fast. Are you going to be around constantly fixing any new methods of attacking your CMS that you’ve built yourself. Hackers will always find new ways to attack sites

    Take a look at the sites that have chosen to use Drupal, there’s loads of really huge ones out there, I think thats a good enough advert:
    http://buytaert.net/tag/drupal-sites

  9. Posted October 4, 2009 at 5:19 pm | Permalink

    I never took to Drupal from the start because I didn’t like it. As a PHP developer, I want accessibility, both in the code and for my clients. I’ve tried different CMS solutions and my favorite so far has been Concrete5.

  10. Posted October 4, 2009 at 5:22 pm | Permalink

    Recommending Rails for anything practical is often affectionately called the blub paradox. Welcome to the fashion club.

  11. Posted October 4, 2009 at 5:56 pm | Permalink

    Ya, there are some big problems with the whole thing of frameworks, at some level or another, but the new copyright logo really takes the cake.

    http://www.superwebdeveloper.com/2009/09/09/drupal-copyright-move-pissing-off-the-community/

  12. jesse
    Posted October 4, 2009 at 5:59 pm | Permalink

    Drupal does have some unpleasant aspects. The lack of a decent templating system is one of them (and I definately stay away from views).

    But, Drupal rocks in some regards. Out of the box, it has a sophisticated user and permissions system. And it’s taxonomy module (built in) is pretty sweet. It’s a hell of a lot better than any folksonomy implementations I’ve seen in the Rails. And it is there out of the box. (It does take some programming effort to make good use of it).

    It does have a learning curve as well. The form handling and hooks framework can be frustrating to the unfamiliar. It wasn’t until my fourth Drupal site that I really felt like I found the zen of it.

    So, yeah there are undesireable aspects. Maybe you want to try Radiant, which is a Rails CMS, and is much simpler. It too has it’s really annoying aspects…

  13. Posted October 4, 2009 at 6:10 pm | Permalink

    Mariya — check out http://www.browsercms.org for a great open source Rails web CMS.

  14. Posted October 4, 2009 at 6:22 pm | Permalink

    What a poorly-researched post…

    As someone who develops Drupal-powered sites and applications (yes, applications) on a daily basis, let me tell you the following:

    Gripe #1: Drupal Stores Just About Everything in the Database
    You complain about views (templates) and logs being stored in the database. Templates are file-based, try checking your theme’s folder and you might be surprised at what you find. There are certain modules (ex. Panels) which DO store templates in the database, but these modules are by NO MEANS a requirement for any site.

    Only internal Drupal logs are stored in the database, and this can be easily disabled if necessary. The logs are stored in the database because they are then presented in a nice, user-friendly format for the administrator, who more often than not is not technical enough to be going through log files on the server.

    Gripe #2: Drupal is Freaking Hard to Use and Has a High Learning Curve
    Yes, Drupal has a high learning curve, but once you actually understand how it works you will be amazed at what you can do in a short amount of time. Drupal is not hard to use if developed properly. None of my clients have any issues using the Drupal-powered websites I’ve setup.

    Gripe #3: Drupal’s Design is Piss-Poor
    What a joke. Clearly you’ve done zero research into the subject and have simply assumed that since the CMS is not object oriented, it must suck.

    Gripe #4: Drupal’s None Too Friendly
    Please…

    Have a look at this list of Drupal-powered websites: http://buytaert.net/tag/drupal-sites

    Would all those big names really be using Drupal if it sucked as much as you say it does?

  15. Michael
    Posted October 4, 2009 at 6:29 pm | Permalink

    So if I read this correctly, your conclusion is to code something from scratch in Rails. You should review Drupal after you’ve learned how to use it. You mention it has a high learning curve, but the average person would disagree.

  16. Posted October 4, 2009 at 6:39 pm | Permalink

    Drupal sucks? Not so much — if it does then why are there 250,000 websites running Drupal and why would organizations like Sony, Disney, Nokia, Google, Microsoft (yes Microsoft), and thousands of other organizations use it? If you haven’t spent the time to learn Drupal then yes there is a steep learning curve. But to day Drupal sucks is like saying brain surgery sucks after reading a comic book on the topic.

  17. Curt
    Posted October 4, 2009 at 7:49 pm | Permalink

    Checkout concrete5 for a php-based cms. Our shop moved to C5 earlier this year, and it has been pretty painless. As a programmer, I’m not too crazy about any cms in general. However, c5 meets the needs of the layperson who doesn’t want to learn too much in order to edit their site.

  18. jfm
    Posted October 4, 2009 at 8:04 pm | Permalink

    Obvious troll is obvious.

  19. jmuir
    Posted October 4, 2009 at 8:09 pm | Permalink

    Lets see, you disparage drupal but offer Rails as an alternative? Ive managed to learn drupal in a few weeks where i could stand up a site to do exactly what wanted it to do. Granted, there are a few stumbling blocks with drupal but it beats architecting a site from scratch. But I digress, here are some counterpoints if you may:
    1. Drupal Stores Just About Everything in the Database – drupal does store an enormous amount of data in the database but who ever said that was bad thing? If the data is stored and indexed correctly that shouldnt be a problem.
    2. See above. Im a .net programmer by trade. I managed to pick up drupal with a little help from a friend that has implemented it before. If you put some effort into learning how to utilize it, the payback is enormous.
    3. Its called “Open Source”, spaghetti code is inherent in a project where anyone can contribute. However, most production modules that are in use have very good source control policies.
    4. I cant argue with this one. Im not sure this is in drupal’s best interest :)
    5. Your conclusion is a tad vague as it just repeats the premise. I can say that the default search functionality provided by drupal is definitely lacking, there are modules available (easily configurable) that allow for semantic search options
    ( http://drupalmodules.com/module/apache-solr-search-integration ).

    My conclusion : Drupal, like other frameworks, has flaws. The decision to use druapl, or any other framework, is always based on the ease of implementation for your specific project.
    I understand that drupal is not the solution for everyone, however, i find that a balanced opinion is always more informational that a reactionary rant (such as “Drupal Sucks”).

  20. Posted October 4, 2009 at 9:35 pm | Permalink

    I picked up Drupal fairly well, but honestly it is a learning curve, installing it is a pain, and it breaks easily. I work for a uni and they’re slowly turning all the departments to Drupal sites. I’d rather use Dreamweaver and Aptana.

  21. reader2009
    Posted October 4, 2009 at 9:46 pm | Permalink

    “Privet Mariya,
    What would be a good and easy out-of-the-box CMS then?
    All the best,”

    The custom rails that she can code in 1 day. rofl.

  22. gs
    Posted October 4, 2009 at 9:51 pm | Permalink

    i have had some bad experience with drupal before and now use wordpress as a cms, the point that you made about making clients getaround drupal for updating their sites is a crucial one as i had these problems before, with wordpress i seldom face such problems.
    I recommend using wordpress instead of drual
    and you are right “Drupal Sucks!”

  23. John Fuller
    Posted October 4, 2009 at 10:20 pm | Permalink

    Either use Drupal with all it’s problems or create your own management system with all it’s own problems. Well, at least the custom system would be YOUR problems and you could live with that. It’s kind of like how I make your life miserable if I stink but you can put up with your own odor if you stink.

    Any code you use is simply a tool which works well for certain purposes and not well for others. Perfection doesn’t need to be a goal.

    For most sites I build, a PHP based CMS is good enough and our clients usually don’t want to give us the time or money to create something from scratch. Sure, you can replicate features quickly in a framework but nothing is as quick as using something which already exists.

    Also, if a client wants to pick up a different/cheaper developer down the road for development / maintenance then at least a CMS such as Drupal serves as sort of a standard for a large pool of developers.

    For my own application, I wouldn’t use a packaged CMS.

  24. you sucks
    Posted October 4, 2009 at 10:22 pm | Permalink

    Drupal Sucks

  25. Posted October 4, 2009 at 10:38 pm | Permalink

    I may not be agree with your post to any extent as since its inception, over 2.5 million downloads have been done and has won the Overall Open Source CMS Award in 2008. It also offers you lot of other functions from the start itself, we are open source developers and are very much satisfied with the Clients’s response for Drupal installation in their system.

  26. Alexander
    Posted October 4, 2009 at 11:44 pm | Permalink

    I use RoR and (if I need to use PHP for some reason) Kohana. At least my templates and log are stored in files.

  27. Posted October 4, 2009 at 11:57 pm | Permalink

    “3. Its called “Open Source”, spaghetti code is inherent in a project where anyone can contribute.”

    If you embrace spaghetti code like that, your are destined for a life of misery.

  28. Posted October 5, 2009 at 12:48 am | Permalink

    What ever you said, Drupal rock the marketplace.

  29. Posted October 5, 2009 at 2:41 am | Permalink

    Some good points here… and you’ve missed quite a few too ;)

    If I had to set up a small site for a customer I’d stay far away from Drupal… Imagine the hours of support going into explaining the administration panel. Wordpress makes it a lot easier. Not better, easier.

    Drupal 7 is said to improve it all… I’m looking forward to what it has to offer!

    Anyway, the market asks for Drupal developers so that’s what makes me work with it. I always wonder how they got the idea of “we HAVE to use Drupal”.

  30. Posted October 5, 2009 at 2:58 am | Permalink

    Dude, views aren’t templates…

  31. Posted October 5, 2009 at 3:09 am | Permalink

    I agree.
    Drupal is suck.
    I have spend much time (around 2 week) to figure out
    using Drupal with geo, gmap, view module.

    I can say the admin section of Drupal is very bad, and the design for layout management also bad.

  32. Posted October 5, 2009 at 3:35 am | Permalink

    nice ! Somebody finally said it…. I got so frustrated with Droople, that I simply customized a Django based CMS. Wordpress is better than Drupal, even if they say you cannot accomplish much with wordpress, its so easy to extend and write/insert your own PHP code to do little tough things. And those little tough things are a pain in the ass when it comes to droople.
    Infact, people tend to use a CMS as if its a swiss-knife for portals, in reality, any serious product will need a lot of customization and control, which i believe is NOT possible in Drupal, as much as it is in say Wordpress (simple sweet yet extensible). Don’t even get me started on the code flow and architecture … what a mess !

  33. Posted October 5, 2009 at 4:27 am | Permalink

    How dare you say such things about my Dad??

    But seriously, the only valid gripe here is the one about the Drupal learning curve. It is hard to learn, but once you get over that (and believe me, spending some money on a book will easily address this) Drupal has to be one of the best CMSs out there. And I say that coming from a wordpress/joomla/mambo background.

  34. Vitaly
    Posted October 5, 2009 at 4:52 am | Permalink

    Oh yeah, i remember an online shop done in drupal using popular modules and a little custom code. For showing a page with 9 product thumbs it was running 200 db queries in cached mode and +50 more with empty cache :) .
    Cool eh?

  35. I
    Posted October 5, 2009 at 5:05 am | Permalink

    Nuff said.

  36. Tina Coric
    Posted October 5, 2009 at 8:03 am | Permalink

    1. Drupal is no “out-of-the-box” CMS? Where did you get this from?
    2. Drupal is more a framework than a CMS
    3. Drupal is not ment for small sites, it is more a community builder, and communities are not “small sites”.
    4. If you are not able to understand the purpose of Drupal, I don’t think you would be able to write a similar peace of software !

    Yes, Drupal ist hard to learn. So, if YOU don’t get it, just leave it, and stop spreading this bullshit!

  37. Posted October 5, 2009 at 8:31 am | Permalink

    If you’re looking for a Drupal replacement, try MODx. I’ve been using it for about 2 years and I think it’s the best CMS for developers and my clients. If you know PHP, you can code your own plugins and snippets w/o having to learn a complex templating language or API – it’s all very open. The management user interface is also very easy and my clients love it.

    James

  38. rubayeet
    Posted October 5, 2009 at 8:58 am | Permalink

    I totally agree.

    After working with Django, Rails and some good PHP frameworks, Drupal seemed like an absolute mess to me. I was fortunate enough to hack through the jungle, making a square peg fit into its round holes.

  39. Posted October 5, 2009 at 9:09 am | Permalink

    This article is with a hint of truth loads of crap. Before bashing something, first look at ‘why’ it was done and if bad surpasses good as there’s no perfect solutions .. and in CMS it’s more than true.

    For all people saying WP is better or RoR is better … it’s my belief that this is also bullshit. The CMS must be based on the task you are suppose to do. For example if it’s something like building a personal simple blog, Drupal is definitely not your best choice and I agree whole heartedly that WP is better for something like that as WP was built with that purpose.

    On the other hand if you are building a high traffic, complex taxonomy, large content types application with millions of pages .. then Drupal would be best. I think you have got the very basic point wrong saying “Drupal might work for small sites”. It actually works better for larger and complex sites which compliments the longer learning curve. But as with any all-purpose CMS, Drupal contains stuff that you don’t need and it’s your task to optimise it and get it to work as you need – http://nadeausoftware.com/articles/2007/03/essential_steps_speed_drupal_web_site .

    #1) Drupal just stores everything in Databases ? phew, you should really try working with something like ExpressionEngine and see the real taste of “storing everything” in databases. Drupal has a great theming system with a hierarchy that stores in filesystem and blocks that can support both ways. It’s true that storing views in DB is a PITA sometimes but on the other hand it’s useful if you want to create views or blocks on the fly it’s useful. But anyway, views are not the standard way of theming Drupal and just a short cut for some tasks.

    #2) As mentioned earlier, it’s true Drupal has a relatively long learning curve and with the power of the system, it can be justified IMO.

    The way content is managed in Drupal is said to be user unfriendly but designing UX is always with sacrifices. The reason for current link structure is because that “Create content” link should receive more priority and in complex Drupal sites there can be many content types and stuff so they are grouped under “Mange Content” section. Of course, this may not be perfect but when you used to the current system, it becomes a trap of itself and hard to change the design again.

    #3) IMO and as a Drupal developer for about 4 years, I think Drupal core is more guardedly managed than any other CMS and even contributed modules are managed fairly good. It’s obviously hard to do this perfectly but vulnerabilities and security issues are much less than other CMS like WP. Also there are continuous security checks by Druapl security team and good security guidelines that make it easier for module developers to develop more secure code.

    #4) I think if you read some reviews of DrupalSucks.com they should be suffice.

    This is with my experience of building many Drupal based sites including most recently http://hotelotravel.com which is a fairly complex site and I can say Drupal works for almost any thing if you know how to do it.

  40. David
    Posted October 5, 2009 at 2:31 pm | Permalink

    Agree about Drupal. I’ve been using Drupal for 3 years for 4 hobby websites. I spend more time on configuration than content. It is flexible but hard. You need to know PHP and MySQL pretty well to customize it to make it work.

  41. Posted October 5, 2009 at 3:45 pm | Permalink

    To each their own. I, myself, believe Drupal is bloated. In my experience developing plenty of sites for clients in the past 10 years, I’ve discovered that about 90% of clients do not need something as complex as Drupal. Most clients will update some text or upload a picture here or there. Building out a site in Drupal to make this feature available is overkill. This is why I believe the perfect CMS is one that is built to the client’s needs. A custom CMS framework is probably the way to go. This make development more efficient while giving the client the smallest possible learning curve. If Drupal doesn’t work for you, don’t use it. Find something that does work and makes both you are your clients more efficient. It takes a developer years to pull together the right mix of tools for their particular coding style. Do I think Drupal sucks? It does for me, but may be great for others.

  42. Posted October 5, 2009 at 4:34 pm | Permalink

    At NovusCMS we use Umbraco for most projects; Drupal for a few. I work specifically in client care/customer support and training. The typical end user of an Umbraco site can be trained in the basics within 2-3 hours. This hypothetical end user could have no previous web CMS experience. Once trained, they seldom require additional hand holding.

    Drupal end users seem to constantly need hand holding. The options and flexibility of Drupal prove overwhelming. I am able to teach a simple task faster, but there tends to be more tasks with more steps and often rarely used functions that are lost for lack of use.

    After eight years in the business and hundreds of customers under my belt, I can say without question that Umbraco is easier to train. Furthermore that training tends to stick. Considering that I used Drupal for 4 years before even learning about Umbraco, the reverse would be true if the issue were with my skills.

    One last comment to the contrary…Drupal – 2nd Year in a Row, Best OS CMS. Cheers.

  43. rjdempsey
    Posted October 5, 2009 at 9:34 pm | Permalink

    Why do so many big sites, with huge research budgets, use Drupal? I guess they’re just not as smart as you. Very poorly researched post.

  44. Posted October 6, 2009 at 2:32 am | Permalink

    I couldn’t agree more with,as a Front-end developer I must say it does mess up all front end code, break validation and does not make easy to update front end code and it’s really hard for two or more Front end developer to work on the same file/folder at the same time.

  45. Posted October 6, 2009 at 3:09 am | Permalink

    I had first started my website http://linuxandfriends.com on drupal because I found drupal to be very powerful. But I have very little practice coding in php and so after a few months I decided to switch over to wordpress for the following reasons -

    1. Wordpress has an automatic upgrade feature where you just click on a button and all the latest security fixes are applied.
    2. For running a blog, drupal is over kill. Wordpress suits much better.
    3. Wordpress has far more themes than drupal.
    4. After some time, managing drupal (doing administration duties) became more of a hassle and took far more of my time.
    5. As the parent article has stated, even I found drupal navigation a bit confusing and needed several clicks to view what I wanted.
    6. Drupal doesn’t ship with a WYSIWYG editor like wordpress and many other cmses. In all honesty I was able to enable gui editing in drupal but I had to jump through hoops to enable it.
    7. Drupal requires access to cron job for site search to function. Yes for the less fortunate webmasters who do not have access to cron, there is an external project called ‘poor mans cron’. But it hardly is a solution.

    Does drupal really suck ?
    Not really. Despite the problems I faced, drupal is a good CMS which I have seen a lot of high profile, high traffic sites use. Drupal’s SEO benefits are top notch. And it is an all in one solution. For example, to do the following -

    1. run a forum
    2. Author a book
    3. Have extensive taxonomy (much better than categories).
    4. Better SEO benefits out of the box
    5. Seamlessly Integrate a gallery of photos

    and more, Drupal is an ideal choice. Just be prepared to put some efforts in knowing your cms. Or even better, hire someone to do the designing and configuring job for you.

    Drupal is over kill for a ordinary blogger who just wants to run a blog. For that Wordpress and the likes rule.

  46. Posted October 6, 2009 at 3:49 am | Permalink

    Thanks for this post. When we were evaluating Open Source CMS (Drupal, Mambo, Typo3 among them) in 2003, we finally decided to put all our efforts into eZ Publish (http://ez.no). Even eZ Publish is not easy to learn, but especially in complex projects, it has never let us down. We also developed our own Social Media and high availability framework (Volano) on top, and kept it compatible to every version since 3.4.

  47. Posted October 6, 2009 at 5:08 am | Permalink

    Re: Edit #2, you’re still wrong. Here’s why:

    Views saves data in the database (so does Panels) for development and testing. The correct way to use Views (and Panels) is to Export the resulting code (big fat EXPORT button provided in the UI) and place it in a hook called hook_views_default_views(), which is an array keyed by view name containing the code for your various views. There are no views in the database if you have even a clue about what you’re doing and you’re producing custom sites for clients.

    The same mechanism applies in almost every area where Drupal uses the db. For example, blocks. Sure, you *can* save blocks in the database, but if you’re a developer and you don’t move your blocks out to hook_block() in a module then shame on you! It’s not Drupal’s fault you suck at Drupal development and can’t be bothered to learn.

    And besides, Views is contrib and you set out the premise you were ignoring contrib. So Views shouldn’t even come up in your write-up because it’s not core…?

  48. Posted October 6, 2009 at 6:25 am | Permalink

    yes and no….

    you’re first gripe bout source control is irrlevant, because drupal is not designed with multiple programmers working on one themem at the same time.

    If you have programmers than you would have them building a custom cms, not “hacking” at drupal.

    people would understand drupal more if they tried NOT to understand the “core”, i.e. how drupal works, just make themes and modules and go from there….

    but in the end….your post is like saying:
    “Why station-wagons suck at nascar racing”

    yes, station-wagons suck at nascar racing, but they good for some people at somethings…

    but then again i don’t like station-wagons, so guess i’m right there with you

  49. Sergius
    Posted October 6, 2009 at 10:54 am | Permalink

    Drupal is freaking hard to use? That’s good to know. I’ve used other CMS, and a few are damn hard to use. But at least they’re not freaking hard. But it could be worse, it could be ludicrously hard to use. According to the usability chart I’ve come with thanks to your post:

    -So hard
    -Super hard
    -Damn hard
    -Radically hard
    -Freaking hard
    -Stupidly hard
    -Ridiculously hard
    -Ludicrously hard

    Very enlightening post, we need more of you!

  50. Posted October 7, 2009 at 1:42 am | Permalink

    Hey Mariya!

    Loved your post, you know how to polarize and get lot’s of comments. How about some other post like: “Magento sucks”, “Wordpress sucks”, “Typo3 sucks”, …

    My 2 cents: I think a developer should be able to program a website in any CMS – if not he/she wouldn’t be a good developer. But at the end of the day the customer or user should be happy – you can achieve this by good coding und explaining regardless of the CMS.

    Keep on writing – I like it!
    Ulf

12 Trackbacks

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>