Slashdot Mirror


Drupal's Creator Aims For World Domination

angry tapir writes "Open-source content management system Drupal has come a long way since it was initially released in 2001. Drupal now runs 2% of the world's websites — but Drupal's creator Dries Buytaert thinks that this could easily grow to 10%. I caught up with Dries to talk about Drupal's evolution from a pure CMS to a Web platform, cracking the enterprise market, and the upcoming release of Drupal 8, which features significant architectural changes — incorporating elements of the Symfony2 Web framework to replace Drupal's aging architecture."

192 comments

  1. Navigation by cgt · · Score: 4, Interesting

    Does it have a sane menu system yet?

    1. Re:Navigation by narcc · · Score: 4, Insightful

      No. Both to your question and any other "Does it have a sane ______ yet?" questions.

      As far as I can tell, the only reason to use Drupal is that it's easy to find and hire people who are familiar with it.

    2. Re:Navigation by Anonymous Coward · · Score: 0

      As far as I can tell, the only reason to use Drupal is that it's easy to find and hire people who are familiar with it.

      That sounds like a good reason to me. Drupal's so much more than just a CMS. Yes, the fact it's written in PHP is a bit of a pain but if you want rapid website or application development in a mostly-secure, mostly-performant and readily supported and extensible framwork, then it's well worth looking it.

    3. Re:Navigation by Anonymous Coward · · Score: 0

      I was recently asked to revisit Drupal, contrary to my own inclination. I have to say, it has come a long way from the horrifying experiences I'd had with it years ago.

      From a neatness, polish, and ecosystem perspective, it's not (the far more popular) Wordpress. But as anyone would tell you, it really is much more flexible. Integrating a 3rd party membership system in Wordpress that matches even primitive additions to Drupal is a bit like grafting together a bird and a pig. One is just very obviously a blogging site with lots of available plugins and one is a real website framework.

      I am still hoping for a nice, new system, without any architectural cruft, that's not done in PHP. I'd like to see it done in Python, but I can't immediately leverage someones buggy weekend project with zero 3rd party support. It's going to take a couple years for something to become a useful alternative. I look forward to that day, though.

    4. Re:Navigation by smallfries · · Score: 2

      So it really is like AIDS, Cancer or Death?

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    5. Re:Navigation by Rhaban · · Score: 5, Insightful

      it's easy to find and hire people who are familiar with it.

      who *think they* are familiar with it.

      Drupal looks easy to extend for a beginner developper because, like php, you don't have to do something right to have it work.
      So it's really quick to have a mess of a codebase that leads to an unstable site that's a nightmare to maintain.

      But if you really know the insides of it, you can craft a something beautiful that runs smoothly and is easy to work with. It's not perfect, and "real" coders will look at its non-use of OOP with contempt, but it's pretty good at what it can do.

      And, let's be honest for a second: it's one of the least horrible open source CMSs out there (at least in the php world, I don't really know about Java or python or other CMSs).
      If you want a good pphp cms, you have Drupal or Ezpublish. There's wordpress that wants to be a cms but isn't quite there, Joomla is a joke, Typo3 is from another time... The perfect software doesn't exist.

    6. Re:Navigation by Anonymous Coward · · Score: 0

      This project already exists and it is called Django!

    7. Re:Navigation by ios+and+web+coder · · Score: 5, Informative

      Drupal is the best of the "big 3" CMSes. Hands down.

      However, it has a Matterhorn learning curve, and I choose not to use it in most of my work; opting for WordPress.

      The thing about Drupal is that it has an extremely solid extension mechanism. Lots of good hooks, and thoughtful design.

      I write plugins for all 3 CMSes. I am extremely familiar with what it takes to extend each. Drupal and WP can be extended with a single file that allows me to provide a powerful administrative interface, content filter and module system.

      Joomla, on the other hand, requires -I am not exaggerating- ten times as much work as either Drupal or WP, and, subsequently, ten times as many "problem nodes," for juicy, fat bugs.

      For example, if I want to handle AJAX responses, Drupal and WP each offer a simple hook to intercept program execution at a point between CMS setup (authentication, module initialization, etc.) and HTTP output (I need to output prior to any headers being sent out). Since I can use the same module file, I can preserve object context. Also, they each have a very simple CSV options/preferences system that abstracts the database behind a basic functional interface.

      In Joomla, I am forced to write an entire system plugin, and use a pretty hairy database "semaphore" system to communicate context. I also need to write a content plugin in order to allow a shortcode ability. In both Drupal and WP, the content filter is simply another functional interface in the same context.

      However, for the kind of extensibility that Joomla offers, only Drupal can match it, and Drupal has that learning curve, so it tends to be popular amongst folks that want a heavily-customized site, with less knowledge, than Joomla.

      --

      "For every complex problem there is an answer that is clear, simple, and wrong."

      -H. L. Mencken

    8. Re:Navigation by ios+and+web+coder · · Score: 3, Informative

      However, for the kind of extensibility that Joomla offers, only Drupal can match it, and Drupal has that learning curve, so it tends to be popular amongst folks that want a heavily-customized site, with less knowledge, than Joomla.

      Whoops. Posting before coffee.

      Switch "Joomla" and "Drupal."

      As noted, there is no such thing as a "perfect" CMS. Much as I may grouse, Joomla is extremely popular, and I need to support it. For many folks, Joomla is the "perfect" CMS.

      --

      "For every complex problem there is an answer that is clear, simple, and wrong."

      -H. L. Mencken

    9. Re:Navigation by Rhaban · · Score: 1

      I don't know how Joomla has evolved since I last used it several years ago (just after the introduction of joomla 1.5), but its flaws were blockers for me.

      It had almost no extensibility (new features had to be written almost like external applications, integrability with the core of the cms was minimal), no adaptability (you couldn't add a field to a content form without modifying half a dozen files, and there were no way to have different content types. Also you couldn't change the site structure: you had to hav all your content under a 2-levels hierarchy of sections and category), and no inter-operability between extensions (an extension like jacl, which brought almost-decent acl capabilities to joomla, was unable to work with community manager, a widely used extension that implemented the concept of use groups).

      And it used an MVC object structure that looked like the software architect had no idea of the goal of an mvc structure, but had read in a blog that mvc is good.

    10. Re:Navigation by ios+and+web+coder · · Score: 3, Informative

      And it used an MVC object structure that looked like the software architect had no idea of the goal of an mvc structure, but had read in a blog that mvc is good.

      I'm pretty sure that it was designed by fairly young JAVA folks. The patterns are extremely similar to many academic exercises in JAVA.

      Young folk are willing to work very hard, and hit the Kool-Aid like there's no tomorrow. It can be quite amusing to read some of the Joomla discussion forums.

      Also, I think that they switch architects fairly frequently, so they tend to rewrite the whole damn system on a regular basis. Keeping a plugin compatible between all the various Joomla versions is a nightmare. The fact that I have to provide four different modules to do what one single file can do in other CMSes means that my installer is a real Rube Goldberg machine.

      --

      "For every complex problem there is an answer that is clear, simple, and wrong."

      -H. L. Mencken

    11. Re:Navigation by foniksonik · · Score: 1

      It's been a while but try modx. Powerful event system, easy to extend. Good dev community. The maintainer is in Dallas and is a nice guy (more than one guy but he's the head honcho).

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    12. Re:Navigation by ios+and+web+coder · · Score: 3, Insightful

      Thanks for the tip. I have heard very good things about TextPattern and EZ Publish. However, the issue is that the folks who use my code are primarily "big 3" users; with a distressing number of Joomla users.

      It has to do with "market penetration" and "community support," as much as good code, ease of extensibility, etc.

      --

      "For every complex problem there is an answer that is clear, simple, and wrong."

      -H. L. Mencken

    13. Re:Navigation by alreaud · · Score: 5, Informative

      Drupal being "best" is in the eyes of the beholder. If you already are familiar with CMS and mySQL, then Drupal is the best. But if you have very little experience, Wordpress is by far the easiest. For my own sites, I use Drupal, but for client sites, I use Wordpress because it's easier for non-technicals to operate. That being said, Drupal has an upgrading catch. I'm running 6.28, I think, and find it impossible to port over to version 7 without manually porting over the database table by table. There should be a way to port content tables to new versions without a lot of pain and suffering...

    14. Re:Navigation by jayteedee · · Score: 4, Informative

      I think, and find it impossible to port over to version 7 without manually porting over the database table by table. There should be a way to port content tables to new versions without a lot of pain and suffering...

      Take a look at:
      http://fuerstnet.de/en/drupal-upgrade-easier
      if you are comfortable with the command line. I've done several 6 to 7 transitions (patch the 6 up to the latest before the 7 jump). SIGNIFICANTLY less pain than any other way I've found. It basically uses the Linux patch/diff mechanism. Make sure the 7 has the modules you need from 6 before the jump (some were never ported and have to be replaced in 7).

      --
      Religion and science are both 90% crap..but that doesn't negate the other 10%.
    15. Re:Navigation by sobolwolf · · Score: 1

      "For example, if I want to handle AJAX responses, Drupal and WP each offer a simple hook to intercept program execution at a point between CMS setup (authentication, module initialization, etc.) and HTTP output (I need to output prior to any headers being sent out). Since I can use the same module file, I can preserve object context. Also, they each have a very simple CSV options/preferences system that abstracts the database behind a basic functional interface. In Joomla, I am forced to write an entire system plugin, and use a pretty hairy database "semaphore" system to communicate context. I also need to write a content plugin in order to allow a shortcode ability. In both Drupal and WP, the content filter is simply another functional interface in the same context." OMG someone please mod the above post down. It is incredibly simple using Joomla and AJAX, just a matter of calling format=raw or format=json. The above post shows he probably tried his hand at Joomla without learning to use the framework, or messed with it back in 2007. Informative my ass... more like the mods are just as clueless as the author and thought his long winded rant was correct without even researching for themselves.

    16. Re:Navigation by Anonymous Coward · · Score: 0

      Religion and science are both 90% crap..but that doesn't negate the other 10%.

      "I didn't throw out the baby with the bathwater; I threw out the bathwater and discovered there was no baby there." - Dan Barker

    17. Re:Navigation by ios+and+web+coder · · Score: 1

      R. U. NUTTS?

      Have you actually written any Joomla plugins that incorporate AJAX? Ever?

      Would you like to see the open-source repository with mine?

      Would you like to PROVE that you can do better? I'm EXTREMELY interested in your answer. If you are able to do so, then I would be happy to forgo my way of doing it in favor of yours.

      --

      "For every complex problem there is an answer that is clear, simple, and wrong."

      -H. L. Mencken

    18. Re:Navigation by Anonymous Coward · · Score: 0

      No, django is not like a cms framework. At best it's a schizophrenic RAD framework. Also, the vast majority of 3rd party software for it doesn't work, uses all manner of distribution methods, and lands you in outside dependency and version hell.

  2. Re:it will never happen by Anonymous Coward · · Score: 0

    I just spend an awful lot of time learning Drupal 7.

    It's really one hell of a huge bloated POS while magnificent at the same time.

    Drupal 8 seems even bigger like it has gone full retard, is it safe to assume it will be even more bloated?

    What's so good about Drupal 8 or are the core devs just deluded?

  3. PHP by neonmonk · · Score: 0

    The world needs less bloated PHP content "management" systems.

    1. Re:PHP by Anonymous Coward · · Score: 4, Insightful

      A bloated CMS is bloated no matter what language it's written in. That's like blaming the hammer for the house being crooked. :)

    2. Re:PHP by ohnocitizen · · Score: 5, Funny

      For PHP? Yes, if the hammer is a wrecking ball controlled via satellite from a bunker in Nevada.

    3. Re:PHP by Anonymous Coward · · Score: 0

      There is the difference that with a standard PHP setup, the whole framework must be parsed from the code and bootstrap itself (establish database connections and such) for each page view. With RoR, Django, etc., those things are only done once upon application startup and all pages are then served by the running application. Much faster.

    4. Re:PHP by Anonymous Coward · · Score: 0

      The difference is memory persistence. PHP code is reevaluated for each page call and also needs to reestablish database connections and so forth each time. Other languages don't suffer from that.

    5. Re:PHP by Seumas · · Score: 2

      Even though our government uses Drupal (or, rather, the people they pay tens of millions of dollars per website to make that end up just being done with Drupal), I tend to advise people against it as often as possible. The whole PHP foundation of it just doesn't cut it for me. Granted, it's a decent system -- especially for free -- but the PHP part gives me discomfort after watching it on the web for the last decade and a half.

    6. Re:PHP by dejanc · · Score: 4, Interesting

      PHP is not getting a lot of love, especially here on Slashdot, and Drupal is one of the reasons to blame. Sure, PHP has its fair share of design flaws, but ever since version 5, it's a decent enough language to code in and can get a lot of done.

      The problem is with Drupal, Wordpress, Joomla and other very popular CMSs and frameworks which are all a strange mix of procedural and oo code, and lack a proper distinction between model, views and controllers.

      Its problems are certainly not the things that are often quoted, like mysql_real_escape_string (which just follows C api and is deprecated anyway), or inconsistent naming conventions. The problems are deeper - things like lack of threads comes to mind.

      Still, the reason why I like PHP is that with a good framework (e.g. Zend Framework 2 is promising, but there is also CakePHP, FuelPHP, CodeIgniter, etc.) you can build a very solid application. Procedural PHP is actually a fantastic and very powerful template engine and otherwise you can write relatively clean and easy to read code in it if you structure the program correctly. It's very simple to deploy (especially compared to e.g. RoR) and has extensions for pretty much any database or graphics library or anything else a web developer may need.

    7. Re:PHP by shitzu · · Score: 1

      This is not a language issue. It is an architecture issue. No one forbids you to run php script once and serve multiple pages from it. There are even several well known implementations - google fastcgi for instance.
      You are effectively saying that the english language sucks because people swear a lot nowadays.

    8. Re:PHP by Anonymous Coward · · Score: 0

      PHP was designed to have an easy way to drop some automation into HTML, without having to use Perl or C for something as simple as basic form processing or a counter. Only later were descent language features added, and it was also only later that PHP gained the ability to serve multiple pages from one call. In that sense it is a language issue, because the language's design advocates not to follow this design pattern.

    9. Re:PHP by Xest · · Score: 4, Informative

      To be fair, as PHP CMS' go, Drupal is one of the better ones.

      Things like Joomla really are bloated in that they basically dictate how your site must be, and sure you can change that but you have to jump through so many hoops you're probably better off just starting from scratch unless you want anything other than their boiler plate.

      Drupal at least was much more modular and generic and so made it easy to pick and choose what you do and don't use, and to decide how you wanted to do things so you could do more, and do them your way. As such I'd say it isn't bloated because you can strip it down to a fairly bare bones setup and it is fairly quick and easy to do, and fairly bare bones to start with even.

      But at the end of the day it's still a PHP CMS and when you have Python now (a dynamic language that has at least some solid CS understanding behind it) then there's little point using any of the PHP CMS'. I've always been a best tool for the job type of person, but as time has gone by I've found that the jobs where PHP is the best tool have rapidly begun to dwindle towards extinction, simply put, there always just seems to be a better option now.

      Personally though the more large projects I've done with dynamic interpreted languages the more I prefer to stick to compiled. They're great for getting something up and running quickly but when your code base reaches any reasonable size then it's far more useful to have the compiler catching things before execution that can only turn up as uncommon and hard to reproduce bugs with a dynamic language and as your project grows, the more the scope for that increases. This means that for larger projects, compiled languages actually often make development quicker because less time is wasted debugging. Beyond small projects interpreted languages quickly start lose their benefits, though this is in part also because compiled languages like Java, C#, or even C++ seem to have better, more mature toolsets built for them.

      But regardless, whether you sit on the interpreted or compiled side of the fence there's little place for PHP now given that it doesn't even have for example, any proper threading support, the sort of thing which is becoming more and more important, and is outright essential to some applications.

    10. Re:PHP by Alain+Williams · · Score: 3, Insightful

      There is the difference that with a standard PHP setup, the whole framework must be parsed from the code

      Look at APC - compile once and cache the code thereafter

      establish database connections

      Find out about Persistent connections

      for each page view. With RoR, Django, etc., those things are only done once upon application startup and all pages are then served by the running application. Much faster.

      I am not saying that PHP does not have its problems, but it is a good web platform. PHP's main problem is that there is a low barrier to entry, so people who do not have much clue can produce something ... that looks good, but is buggy with horrible security problems.

    11. Re:PHP by Anonymous Coward · · Score: 0

      You do not have any clue about the difference between languages and frameworks. There are a lot of frameworks including one is almost direct port of RoR as is told by the site. RoR and Django are frameworks, dude!

    12. Re:PHP by shitzu · · Score: 1

      Language does not advocate you to follow anything. Just because humans invented the language to coordinate attacks agains mammoths does not mean using a language advocates hunting.
      The only reason why php is often served the way it is - a script that is compiled every time - is because it is convenient and often even practical to do so in a virtually hosted environment.
      Look - i am no fan of php - i am just pointing out that "PHP code is reevaluated for each page call" is simply a false statement.

    13. Re:PHP by Anonymous Coward · · Score: 0

      Avoid FuelPHP unless you don't ever want to test your code. You might get the impression that nothing but static functions exist, reading their libraries.

      Cake ain't so bad. Needs some love in the ORM layer. And no, I do not mean that it needs Doctrine. CodeIgniter is somewhat less developed AFAICT.

      I took a look at the tests for the Zend App Controller once. It had six separate functions to reset parts of the global state. Some classes from Zend may be useful, but I couldn't recommend it as a complete solution to anything.

    14. Re:PHP by Noughmad · · Score: 3, Insightful

      Or, the quite famous PHP hammer.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    15. Re:PHP by Anonymous Coward · · Score: 0

      Why the fuck would you need threads in a web scripting language?

    16. Re:PHP by Xest · · Score: 2

      Because sometimes web sites are used to trigger some form of processing behind the scenes that you don't want the user to have to sit and wait for and that might otherwise result in a time out anyway?

    17. Re:PHP by Anonymous Coward · · Score: 0

      PHP is not getting a lot of love, especially here on Slashdot, and Drupal is one of the reasons to blame.

      I assure you, Drupal is far down the list of complaints against PHP on /.

    18. Re:PHP by mortonda · · Score: 1

      Sure, PHP has its fair share of design flaws,

      I think you seriously understate what's wrong with PHP. Beside all the things that is mentioned in that article, I love how you suggest several php frameworks that attempt to be like Rails but all built on such a flawed language.

      And Rails is not hard to deploy any more... that argument is several years out of date.

    19. Re:PHP by dejanc · · Score: 1

      I took a look at the tests for the Zend App Controller once. It had six separate functions to reset parts of the global state. Some classes from Zend may be useful, but I couldn't recommend it as a complete solution to anything.

      I presume you are talking about Zend Framework 1? I stayed clear from it, but I just started playing around with ZF2 and so far it looks nice. It gives impression of over-engineered framework, but after a couple of days with it, it's actually very powerful. I am still to start writing unit tests for it, but it looks like they gave it a lot of thought and that it will be very usable.

    20. Re:PHP by drinkypoo · · Score: 1

      But at the end of the day it's still a PHP CMS and when you have Python now (a dynamic language that has at least some solid CS understanding behind it) then there's little point using any of the PHP CMS'.

      mod_php is everywhere. more ISPs actually support mod_perl than mod_python. If I expect to be able to shop around for hosting I'm not even going to consider a Python CMS. As well, name a Python CMS with even 80% of the functionality of Drupal...

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    21. Re:PHP by Ash+Vince · · Score: 1

      Because sometimes web sites are used to trigger some form of processing behind the scenes that you don't want the user to have to sit and wait for and that might otherwise result in a time out anyway?

      You can do this if you cough up and buy Zend Server. Zend keep this as a paid for add on it seems

      --
      I dont read /. to RTFA, I read /. to offend people in ignorance.
    22. Re:PHP by Ash+Vince · · Score: 1

      Sure, PHP has its fair share of design flaws,

      I think you seriously understate what's wrong with PHP. Beside all the things that is mentioned in that article, I love how you suggest several php frameworks that attempt to be like Rails but all built on such a flawed language.

      And Rails is not hard to deploy any more... that argument is several years out of date.

      Rails is great, providing you are willing to do everything exactly the way you are supposed to according to best practice. The problem is that some times in the real work you have to do things wrong (either to meet a deadline or just because you are stuck interfacing with a shit legacy system that nobody will pay to rewrite) and then Rails just refuses to play ball.

      Short cuts are a part of commercial development unfortunately, that is why so much commercial stuff is written in PHP.

      I always compare Rails to Pascal: A great language for learning best practice but lack the flexibilty that comes with languages like PHP or C in comparison to Pascal.

      --
      I dont read /. to RTFA, I read /. to offend people in ignorance.
    23. Re:PHP by Xest · · Score: 1

      Is it proper actual threading support? the closest I've seen to date in PHP have been based on hacks using curls.

    24. Re:PHP by gorzek · · Score: 2

      PHP has its problems (which are well-documented pretty much everywhere), but it's popular because it works. Trying to steer people away from something that works strikes me more as zealotry than sound judgment.

    25. Re:PHP by Anonymous Coward · · Score: 0

      Trying to steer people away from something that works strikes me more as zealotry than sound judgment.

      Mod this one up.

    26. Re:PHP by Anonymous Coward · · Score: 0

      PHP isn't the problem, it's that Drupal's architecture is designed around pre-modern PHP conventions and is essentially a huge piles of spagetti code which "hook" into the request processing flow with poor representations of internal state.

      Moving to Symfony2 (or some other mvc framework) sounds like they're finally trying get the codebase under control and up to modern standards.

      And it doesn't really work well, it uses shitloads of memory, and is slow as shit, and requires different caching systems to be kludged on.

    27. Re:PHP by Common+Joe · · Score: 1

      The parents link is exceptional. It's a long yet concise list.

    28. Re:PHP by Tablizer · · Score: 1

      "Batch jobs" are an important need, but I don't see why multi-threading is needed to obtain that. Basically you put a request in the batch queue (usually a queue table), and then the batch processor(s) executable processes them in the order received (or by priority). Using a table allows tracking of progress and history also.

    29. Re:PHP by Ash+Vince · · Score: 1

      Is it proper actual threading support? the closest I've seen to date in PHP have been based on hacks using curls.

      Probably not. It was just a plus point I remember from evaluating it was the ability to kick things off from the web application then let them continue in the background and track their progress somehow.

      Whether it is true threading was not really that relevant to me, if it does something I don't really care how providing it just works.

      As it was there were not enough plus points to justify the cost.

      --
      I dont read /. to RTFA, I read /. to offend people in ignorance.
    30. Re:PHP by Anonymous Coward · · Score: 0

      PHP has had opcode caching and database connection persistence since PHP3.

    31. Re:PHP by Anonymous Coward · · Score: 0

      I have used fork to spawn multiple child processes and then clean them up when they're done. It's not threading, but it does work and process control functionality has been available since at least PHP3.

      Don't blame the language because there's awful developers that think making curl calls is the same as threads.

    32. Re:PHP by styrotech · · Score: 1

      more ISPs actually support mod_perl than mod_python

      No surprise there. mod_python has been deprecated abandonware for years.

    33. Re:PHP by Xest · · Score: 1

      That's a fine workaround in some scenarios (like you say, many batch processing scenarios), but in other cases needing a persistence layer, and an additional full blown service and/including scheduler is rather a brutal workaround for a rather unacceptable deficiency in PHP. In some cases it's not even a solution at all.

  4. Let me be the first to say it by Anonymous Coward · · Score: 1

    I, for one, do not welcome our new Drupal overlords. I will choose death before being forced to slave away in their underground PHP datacaves.

  5. unstable by Anonymous Coward · · Score: 0

    seems like every version of drupal features significant architectural changes

    1. Re:unstable by Anonymous Coward · · Score: 0

      Sounds like a great pair to the Linux desktop, then.

  6. I tried Python based by future+assassin · · Score: 1

    but seems you have to have the framework already installed on the server. i love Drupal and Ubercart but was looking for non PHP alternatives.

    --
    by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
  7. Re:it will never happen by gigaherz · · Score: 2

    Based on the content in the surrounding comments, it's safe to assume the devs are just deluded.

  8. WordPress by gaspyy · · Score: 4, Informative

    For better or worse, WordPress has more marketshare than all other CMS-es combined.
    See http://w3techs.com/technologies/details/cm-wordpress/all/all for an up-to-date look.

    Many people still think of WordPress as a blogging platform, but it's really so much more nowadays. Security is not worse than with other solutions, it's just that (like with Windows), popularity attracts attention (and attacks), and usually poorly-made plugins are the problem (the timthumb vulnerability was the most notorious one).

    I worked with many CMS solutions over the years - Allaire Spectra (anyone remember it?), DotNet Nuke, Typo3, CMS Made Simple, Joomla, Drupal, even hosted solutions like Squarespace and a bunch of others I can't even remember, but WordPress was the only one I could really develop for (functionality, themes, etc.)

    1. Re:WordPress by Anonymous Coward · · Score: 0

      For better or worse, WordPress has more marketshare than all other CMS-es combined.

      Purely because of all of the blogs hosted on Wordpress.com. Outside of that how many big organisations are choosing Wordpress as their CMS?

      As a CMS Wordpress is better than it was and easy to use for blogging. Go beyond that and you have a lot more work to do than with Joomla & especially Drupal because you're moving outside the original operational parameters.

      IMO Drupal is the most feature rich & extensible of the "PHP big 3".

    2. Re:WordPress by ios+and+web+coder · · Score: 3, Informative

      I posted up there, somewhere about this.

      I tend to use WP for my own sites. It is not as extensible as Drupal, but I can get a really well-crafted site up and going within a day. I would not recommend WP as an engine for, say, the White House. They made a good call with Drupal there. I believe that they actually added security code to Drupal, and returned it to the repository.

      Joomla is clearly an engine written by recent grad JAVA lovers that hate PHP. Drupal was clearly written by folks very familiar with PHP, and a great deal of coding experience in the real world.

      PHP? <shrug />. I use it, because it is important that folks actually be able to USE what I write. I'm not even slightly interested in pushing a coding philosophy. I need as many folks as possible to be able to install and run my code. I won't get that in any dynamic, database-driven server language other than PHP.

      PHP is a suckass OO language. I tend to use OO as a Model layer or as a namespace. A lot of the rest tends to be procedural. I sometimes ROTFLMAO, when I see some of the conversations around the Joomla camp. It's like architects boasting about using mud daub to build a skyscraper.

      --

      "For every complex problem there is an answer that is clear, simple, and wrong."

      -H. L. Mencken

  9. "Drupal now runs 2% of the world's websites" by snowtigger · · Score: 1

    Keeping track of that many webservers have to be very time consuming tasks.

  10. A fractal of bad design by Serious+Callers+Only · · Score: 4, Informative

    I've worked with Drupal for cms websites and seen it used on other customer sites. You should never use it, seriously. It's remarkably similar to early php in being a fractal of bad design. They are slowly trying to improve it, but their attempts at improvements are woeful. Some problems (which they've attempted to address, but many of which still plague users):

    Hundreds of tables with the most Byzantine schema you can imagine, even for incredibly simple needs
    Attempts to allow customers to define the db schema by adding fields etc
    Code in the db - that anyone ever thought this is a good idea is a huge red flag
    Upgrades are often incompatible
    A horribly broken plugin system and ecosystem, resulting in sites which load hundreds of plugins to support simple tasks, and therefore have a huge attack surface and a huge amount of unmaintained, scarily bad code. I've seen sites with hundreds of these modules loaded.the learning curve is huge and the code extremely fragile due to the above decisions
    Content is all stored in 'nodes' which are infinitely flexible, and therefore infinitely opaque and difficult to work with
    There are no pros or professionals working with Drupal - anyone who was a pro would have run a mile a long time ago, so don't listen when someone says 'oh well you just don't know drupal well enough'

    I dread to think what would happen if security professionals looked carefully at many drupal sites due to the above, particularly the modules situation. The closer you look at the code, the worse it gets

    If you're thinking of using it for a php cms, think again, look at Wordpress for example - the code is relatively clean (though it is still php of course), the plugins are better maintained and fewer are required, upgrades for security are no hassle, and they didn't come up with crazy ideas like code in the db in the first place. I'd personally choose other options/platforms, but at least with Wordpress the environment is pretty sane for a small time cms, easy to adapt and friendly for an end user.

    1. Re:A fractal of bad design by Anonymous Coward · · Score: 0

      You sound terribly negative.

      I've used Drupal professionally for around 5 years and found it an immensely powerful and flexible content management and web development framework.

      I've used Drupal to build scalable and high-traffic websites for a number of government and corporate IT projects.

      It has a good secure software architecture and thriving community and is well suited to many web development projects.

      Get over yourself, Drupal rocks :)

    2. Re:A fractal of bad design by Serious+Callers+Only · · Score: 3, Informative

      Have you ever used anything else? If so what? Nothing else I've used is so badly organised and so badly put together (Play, Rails, Sinatra, Flask, hell even Wordpress), save perhaps TYPO3, that was pretty bad (shudder). I wouldn't often be so negative about a web framework, and the devs are obviously keen and trying to improve, but the hubris involved in talking of world domination when your product is just awful in so many ways is quite incredible.

      If you haven't tried other frameworks in a while, I do think you should try some other frameworks and languages, and then come back to Drupal with an understanding of how things can be better, then perhaps set about improving it. Frankly part of the problem with Drupal is the many people who have invested so much time learning all the unnecessary APIs and working around its idiosyncratic code and db schemas, or fixing upgrades that leave modules behind that they can no longer find it in themselves to suggest the radical improvements required. Drupal is broken, in so many ways, you should at least acknowledge that there are issues if you want to be taken seriously.

      That to me is a big part of the problem with the Drupal ecosystem - unwillingness to listen (even in small part) to quite justified criticism and an insistence that anyone criticising is somehow to blame for the problems they have encountered. If you want Drupal to thrive, try actually listening to criticisms and acting on them - it has an awful software architecture for a start, to say that it has a good one is laughable, I mean they only just started try to clean up the mess with fields, and to do that they've introduced CCK! Have you looked at the drupal core or do you mainly set up and tweak sites?

      Ultimately, the main problem I have with it is a philosophical one though, which has driven a lot of the bad decisions on design: the designers seem to think that end users can effectively specify a complex system involving a db and code, which they only partially understand, through the browser and by choosing modules written by other people. That's what has led to massively complex 'general purpose' code to deal with all the possible permutations, to code in the db, CCK and many other problems in Drupal, and it's not going away as they don't seem to have learned the lesson from previous debacles. The result is a complex tangle of poorly understood code which interacts in unpredictable ways and tries to be everything to everyone and ends up satisfying nobody's needs very well without lots of extra work. In other frameworks all that extra work is just not required, the framework helps, not hinders. Here's a report from someone in the trenches who has realised this:

      http://benbuckman.net/drupal-excessive-complexity

      Usable code isn’t a luxury, it’s critical to attracting and keeping developers in the project. I saw a presentation recently on Rapid Prototyping and it reminded me how far Drupal has come from being able to do anything like that. (I don’t mean the rapid prototype I did of a job listing site - I mean application development, building something new.) The demo included a massive data migration accomplished with 4 lines of javascript in the MongoDB terminal; by comparison, I recently tried to change a dropdown field to a text field (both identical strings in the database) and Drupal told me it couldn’t do that because “the field already had data.”

      All that said, I'm not saying this because I have some axe to grind about Drupal (though it has wasted a few months of my life debugging client issues), but because beginner Drupal developers deserve to know that there are much better options out there. Drupal does not rock, in any way.

    3. Re:A fractal of bad design by Aethedor · · Score: 1, Interesting

      Wordpress 'clean'?? Seriously??

      The only place where I use Wordpress is in my 'Secure Web Progamming' course. Wordpress is a beautiful example of how NOT to write your code. It has no MVC structure and has no single entry-point. The Wordpress developers probably never heard of functions, because every file is one big piece of lineair code. It offers no secure API for plugins, hence the very long list of insecure plugins. Wordpress is nothing more than a piece of junk that should be avoided by EVERYONE!

      You want a good example of a secure, clean and solid PHP framework? Try Banshee.

      --
      It doesn't have to be like this. All we need to do is make sure we keep talking.
    4. Re:A fractal of bad design by Serious+Callers+Only · · Score: 1

      Wordpress 'clean'?? Seriously??

      If you've ever looked at Drupal, you'd know what I mean : ) Personally Wordpress is not my first choice, but they have kept the architecture relatively stable and simple and it is great for end-users who just want a custom theme as that is their focus. If all they want is basically a blog with some static pages I think it's quite a good choice - many, many websites fall into that category.

      The Wordpress developers probably never heard of functions, because every file is one big piece of lineair code.

      I'm afraid this damages your credibility somewhat for me. Functions are the things with 'function' in front of them, and there are rather a lot, even in WP!

      If you're looking at building an actual app with MVC and a better architecture I'd seriously look at a better language than PHP, Wordpress is actually not bad for PHP code.

    5. Re:A fractal of bad design by Aethedor · · Score: 1

      I'm afraid this damages your credibility somewhat for me. Functions are the things with 'function' in front of them, and there are rather a lot, even in WP!

      I know what functions are. Yes, the Wordpress code does use functions, but still every file is nothing more than a single list of instructions which makes it hard to read.

      Just compare the Wordpress code with the Banshee code and you'll see the difference.

      --
      It doesn't have to be like this. All we need to do is make sure we keep talking.
    6. Re:A fractal of bad design by Anonymous Coward · · Score: 0

      ... resulting in sites which load hundreds of plugins to support simple tasks...

      Hundreds of plugins? That'd be operator error, and a typical noob mistake on any modular platform.

      I dread to think what would happen if security professionals looked carefully at many drupal sites due to the above, particularly the modules situation. The closer you look at the code, the worse it gets

      Oh no, better run tell the folks at whitehouse.gov, because obviously you're way smarter than they are ;-)

    7. Re:A fractal of bad design by Swampash · · Score: 1

      Wordpress is a beautiful example of how NOT to write your code. It has no MVC structure and has no single entry-point. The Wordpress developers probably never heard of functions, because every file is one big piece of lineair code.

      Along with a bunch of other shit that users couldn't care less about.

      It's easy to set up. There's a vibrant user community. The content management interface is easy to understand. End of story.

    8. Re:A fractal of bad design by Xest · · Score: 2

      It sounds like your complaints are mostly related to the thing that makes Drupal good - it's rather generic nature.

      The problem with a lot of other PHP CMS' like Joomla is that if you want anything other than a basic website with a fairly fixed layout, then, well, you can't.

      Drupal's generic nature may make it a bit more awkward to understand sometimes, but with that comes flexibility.

      I notice a lot of developers struggle with generic, reusable designs in this manner because the abstract nature of such designs make them a little harder to understand, but for those who do get why generic is good - code reuse, testability and so forth, it's a godsend and allows us to build things we simply couldn't without starting from scratch if we were handed a fixed framework where we're not given the flexibility to do what we need.

      Beyond that your complaints seem to be more about poorly written plugins rather than any inherent problem with Drupal, but I think that reflects the nature of the PHP world in general more than anything - what can you expect from a community where the tutorials still often build up SQL queries as strings and avoid parameterised SQL, and where most developers are the "my first dynamic website" types rather than seasoned professionals. You're bound to end up with a security headache.

      P.S.: I'm not sure why you talk about the fractal of bad design article in terms of "early PHP", it still applies, that article was only written about a year ago or so I believe.

    9. Re:A fractal of bad design by bill_mcgonigle · · Score: 1

      Quite so - the ecosystem is a mess.

      My experience has been related to patching up broken modules, finding out that there's no support for separate writing and reading databases (needed for scaling and load balancing), finding out that the core is database agnostic but modules regularly inline MySQL-specific code, etc.

      I actually read TFA to see if any of this is fixed. What I learned instead is that:

      1) Drupal 8 will be bold. That was oft-repeated.
      2) Drupal 8 will have a WYSIWYG editor in core.
      3) Drupal 8 will be built on Symfony which sounds like it might have a sane architecture. They say that Drupal developers who learned to hack on Drupal will be hopelessly lost but that Drupal developers who are professional engineers who took CS and have a general understanding of web development frameworks will be just fine. So 98% of Drupal developers will probably stay on Drupal 7 until 2018.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    10. Re:A fractal of bad design by Su27K · · Score: 1

      "Hundreds of tables with the most Byzantine schema you can imagine, even for incredibly simple needs": How is one hundred tables constitute bad design? What is the Byzantine schema you're talking about? The table schema is fairly straight forward.

      "Attempts to allow customers to define the db schema by adding fields etc": Allow custom content types with fields is the major reason we use Drupal, how else can you add custom content with specific attributes to the site? This function is for site builders, not for site maintainers, you just need to use roles correctly and lock out the ones who is not supposed to use this function.

      "Code in the db - that anyone ever thought this is a good idea is a huge red flag": I don't remember seeing code in Drupal core tables, 3rd party modules used to have this but it has been strongly discouraged since 7.

      "Upgrades are often incompatible": Haven't seen this but I agree upgrading has the danger of breaking the site, but I think this is true for every piece of software.

      "A horribly broken plugin system and ecosystem, resulting in sites which load hundreds of plugins to support simple tasks,": I guess a very complicated site may use hundreds of modules, but I never seen or developed one. You certainly do not need hundreds of modules to do a simple site, this is just false. Drupal's module ecosystem is one of the reasons we choose Drupal, each module is aiming to provide a very narrow feature set and does it very well, this is much better than the huge components in Joomla which is just not customizable.

      "and therefore have a huge attack surface and a huge amount of unmaintained, scarily bad code.": I don't follow this logic, there's no difference in terms of attack surface whether you use one big component or 5 small modules, as long as they provide the same features. As for unmaintained, scarily bad code, this could exist for any CMS that allows 3rd party to write extensions. I haven't encountered much bad code in my work with Drupal, and if you subscribe to the security mailing list, you get regular security updates on the vulnerabilities found in modules.

      "I've seen sites with hundreds of these modules loaded.the learning curve is huge and the code extremely fragile due to the above decisions": Learning curve is big, and you could break the site if you don't know what you're doing, but the reward is you can fine tune the site to your needs with little efforts.

      "Content is all stored in 'nodes' which are infinitely flexible, and therefore infinitely opaque and difficult to work with": I don't see any difficulty in working with nodes, it's pretty straight forward.

      "There are no pros or professionals working with Drupal - anyone who was a pro would have run a mile a long time ago, so don't listen when someone says 'oh well you just don't know drupal well enough'": Where's the proof for this? If there're no pros working with Drupal, who contributed the thousands of modules for Drupal?

    11. Re:A fractal of bad design by ios+and+web+coder · · Score: 1

      Try to play with the Atlassian product line databases. Makes Drupal look like a cakewalk.

      However, the whole idea is to avoid direct database access. That's a good security best practice anyway.

      In Joomla, I am forced to directly interact with the DB (in the installer). Maybe 3.0 is different, but I have finally been able to farm off the Joomla plugin to someone who is a lot more familiar with (and likes) Joomla.

      --

      "For every complex problem there is an answer that is clear, simple, and wrong."

      -H. L. Mencken

    12. Re:A fractal of bad design by Kagetsuki · · Score: 1

      You just said everything I would have liked to say but wouldn't have been able to write without just getting angry and swearing. Seriously, everyone who's hooked on Drupal needs to try out some other things. Me and my team do a lot of Rails and it's what I like the best, but I'm not going to claim it does everything and I know it has a place. If you've got a team of Java or Scala developers who live in eclipse use Play. Little real-time apps use node.js. Client wants a simple blog in a week? It's hard to beat Wordpress. But Drupal is a system I can't imagine ever using for anything again.

    13. Re:A fractal of bad design by drinkypoo · · Score: 1

      Client wants a simple blog in a week? It's hard to beat Wordpress. But Drupal is a system I can't imagine ever using for anything again.

      Wordpress is responsible for so vastly much more of the sadness on the internet than Drupal that it's not even funny. You might be web developers and so have your own preference, but people I know who work for ISPs say that the WP sites cause vastly more problems than the Drupal sites. I cannot picture ever using wordpress for anything.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    14. Re:A fractal of bad design by Serious+Callers+Only · · Score: 1

      I notice a lot of developers struggle with generic, reusable designs in this manner because the abstract nature of such designs make them a little harder to understand,

      Those benighted, simple developers who value simplicity in an API even have a phrase for those who live on a higher plane - Architecture Astronaut.

      http://www.joelonsoftware.com/articles/fog0000000018.html

      If you're arguing that abstraction and the attendant complexity are usually good, I'm afraid a lot of smart people disagree. I've used systems with far better domain abstractions (named in the thread), in fact I find it hard to think of a system with a worse set of abstractions.

      The newer versions of drupal, which have added things instead of refining them, remind me of this article. I do feel that most full-time Drupal devs could do with stepping away from the madness despite their huge investment in time learning it, and checking out other frameworks and languages (if you think all PHP CMSs are the same, look at other options). It's fine to think Drupal is the best CMS available, but you should do so from a position of knowledge having evaluated the other options, and if criticisms are made, accept them where they have some foundation (however small), and try to improve it. There is no need to start a holy war on behalf of Drupal the one true universal module loader.

      Re PHP I actually think the last year or two they have shown signs of sanity with things like the new password API and changes in the latest version, perhaps they read that article and took it to heart!

    15. Re:A fractal of bad design by Serious+Callers+Only · · Score: 1

      I don't see any difficulty in working with nodes, it's pretty straight forward.

      Usually people pick abstractions based on the domain they're working with (DSL), so they'd have one products table and perhaps some joins to things like customers, orders etc. Instead drupal might have nodes and then lots of joins to them, like say 65 tables (count em!) of uc_products, uc_price_per_role_option_prices, etc etc. just to sell some products. That's because the CMS and modules try to do all things for all people. All those abstractions leak through to the front end and you end up managing nodes etc when you really want to get on selling stuff and managing your things (which are never really nodes). Nodes are used for things as disparate as any posting, such as a page, poll, article, forum topic, or blog entry and god knows what else, it's an abstraction too far IMHO.

      It's not difficult if you've never seen anything else and think things have to work this way and that the system should bend you to its will and not vice versa.

      Where's the proof for this? If there're no pros working with Drupal, who contributed the thousands of modules for Drupal?

      Who indeed.

      PS Use blockquote elements

    16. Re:A fractal of bad design by Xest · · Score: 2

      The problem is you're assuming that a sane level of abstraction to provide a level of genericness for the task at hand is too much - you're taking a personal assertion that seemingly only you has made in this entire discussion, and then suggesting that this is what the likes of Joel would think of it too.

      I'm also not entirely sure what the point of the appeal to authority fallacy you made with "I'm afraid a lot of smart people disagree" was. That's great, that's all very well, but a lot of smart people also are more than comfortable with levels of abstraction equivalent to, or higher than those in Drupal. Or to put it into context, if you struggle with the levels of abstraction in Drupal, you'd have absolutely no hope of working on large scale commercial systems written in Java using one of it's many popular frameworks such as Spring yet these are the sorts of systems are the ones in which many of the most talented developers around are employed to work on - in fact, this is where the highest wages in the industry are whether it's finance or Google, defense/aerospace or IBM, healthcare or Amazon, and it's not because these people are "architecture astronauts" but instead because they're the most competent developers going.

      You're talking about over engineering as if this is the problem here, but it's not, Drupal isn't abstracted beyond a reasonable degree, it uses some fairly straightforward abstractions and any programmer worth their salt should be able to cope with them else even things like ASP.NET MVC is going to be out of your reach let alone aforementioned Java frameworks like Spring. Something isn't necessarily over engineered just because it's beyond your personal level of competence and understanding.

      In your arrogance you suggest I look at other CMS's as if I haven't - what others am I meant to look at? Joomla? too inflexible, Wordpress? too inflexible and poor security track record. When you've listed other alternatives you've listed things like Rails- what? they're not even direct competitors for Drupal. They're frameworks, they sit alongside Zend, if you want something that low level then Drupal isn't it anyway - the whole reason you choose it is because part of what you need is there already. It may well be that if you're creating a run of the mill website that Joomla and Wordpress will do just fine, and that's great, but again, they sit at a higher level than Drupal.

      Drupal sits in this middle ground which is a sweet spot for many developers - it's low level enough that you're not grossly constrained in your ability to do much like you are with Wordpress/Joomla, but it's not so low level that you have to invest many man hours of development time to build from scratch as you do with Zend, or to a lesser extent, CakePHP/Symfony. For some people it's too high level, others it's too low level, but for millions more it's just right.

      So you talk about me starting a Drupal holy war for daring to respond to you but the reality is I think you neither understand what use case Drupal satisfies, nor do you understand why people might want better levels of abstraction than the likes of Wordpress offer. This strongly suggests you have very little experience outside extremely fixed type of websites, and that's fine, but it also means your problems with Drupal aren't problems with Drupal, but a misunderstanding of why Drupal is the way it is. As a result you have posted many many posts today on the topic - if there's a holy war it's your jihad against it because given that you seem to prefer Wordpress for your tasks and given that you find Drupal to abstract then the simple fact is you used the wrong tool for the job and have hated it ever since or whatever.

      That's great, but again, that's your problem.

    17. Re:A fractal of bad design by Anonymous Coward · · Score: 0

      I dread to think what would happen if security professionals looked carefully at many drupal sites due to the above, particularly the modules situation. The closer you look at the code, the worse it gets

      Please do try to make your way through this Drupal-site:

      https://nyse.nyx.com/

    18. Re:A fractal of bad design by hazah · · Score: 1

      The only time it's hard to read is when you lack context. It just means you heaven't read enough books to make the comment in the first place.

    19. Re:A fractal of bad design by Anonymous Coward · · Score: 1

      An actually insightful post.

      We spent four months "customizing" a Drupal 6 installation into an ecommerce site, dealing with strange module issues and performance problems. How Drupal did things internally seemed completely bizarre and was often very difficult to debug, and the project was only a success because of one expert-tier Drupal developer (who in the end got fed up with it).

      In that amount of time, we could have easily grabbed any MVC framework and written the entire CMS from scratch. It would have performed better, and it would be easier to maintain. In the end, client was never happy with the Drupal admin interface, which made you wonder what "value" Drupal really added to the project.

      However, after a developer has invested so much time into a "vertical" stack such as Drupal, they're going to naturally defend the marketability of their skillset. There's a whole industry of "Drupal Developers" out there who's career depends on it. So you will very rarely see a legitimite technical critque of Drupal wrt other options.

    20. Re:A fractal of bad design by Kagetsuki · · Score: 1

      Personally I'm not a fan of WordPress, and I'm also not the one who does the WordPress sites. They're just easy, and we only do them for smaller outfits that want a quick shop blog or something like that. We don't extend off of WordPress (if something needed an extension or custom data we'd use Refinery) and we host all the sites off of a shared host that separates each install. Honestly if we knew of a full-featured blog-centric CMS that was easy enough to throw together a full site in a week (just design/views) and was *not* PHP based we'd consider changing immediately. Any suggestions?

    21. Re:A fractal of bad design by hazah · · Score: 1

      I would agree with you if we were both looking at a static codebase from which no lesson can be learned but I cannot attest to that being the case. One thing I've noticed is that Drupal is not a static platform. The maintainers of modules that are used most often than not are quite open to suggestion if the issue hits the nail on the head. One should not underestimate the need to keep a good reputation.

    22. Re:A fractal of bad design by hazah · · Score: 1

      I would love to know what modules do this at this point. You posted quite recently, and I deal with a lot of different modules. Care to provide a solid example? Otherwise I'd have to say your opinion is really dated.

    23. Re:A fractal of bad design by hazah · · Score: 1

      Hope you realize UB is quite dated. While there are remenants of these aspects in Commerse (successor), really, what you're looking at is a separation of concerns. What a product is, vs how it will display are fundamentally separate concepts. When you approach this problem with the least assumptions, it makes sense to enable nodes for the actual display. The question is really about your assumptions about what these aspects of the system are, and how to work with them to create an actual UX.

    24. Re:A fractal of bad design by xanadu113 · · Score: 1

      Code in the database, if it has errors in it, will cause the cron.php script to fail when it updates the search index for those pages... PHP input filter is a very bad way of doing things, you are better off writing a proper module.

      --
      -Myke
    25. Re:A fractal of bad design by bill_mcgonigle · · Score: 1

      It's from when I did an install about a year ago, but one should be able to grep a repository for SQL easily enough.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    26. Re:A fractal of bad design by Anonymous Coward · · Score: 0

      Hundreds of tables with the most Byzantine schema you can imagine, even for incredibly simple needs

      Learn some basic SQL and this problem is 100% mitigated.

      Attempts to allow customers to define the db schema by adding fields etc

      This can (and should) be disabled for non-administrators, which Drupal does by default, unless you have purposefully added those permissions to your other created user roles.

      Code in the db - that anyone ever thought this is a good idea is a huge red flag

      It is not a good idea. Thankfully you can export every scrap of code that Drupal tries to store in the db into your module and thus it's not in the db anymore.

      Upgrades are often incompatible

      I have found in 99.999999% of cases of Drupal incompatibilities (much like the same ratio of WP incompatibilities), when you have issues in this regard... check your repos. In almost every case you will find modified core files (you know, those guys who immediately peruse the codebase, find something they don't like, then "fix" it arbitrarily breaking the entire functionality of the site and patching it back as they go, complaining the whole time about how terrible whatever it is they just ruined is?).

      A horribly broken plugin system and ecosystem, resulting in sites which load hundreds of plugins to support simple tasks, and therefore have a huge attack surface and a huge amount of unmaintained, scarily bad code. I've seen sites with hundreds of these modules loaded.the learning curve is huge and the code extremely fragile due to the above decisions

      Not every module is good. Luckily by downloading a contributed module you have the ability to fix problems and resubmit your fixes upstream to the maintainer. As a dayjob, a Drupal developer will realize it will take a fraction of the time and effort to recreate basic functionality for a single case than to enable an entire module for a single case. That's where experience comes in to help one know when to use which approach.

      I have never heard anything positive about any CMS's plugin system however, so I chalk this one up to a very generic gripe :)

      Content is all stored in 'nodes' which are infinitely flexible, and therefore infinitely opaque and difficult to work with

      As of Drupal 7, all content is stored in 'entities' which does not help a layperson understand the context Drupal uses. Nodes are a subset of entities that use Drupal's default content handling, while entities are completely up to the developer to define and use. So there has been something done to mitigate the "everything is a node" problem, but it exists and we work with it.

      There are no pros or professionals working with Drupal - anyone who was a pro would have run a mile a long time ago, so don't listen when someone says 'oh well you just don't know drupal well enough'

      You could extend this to "there are no pros or professionals working with " and be just as factually valid. There are professionals who use Dreamweaver FFS.

      I dread to think what would happen if security professionals looked carefully at many drupal sites due to the above, particularly the modules situation. The closer you look at the code, the worse it gets

      Just as with Wordpress, the onus is on the developer to write and review the good modules/plugins for use. I like how you overlook WP's long spotted history of MASSIVE security issues. Just like WP, Drupal comes with tons of tools to help a developer write secure code. Do you also blame car manufacturers for drunk driving accidents?

      If you're thinking of using it for a php cms, think again, look at Wordpress for example - the code is relatively clean (though it is still php of course), the plugins are better maintained and fewer are required, upgrad

    27. Re:A fractal of bad design by Aethedor · · Score: 1

      If you don't agree with me, that's fine. But criticizing me instead of my message is simply cheap.

      --
      It doesn't have to be like this. All we need to do is make sure we keep talking.
    28. Re:A fractal of bad design by Aethedor · · Score: 1

      Sure, you are right about that. But that doesn't make my point less true. Wordpress is a piece of garbage with a golden outer layer. The nice and shiny interface makes it even more dangerous. Because of that, many ignorant people use it. And we all know the result of that.

      --
      It doesn't have to be like this. All we need to do is make sure we keep talking.
    29. Re:A fractal of bad design by Anonymous Coward · · Score: 0

      Seconded. What's really sad is the ease an only semi-dedicated miscreant can access a WP install. I typically blame incompetent sysadmins and devs for that though, as if you jump through enough hoops and hack enough WP core you CAN secure it. Out of the box though, WP is extremely vulnerable.

    30. Re:A fractal of bad design by Serious+Callers+Only · · Score: 1

      This strongly suggests you have very little experience outside extremely fixed type of websites

      I'm sorry to tell you but your assumptions are entirely wrong, about me, and about other frameworks. Try not thinking of people who find drupal distasteful as automatically stupid, it might help. I'm just offering you suggestions re other frameworks, I do think rails, play, grails, django, revel, wp, all compete with drupal, not because I'm ignorant of what drupal can do, but because it tries to do too much, and does it in the wrong way. Also think they make an illuminating comparison with it. It does 80% of most cms tasks then leaves people with a difficult rigid structure they can't extend in a maintainable way. But we've both said our piece on that and this thread is too long!

      As to the level of abstraction in Drupal, I don't find it difficult to comprehend at all, I just find it overdone and a messy cargo cult style of OO. Java is also full of awful frameworks which do the same thing and have module loaders, nodes, factories and plugins without getting the basic foundations right. Abstracting all content to a node is a classic AA error IMHO and a source of lots of perf. and usability issues and modules are too interlinked. PS I'm basing this on having to fix drupal sites written by others, so on personal exp with d6, not because of some irrational hatred of abstraction or drupal.

    31. Re:A fractal of bad design by Serious+Callers+Only · · Score: 1

      I didn't choose uc but that was just an example - all drupal tables have several levels of indirection because of the overabstraction.

    32. Re:A fractal of bad design by hazah · · Score: 1

      Look, there's nothing special about my ability to get dropped off into an unfamiliar source file and figuring out what's what. Almost never had that happened without studying the broader concepts of the host system (context). It's not that I disagree with you, nor am I trying to be a dick about it, you're just wrong in your assumption that these files are incomplete (and therefore incomprehensible -- they are neither one nor the other -- you lack the knowledge available to you freely).

    33. Re:A fractal of bad design by drinkypoo · · Score: 1

      Any suggestions?

      I have nothing constructive to add, because I run Drupal.

      My only complaint about it, and I do have one, is that upgrading between major versions can be hell. Otherwise, I've overall been very happy. I'm just not really experiencing php-related problems.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    34. Re:A fractal of bad design by hazah · · Score: 1

      I'm sorry, this is bullocks. There are literally tens of thousands of modules out there. Some are solid, others are not. I'm not about to do a grep of code a good 99% of people out there never even use. You've made a pretty wholistic claims about "modules". Well, I've been reading enough module code, specifically the ones that tend to linger on 100k+ sites or so (views, panels, context, ds, rules, to name a few), and you know what? One word for you. Bullshit. Go ahead, and please find that DB specific code in any of those. Only way I can think of for you to get into that pickle you describe is consistenly choosing obscure modules no one actually maintains, at which point I'd have to say you need to actually study this beast first.

    35. Re:A fractal of bad design by Aethedor · · Score: 1

      You know what? You keep on working with Wordpress. I don't care. It's an exellent piece of software... really... it is.

      --
      It doesn't have to be like this. All we need to do is make sure we keep talking.
    36. Re:A fractal of bad design by Ice+Station+Zebra · · Score: 1

      Remember, the person you are arguing with likes Wordpress, which stores data in two tables, and one of those it stores the data as php serialized arrays.

    37. Re:A fractal of bad design by Ice+Station+Zebra · · Score: 1

      That comment doesn't even make sense dude.

    38. Re:A fractal of bad design by Ice+Station+Zebra · · Score: 1

      You are right, I haven't seen db specific code in Drupal in a long time.

    39. Re:A fractal of bad design by Su27K · · Score: 1

      Ok, thanks for the reminder, I actually didn't know that (very little WP experience, have seen some WP plugin with logic all mixed up with presentation so I just run away). That seems to be a very inefficient database design.

    40. Re:A fractal of bad design by Su27K · · Score: 1

      Usually people pick abstractions based on the domain they're working with (DSL), so they'd have one products table and perhaps some joins to things like customers, orders etc. Instead drupal might have nodes and then lots of joins to them, like say 65 tables (count em!) of uc_products, uc_price_per_role_option_prices, etc etc. just to sell some products.

      Sorry, no experience with UC, we usually use Commerce in D7, which has no such problem. It only has 10 or so tables, thanks to the entity concept introduced in D7, no more "everything is node", but you can still customize the products if you like, very powerful.

      That's because the CMS and modules try to do all things for all people.

      No, that's the last thing a Drupal module wants to do, a good module will do one thing and do it well. It is true some very old modules still have a monolithic design and try to provide a whole package of features, but they're on the way out.

      All those abstractions leak through to the front end and you end up managing nodes etc when you really want to get on selling stuff and managing your things (which are never really nodes). Nodes are used for things as disparate as any posting, such as a page, poll, article, forum topic, or blog entry and god knows what else, it's an abstraction too far IMHO.

      It seems you haven't tried the new D7, entity has replaced node, so your things do not have to be node anymore.

      It's not difficult if you've never seen anything else and think things have to work this way and that the system should bend you to its will and not vice versa.

      Not sure what this means but the reason I like Drupal is I can make it do the things I want, instead of having to follow some component designer's vision of how things work (i.e. Joomla).

      Who indeed.

      Well I for one, and I know I don't write bad code.

      PS Use blockquote elements

      Thanks for the tip.

    41. Re:A fractal of bad design by Xest · · Score: 1

      "Try not thinking of people who find drupal distasteful as automatically stupid, it might help"

      But how can one view you any differently when you're out and out saying Drupal sucks and Wordpress is better when whilst the use cases intersect on a venn diagram there are also large areas outside that intersections where one or the other is superior? Your suggestion that Drupal is out and out worse can only be taken as a lack of understanding of where Drupal works, else your comments make no sense. You're basically saying a screwdriver is always better than a hammer, and then crying off and playing the victim when someone says you'd suck at DIY, especially if you ever needed to knock some nails into some wood.

      "I do think rails, play, grails, django, revel, wp, all compete with drupal, not because I'm ignorant of what drupal can do, but because it tries to do too much, and does it in the wrong way."

      Then that reaffirms the point doesn't it? If you think an underlying framework is directly comparable to a CMS then you really do suffer from a lack of understanding, it's really quite simple. They only compete to the point where you're figuring out what level of flexibility you need - if you need the ultimate level of flexibility even a framework wont cut it, if you can get away with the limitations of a particular framework then that's good enough, if you can restrict yourself further to Drupal then great. If you can restrict further again then Joomla or WP is fine. It's about balancing flexibility against speed of development. But here's the thing, Drupal hits a sweet spot for a lot of people - that's why it's so popular - a lot of people have a scenario where they don't want to build an entire site from scratch using a framework, but they also don't want to be horribly bound in inflexibility by Joomla and WP, hence, they choose Drupal. Again, if you can be bound by that inflexibility for your use cases then that's great - you don't need Drupal, it's not the for the tax at hand, but if you do need that level of flexibility but don't have time to build a full blown CMS from scratch and are somehow bound to PHP then Drupal is the choice for you. There's simply no better option.

      "Abstracting all content to a node is a classic AA error IMHO and a source of lots of perf. and usability issues and modules are too interlinked."

      So how exactly do you go about creating a content neutral CMS if you're not allowed a single generic underlying point of reference? I wont pretend that I'm not clean on Drupal's poor OO, but once again, that's par for the course in the PHP world where 90% of PHP developers brought up on PHP haven't the first clue about writing good code. The fact that you think that level of abstraction is always unnecessary simply once more shows inexperience with software architecture on your behalf.

      Earlier you used the term architecture astronaut, I think you need to accept that there's a flip side to that - the architecture amateur, and that you're currently stuck at that level. I'd be intrigued to hear more about the Java frameworks you speak of, as you're clear experienced in that area judging by your ability to claim Java is full of frameworks that don't get the basics right.

      Alternatively you could just admit that maybe the reason you thought Drupal sucks is because you haven't had the breadth of experience to encounter a scenario where the level of flexibility it provides was necessary which is why you've always preferred to just use the much less flexible Wordpress. That would be easier on everyone, and you'd even get to learn from the experience and move on as a bonus.

      Look, I used to think things in certain frameworks, especially the Java world were excessively abstract too, but the thing I've learnt is that you really can't judge that unless you've had a good amount of experience with them, unless you understand the reasoning for those things being that way. When you do understand that you begin to realise that things are the way they are for good reason - a lot of abstraction in Java frameworks for example, particularly the IoC/DI related stuff are to support unit testing with mocking frameworks. That greatly improves code quality and greatly improves reusability.

    42. Re:A fractal of bad design by Serious+Callers+Only · · Score: 1

      Again, your assumptions and guesswork about me are entirely unfounded (not that it should matter in considering Drupal):

      1. I don't recommend or use WP very often, it's good for simple sites, and I've seen a few Drupal sites that could more easily have been done with WP.
      2. I've fixed/maintained a few drupal sites and replaced one big underperforming drupal site (bad developer, compounded by bad usage of drupal IMHO) with rails, taking less than half the resources (CPU/RAM), and half the time to do the same job (500k uniques a year, no not willing to link). These direct comparisons have led me to my conclusion that it is not so much better than other frameworks, quite the reverse.
      3. Don't let yourself assume I don't know what I'm talking about to avoid cognitive dissonance, I think I've clearly demonstrated I know the framework and am not some hobbyist WP advocate, and plenty of drupal or ex-drupal developers agree with me, see [1]

      A content neutral CMS is a *mistake* IMHO (nodes etc) - most CMS systems are tailored to the problem domain and rightly so. Not doing so leads to bad performance, inflexibility, complex db schemas, and ongoing problems with maintenance. Not many other frameworks try to do this the drupal way; instead a CMS should have pages, users, admin etc, and then you should build your own *domain specific* admin. See Django [2], Rails[3], Play[4] etc. Apparently the core developers have recognised serious problems with drupal even if you don't as they're ripping out the internals in v8 and starting again on many core components. I don't have confidence they'll do better then 8th time round, but YMMV. It's quite possible to build good websites with Drupal, but I think they could be built better, easier, and faster with most other frameworks, even ones which out of the box do far less. If you haven't I would honestly recommend trying one of those in my list and giving it a go to build a simple site just to compare (not another PHP one).

      [1] http://benbuckman.net/drupal-excessive-complexity
      [2] https://docs.djangoproject.com/en/1.5/topics/db/models/
      [3] http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding
      [4] http://www.playframework.com/documentation/1.0/guide7

    43. Re:A fractal of bad design by Xest · · Score: 1

      "3. Don't let yourself assume I don't know what I'm talking about to avoid cognitive dissonance, I think I've clearly demonstrated I know the framework and am not some hobbyist WP advocate, and plenty of drupal or ex-drupal developers agree with me, see [1]"

      I wont address this in detail again, merely point out that this is the image you have painted of yourself given that you have made numerous statements that are demonstrative of nothing other than a complete lack of understanding, or, alternatively, simple dishonesty for the sake of trying to make your point.

      Note: Having to run to the "but other people think this too, including this guy who has a blog post about it!" argument doesn't reinforce your argument. On the internet you can find a handful of people that will hate or have problems with absolutely anything. For example, this Ben Buckman you keep quoting, I don't really know why you think we should care what he has to say given that I'd wager most Slashdot developers are more experienced than he is. Having a blog doesn't make someone an authority on a topic.

      "A content neutral CMS is a *mistake* IMHO (nodes etc) - most CMS systems are tailored to the problem domain and rightly so. "

      This is stupid, there's so many use-cases that you couldn't possibly have a CMS tailored to each and every one of them. This has the implication that not only do you simply not understand the purpose of Drupal, but that your understanding of the business world in general is extremely narrow in breadth. You simply do not seem to have the breadth of experience if you think it's possible to have a CMS tailored to every single problem domain, or even anything close to a sizeable minority of them. This is before you factor in the point that even CMSs across different problem domains will have shared fundamentals which means your solution is to have masses of duplicate codebases all reinventing that shared wheel differently. Wouldn't it be nice if instead of that you had say, a base CMS, that implemented the shared functionality without imposing anything much above that on you so that you could build on that for your domain specific CMS? Oh wait, that's exactly what Drupal is for.

      "Not doing so leads to bad performance, inflexibility, complex db schemas, and ongoing problems with maintenance."

      This is really just 100% FUD, given that Drupal has been implemented in good time on high performance sites that require extreme flexibility and where there have been no maintenance problems it's more a reflection again of your lack of experience or perhaps lack of ability with Drupal. The simple fact such sites, such case studies exist is demonstrative of the fact that if you have encountered these problems, these problems are specific to you or the projects you have inherited and are not inherent in Drupal itself.

      You keep talking about the complexity of the database schema, but again, I don't know what you want people to take away from this? as others have pointed out to you it's not exactly a complex schema, if you find it problematic or horrible it once more speaks volumes about your own experience than anything else - that's not an attack on you, just a statement of fact, how else do you expect people to read it? It's not like we can't see the schema for ourselves and are just having to take your word on it, we can see it, and we don't find it problematic.

      "If you haven't I would honestly recommend trying one of those in my list and giving it a go to build a simple site just to compare (not another PHP one)."

      I don't really tend to work with toy frameworks any more, most stuff I work on needs to use more heavyweight technologies with a strong track record like Java EE, C# w/.NET, and C++. Play is nice for some simple stuff, but it's too immature and has it's deficiencies compared to the heavyweights.

    44. Re:A fractal of bad design by hazah · · Score: 1

      I don't work with it. Never written a single line of code for it. This is not a WP specific concept. Modules (plugins, or anything of that nature) are incomplete peices of software regardless of platform.

    45. Re:A fractal of bad design by hazah · · Score: 1

      * require context. long day. :)

    46. Re:A fractal of bad design by Anonymous Coward · · Score: 0

      Rails isn't a content management system. You can however, create one with Rails.

      Same applies to Django.

  11. Unrealistic Expectations by pspahn · · Score: 1

    It's probably a rather safe assumption that most of the Drupal implementations that give it a bad name were done by developers who "also use Drupal", and were rushed out the door due to limited budget.

    This is not a problem inherent in Drupal, necessarily, but rather these types of projects will tend to gravitate towards Drupal (and the sales departments that whore out their developers).

    I have no doubt that if you took a team of experienced Drupal developers, gave them a proper budget and appropriate schedule, they could produce a decent piece of work. Good luck finding someone willing fork out money for that.

    I have a former employer that had no qualms about selling Drupal sites to clients, even though none of the devs were really familiar with it as a platform.

    --
    Someone flopped a steamer in the gene pool.
    1. Re:Unrealistic Expectations by Anonymous Coward · · Score: 0

      Agreed. I have done lots of consulting work for a company that chose Drupal because their client (extremely prestigious Ivy League school) uses it internally. Naturally, their backend guys had a conniption fit when they saw Drupal, as they came from a more WP background. It took a weekend to get them caught up to speed on how to do things and how Not to do things in Drupal though. Some of the things they did (that surely seemed like perfectly common sense to them) were truly atrocious though, and I would suggest to ANYONE to google how Drupal does something before blindly implementing something :)

  12. WordPress and security? by kasper_souren · · Score: 2

    I've used both WordPress and Drupal for a good number of years. I hate PHP and Drupal is definitely not as much fun to work with as say Meteor.com with CoffeeScript. But there are still quite a few sites I would build in Drupal any day. And well, I'm okay with people tearing down Drupal, but I chuckled when reading "I dread to think what would happen if security professionals looked carefully" and then "look at Wordpress for example".
    WordPress probably has the worst track record out there in terms of the number of hacked websites. The number of noobs using WP probably has something to do with it. But when comparing the two ecosystems it seems that the Drupal community is also way nicer and more aware of licensing issues (GPL is actually enforced), people actually care about their code working properly and safely. WordPress plugins often seem merely to be written for a quick buck (even with obfuscated code at times).

    1. Re:WordPress and security? by Serious+Callers+Only · · Score: 2

      WordPress probably has the worst track record out there in terms of the number of hacked websites

      Wordpress has also had the most scrutiny by far - I suspect that and their installed base is the reason they've had more exploits, and that should make the code at the present time far more secure as they've had a trial by fire when becoming popular. I agree it's not my first choice for security but I wouldn't be so sure about Drupal.

      In contrast, many of the Drupal modules I've seen (and there are many on most sites, one client site had 200 installed!) have not been updated in a long time, break on every update, and are of a quality which makes me seriously doubt that security was a concern. Unlike WP many of these are used on a lot of sites (WP you can get away with a caching plugin, perhaps attachments, and that's about it).Many people are stuck on older insecure Drupal installs with no way of upgrading because their site breaks when they do. Core code is so complex that I highly doubt there are not significant undiscovered vulnerabilities - Drupal has many different ways to hook in dynamic content e.g. Core blocks, Context module, and Panels, hook_page_alter and then the render API, the rendering pipeline is extraordinarily complicated.

      Have you used something like Rails and would honestly pick Drupal over it to build some sites?

  13. Drupal rocks! by amoeba47 · · Score: 5, Interesting

    As a web developer with ~10 years professional experience, the last of 5 of which have been with Drupal, I say Drupal rocks.
    Drupal is a great fit for many web development projects. It's 100% GPL open-source software with a thriving development community.
    It has a solid a reliable core architecture extensible via a modular plugin system.
    Although there's a learning curve, it's worth it.
    Like every release, Drupal 8 is making taking steps to improve on the previous, for D8 these include.

    1. Integration with the Symfony PHP framework.
    This lowers the barrier to entry to Drupal by allowing developers familiar with the Symfony framework to easy transition to building Drupal websites, leveraging the power of both.
    2. Enforcing MVC architecture
    Drupal 8 includes a new, non-php, default templating engine called "Twig" ( http://twig.sensiolabs.org/ ). No more PHP code in templates.
    3. Pure core Drupal 8 includes more in core to achieve the functional requirements, without the need for additional plugins. For example, Panels style layout builders and the Views style report query builder as well as the ctools framework are now in core, along with the usual frameworks such as the Entity and Field API.

    I've used Drupal with a wide variety of government and corporate IT projects.
    Common server architecture includes, Linux, Nginx, Postgres/MySQL, PHP5, APC, Memcache and Varnish.
    If you're looking for a solution for your next web development project that's easy to set up, and supports and extensible and scalable architecture, checkout Drupal, it rocks!

    1. Re:Drupal rocks! by amoeba47 · · Score: 1

      Other additions in Drupal 8 include the Backbone.js and Underscore.js JavaScript frameworks in core.
      Further information on the changes in Drupal 8 can be found here: http://api.drupal.org/api/drupal/core!CHANGELOG.txt/8

    2. Re:Drupal rocks! by Anonymous Coward · · Score: 1, Informative

      Oh look, Dries Buytaert has an account on Slashdot!

    3. Re:Drupal rocks! by Aethedor · · Score: 1

      ... checkout Drupal, it rocks!

      No, sorry. Can't do. My doctor doesn't allow it. My heart and brain are still recovering from my first contact with Drupal code 4 years ago.

      --
      It doesn't have to be like this. All we need to do is make sure we keep talking.
    4. Re:Drupal rocks! by stridebird · · Score: 2

      2. Enforcing MVC architecture
      Drupal 8 includes a new, non-php, default templating engine called "Twig" ( http://twig.sensiolabs.org/ ). No more PHP code in templates.

      Now how exactly does that enforce an MVC architecture? Anyway, PHP is a great templating language and I use it in MVC. Twig is also nice, they use that on Lemonstand. Plus Drupal shouldn't enforce a templating language; that's not core.

      With Drupal 7 I probably tried to make the mistake of attempting to understand how the system works. var_dump is not your friend here. The render array that gets dragged through each request is absolutely byzantine and fairly hopeless as a tool to understand the system. I was coming at it with a design-led brief and the design requirements could not be met out the box; attempts to bend various aspects of the output were not very successful. The system was dropped in favour of a bespoke framework based on a revved-up version of codeigniter. Another friend, however, has successfully deployed a D6 site to support his business and has had a great experience on the whole; his advantage, though, is that he understood that his site would be developed within the available modular functionality and the constraints of the templating and general front-end system of drupal. Then again, he knows he has to upgrade sometime soon, and he's tried and he's failed once already.

      Drupal online is also a mess. Whilst the core drupal.org pages and the technical documentation found there is a good start, things rapidly deteriorate as you search wider and join the lost millions blindly seeking a way out of the deadends drupal has led them into, all raking across the same hodge podge of dupes, ignorance, ridiculous bravado, outright falsehoods and version hell.

      And all that bloody clicking. It's not efficient and it hurts after a while.

    5. Re:Drupal rocks! by Anonymous Coward · · Score: 0

      Have you ever tried to create an i18n site with Drupal? Then you hit rock bottom... Even in Drupal 7 you still have to resort to a full stack of 3rd party modules to get it working (does Drupal 8 have full i18n support in core?). Drupal does have it's benefits, but there are some major features missing (or badly implemented) as well.

    6. Re:Drupal rocks! by phyrz · · Score: 1

      re MVC - DBTNG is a pretty solid db layer, adding TWIG as a templating engine disallows adding PHP on the View layer. hook_menu has always been a controller of sorts, and the move to Symfony routing solidifies that.

      MVC is nothing special anyway.

      --
      Don't point that gun at him, he's an unpaid intern!
    7. Re:Drupal rocks! by phyrz · · Score: 1

      its all in core now - http://www.drupal8multilingual.org/

      --
      Don't point that gun at him, he's an unpaid intern!
    8. Re:Drupal rocks! by hazah · · Score: 1

      "4 years ago." And you honestly think that your opinion can actually be constructive at this point?

    9. Re:Drupal rocks! by hazah · · Score: 1

      First, Drupal is not, and never was designed around MVC. It is a PAC system. Second, if you've made any real attemt at understanding how the system works (a task not impossible by any stretch of the imagination, else you're simply incapable of reading code), you'd soon realize that the function to use is non-other than dsm. You're basically saying that you haven't taken the first step to understand Drupal development, else you'd quickly would have found the "Devel" module that exposes those render arrays for you to properly navigate them. And, are you seriously claiming that you were not able to find the proper tpl file to override? I cannot imagine a more braindead task when it comes to drupal output. There is virtually nothing inherent to that system that makes this difficult aside from a healthy dose of "I won't read the fucking manual".

    10. Re:Drupal rocks! by Ice+Station+Zebra · · Score: 1

      I built one, it was a hard site to get going, but not impossible and actully pretty darn flexible when all was done. Couldn't do it with any other CMS either.

  14. Drupal rocks by amoeba47 · · Score: 1, Insightful

    Drupal definitely has a "cleaner" code base and better software architecture than Wordpress and a better security track record to support that. Wordpress may currently win on usability, pervasive in the "blogosphere" and provides an ease of cobbling together a site.
    However, I think, If you take the time to learn the Drupal API, you will find it preferable, particularly as a developer.
    Over the last ~10 years, I've used a range of similar open-source CMS products, from Typo3, Plone, Xoops, Joomla, Wordpress and Drupal and out of all of them, I prefer Drupal. I think in particular, I like the flexibility and extensibility of the Drupal codebase, as well as the Drupal development community.

    1. Re:Drupal rocks by Serious+Callers+Only · · Score: 3, Interesting

      Drupal definitely has a "cleaner" code base and better software architecture than Wordpress

      I'd be interested to see some concrete examples, I have a hard time understanding why you would say that, save perhaps that Drupal has far more *abstraction* - that's not the same as being cleaner and leads to greater complexity if overdone. I don't really want to defend WP as it's not my idea of brilliant architecture (far from it), but they have kept it much simpler and procedural than Drupal, which is incredibly complex when it comes to rendering or even the simplest helper modules. For example:

      Drupal date module: 14kloc (YES > 14,000 lines)
      WP date helpers/calender: circa 1kloc
      Rails date helper: 970 sloc (doesn't include visible calendar, I'd use jquery-ui for that)

      Yes the above helpers probably do less, but the contrast is stark, and sometimes less is more (security, maintenance, readability). I didn't count the loc of some clients sites I've looked at, but wouldn't be surprised if it was in the hundreds of thousands for relatively simple sites due to core and modules.

    2. Re:Drupal rocks by Xest · · Score: 1

      "but they have kept it much simpler and procedural than Drupal, which is incredibly complex when it comes to rendering or even the simplest helper modules. For example:

      Drupal date module: 14kloc (YES > 14,000 lines)
      WP date helpers/calender: circa 1kloc
      Rails date helper: 970 sloc (doesn't include visible calendar, I'd use jquery-ui for that)"

      I'm not sure what you're even trying to say with this, it's as if you think number of lines in a file or set of files is somehow an example of bad code.

      Where is the comparison of features? what about code style? which ones are better commented?

      Comparison of lines of code is utterly meaningless, literally, completely and utterly meaningless in terms of judging quality unless you can somehow prove alongside that that the code does less, is more poorly laid out, is less secure, and is more poorly commented.

    3. Re:Drupal rocks by drinkypoo · · Score: 1

      The drupal date module actually does stuff. If you're comparing kloc without comparing functionality, you're trolling.

      Yes the above helpers probably do less, but the contrast is stark, and sometimes less is more (security, maintenance, readability).

      And sometimes more is more, like when there's documentation in the code.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re:Drupal rocks by BadMrMojo · · Score: 1

      To be fair, the Drupal date module isn't just "the simplest helper module."

      Off the top of my head, those 14k lines of code also include:

      • a system-wide API for other modules to reuse - the most important part
      • a few administrative UI variants
      • hooks into several common extensions including
        • Context
        • Views
        • Feeds
        • Migrate
        • Tokens
        • ... and I'm probably forgetting several others
      • tests for each
      • Markups and styles for front-end
      • hooks to override any of the above
      • administrative options to override most of the above without a single line of code

      It's not quite the same thing as a WP plugin that lets you add Date fields to posts.

    5. Re:Drupal rocks by gorzek · · Score: 1

      My approach has generally been something like this:

      1. If all you want is a straight-up blog, use WordPress. Up and running in no time, plenty of themes out there, and you can have a blog immediately.
      2. If you want something fast and (relatively) lightweight for a CMS, and you'll be managing a lot of media files, Joomla may be your best choice. (Note that I don't really care for Joomla, but it's hard to beat for performance.)
      3. If you have complex needs that go beyond having a blog and managing media files, look into Drupal and some of its more mature plugins.
      4. Get sick of everything above and just go to Django. :-p

      (Okay, the last one is a joke.)

      I've used all of the above and they have their strengths and weaknesses. I've also written plugins for all of them. Drupal was the most straightforward, although adding filters to WordPress wasn't that bad. The less said about Joomla, the better. That is the stuff of nightmares.

    6. Re:Drupal rocks by Serious+Callers+Only · · Score: 1

      Yes but to add a small date function on from this module you have to pull in the whole thing, along with all its complex dependencies and hooks into other code. This was just an example, and loc on its own doesn't mean much, but 14k for a date module indicates a problem to me (and to many drupal developers). This is the sort of thing newer languages like golang were explicitly created to avoid, and its a serious problem on large projects.

      IMHO no plugin should be that big, even some frameworks are smaller than that!

    7. Re:Drupal rocks by xanadu113 · · Score: 1

      I think, in 3 years time, Drupal will be much easier to use, if they keep doing usability testing every version.

      However, the code freeze may cause some issues that surface later to be difficult to fix in core for UX/UI issues, and could possibly have to wait until a later major version of Drupal to fix. Don't get me wrong, I love Drupal, and use it almost exclusively, unless I'm forced to use one of the other CMS's....

      --
      -Myke
    8. Re:Drupal rocks by terjeber · · Score: 1

      Drupal definitely has a "cleaner" code base and better software architecture than Wordpress

      That's like saying being shot in the back of the head is better than being shot in the face.

    9. Re:Drupal rocks by terjeber · · Score: 1

      if you think number of lines in a file or set of files is somehow an example of bad code

      It generally is. The number of errors is statistically tied more or less linearly to the loc. So, more code is usually the same as worse code if the stuff accomplished is more or less the same.

    10. Re:Drupal rocks by Xest · · Score: 1

      "So, more code is usually the same as worse code if the stuff accomplished is more or less the same."

      But that's exactly it isn't it? That's not a given. The Drupal code does substantially more, could be better commented, and could be less densely laid out to improve readability.

      The latter two will increase quality of code, whilst also increasing line count, that's why it's a bad measure. Not to mention development methodology will play a bigger part than anything - 1,000 lines hacked together and not tested will be substantially lower quality than 2,000 lines built using thorough quality processes and with substantial testing that have been well.

      So it's really not a good measure, unless you can prove that:

      - Readability of code is of equal quality
      - The code was developed using equivalent quality and testing processes
      - The code is equally well commented
      - The code performs the same functionality

      Only then can you say the lines of code is a factor in code quality, but not one of these is a given with the GGPs post.

    11. Re:Drupal rocks by glennpratt · · Score: 1

      The core Date module doesn't have dependencies, you don't have to enable the integration modules.

      http://drupalcode.org/project/date.git/blob/refs/heads/7.x-2.x:/date_api/date_api.info

      The Date module could be split into a several different projects by just copying folders into a different Git repos. Would it make any real difference, no.

      PS Another reason the Date module is large is it's history back to PHP 4, which it maintained compatibility with for a long time. As PHPs included DateTime classes improve (and fix long standing bugs) it can get smaller.

    12. Re:Drupal rocks by Anonymous Coward · · Score: 0

      Having had a hand in the Date module I can tell you you are wrong. Date module is complex because of many reasons, but mostly because it does not choose. For example, it allows you to choose strings, DateTime fields, unix timestamps, and several more storage options (you define the DBA). People often argue that such choice is good. It is not. It results in a huge surface for bugs (there are a lot) and even more edge-cases. And the usability drops exponentially. Date module is just an example, but a telling one, for it shows us how Drupal, the community tends to not choose and in (not) doing so, making things far too complex.

      The LOCs are very telling in this specific case. Rails' (I moved from Drupal to Rails to step up in professionalism mostly) Date addons like Chronic are still a huge lot less complex. Sure; Drupals module might have more features (it has not, but more on that later) but with those many features, it also has many edge-cases in which things will or might go horribly wrong; simply because many features are incompatible, mutual exclusive and whatnot.

      But, due to the manner in which Drupal exposes features, it has less features. In e.g. rails, you use a library, with a (simple) API to *program* stuff. Allowing you to use the (combinations of) features in a myriad of ways. Whereas in Drupals date module, nearly everything is presented in configuration-web-pages. Checkboxes, dropdowns, profiles, pages, wizards, and not to forget text-area-ields-where-you-store-PHP-which-will-turn-your-datestamp-into-the-presented-string (yes. really!). It is an unfair comparison, but with the 14kloc you still have *far* less features when clicking trhough its admin screens, than when programming with the 970 sloc Date helper.

    13. Re:Drupal rocks by Xest · · Score: 1

      I think you're confusing flexibility and features.

      You've said yourself that it plugs into the admin module et. al. That's WYSIWYG support that Rails doesn't offer because Rails is a framework.

      The two aren't comparable, Drupal never tried to be a base underlying framework, things like the Zend Framework already exist in PHP for that purpose.

    14. Re:Drupal rocks by Anonymous Coward · · Score: 0

      This has been said for the last 10+ years. And it never happened. Despite the gigantic effort, teams, UX-sessions and budgets spent on it.

      History of Drupal teaches us this is not going to improve significantly in the next 3 years. It might be the case if the rest of Drupal stayed the same. But, unfortunately, all these UX-teams and projects have really achieved, is to somewhat tame and fix all the issues introduced by the ever increasing complexity.

      Bèr

  15. Drupal vs WordPress by Lord+Satri · · Score: 2

    What Dries say in this article:

    "The "sweet spot" for Drupal is larger sites rather than smaller ones. "I think when people think big websites, they usually think Drupal, and when they think small blogs or limited small websites in complexity then they think WordPress," Buytaert said.

    "At Acquia we never compete with WordPress. We don't see them ever. I'm sure the smaller Drupal shops run into them, but in the enterprise we never run into WordPress."

    "I think with small sites I'm not willing to give up on them but I think we just need to say we're more about big sites and less about small sites, but then the small sites are still very useful to get people into the community," Buytaert said."

    I would have liked to know that before... I moved from Slashcode to Drupal years ago on the advice of a few. While I can appreciate how Drupal is flexible and powerful, now I understand that what I really needed, as a non-expert and for my small website, was just WordPress. But too late, won't do another painful migration anytime soon...

    What annoys me most with Drupal: no straightforward way to update major versions (e.g. from 6.x to 7.x), especially since a lot of user-contributed modules doesn't exist in the new version or require a lot of work to do so. The admin interface is pretty bad. The user community is much much smaller than WordPress (thinking of mature/maintained user-contributed modules here). Etc.

    1. Re:Drupal vs WordPress by phyrz · · Score: 3, Interesting

      There's been a lot of discussion in the Drupal community recently about making major updates easier by offering backwards compatability, the consensus (best as I could tell) was that web technology is moving so fast that we need to be able to refactor quickly, though maybe in a few releases (6 years or so) Drupal will have completed the move to Symfony / OO and it will be worth looking at then.

      I love Drupal & its community - I've been working with it professionally for 8 years or so, and the constant improvement in the tools keeps things interesting for me. I spend most of my time working on edge cases where modules don't quite work together and I submit a lot of small patches to improve them. I've got a lot better at grokking other peoples code - a talent I think is more valuable than 'writing my own cms from scratch', though I've done that before too. I also dabble in various other techs after hours to keep up with new languages, and run my blog on Wordpress. Wordpress horrifies me from a technical perspective, but I just want to post content, and using it keeps me focused on that, as opposed to tweaking my Drupal install all the time.

      I used to freelance for smaller clients, but now i just refer them to Wordpress folks. They get better bang for their buck, and I don't have to deal with annoying budget overruns. Drupal is insanely good for big business who need complex workflows, asset management, community management, service integration and migration. Its really hard to build something that complex in a way that makes sense, stays stable and provides an upgrade path (however difficult that may be) and security support.

      I feel your pain though :)

      --
      Don't point that gun at him, he's an unpaid intern!
  16. Lambda the Ultimate by teknomage1 · · Score: 1

    The most depressing thing about Drupal is that http://lambda-the-ultimate.org/ , a website devoted to discussing the latest in programming languages research, is a drupal site. How on earth can a site that decries the unsoundess of C code, and can discuss the relationships of monads to any of three different effects calculi use PHP to run their site? Mind boggling.

    --
    Stop intellectual property from infringing on me
    1. Re:Lambda the Ultimate by Anonymous Coward · · Score: 0

      If they really live up to their name, the whole thing is written in Lisp and transformed onto the Drupal platform by a giant macro. They can change it anytime they want. They could even write a macro to compile it into C and then compile that.

    2. Re:Lambda the Ultimate by Anonymous Coward · · Score: 0

      Well, one would expect them to write the page using OPA or HappStack.
      But they don't seem to care, also, that their site is even uglier than GNU Savannah.

    3. Re:Lambda the Ultimate by hazah · · Score: 1

      Perhaps non of those are actual issues other than what you've imagined for yourself? I've had a long relationship with PHP. I cannot say I love it, but I can say I can use it. That said, I'm more inclined to say that I do not *see* it. Why? Because it's a medium, and I'm focused on the expression. Any language can be used for expressing anything, and it's a bloody waste of time to fiddle over idealistic details of how one does it differently than another.

  17. Drupal for the win by Ice+Station+Zebra · · Score: 1

    I choose Byzantine schema over everything stored in two tables any day of the week. I pick allowing the customer to add fields via actual database tables rather than stuffing them into a "meta" table in a serialized form. If by code in the DB you mean having a rules/actions engine that is defined with data from the DBI pick that over hand coding anyday. Upgrades incompatible? I pick testing your upgrade rather than blindly upgrading a production site.

    1. Re:Drupal for the win by Serious+Callers+Only · · Score: 2

      That to me is a big part of the problem with the Drupal ecosystem - unwillingness to listen (even in small part) to quite justified criticism and an insistence that anyone criticising is somehow to blame for the problems they have encountered.

      I choose Byzantine schema over everything stored in two tables any day of the week. I pick allowing the customer to add fields via actual database tables rather than stuffing them into a "meta" table in a serialized form. If by code in the DB you mean having a rules/actions engine that is defined with data from the DBI pick that over hand coding anyday. Upgrades incompatible? I pick testing your upgrade rather than blindly upgrading a production site.

      Q.E.D.

    2. Re:Drupal for the win by Ice+Station+Zebra · · Score: 1

      Yes, unwillingness on your part to realize that a larger group of people might actually be smarter than your mothers basement commentary.

    3. Re:Drupal for the win by tgeller · · Score: 1

      You leave my mother out of this! She never made any basement commentary!

      --
      Tom Geller
  18. Drupal is horrible by degeneratemonkey · · Score: 0

    n/t

    1. Re:Drupal is horrible by hazah · · Score: 3, Funny

      Yes, no sites have ever been built with it, and no one ever found it to be useful ever. OK. Your argument is very sound sir, and I would like to subscribe to your newsletter.

  19. Re:it will never happen by phyrz · · Score: 3, Informative

    Check out the lastest 8.x version by going to http://simplytest.me/project/drupal and choosing 8.x. The site will install 8.x-dev for you and you can play with it.

    Some things to look at:

    - In place editing
    - CKeditor in core
    - Responsive out of the box (check the new admin menu)
    - Views in core

    There's a heap of scary awesome changes going on in the backend though

    - replacing lots of sub systems with Symfony components
    - RESTFUL services by checking a checkbox.
    - TWIG as a templating engine
    - Configuration management initiative
    - HTML5 and mobile
    - Far better multilingual support than previous versions.

    check out http://groups.drupal.org/drupal-initiatives for more info.

    --
    Don't point that gun at him, he's an unpaid intern!
  20. Drupal? It's Liferay in PHP by gshegosh · · Score: 1

    Probably every big piece of s...oftware is the same. Messy, overengineered, slow, uncomprehensible... Such is Liferay and such is Drupal, only Drupal is also written in the PH "fractal of bad design" P.

    1. Re:Drupal? It's Liferay in PHP by hazah · · Score: 1

      I just love these unfounded claims of inconprehensibility. Thank you for letting us know that you didn't actually bother reading the code you don't understand. We now know why you found it incomprehensible. Unfortunately it's just because you keep yourself willfully ignorant. All I can say is, if you really can't read that code, you have no business programming. I say this as a nobody who took 10 minutes out of my day to understand what the hell I'm dealing with... you know, actually study it before saying shit.

    2. Re:Drupal? It's Liferay in PHP by gshegosh · · Score: 1

      Have you looked at Liferay's or Drupal source code? I didn't take 10 minutes to study both of them, but literally weeks. It's almost impossible, especially in Liferay, to develop anything nontrivial without going through its source code to understand how it's supposed to work - so I looked at it a lot. You can't go on without having source codes, because the documentation is fragmented and in many parts nonexistent, most forum threads are left unanswered and bugs unfixed for years. The code is not the only incomprehensible thing -- the product as a whole is.

      I can develop web sites and applications much quicker in a much more enjoyable way using simpler tools that are documented well, do not get in the way and are not huge enough to become bloat blobs. I have this knowledge from experience in programming business that I've been doing for more than 15 years.

      What you write and the way you write it, is the kind of attitude I've seen a lot on open source project forums. The "get to know it and/or fix it yourself or get the fuck out" mantra is OK as long as I don't pay for the enterprise license and support, you know. I'm glad to submit patches to open source projects that stay true to the idea and are worthy using. But if my patches are going to be used to sell "enterprise" version by an entity that can't get their product right -- I'm out. And I'm using different software as long as I have a choice.

  21. Drupal is the reason we have PHP developers by Su27K · · Score: 1

    There is no reason to use PHP unless you want to use Drupal, which is much bettern than the open source CMS in other platform/languages (DotNetNuke, Java CMS based on portlet API)

    And Drupal has very good separation between data, business logic and presentation, this is one of its strong points, using the theme system you can completely replace the presentation of a module without touching the module's insides; using hooks you can tweak the business logic to your liking while reusing everything else.

  22. My two cents... by Anonymous Coward · · Score: 0

    I'm more of a web designer than developer, but from every experience I've had in designing (and developing) in Drupal, I have to say that no other system in the world even comes close to being as well engineered as Drupal. Hands down. I do believe this is where all websites are going anymore...

    Drupal is fun and it's easy to get up and running with minor amounts of time. Upgrades are cake, the community it comes from is one of the best in the world and history of IT, the modules you can use with it provide amazing capabilities that would normally take months / years to make by yourself from the ground up (generally speaking), and it's relatively simple to configure once you've done it once or twice (or not at all). The API is even easy to work with once you understand the fundamentals of things like preprocessing, the theme layer, template.php, the API manual / website, etc.

    Sorry, but Drupal rocks.

  23. Most comments here prove... by Anonymous Coward · · Score: 0

    ...that none of you have a clue about what you are talking about because of the "armchair expert" mentality. It is clear from your posts that many did not even try the most recent stable edition of Drupal, or the upcoming D8.

    Also, many above complain about PHP as if it's some kind of a menace, while forgetting that most of the Web runs it (whether you like it or not) because it works and it works really well. Not to mention you have no real evidence PHP is "that" bad aside from regurgitating opinions you read elsewhere.

    It's a typical closed minded and boxed slashdot mentality (ie. "But does it run Debian?") which does not really help anyone reading your comments.

    1. Re:Most comments here prove... by Anonymous Coward · · Score: 0

      ...that none of you have a clue about what you are talking about because of the "armchair expert" mentality. It is clear from your posts that many did not even try the most recent stable edition of Drupal, or the upcoming D8.

      Also, many above complain about PHP as if it's some kind of a menace, while forgetting that most of the Web runs it (whether you like it or not) because it works and it works really well. Not to mention you have no real evidence PHP is "that" bad aside from regurgitating opinions you read elsewhere.

      It's a typical closed minded and boxed slashdot mentality (ie. "But does it run Debian?") which does not really help anyone reading your comments.

      Beg to differ.

      Many of the comments are from folks that have written Drupal sites and extensions.

      However, I think there's something here to which everyone can disagree. There's a lot of mindless "XXX is my God, and I will have no other false gods before XXX" drivel here.

    2. Re:Most comments here prove... by bhiestand · · Score: 1

      ...that none of you have a clue about what you are talking about because of the "armchair expert" mentality. It is clear from your posts that many did not even try the most recent stable edition of Drupal, or the upcoming D8.

      It's true, I have not been able to upgrade from Drupal 6. After about twelve hours, I gave up on upgrading my last remaining Drupal site. I will transition that non-profit to WP or something custom if I ever get the time (pro bono work for a small 501c3). They have two D6 modules, which are actively supported in D6 and D7... that somehow break every attempt I have made at upgrading.

      So you're right... many of us have *not* used D7 or D8. We're stuck at D6 with no easy upgrade path, and we don't want to rebuild everything just to have it broken again in the next update.

      --
      SWM seeks new sig for a brief fling
  24. Buytaert thinks that this could easily grow to 10% by Anonymous Coward · · Score: 1

    10% = World Domination?

  25. Re:Who cares by phyrz · · Score: 1

    Drupal is more of a platform that facebook, just sayin'

    --
    Don't point that gun at him, he's an unpaid intern!
  26. The "Developers" CMS by Anonymous Coward · · Score: 0

    Plain and simple, CMS's ( of any language ) are for the laymen/DIY types. If you can write software, there is no reason to use a CMS. The only reason Drupal has been given the name "Developers" CMS is because it takes so much more effort to use... but at the end of the day you are a Droopal user, not a software developer. Clicking ain't coding.

    1. Re:The "Developers" CMS by Anonymous Coward · · Score: 0

      YGBSM.

      I can write an entire CMS from scratch. I've done it, more than once. I'm not bad at this "programming" stuff; especially using heterogenous technologies, which is what is required to write a truly comprehensive CMS (also extremely rare -go on and write me a CMS that rivals Drupal. I'll be expecting constant support for all current Web tech, AJAX, CSS3, Responsive Web design, great graphic assets and an extension system).

      However, I have far more pleasant things to do with my copious free time, like hammer rusty ten-penny nails through my feet.

    2. Re:The "Developers" CMS by hazah · · Score: 1

      Yes, you're right. If it was not invented here, than it's obviously inferior and must be redone such that no other human eyes have ever had a chance to scrutinize it.

  27. Pickle Proclaims Ascendancy by Anonymous Coward · · Score: 0

    Pickle, "I will RULE the WORLD."

    Sponge Bob, "Yea, like good luck with that."

  28. Joomla wins it for me by Anonymous Coward · · Score: 0

    If you were to start a new project without any knowledge about WordPress, Joomla & Drupal (the Big 3 as referred here), most likely you would do a decent job with Joomla. Why?

    1. Intuitive & easy to learn.
    2. Plenty of free and commercial (fairly cheap) extensions to choose from.
    3. It works like a charm even if you aren't smart enough.

    The reason PHP is popular is because it is easy and it does the job it is designed for. The same goes for Joomla. I see way too many posts comaring Drupal with Joomla & WP. The guys doing WP or Joomla aren't much concerned about these comparisons. Because they know what they need and they are pretty satisfied with it.

    1. Re:Joomla wins it for me by Anonymous Coward · · Score: 0

      You have a good point. I am not much of a Joomla! supporter, but it is definitely the easiest CMS to use for a large, comprehensive site, not implemented by a coder.

      Also, it has the largest percentage of monetized extensions, which makes it fairly popular for extension authors.

  29. Why the Drupal hate? by howlinmonkey · · Score: 4, Insightful

    I have been using Drupal to do site development for 5 years now. I have developed small and medium sized sites for everyone from restaurants to professional membership organizations. I use it for sites of all sizes because eventually someone asks for a feature that isn't available or is painful to implement in WP. I have written custom modules and complex themes in relatively short timeframes because of the flexibility of the platform.

    You don't like Drupal - that's great, don't use it. I am not a big RoR fan. I tried it out for a new project at work and it just didn't "feel" right. I was able to get the Symfony2 framework up and running pretty quickly and we are developing a multi tiered app in house with it. I don't hate RoR and I don't need to bash it. Plenty of intelligent developers who know more than me are using it and developing kick-ass software. It just didn't fit for me.

    Nah - we can't have that kind of adult response. Quit liking what I don't like!

    1. Re:Why the Drupal hate? by hazah · · Score: 1

      I love both, to be honest Drupal and RoR. These arguments are asenine and have no merit in reality. I actually opened this thread for the shits and giggles of all the knee jerk reactions people seem to fall for every time. Most amusing is how quickly they are ready to show the flabbergasting ignorance on their parts about the reality of the platform. All this is said without an once of zealotry and with complete lack of praise, I actually do not even have to.

  30. US Government by sehryan · · Score: 2

    Drupal has made huge inroads in running US government websites in the last few years. The White House, Departments of Commerce and Energy, and a bulk of the House of Representatives (most on one install, I believe) are all running Drupal, to name a few. As a former government contractor, we ended up selecting Drupal to run one of our sites for a couple of reasons.

    First, Drupal can run using SQL Server on the back end. I know that sounds horrible, but for us, spinning up MySQL/Postgres was not really an option, and the .Net management systems were either too expensive or a joke in terms of features. So we got the community of Drupal on the hardware we already ran.

    Second, its taxonomy features are really unparalleled, at least from what I have seen. Coupled with Views, you can create a page out of just about any combination of vocabularies. We used it to show a category of content, and then let users filter based on keywords. Think categories and tags from WordPress, but on steroids.

    Now, all that being said, I hated developing in Drupal. I was able to achieve the goals for the site, including letting non-developers handle content updates with minimal support. But getting there was the most excruciating three months of my career. People aren't kidding when they say the learning curve is enormous.

    Overall, I am happy to see Drupal making progress, and think it is fantastic in handling certain types of websites. But at the end of the day, I hope I never have to build another Drupal website again.

    --
    The world moves for love. It kneels before it in awe.
  31. .."because I have some axe to grind about Drupal"? by Bozovision · · Score: 1

    Your post reads like a mixture of trolling and ignorance. Maybe it's deliberate, or maybe it's a genuine lack of understanding. Let's deal with it point by point...

    You should never use it, seriously.

    Some users: The White House, The US Dept of Energy, NASA, Stanford Law School, the Grammies, as well as hundred's of thousands of less high-profile sites. Or we could believe you.

    It's remarkably similar to early php in being a fractal of bad design.

    At the heart of Drupal is a callback system, with registration by naming. This allows code written by different people to interact. Need to do something that nobody has done before? You hook into the data processing by writing a function with the right name, and return the result of your processing. That's with respect to stuff done in code, but you can a huge amount of what you'd like to do using click and point...

    One core idea in Drupal is as much as possible to move the ability to do useful design work into the province of administrators. So if you need to record a new piece of info, you click and point, to add a new field to your existing database. Everything is taken care of, and it's immediately useful for storing and displaying data.

    I guess you could call this a fractal of bad design if you believed that putting power into the hands of users was irrelevant.

    They are slowly trying to improve it, but their attempts at improvements are woeful.

    The development cycle runs at around 2 to 3 years for major releases, but that excludes modules, which are the packaged units of add-on functionality that extend Drupal. The last major version was 7 (and Drupal is 10 or 11 years old). The list of things that were added or changed are extensive. In fact this is one of the problems with Drupal - the rate of change can be too great.

    Hundreds of tables with the most Byzantine schema you can imagine, even for incredibly simple needs

    Yes, Drupal is a general purpose CMS. If you want a single table solution for a particular issue, you are free to write it, using one of the demo modules as a base. It's easy, and this is typically how Drupal in version 4 and 5 was extended, but if you take advantage of the click and point interface you end up with many more tables. You also have content versioning, the ability to have a multilingual site, the chance to add or remove fields from content by pointing and clicking, the chance to represent the content in different ways for different audiences. And more. I wouldn't say the scheme was Byzantine though, it's well documented in numerous places. All it takes is the willingness to read a bit.

    Attempts to allow customers to define the db schema by adding fields etc

    I guess you believe that customers should not have the ability to control the data they own. Nuff said.

    Code in the db - that anyone ever thought this is a good idea is a huge red flag

    I'm not sure what you are referring to. Maybe template caching? Maybe callback hook caching? Probably you mean the power user ability to turn on a PHP filter, which will allow PHP code as part of content. This by the way is turned off by default, and when it is turned on is subject to the Drupal permissions system which has fine-grained control over who can do what. Power users sometimes need powerful tools.

    Upgrades are often incompatible

    If you mean module updates, very infrequently in my experience. If the site you are working on is complex, maybe you need to run a development version too, or upgrade using an automated upgrade system. If you mean major version upgrades then, the promise is that Drupal may break your code, but will never break your data. That is, an upgrade from Drupal 6 to Drupal 7 may require you to rebuild a custom component because of API changes, but will never destroy your data. A major version up

  32. A simple CMS may be an impossible goal by Tablizer · · Score: 1

    Our org created a wish-list of CMS features. It currently has about 50 items, and these items are often different than what other orgs seem to want. The total "known" potential features seems to hover around 100, if not more.

    And orgs want CMS's to be able to be a kind of application development platform to create lower-end CRUD systems, or at least half content management and half CRUD.

    It's all a tall order to get so many potential features to work together. Plug-ins are one approach: only plug in what you need, but that also creates versioning headaches because plugins you rely on may not be updated or ready for the next version. (Long-time FireFox users should know about this problem.)

    I doubt any one system will make everybody happy; it's a matter of picking the best fit, and sticking with it, gaining experience over time to handle all the tweaks and fiddling that will be necessary to get it almost right.

    Drupal seems to be one of the more flexible CMS out there, but has a big learning curve. They all have their quirks and tradeoffs and will probably make you cuss along the way.

  33. Do we really need CMS's? by jlowery · · Score: 1

    My personal prejudice is that CMS's are a throwback to when HTML sites were serving 'documents' (and stitched together fragments thereof). But nowadays I use HTML more like a UI specification language, which is populated and driven by an AJAX backend. In other words, it's a client-server application with a free-form UI. If I need to use templates, I use jquery templates, SSI's, or a combination of both.

    Managing templates in a database as always struck my as cumbersome, with a lot of bookkeeping work (read: configuration). I see nothing wrong with a hierarchical structure for maintaining html and resources, such as a file system provides.

    --
    If you post it, they will read.
  34. Worst Code Ever by Anonymous Coward · · Score: 0

    Drupal is proof that you don't even have to have a basic understanding of computer science to create a popular web framework.

  35. How about Plone's better anyway? by Anonymous Coward · · Score: 0

    nt

  36. Re:.."because I have some axe to grind about Drupa by Anonymous Coward · · Score: 0

    Mod parent up, please!

    However, it is fact-driven and reasonable. I know that SlashDot is starting to model its comment behaviour after CNN, so maybe it will actually be modded troll.

  37. Re:Buytaert thinks that this could easily grow to by Zaiff+Urgulbunger · · Score: 1

    10% = World Domination?

    Yeah... 'cos if they had 100% of the market, then they'd have no one else to dominate over! :D

  38. Fuck marketshare. by Anonymous Coward · · Score: 0

    Security is not worse than with other solutions, it's just that (like with Windows), popularity attracts attention (and attacks), and usually poorly-made plugins are the problem (the timthumb vulnerability was the most notorious one).

    So you mean that security in WP can't be improved because they're top dog? Just like Windows? Look, son, we were told that shit for years. There's nothing MS can do to help Windows. Then Vista and up did just that. Their market share didn't change a fucking bit but they got a fuck load more secure.

    Market share is not an excuse. If Windows can get better despite marketshare so can WP. Stop with the fanboy excuses. You want to blame shitty 3rd party coders? Fine. You want to blame bad design? Fine. But don't blame marketshare. It does not stand by itself and there's lots of empirical evidence to say so.

    It's a fucking cop-out for arrogant fans, lazy developers, and business corner cutting.

    I have nothing against WP. I just hate the stupidity in echo chamber responses that have little barring on reality.

  39. SPIP by manu0601 · · Score: 1

    I worked a bit with Drupal and found it horrible. Now using SPIP with satisfaction.

  40. Long way to go by damijan · · Score: 1

    Drupal is not yet enterprise ready. Its performance degrades by adding modules and data (file_exists, database model, string wrappers ...) and caching is a mess. As far as community and modules there are many and very few that count. Architecture is a mess (inheritance, vertical extendibility, separation of code and templates, interfaces, database model with countless joins ..) and lack at least a bit of design patterns. This make it very poor platform in terms of performance and scalability and unfortunately you can't solve this issues with caching (memcache, varnish ...) as most of the community might think.

  41. poopal by Anonymous Coward · · Score: 0

    I have had to "take over" various projects built on drupal and i have to say, if you want to put all your eggs so to speak, into one basket it works for most peoples needs. But if you want to do any serious integration then avoid... like the plague... we used to end up calling them poopal projects.

  42. Upgrading Drupal from version to version by kbahey · · Score: 1

    I work on Drupal for a living.

    Right now, I am upgrading a 4.7 site to 7.x, with 5.x and 6.x intermediates.

    I will write an article on this soon, but basically, you set 4 directories, one per version.
    Then you point the web server to the version that you are working on via a symlink.

    You then run update.php for 5.x, then 6.x, then 7.x

    Your content is preserved.

    Porting modules and themes does require some work, unless someone has ported said modules/themes for you, or you chose a new theme.

    But your data should be preserved fully.

  43. Re:.."because I have some axe to grind about Drupa by SpzToid · · Score: 1

    Please mod-up such well-articulated commentary on the Slashdots. Wow.

    --
    You can't be ahead of the curve, if you're stuck in a loop.
  44. Drupal rocks! by Anonymous Coward · · Score: 0

    "When your only tool is a hammer, every problem looks like a nail".
    Of course you find Drupal fantastic after years of xp! Your expertise in Drupal is a drawback to give any comparison. Now if your expertise was about the same with Drupal than WP, TYPO3, Joomlah and ez-Publish, THAT would give you the means to compare.

  45. Re:it will never happen by Anonymous Coward · · Score: 0

    in sandbox-

    Fatal error: __clone method called on non-object in /home/sc841ed9f0201911/www/core/modules/user/user.module on line 722