Slashdot Mirror


Using Drupal

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.

5 of 122 comments (clear)

  1. Apple Computer, The Homosexual's Favorite by Anonymous Coward · · Score: -1, Troll

    Friends,

    The other day a friend asked me to comment about Apple computers. It's funny that I had only recently been thinking and praying about these queerest of computers. It certainly is true that Apple computers are very popular amongst the homosexual communities, the fact that these computers are so popular indicates the depths to which our great nation has sunk to.

    The Apple corporation logo is naturally an apple with a bite taken out of it. Is it not a coincidence that Eve tempted Adam with an Apple? The apple is a symbol of defiance against God, and was an obvious choice for a company whose primary objectives include the liberalisation of all media, and which activly finances the political party that hates God.

    When I first saw an apple computer (called a Mac, after the popular fast food product) with it's "fruity" design, I had assumed that it was some kind of obsolete product aimed at latte sipping east-coast homosexual designers. This initial observation turned out to be only half true:

    The apple computers are not as obsolete as their gaudy designs suggest - the Apple computer company, based in that Sodomite Central, Cupertino CA, have invested a great deal of money in keeping up with more mainstream American PC brands like Dell or IBM, however rather than compete on computing power, practicality or ease of use the Apple company prefer to emphasize "eye-candy". If you are the sort of person who loves nothing more than gazing for hours at an aquarium full of brightly colored fish, then the feeling of using an Apple desktop will be most familiar.

    Note the oddly-shaped apple-mouse. Unike modern computer mice, the Apple product has only one button. This is because historically Apple computer failed to license the patent for including buttons on mice. Since most apple computers are used as children's toys, their homosexual owners have barely noticed this deficiency, they are too busy thinking about sodomy worry about their computer's obvious deficiencies.

    Windows appear to swim around, distorting and melding into the "dock", with almost psychedellic fluidity. Parts of the desktop become inexplicably transparant, and then return to normal or else swirl into oblivion. Control over windows is achived not through familiar buttons (like Window's "X"), but candy colored blobs, which are designed to remind the user of "Extasy" tablets. I suspect that the Apple design team must have been doing more drugs than the average touring funk-band.

    The Apple OSX platform is missing a large number of common and esential productivity tools commonly used on the Windows platform. For example the endearing BonziBuddy can only be found on Windows, and therefore will only run on a Mac that has been upgraded to Boot-Camp and Windows. I suspect that this is exactly what most Mac-owners will feel forced to do.

    Naturally, the big question is, does the "alternative lifestyle" approach to computer design really pay-off for the people who count: The Users?

    I think the answer is no. Having used computers all my life, I consider myself an expert in the day to day tasks of computing. The Microsoft Windows operating system makes installing, uninstalling, defragmenting, and removal of viruses and spyware trivially easy. It's a shame that the Apple company (who unbelievably are much praised for their interface design) had not thought to make these everyday tasks simpler.

    As I have pointed out on a number of occasions both Linux and AppleMac fail to unclude a disk-defragmentor, a personal firewall, a standard method for installing or removing software or even a system repair utility. Microsoft introduced all of this in their epoch-making "Windows Me" edition. Linux users have had to get used to the lack of these essential productivity tools, however Linux is universally acknowledged as a cheap immitation of Windows. Mac on the other-hand is marketed as a full-price premium product.

    Apple computers come preloaded with iTunes which only works with Apple's oddly-coloured iPod. The Apple Ma

  2. Free version of the book by BitZtream · · Score: -1, Troll

    http://drupal.org/handbooks

    Web Am Hard, and O'Reilly really knows how to capitalize on those who can't seek out information on their own, I respect anyone who capitalizes on the ignorance of others when the ignorance involves someone doing something on the web while at the same time being unable to use a search engine.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  3. Drupal by Anonymous Coward · · Score: -1, Troll

    Drupal consultants hide behind the notion that they're doing 'cool things in open source!' to double and sometimes triple charge the same project to multiple clients, the implementation time gets drawn out and you end up paying the price.

    Dealt with some Drupal folks from a few different companies (not my choice, but, I did my best to accomodate them)

    The simple project that my boss laid out ended up turning into a convoluted mess where we waited on them to finish features for other clients in the module we had requested them to customize for us..

    Honestly, open source CMS systems can be great, they can be wonderful, but the 'We do cool things lets go have a "jelly" and do lunch with our laptops, tee hee web2.0" can FUCKIN SUCK IT.

    Get to fuckin work you fuckin hippies, I don't pay you to fucking sit around and twitter and irc to ask people who KNOW what the fuck they're doing how to do YOUR job.

    Dipshits.

  4. Re:What we REALLY need by Anonymous Coward · · Score: -1, Troll

    So you can't read well enough to think of more than one way how it could be pronounced?

    And what the fuck is the comma before "probably" supposed to be for?

  5. Fun Fact by SilentOneNCW · · Score: 0, Troll

    Fun Fact: Every book review posted on Slashdot gives nine out of ten.