Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Book Reviews

Drupal 7 85

Trevor James writes "Drupal 7 is currently at beta 1 stage with 11 critical issues remaining to be fixed before an official release version. The question arises whether we should all be writing about Drupal 7 now and so soon, when it's still in its beta phase. I argue we should be writing about it. It can only help introduce new users to the Drupal application and the Drupal community and get new people involved to help test Drupal 7. This will ultimately help improve the software for its official release and on. This helps to build the Drupal community of users and developers. It helps spread the word to everyone about this flexible and robust content management system. We want Drupal to be used. So this is one way of getting it out there and in the public sphere." Read on for the rest of Trevor's review.
Drupal 7
author David Mercer
pages 416
publisher Packt Publishing
rating 9/10
reviewer Trevor James
ISBN 1849512868
summary A pragmatic look at the steps necessary to get a website up and running using Drupal 7
Some nuances: most developers and Drupal users adhere to the rule that if you plan to run Drupal 7 as a production site and on a production server right now you need to be aware that there may still be bugs in core Drupal 7 that will cause issues on your site. But this doesn't mean you can't use Drupal 7. You can certainly download the beta 1 release and install it on your development or localhost server and use it. And you can improve it by using it now.

Which brings me to David Mercer's new book Drupal 7. This is the second edition of Mercer's popular Drupal 6 book, and here Mercer has had an early opportunity to update his text for Drupal 7. It's a good and important book to help promote Drupal 7 and spread the word about the Drupal project and the Drupal community to both experienced and new users. Mercer knows Drupal - remember that he's already proven himself with the Drupal (back to version 4.x and 5.x) and Drupal 6 titles previously published by Packt. The original edition of Drupal was published in 2006 so Mercer has been devoted to this subject for over 4 years.

The Drupal 7 title is good for Drupal beginners and novices who are just starting out with Drupal but it also has a wealth of information and resources for more intermediate and advanced Drupal users and developers. It gives you the full run down of Drupal core as well as details of many advanced Drupal topics including an entire chapter on the Views module. The book starts with a solid introduction to the Drupal 7 framework and community and shows detailed install instructions using the XAMPP installer. Mercer highlights the new installation profile functionality that ships with Drupal 7 (both a standard and minimal install profile) and even gives you tips on troubleshooting your install if something goes awry.

Chapter 2 outlines the details of Drupal architecture and structure including installing modules, enabling blocks and setting up menus. The highlight in this chapter are two new features in Drupal 7 that allow you to install contributed modules directly from their FTP URL/path on; or by uploading the tar.gz archive directly via the Drupal administration interface. For anyone maintaining Drupal sites this will should be a well received enhancement.

Chapter 3 covers Drupal 7 site configuration and reporting mechanisms including setting up actions and triggers; creating shortcuts; managing the file system; configuring site performance; setting up site RSS feeds; and viewing site reports. One highlight in this chapter is the new shortcut functionality that allows you as a Drupal site admin to create sets of shortcut links for your fellow content editors and site admins. Another new feature in Drupal 7 is the ability to upload your attached files (images, PDF, doc, etc) to private folders on your site. In Drupal 6 you could restrict access to all uploaded files but not to specific files by content type (without having to install contributed modules to extend this functionality). In Drupal 7 you now have the ability to restrict access at the file field level per content type. So specific files attached via a content type can be uploaded to a private folder.

Chapter 4 explores Drupal 7 access control with a detailed walk-through of Drupal roles, permissions and user access. Mercer also includes a tutorial on using the OpenID Web service to provide single sign-on login functionality for your Drupal site.

Chapter 5 looks at setting up content workflows on your Drupal 7 site and describes all the Drupal core content types (Article, Basic page, Blog entry, Book page, Forum topic and Poll). Mercer covers content related modules including Aggregator and Book so anyone interested in setting up Web service based aggregated feeds; and multi-layer paginated content will get a lot out of this chapter. Chapter 6 deals with advanced content outlining the process of creating your own custom content types and adding custom fields; and integrating taxonomy with your content types.

Chapter 7 looks at integrating multimedia with your Drupal 7 site including images, and other types of embedded media. Drupal 7 now ships with the Image field in core so all you have to do is add an Image field to your content type. The image field now supports rotation and desaturate effects so besides scaling an image you can now rotate your images by a specific number of degrees.

Mercer includes an entire chapter on integrating the Views module with Drupal 7. The Views section even goes into detail on setting up advanced Views using arguments and relationships and shows you how to theme your Views. This is a real bonus for an introductory level book on Drupal. Anyone using the Views module even with Drupal 6 will benefit from reading this chapter.

Chapter 9 deals with Drupal theming both from the theme layer and the CSS perspectives. There is a lot of detailed information on theming using the Zen starter theme so anyone using Zen will learn some best practice theming solutions from this chapter. Chapter 10 introduces methods of integrating and using the Panels module with Drupal 7 as well as discussions of advanced theming techniques.

In general the title covers the Drupal 7 interface in much detail and points out the many new features of Drupal 7's administrative interface including the overlay admin screens; the simplified and re-named core content types including Article and Basic Page; the built-in CCK module (now part of core Drupal); the enhanced ability to install modules directly via the admin interface; and a look at the new core Drupal themes. Mercer covers best practices for deploying Drupal sites from staging locations to a production server; backup processes, and even a discussion of SEO best practice. The book even comes with quiz questions and exercises provided via the author's Web site. So you can use this title as a model for teaching Drupal 7 (and I would argue even Drupal 6) to new users. Short story - the book is loaded with good information and practical hands-on exercises.

Here's the main reason I'll recommend purchasing this book or at least knowing about it. Those 11 critical issues in Drupal 7 need to be tested, reproduced and fixed before we can use D7 on a production site and feel comfortable about with it's stability and security. We as users and developers need to help with this testing process. We can help to fix those issues by testing and reporting our findings back. This book will help us to do that by showing us how to install D7 and get rolling with it. For that I'm thankful it's been released now as opposed to 3 months from now. This is a good manual for us to use to test and bugfix this next great version of Drupal.

You know it's also just a great book and manual on using Drupal period — even the 6.x version of Drupal. You'll learn a ton about the Drupal framework from this title regardless of the version you're currently using to power your Web site.

Finally, the benefits of releasing this title now is that it will encourage both the Drupal community project and other Drupal authors to write more detailed documentation and instruction on how to use and develop with Drupal 7. We can raise Drupal 7 to a higher level by supporting its release with excellent documentation, tutorials and books.

Let's get Drupaling and help the community now by downloading Drupal 7.

Trevor James is a Drupal developer based in Maryland, USA.

You can purchase Drupal 7 from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.


This discussion has been archived. No new comments can be posted.

Drupal 7

Comments Filter:
  • by VValdo ( 10446 ) on Wednesday October 20, 2010 @03:01PM (#33964536)

    Drupal Drupal ... Drupal. wft is Drupal?

    Sounds like you're singing The Drupal Song [], which conveniently explains what Drupal is while infecting your brain. (Unplugged []).

    Or you could try Wikipedia [].


  • by oatworm ( 969674 ) on Wednesday October 20, 2010 @03:02PM (#33964570) Homepage
    Let me Google that for you [].

    Seriously, though, Drupal is one of the more popular web content management systems out there. You can think of it in the same space as Wordpress, Joomla, Plone, Alfresco (sort of), and so on. The idea behind these systems is to build web sites and manage web site content without having to hard-code everything. Each system does it differently with different focuses on specific parts of the web site content creation process. Wordpress, for example, is a moderately simple system that's popular for blog creation - though it has some extensibility, ease-of-use has always been its primary goal. Drupal, meanwhile, is sort of the "Linux" of the web site creation world, in that you can customize it via specialized modules to make it do whatever you want, but it doesn't do you a whole lot of favors right out of the gate. Joomla is probably closer to Drupal than Wordpress, Alfresco's primary goal is document management (automating workflows, permissions, etc.) so it treats web content accordingly, and I don't know enough about Plone to talk about it even remotely intelligently.

    So there you go.
  • Re:Seriously? (Score:1, Informative)

    by Anonymous Coward on Wednesday October 20, 2010 @03:16PM (#33964796)

    "this flexible and robust content management system."

    Was this not in the first paragraph earlier?

  • by oatworm ( 969674 ) on Wednesday October 20, 2010 @03:29PM (#33964968) Homepage
    Yes, in much the same way that Linux, Mac OS X, and Windows are fuming great big piles of shit compared to a set of skilled engineers hard-coding in machine code against a motherboard.

    They're generalized solutions to complex problems. Like all generalized solutions, they're more bloated than a more specialized solution for a specific problem because they contain code that solves problems you don't necessarily need solved. On the other hand, they usually take less time to deploy and they might solve a few problems that you don't even know you have.
  • by petes_PoV ( 912422 ) on Wednesday October 20, 2010 @03:47PM (#33965256)
    I can't say what the critical issues are with drupal 7, but from my experience of drupal 6 - their most critical issue was they relied on modules written by amateurs who couldn't be bothered to correct their mistakes when they came to light, making many of the modules I wanted to use useless. The degree of amateurishness was such that I spent days or weeks under the (false) impression that it must be me who didn't understand what I was doing.

    On that basis, I have no intention of porting across to drupal 7 for at least 6 months - maybe longer, until the 11 known "critical" errors have been fixed and all the so-far undiscovered critical errors fixed. Once bitten.

  • by yelvington ( 8169 ) on Wednesday October 20, 2010 @03:51PM (#33965320) Homepage

    The list of issues currently blocking a release candidate [] is publicly available.

  • Re:Seriously? (Score:3, Informative)

    by KingMotley ( 944240 ) * on Wednesday October 20, 2010 @04:52PM (#33966242) Journal

    eln is basically correct, but a good content management system does so much more. Typically you can create templates for use in your site (some you can program with code, PHP,, etc). Then you use those templates to allow users to create pages for the site, say you want to create a site like newegg or amazon, you have a basic template for displaying items (picture, summary, details section with 3 tabs, user comments/ratings, etc). Then a user can input the item code, description and upload a picture, and give the page a status of "complete". Someone else can take a look at the page, and change it's status from "complete" to "reviewed". Then perhaps once a day someone else takes all the reviewed pages, and changes their status to "test". You can then acccess the test site and work with all the pending changes, and once it's been tested, you flip a switch and all test pages now become live. You can also make pages that change based on the time of day, or day of the week, or what ever.

    In a nutshell, not only does it manage the content, but also it also encapsulates live, test, and development pages (multiple versions of a page), and the workflow that is involved in going from one to the other.

  • by meustrus ( 1588597 ) <> on Wednesday October 20, 2010 @04:57PM (#33966332)

    I'm planning a new Drupal installation, and will be using Drupal 6. Even if 7 was released today, I'd still go with 6. The fact is that as a Framework, Drupal's strength is in its contributed modules. While many of the most popular contributed modules pledge to have a Drupal 7 version on release day, I expect that roughly half of the modules I want will not have a Drupal 7 release for up to a year. Not to mention the inevitable headaches from version *.0 of any software. So while it's nice to think about how awesome and shiny Drupal 7 is, it's just not realistic to be considering it for real websites at this time.

    Now, if I was just setting up a blog about my cat, there's probably plenty of functionality for that out of the box. But then, wouldn't it be easier to use a more targeted system for that, like Wordpress?

    Grumble...and I thought /. knew something I didn't about the actual release, not some stupid book. Who reads software books anymore anyway?

  • by Bozovision ( 107228 ) on Wednesday October 20, 2010 @05:45PM (#33966908) Homepage
    The issues are critical because they are blockers to releasing a polished product. There will be no fundamental API changes. And chances are that most of these won't affect you in any way if you build a site using Drupal. Drupal 7 is already being used on production sites - some of them quite major - but we can't yet recommend you use it. The list of issues at the moment is:
    • "Do not enable the management menu by default". This is about removing some on-screen duplication that wastes pixels.
    • "Cannot install on PHP 5.3.2". I have a working version on 5.3.2. This is a false positive - something to do with the reporters set up. D7 needs PHP PDO extension, which is part of the default PHP. Most likely not enabled for the person who reported the bug.
    • "Links are needlessly unable to fully participate in D7 AJAX framework" Making sure that the Ajax framework is orthogonal with respect to content types, I think.
    • "Security harden stream wrappers by defaulting them as remote" We worry about security. This would subject streams to the level of scrutiny that remote data is subject to. If allow_url_include in php.ini is false, then Drupal should not allow remote streams as content.
    • "Skip to main content" link doesn't work correctly in the overlay" We are screen-reader friendly by default. We also have a new mode of operation - overlaying a screen with things that need to be done before you can continue with your original task. This should work for screen readers too, so the link needs to point to the 'topmost' content.
    • "All fields are hidden after the administrator newly configures a view mode to not use 'default' display" Oops! It shouldn't be possible to get into a state where critical stuff seemingly disappears. A feature that's central to D7 is fields - that is, all content is extensible with new fields. It should always be possible to set fields to display correctly.
    • "Some schema code incorrectly rely on the generic type instead of the engine-specific type" D7 supports storing data in different storage formats, including several database engines. There's some small inconsistency; the schema (and things that manipulate it) should use the column types specific to a particular engine - for instance it's AUTO_INCREMENT in MySQL, but Serial in PostgreSQL, and different rules apply to how each is used.
    • "Clean-up the upgrade path: UPGRADE.txt" If you are upgrading from Drupal 6, we'd like it to be a smooth ride.
    • "Screen reader users need a clear, quick way to disable the overlay". Not all the screen readers will like the overlay system, so there should be a ridiculously easy way to stop using overlays, which is immediately accessible from a screen reader. "Allow dashboard to limit available blocks" Users can configure their own dashboard, but not everything that is displayable makes sense on the dashboard page, so it would be sensible to limit what can be displayed. The User Interface for this is being tested.

    And I'd like to take this opportunity to advertise - Drupalcon Chicago [] will be in March 2011. And if you are in Europe, I have it on reasonably good authority that you can look forward to the announcement of the location of the Autumn conference either later this week or next week. And this week we moved the site redesign [] live.

Doubt isn't the opposite of faith; it is an element of faith. - Paul Tillich, German theologian and historian