Download our free how-to guide for setting up your new Drupal site and using our themes

Using Drupal book review

Using Drupal book cover
A typical page in Using Drupal, showing an overview of CCK's field configuration form with detailed explanations and settings to use as you follow along
The newspaper installation profile that comes with Using Drupal

Through Safari Books Online, we got an early look at the upcoming O’Reilly book, Using Drupal, by the Lullabots, aka Angela Byron, Addison Berry, Nate Haug, Jeff Eaton, James Walker, and Jeff Robbins. The book is available for pre-order now, and will be shipping on December 16th, 2008. UPDATE: The e-book version is now available.

This book has been eagerly awaited as the first O’Reilly volume covering Drupal, and having been written by such a rockstar team of Drupal pros.

It’s also the first book to focus on a wide range of third party contributed modules rather than just Drupal core, or a narrow subject area of modules. It’s written for Drupal 6, although the book would be fairly applicable to Drupal 5 (with the caveat that one of the major modules, Views, is completely different for Drupal 6 – the underlying concepts are similar though).

The first thing that struck me about this book is its fundamentally different approach from most early Drupal books, as well as the kinds of books you find in the early stages of any new technology’s mainstream acceptance. It’s not simply a higher quality rehashing of handbook pages and technical how-tos, but it has an incredibly cohesive and clever process through the entire book.

Every main chapter of the book will:

  • Introduce an example scenario that’s easy to relate to. For example, an early chapter that covers creating a simple site for a Mom & Pop shop has this sample case study: “in order to update the web page content each week, they currently pay their next-door neighbor Goldie to hand-edit the page”
  • Outline what you’re going to be building
  • Explain why certain decisions or trade-offs were made when creating this site, and highlight alternative choices depending on your particular situation
  • Explains step-by-step how to complete the site with lots of tables and screenshots, pointing out gotchas and important concepts along the way
  • Ends with a “Taking It Further” section with suggestions for other features or future modules to watch that are related to the site recipe

The hands-on approach of this book takes you through a single, cohesive example in each chapter. This gets you building a site to completion at every step. This approach reminds me of the different ways to learn a musical instrument such as piano or guitar – you can start with theory and technique and practice your scales first, or you can just learn some chords and be able to whip out a few simple pop songs your first afternoon. This book is the chords.

It also has some great moments of explaining fuzzy concepts that are difficult to understand without significant Drupal experience. The Using Drupal team shows their years of expertise training users and implementing Drupal sites in gems such as this, describing whether you should use taxonomy or a CCK field for content categorization:
A general rule of thumb is that if you can remove the field and the content type still makes sense, use Taxonomy. An article filed under a “Technology” category is still an article if you remove the category association, so Taxonomy is a good fit. If the field is part of a piece of content, such as an album’s recording artist, then CCK is generally a better choice.

 

Using Drupal will take you through building a:

  • Simple website with blog for a mom & pop grocery store, including a WYSIWYG editor and uploading images to content
  • Job posting board for a university, which introduces the key CCK and Views modules
  • Product reviews site with user ratings, Amazon product data importing, some simple CSS tweaks using the CSS Injector module, and more CCK/Views
  • Wiki, which brings in revisions, input formats, and Pathauto module
  • Local arts news site, which takes you into Actions, Triggers, Workspace, Workflow (both as a concept and module), and Views Bulk Operations to create an administration page
  • Photo gallery, with ImageField, ImageCache, much more Views and some site display tweaks
  • Multilingual website with a strong overview of concepts, then Locale, i18n, and the Localization Client
  • Event management site with calendar and attendees
  • Online store using Ubercart (focuses on basic store setup, products, attributes, and orders – you’ll still need to set up payment methods)

It also covers a few additional topics:

  • An overview of Drupal, and where to get help
  • Basic theming (this is the only time you’ll see code!)
  • Installing and upgrading Drupal and modules
  • How to choose modules and participate in the community

Whew! At 490 pages, it packs a lot in. So what’s it missing?

Obviously Using Drupal only scratches the surface of the many, many types of sites you can build with Drupal. There are a few major topics you won’t find covered in here – membership sites with protected user access, Organic Groups (a chapter that didn’t quite make it due to module readiness for D6), more advanced magazine/newspaper-style sites with modules like Node Queue and Panels, multimedia (there’s another book for that!), or social networking sites. However, I think they picked a great selection of site recipes to cover in a relatively small amount of space, and each recipe will get you a solid site built.

The book will also direct you to two additional resources available online: the finished demo site for each chapter for you to browse, and a download package containing installation profiles with the same versions of modules and themes used on each site. The installation profiles will set you up with a clean slate with your modules all prepared for you to start following along step-by-step in each chapter.

Other things I really love about this book:

  • It isn’t afraid to recommend helpful modules early, such as Administration Menu
  • It highlights common newbie gotchas, such as using the blog module when you really want a story
  • It points out future modules or alternatives to watch, for example, the WYSIWYG API
  • It gives contrib modules such as CCK and Views the foregrounding they deserve when learning Drupal

I know this book has been a long journey for its authors, and I can’t imagine how difficult it’s been to write a book against a moving target. The Lullabots and O’Reilly have made an amazing team which has created an even more amazing product.

This is the book I wish I had when learning Drupal. I would recommend it wholeheartedly to anyone new to Drupal, intermediate users who want to take their skills to the next level or brush up on Drupal 6/Views 2, or anyone who actually needs to build a site similar to the recipes listed above. And, y’know, anyone else who’s ever built or wanted to build a website :)

How to get it

If you can’t wait (because you can’t wait, right?), you can access the entire book and the rest of O’Reilly’s collection now on the web at Safari Books Online. Plans are $23-43/month, and there’s a free 10-day trial.

In paperback, it’s available for pre-order now on O’Reilly’s website for $44.99, Amazon.com, and I assume all its local variants. It is also now available as a PDF ebook.

Hooray for a book that finally walks through some simple Ubercart setup. : )

No kidding! I just recommended it to someone in the UC forums.

Careful how you throw around "simple" there, Ryan ;-)

Glad you liked the book, Steph! Thanks!!

hah! : P

How about a follow-up clarification... simple as in easy to follow, not as in just a basic introduction.

great review thanks :)

I always get a kick out of publishers who sell books like this on open source CMS systems that upgrade every five minutes.. It = the CD that comes with your MB-the updates are already antiquated.
Drupal is best learned via the Community,free online tutorials and lots and lots of headbanging.Basic understanding of shell is pretty much required not being afraid of learning some basic php scripts and how mysql works helps as well.
The book is bs-most of these open source book guides are.