Will Drupal 7 fulfill Dries’ wishes?

2 June 2010

In preparing a “Drupal 7: New Features” video series for lynda.com, I decided to go waaaay back to when we were just starting to plan Drupal 7. Lo and behold, Dries wrote a blog post in February 2008, a few weeks before Drupal 6 was released, with a list of features he wanted to see in Drupal 7.

Now we’re pretty darn close to Drupal 7’s release. How’re we doing? I think we can break down his 11 points into three categories: Done, Sort Of Done, and Not Done. (Special thanks to chx (Károly Négyesi) for providing some details via IRC.)

Done

  • Usability improvements comprise the most-visible changes. The intense work of many people resulted in great advances, with Acquia‘s funding of Mark Boulton Design providing strong direction.
  • Custom content types in core: Win! Most of Content Construction Kit (CCK) is now part of Drupal 7, although that popular module will continue to be available for some functions that didn’t get into core.
  • Automatic upgrade functionality: This is a HUGE win, making Drupal more accessible to people without the knowledge or access to make direct changes on their web server.
  • Better internal APIs: I’m not a qualified to talk about these from first-hand knowledge, but chx and Heine gave two convincing examples: the new database layer, which allows Drupal to connect to any database, with the appropriate driver; and stream wrappers, which let Drupal treat remote files as though they’re local.

Sort Of Done

  • Better media handling: Media handling in Drupal 6 stank, and there’s no denying that it’s a lot better in Drupal 7. Before, you had to add several contributed modules — CCK, ImageField, ImageAPI, FileField, and ImageCache — to do the most mundane tasks. Those have all been incorporated into Drupal 7 to some extent, with intelligent defaults. Further, the built-in Article content type includes space for a single graphic. However, it’s a far cry from the sort of media handling that would be possible with a true WYSIWYG editor that allows you to place as much media as you want, wherever you want it.
  • Better external APIs (import/export, web services): This is another area that I’m unqualified to talk about directly. chx says this “deserves a tick, too” because of such matters as delivery callback. But I haven’t heard much else about this point, and welcome clarifications.
  • Better tools to structure/organize content show up in the improved user interface. For example, clicking “Content” in the toolbar takes you straight to a list of content on your site, whereas that took at least two clicks in Drupal 6. Other changes, such as fields in core, affect content management. But there’s nothing really groundbreaking here.
  • Better performance: As Dries stated at DrupalCon San Francisco (and was reported elsewhere), Drupal 7 is actually slower than Drupal 6. On the other hand, changes to caching and storage make it far more scalable, so perhaps for large sites performance is “better”.

Not Done

  • WYSIWYG editor: Not there, damn it. A great loss for newbies. Use the WYSIWYG module and a compatible client-side editor instead.
  • ???

    • Improved node access system. I haven’t seen any evidence of this. Could anyone comment?
    Web development

    13 Replies to “Will Drupal 7 fulfill Dries’ wishes?”

    1. Basic Views like module: Not

      Basic Views like module: Not in core. I'm sure it'll be in Acquia Drupal, and a SimpleViews-like module will be in Drupal Gardens.

      There will be a views-like api, called listing-api, hopefully.

    2. Node access is an API thing.
      Node access is an API thing. Sort of done. It’s better but still not great.

    3. Some notes
      For SQL queries, the new DB layer provides a query builder. It’s not Views, but it’s still better than D6 in that regard.

      There is also active work on a Field-only query builder that is more akin to a Document DB interface than Views, but if it makes it in it should still be huge: http://drupal.org/node/780154

      The node access system actually had a large number of updates. There was a very productive BoF 2 years ago in Szeged that generated a punch list of things to fix, all of which have since happened: http://groups.drupal.org/node/14419 It’s actually a vast improvement, although there are still things I’d like to be able to improve in D8 if possible.

      The delivery callback is a small first step toward Drupal turning from an HTML page generator into a web services server that treats an HTML page as just another ReST response. That’s as much as got done in D7 core, but the Services module should be able to leverage it in contrib to clean up a lot of code. There’s also a Services sprint happening as I write this to use ideas coming out of the Butler group, which in turn is targeted as D7 contrib and, hopefully, early Drupal 8.

      I consider not having a WYSIWYG editor built into core to be a good thing, frankly. They’re easier to support now thanks to changes to core, but keep that crappy crap out of my lean-and-mean Drupal core! (At least until a non-sucky one gets invented. As long as all WYSIWYGs suck, they should remain the purview of distributions.)

    4. Thoughts
      Interesting post. I think you’re mostly right with your analysis.

      – “WYSIWYG editor”: we made a lot of improvements to Drupal 7’s filter/text format system, some of which will make it easier to integrate WYSIWYG editors consistently across Drupal. We also explored inline editing of content but didn’t get beyond contextual links on blocks (i.e. the cog when you hover over a block or node). Not WYSIWYG in the strict sense, but still a step in the right direction in my opinion.

      – Improved node access system. We made quite a few improvements to Drupal’s node access subsystem; tagging/filtering queries, explicit denies, alter functions for node access, node access on unpublished nodes, etc. I haven’t watched it yet but http://sf2010.drupal.org/conference/sessions/node-access-drupal-7 might have the details. Either way, we committed a series of small but important API improvements. Drupal core does not have a UI for node access so the contributed modules, not core, will take advantage of these improvements.

      – Views. I haven’t checked with merlinofchaos yet, but I think Drupal 7 could simplify Views. I agree that this one should stay in the ‘not done’ bucket though.

    5. Auto Updates
      Please could you expand on the auto updates function? Can this do Core as well as modules? Is it scheduled or does it require a 1 click approach like wordpress?

      Many thanks for the good write up,

      joe

      1. I think it’s 1-click…
        Hi, Joe — thanks for writing. Two things:

        1) At the moment, you can’t update core through Drupal’s interface. I don’t know whether there’s an active effort to make that so: Could anyone comment?

        2) I’m not familiar with WordPress’ method of updating, so I can’t comment on whether Drupal’s is “1 click” in the same way. I can say, however, that it’s pretty damn easy. 🙂 Why not try it yourself? Download the latest development version of D7 at http://drupal.org/project/drupal and give it a whirl!

    6. Drupal 7 and RDF
      Tom,
      I understand that RDF is a big part of Drupal 7. You don’t mention it here though. With the importance of the Semantic Web growing, it would be very desirable to have some coverage of this in the training that you offer. It is hard to find this anywhere. They are doing some exciting things with Semantic MediaWiki.
      I look forward to your full course on Drupal 7 with the RC 3 now out.
      Bruce

      1. I only talked about things Dries mentioned in his post
        Hi, Bruce. I agree that RDF is a big deal, and talk about it in both the “Drupal 7 New Features” and “Drupal 7 Essential Training” series (upcoming) at lynda.com. But this blog post reflects only on those things that Dries mentioned in his blog post of 4 February 2008. (Wow, was that really *three years ago*? Amazing.)

        The funny thing is that RDF *is* important — but few beginning administrators will even know it’s there, particularly because it has no configuration settings in core Drupal 7.

        1. Drupal 7/Drupal 7 course
          Tom,
          I had started your course on the Drupal 7 New Features. I had not gotten to any part that dealt with RDF. I’ll keep going with the videos. Sadly, Lynda.com has nothing on RDF, the Semantic Web, and related technologies. There are xml courses and but nothing that addresses RDF.
          So, if your skilled in this area, I’d love to see it covered in relation to Drupal or otherwise. I have not had the best of luck finding good enough documentation on this even on drupal.org
          I’d like to integrate some FOAF content into a drupal site that I am setting up for my poetry magazine Word Salad Poetry Magazine. I’m thinking that with the RDF features and the Views/CCK features, it would be possible to create a content type to allow very non-tech savvy folks to enter foaf data, who they Know, their network information, and etc. and have the foaf files stored on that domain…
          Relatedly, in your Online Presentation of Data course, you create a Person content type. You also mention Content Profile. I got the impression that if I am going to use that extension then it would be redundant to also create a Person content type. I need to use the User Reference CCK field but link it to a persons real name, as that is what different people will recognize. I believe you do that in the course to which I am referring.
          Bruce

          1. Great idea for the RDF/(etc.) course!
            Hi, Bruce. I couldn’t see lynda.com doing an entire course on RDF, but the Semantic Web in general is meaty enough to build a course around. One possibility would be to do a course on Open Publish, a Drupal distribution that was built with a focus on semantic tools. What would you think of that? Or were you thinking of something different?

            Regarding the Online Presentation of Data course: Yeah, you’re right — I could have made each person a user, then used Content Profile. I actually wrestled with whether that would be better… but decided to go with CCK. I think either would have worked (with some different implications, of course). Of course in Drupal 7 profiles are now fully fieldable, so that’s the way I’d go if I were to do it again. 🙂

            Really interesting comments — thanks!

            1. Semantic Web for Lynda.com course
              I’m not as familiar with Open Publish as I should be. I publish a poetry magazine and it might work for that. I did install it once and looked at it and thought, “wow, I have a lot of work making this into a poetry magazine.” Are you on the Semantic Web group on drupal? They might have suggestions too. I would definitely check out Open Publish if it had a coverage of the Semantic Web features. Would you call it something with Open Publish and the Semantic web in the title. I’ve very interested in seeing specifically how to use the Semantic Web Features of Drupal, which are moreso in Drupal7 – evoc, RDF, OpenCalais, importing content, sharing content, etc.
              Thanks,
              Bruce

            2. Just joined the group
              I just joined the Semantic Web group. Thanks for the tip!

              If I do this course, it’ll be late in 2011: I want to see whether Open Publish comes out with a D7 version first.

              As for a title: I proposed something with both “Open Publish” and “Semantic Web” in the title, but that might not be how it ends up (if it even happens).