9 ms·
I'm afraid it's rather like anything else - Drupal works well for people who understand what it's good for. In particular, it's good for content management, wh
by rjknight 12y ago
I'm afraid it's rather like anything else - Drupal works well for people who understand what it's good for. In particular, it's good for content management, where 'content' is loosely defined as 'stuff in a database that people want to edit and publish'.
The 'bonkers' hook system is basically just aspect-oriented programming. It's not to everyone's taste but it's not as though you can't figure out how it works. It's just not a typical MVC web framework, and MVC web frameworks have mostly won (which is why Drupal 8 is going to be built around Symfony components, but that's another story).
I dispute that an experienced Symfony dev could build the same functionality as an experienced Drupal dev in less time. You could skew the test either way by picking requirements that favour one platform over the other, but for most general case content management (including user-generated content) requirements you'll be able to do it quicker in Drupal, mostly because you won't have to write boring stuff like:
* User management
* Roles and permissions
* Login, password reset, activation
* Basic editorial UI
* RSS feeds
* Custom content types
* Wysiwyg editing (admittedly this can be a pain to configure)
* Logging
* Caching, including Varnish integration, Memcache etc.
* Indexing of content into Solr/Elasticsearch
And so on. Most of that stuff is plug and play, and if you're happy to accept the (very real and sometimes painful) limits that come with Drupal then you can almost always deliver functionality faster by using open source modules wisely.
In general, I rarely agree with people who say "<popular piece of software/programming language/library> is an unusable piece of crap" because the evidence appears to suggest that other people are using it effectively. The fact that you didn't enjoy it doesn't automatically make it bad software (nor does it make you a bad developer for not enjoying it or figuring out how to use it effectively). Most successful systems do at least some things really well, even if they get a lot of other things badly wrong, and dismissing them makes it harder to learn from the things that they do well.
For my part, I wouldn't exactly describe Drupal development as fun, compared to Ruby or Clojure. However, it can be scarily effective in the right hands.
- noir_lord 12y agoI'm not really sure how to respond to that since we are in the realm of personal opinion. I've built custom CMS's for clients that where a much closer fit with their existing workflows that implemented most of the list above (not everyone requires everything above) and I've done it at least as quickly as doing it from scratch in Drupal would have (partially because I have existing code I can reuse for a lot of that). My visceral dislike of Drupal comes from working with it directly for two years, I read the books, I went through the code, I wrote custom modules, I learnt CCK/Views inside and out and at the end of it I took a pay cut to not have to work with Drupal. My opinion of Drupal can best be summed up with an analogy - given sufficient thrust even a brick will fly and Drupal required a vast amount of thrust. Yes out the box you get a great deal of functionality which is what makes it so enticing but then your needs change and you require doing something that is outside the scope of Drupal or even existing modules and the whole thing comes crashing down. Back when I worked with Drupal it created hundreds of tables for anything involving slightly complicated CCK/View based workflows, performance was horrible for logged in users (and trust me I haunted 2bits like a poltergeist for every tuning opportunity I could find). But then this is just opinion at the end of the day. One thing I will say is that the Drupal community are an absolutely lovely bunch and incredibly helpful which is always a strong plus. Also just for humour value http://www.cmscritic.com/wp-content/uploads/2010/08/permissions.gif http://www.cmscritic.com/wp-content/uploads/2010/08/permissi... this is not a good UI.