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."

38 of 192 comments (clear)

  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 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
    3. 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.

    4. 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

    5. 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

    6. 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

    7. 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

    8. 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...

    9. 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%.
  2. 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. :)

  3. 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.

  4. 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.

  5. 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.

  6. 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 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

  7. 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.

  8. 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 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.

    2. 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.

    3. 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.

  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. 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?

  12. 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 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.

  13. 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.

  14. 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!
  15. Re:PHP by Noughmad · · Score: 3, Insightful

    Or, the quite famous PHP hammer.

    --
    PlusFive Slashdot reader for Android. Can post comments.
  16. 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!
  17. 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?

  18. 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.

  19. 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!

  20. 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.

  21. 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.
  22. 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.