Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Image

Using Drupal 122

Michael J. Ross writes "After installing and learning the basics of the content management system Drupal, many Web developers do not know how to best proceed from there. They may realize that much of the programming potential of Drupal — and thus the earning potential of Drupal developers — is derived from the use of community-contributed modules that greatly extend Drupal's power. But there are thousands of such modules, with no objective direction as to which ones are best suited for particular tasks, and what bugs and other flaws could trip up the developer. These programmers need a thorough guide as to which modules are the most promising for the development of the most common types of Web sites. A new book, Using Drupal, aims to fill this need." Keep reading for the rest of Michael's review.
Using Drupal
author Angela Byron, Addison Berry, Nathan Haug, Jeff Eaton, James Walker, and Jeff Robbins
pages 490
publisher O'Reilly Media
rating 9/10
reviewer Michael J. Ross
ISBN 978-0596515805
summary Key contributed Drupal modules put to use creating sample sites.
Published by O'Reilly Media on 16 December 2008, under the ISBN 978-0596515805, the book is authored by Angela Byron, Addison Berry, Nathan Haug, Jeff Eaton, James Walker, and Jeff Robbins — all of whom are affiliated with Lullabot and are actively involved in the Drupal community and knowledgeable about Drupal's core and plug-in modules. Despite the old adage about having too many cooks in the kitchen, a technical book of this nature should benefit from having half a dozen authors, since each one will have his or her fortes, and the whole will be greater than the sum of the parts, as a result of this complementary expertise.

This title appears to be O'Reilly's first — and, as of this writing, only — Drupal book. This is in no way astonishing, given that O'Reilly has never been known for pushing books too quickly through development and production, simply to gain "first mover advantage." Rather, they generally work to create higher-quality efforts that will better stand the test of time — unlike the "shovel" books that some other publishers tend to push out the door, with less coherence and more errata. As a consequence, in the technical libraries of veteran programmers, one tends to see a disproportionately high number of book covers sporting pictures of animals.

On the publisher's Web page for Using Drupal, visitors can read the book's description, table of contents, colophon, errata (of which there are currently several), a link for purchasing the book in electronic form (in formats such as PDF, EPUB, and Kindle-compatible Mobipocket), and a link for viewing the book immediately online, in the Safari Books Online system. There is a simple forum for the book, which currently contains seven posts, three of which already have replies from one of the book's authors and from an O'Reilly community manager. There is a browse system that allows the visitor to read portions of each section of each chapter, and thus preview the book before purchasing it. It even includes the illustrations within each previewed section, but for some reason does not include the figure numbers within the captions.

The authors have created their own site dedicated to the book, where visitors will find brief author biographies largely similar to those found at the very end of the book, with links to the authors' profile pages on Drupal.org. Lastly, there is a download page for the source code, which comprises a copy of Drupal 6, all of the contributed modules and themes needed to complete the hands-on exercises, and the supplementary resource files for those exercises, such as logos and product images. There is a change log for the download file, and yet no mention on the page — or even in the book itself, as far as I can tell — as to which version in the 6.x release series was used for the book and in the download package.

Oddly, neither the publisher's site nor the authors' site appears to mention the free downloadable chapter (Chapter 9, "Event Management"), although it is offered in an article posted in the blog section of Do It with Drupal.

After a foreword by Dries Buytaert — Drupal's founder and project lead — the book continues for 490 pages in total, organized into eleven chapters and three appendices. Nine of the chapters each begin with a description of a case study that will be used for illustrative purposes, followed by some implementation notes, which includes discussion of the candidate modules that could be used for this particular case study, and the trade-offs among them. The contributed modules that are chosen for the implementation and their capabilities are summarized, and then further explained with hands-on exercises — in which the particular modules are utilized and configured. Each of these nine chapters takes the reader through the development of a complete Web site, and is wrapped up with discussion of additional modules applicable to the kind of Web site being created. In Chapters 2 through 10, the case studies are: a simple Drupal site that supports client editing, a job posting board, a product reviews site, a wiki, a site for managing publishing workflow, a photo gallery, multilingual sites, an entertainment events management site, and an online store. Chapter 1 provides an overview of Drupal — covering modules, users, nodes, organizational schemes, and content types — preceded by a brief history of content management systems. Chapter 11 explores site theming, with details on the files and other elements that make up a theme, and how to customize them. The book's three appendices cover installing and upgrading Drupal, choosing the right modules for a job, and a list of the modules and themes used in the book.

The book's material is current with Drupal version 6, but should be of some value to any developer opting, for whatever reason, to stick with version 5. Speaking of versions, the authors should have mentioned which version of Drupal they chose, including the minor release number. The Drupal code in the aforesaid download package indicates that the chosen version is 6.4.

This book is unique, in that most if not all other Drupal books on the market are either introductory in nature — which at best devote only a single chapter to discussing third-party modules contributed by developers — or more advanced, specializing in a particular subject area, such as Drupal site security or e-commerce. Using Drupal, just as the title indicates, examines the detailed usage of best-of-breed modules to accomplish specific goals that one often encounters as a Web developer.

One of the most valuable aspects of software development books written by veteran programmers, is their discussions of various solutions to a particular problem — regardless of its size or complexity — and the reasons why they chose one approach instead of any of the others. Using Drupal is no exception. The authors examine the advantages and disadvantages of various third-party modules, even those that were not chosen for implementing the sample Web sites.

In any computer programming book, screenshots and other figures can be most helpful to the reader, because they reinforce the narrative descriptions of the cumulative results of all the steps up to that point. The screenshots are even valuable to someone following along on his own computer, because they provide immediate confirmation that he has not missed a critical step in the process. Using Drupal offers a generous amount of such screenshots, as well as information tables that help in visually breaking up the text. The only weakness with some of the screenshots is the lack of contrast between the text and the background, resulting in a dark gray shown on a light gray background — not always clearly readable.

The book is substantial in length and content, and naturally it cannot adequately cover dozens of sorts of Web sites. But clearly the book would have been more complete if it contained a chapter explaining how to allow content to be viewable by a limited set of authenticated users. An ideal case study for this would be the implementation of an e-zine site, for which prospective subscribers could view the homepage and other marketing material, but only subscribers could read the actual e-zine's contents. Even better would be to make this sample site fee-based, and show how to accept payments through PayPal (or some other payment systems for which there are Drupal modules) and possibly validate new subscribers automatically and instantly, using PayPal's IPN feature.

The flaws of this book are few and minor. There are unreported errata, most of them grammatical — e.g., "as [the] ability" (page 10) and "modules [that] were" (page 89) — which are to be expected in the first edition of any technical book. Speaking of errata, on the publisher's Web site, the errata should be sorted — or sortable — by page number, so it is much faster for people to see if a discovered erratum has already been reported. In addition, the URLs within the book that do not contain any filename (e.g., "http://www.example.com"; page 8) are in most if not all cases missing the trailing "/" (the root directory). Yet my primary complaint pertains to its production, and not its writing: For countless lines within the text, the spaces separating the words are too narrow, making it difficult to distinguish the words from one another when reading rapidly. As a consequence, each one of these lines almost appears to be a single word. (Skilled programmers know the great value of using whitespace in their code for enhancing readability; the same is certainly true for the printed word.) This readability problem is exacerbated by two factors: The ink color does not appear to be pure black, but instead a dark gray, which possibly has the advantage of producing less glare, but provides less contrast. Secondly, the serif font selected (whose name does not seem to be identified in the book — a common practice ages ago) has quite thin curves, which arguably does make the font face more stylish, but diminishes readability.

In terms of the target audience, the authors do not assume that the reader knows PHP (although some is shown in the chapter on theming), but they do assume that the reader is comfortable installing a PHP-based content management system and all of its required technologies, and familiar enough with Drupal to be able to navigate through the administrative area, download and add modules, and perform other basic admin tasks. Programmers just getting started with Drupal will benefit the most from this book, while experienced Drupal programmers will most likely learn some hitherto unknown best practices, and perhaps even some valuable modules or techniques that the individual has never seen before.

Using Drupal is a detailed and information-packed guide to the most promising contributed modules, and how they can be best employed for creating common types of Web sites. Drupal developers should find this a valuable part of their technical library, especially when they begin creating one of those types of Web sites for the first time.

Michael J. Ross is a Web developer and freelance writer.

You can purchase Using Drupal from amazon.com. 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.

Using Drupal

Comments Filter:
  • by Metaphorically ( 841874 ) on Friday January 09, 2009 @04:33PM (#26391355) Homepage

    The core Drupal download is good for a brochure site but it powers some massive sites. It runs my current site, integrated with Gallery 2. I used to like Wordpress but my site outgrew it.

    I've been using Drupal off and on since 4.7. In version 6 I've really gone into it and am building a couple large sites with it. I'm using a pile of contrib modules and they integrate very well together. The Views module and the theming system have minimized the amount of custom PHP I have to write.

    The learning curve is very steep and it has historically been hard to find the "right" pieces on drupal.org but that is improving steadily. I think the difficulty with finding the right (and current) info is a reason that people come away with the impression you've got.

  • by webchickenator ( 1064974 ) on Friday January 09, 2009 @04:35PM (#26391379)

    Disclaimer: I am one of the book authors (Angela - hi! :))

    Just to address a couple of points:

    There is a change log for the download file, and yet no mention on the page â" or even in the book itself, as far as I can tell â" as to which version in the 6.x release series was used for the book and in the download package.

    In Appendix C, there are version numbers of all the modules and themes used in the book, including the version of Drupal (6.4). I've now added a note to the http://usingdrupal.com/source_code [usingdrupal.com] as well. :)

    Oddly, neither the publisher's site nor the authors' site appears to mention the free downloadable chapter (Chapter 9, "Event Management"), although it is offered in an article posted in the blog section of Do It with Drupal.

    *forehead slap* I can't believe we forgot to put that there. I blame the holiday rush. ;) Added a note to the front page of http://usingdrupal.com/ [usingdrupal.com].

    I'll also speak with our contacts over at O'Reilly about mirroring these items on their "official" infrastructure.

    But clearly the book would have been more complete if it contained a chapter explaining how to allow content to be viewable by a limited set of authenticated users.

    Yes, the very first chapter written for this book (back on Drupal 5 at the time) was one on Organic Groups which covered the access control aspects in-depth. Unfortunately, due to our book schedule vs. Drupal 6's contributed module release cycle, we had to chop this one. :( I'm hoping that if we end up doing a second edition of the book for Drupal 7, we can add this chapter back in. :)

    The flaws of this book are few and minor. There are unreported errata, most of them grammatical â" e.g., "as [the] ability" (page 10) and "modules [that] were" (page 89) â" which are to be expected in the first edition of any technical book.

    If you have a chance, please report those! While we fell behind a bit during the holidays, we're hoping to get back caught up on errata review within the next couple of weeks.

    Also, a quick correction to the review. In the author list, Jeff Robbins is listed twice, both in the review text and the book info table.

    Thanks again!

  • by hansamurai ( 907719 ) <hansamurai@gmail.com> on Friday January 09, 2009 @04:41PM (#26391441) Homepage Journal

    Funny you should say that because the other day I was talking with a friend about our involvements with open source communities (he's on the Debian project) and I mentioned I was getting into DROOpal and he's like "you know, it's actually DRApal." He pointed out it was based off the Dutch word druppel for rain drop.

  • by stephthegeek ( 733850 ) on Friday January 09, 2009 @04:49PM (#26391529) Homepage
    I also did a review of this book [topnotchthemes.com]. It's awesome. Much better with hands-on, practical walkthroughs than any others out there.
  • Not quite... (Score:5, Informative)

    by webchickenator ( 1064974 ) on Friday January 09, 2009 @05:04PM (#26391707)

    Disclaimer: I am one of the book authors (Angela - hi! :))

    All of us are contributors to the Drupal handbook. In fact, Addison Berry is the Drupal project's documentation team coordinator. We definitely did NOT want to write a book that simply packaged up the Drupal community's hard work and slapped a $50 price tag on it. :P

    The Drupal handbook is a fantastic resource, and is very useful to get you past installation and upgrading hurdles, provides collection of "snippets" for doing common (and not so common) tasks code-wise, is a great reference for Drupal developers, and offers many other things. So to that extent, yes. Chapters 1 (Intro to Drupal) and Appendix A (Installing/Upgrading) could be easily gleaned with the free, readily-available community documentation. If all you want to do is learn how to install Drupal and get a simple vocabulary lesson, do not buy this book! :) Read http://drupal.org/getting-started [drupal.org].

    However, something the Drupal handbook is not very good for is a project-based, soup-to-nuts, "Here's how you DO stuff in Drupal." Nor for "here are the modules that are awesome and here are modules that are less awesome, and here's why this one is awesome for certain things but not others." A cohesive guide on this type of information is single-handedly the biggest obstacle people getting started with Drupal face, and is something that really doesn't lend itself well to 500+ documentation contributors scattered across the globe writing piece-meal page-by-page.

    And that stuff is the focus of the book.

  • by f1vlad ( 1253784 ) Works for Slashdot on Friday January 09, 2009 @05:15PM (#26391885) Homepage Journal

    I have extensive experience building in Drupal -- module and theme development.

    I've noticed that immediate impression people have about Drupal is that it's only a blog CMS. But it isn't so at all. I welcome you to visit Drupal founder's blog, where he lists all interesting sites that use Drupal. Sometimes even I am (pleasantly) surprised at the ogranizations and institutions who move on to use Drupal. Check it out: http://buytaert.net/tag/drupal-sites [buytaert.net]

  • by webchickenator ( 1064974 ) on Friday January 09, 2009 @05:46PM (#26392255)

    This seems like a pretty important thing to leave out. One of the biggest reasons why people use a CMS is to have authenticated logins and to have the ability to limit content to a limited set of authenticated users. It seems to me if I had to choose between that chapter and one of the more oddball case studies, maybe I'd probably cut the case study, but that's just me.

    The problem was the module quite simply wasn't ready for Drupal 6 at the time our publishing deadline came up, and anything we tried to write about it would be fortune-telling at best, completely and utterly inaccurate at worst. And we (both the authors and O'Reilly) didn't really feel comfortable with that...

    In hind-sight, we perhaps should've started a whole new access-control chapter from scratch that didn't use this module (I rather like the case study posed by the author of the review), but it wasn't clear until it was kind of too late that this was going to be a show-stopper. :(

    There is a sidebar in Chapter 2 that alludes to access-control modules you can use to protect your content, however. So the book is not *completely* devoid of this information. It just isn't gone into to the same extent as other topics.

  • Concrete5... (Score:3, Informative)

    by msimm ( 580077 ) on Friday January 09, 2009 @05:46PM (#26392263) Homepage
    Have you looked at Concrete5 [concrete5.org]? One of the things I've enjoyed about it is the use of 'blocks' for defining/extending functionality. The UI is also one of the best I've used and search is built on lucene via zend (framework).

    It's a little sparse (you won't find nearly as many pre-made plugins, ala Wordpress) but if you need a clean base to build on you might like it.
  • by stubob ( 204064 ) on Friday January 09, 2009 @06:50PM (#26393163) Homepage

    I've used Project + Project Issue Tracking with success.
    http://drupal.org/project/project [drupal.org]
    http://drupal.org/project/project_issue [drupal.org].

    Everything else (except Gantt charts) could be created as content pages within the project.

    For a more integrated system, I'm a fan of Trac, which is Python, not PHP. The wiki markup linking of Trac is worth it on its own.

  • by juliesteele ( 1244386 ) on Friday January 09, 2009 @07:42PM (#26393707)

    Secondly, the serif font selected (whose name does not seem to be identified in the book -- a common practice ages ago) has quite thin curves, which arguably does make the font face more stylish, but diminishes readability.

    This information can be found in the back of all O'Reilly books in the Colophon section (along with information about the animal on the cover :) ). For Using Drupal, "The cover font is Adobe ITC Garamond. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSansMonoCondensed."

  • by webchickenator ( 1064974 ) on Friday January 09, 2009 @10:30PM (#26395101)

    Disclaimer: I am one of the book authors (Angela - hi! :))

    I share your feelings about the extent to which many tech books dwell on these basic concepts. I'm like you. I don't need 3 pages telling me how to extract a tarball. I don't need an entire chapter dedicated to how to use various FTP clients to transfer files. I can get a web application installed, that's not the hard part. I want to hurry up get my hands dirty with the tool and start being productive! This is why we chose a completely different approach while authoring Using Drupal.

    The book does include Drupal installation instructions, of course, but it's very brief, and it's in the back (Appendix A). Out of your way unless you need it.

    What you're asking for seems to be a task-based guide to using Drupal day-to-day. Writing such a guide for general public use is unfortunately basically impossible. This is because Drupal can literally look like *anything*, depending on what modules are enabled and how much customization was done in the design.

    This book instead is a task-based guide to *building sites* with Drupal. If Prudence is a "hands-on" learner, she might find it valuable to work through a few of the earlier chapters. There's definitely jargon like nodes, blocks, taxonomy, cck, and views (sorry, but you really can't be very effective in Drupal without having a little bit of familiarity in these). However, instead of these things being described as abstract concepts, she would instead be doing practical things with them, and see how they fit into the overall process by building out several types of websites from scratch.

    Not sure if what I described is quite up your/her alley, but it might be worth taking a browse at the local bookstore (or on Safari Books Online) and see if it'd work for you/her.

UNIX is hot. It's more than hot. It's steaming. It's quicksilver lightning with a laserbeam kicker. -- Michael Jay Tucker

Working...