Review of "Drupal User's Guide: Building and Administering a Successful Drupal-Powered Web Site"

Introduction

A little more than a year ago I read Using Drupal, a beginner's guide for Drupal 6. Since the release of Drupal 7 in January I have been asked for recommendations on a beginner's guide to Drupal 7. Drupal User's Guide: Building and Administering a Successful Drupal-Powered Web Site, by @EmmaJaneDotNet, is here, and does a very good job at bringing would-be Drupal site builders and administrators up to speed with the product, and the community. Drupal User's Guide is not a comprehensive tome on Drupal, nor is it going to make you into an expert module developer or custom themer, and this is not its goal. From the preface of the book:

It assumes you want to build a Web site without having to learn any code. It is structured to help you jump right in and start building your own Web sites. If you are new to Web site building, you may find it useful to start at the first chapter and work through to the end of the book. If you are a little more experienced with site building, you can use this book as a reference and jump around to suit your needs. Wherever possible, the topics are cross-referenced. Don't feel that you need to read every single word in this book. Skip the parts that you don't need (or you're not ready for). Learning Drupal shouldn't be stressful, and I promise not to quiz you on whether you read about such-and-such before proceeding to so-and-so. When you need to have specific skills, I'll let you know what the prerequisites are and where you can find them within the book or online.

Note: One important note about the electronic version of this book is that it is a 'secure' file. This means that assistive technology, like the JAWS screen-reader, cannot access the file. I had to run my PDF copy of the book through OCR software before I was able to read the text.

Organization

The book is well organized into meaningful parts, and it is easy to find what you are looking for topically. It begins with part I "Quick Start" (chapters 1 - 4), including "installing Drupal". It then moves to part II "Planning" (chapters 5 - 8), including "Human-Friendly Web Sites"; part III "Case Studies" (chapters 9 - 10), including how to build a "Community Site" with a private discussion area; part IV "Build Anything" (chapters 11 - 14), including "Lists of Content", which includes an introduction to the essential Views module; and finishes with part V "Extending Drupal" (chapters 15 - 17), including a chapter on web content "Accessibility".

The book does a great job at integrating both an introduction to Drupal the product, and Drupal the community. Though one might initially resist this approach, understanding the Drupal community is an important part of getting involved in Drupal projects. One of the fundamental principals of the community is its commitment to open source software, this is also a topic difficult to explain to management and decision makers who believe that if it is free it cannot be reliable, secure, or of enterprise quality. The book explains how open source can make competitors into collaborators:

For example, a voting system commissioned by Sony Music Entertainment, Inc. was made freely available through the Drupal Web site. Then Sony's competitor, Warner Bros., started using the code too. Warner Bros. made a few changes to the code that it contributed back to the freely available version of the software. These changes benefited Sony too. You can use that very same voting system on your Web site too ( http://drupal.org/project/fivestar).

Installing Drupal

The chapter "Installing Drupal" was written with a great deal of detail. For readers familiar with installing other PHP / mySQL based blogging or content management systems this may seem like a bit of excess. Considering, however, the intended audience of the book, the details are quite appropriate. For readers familiar with how to, for instance, create a mySQL database, this section of the chapter can be skipped. For readers needing assistance the book provides instructions for creating a database from the command-line, and also from phpMyAdmin (frequently available as part of a shared web hosting package).

I did notice that the book lists PHP 5.2.x as the minimum requirement for Drupal 7, where in reality this is 5.2.4. This type of minor technical error is not uncommon of a text that is providing a high level overview of such a rich collection of topics and technologies. Some more detail could have been provided, inline or as an external reference, to explain in greater depth the disadvantages of One-Click Drupal installers, and to explain file and directory permissions, as these can stump those installing Drupal for the first time. All-in-all this chapter is one of the most thorough Drupal installation walk-throughs that I have read.

Human-Friendly Web Sites

One of the most easily overlooked, yet most important, aspects of building a site is ensuring that it works for the intended audience. This is not a trivial task. The book, however, breaks the task into some reasonable, and approachable, steps in this chapter. The key take-away of the chapter is that "...you need to put your guests' needs before your own.".

The chapter begins with an explanation of personae, or customer / user profiles, and provides some tips for creating personae. Developing a persona for each significantly different group of visitors to your site will help with design decisions, and with prioritizing the feature list for your site.

The chapter continues by explaining user scenarios, which are general goals that a user may wish to accomplish on your site. A scenario may be to add a blog entry, find a product, or send feedback. The book explains that by creating a list of steps required to complete each common scenario it is then easier to organize navigation on the site. The scenarios you create can also be used to influence site design decisions, and as the basis of site documentation.

Accessibility

The final chapter of the book is on the topic of web content accessibility, or ensuring that your site can be used by all users on the Internet. This topic is actually well integrated within the other chapters of the book, but it is useful for it to have its own chapter for greater detail.

The chapter begins by drawing a parallel between accessibility in the built environment (curb cuts on sidewalks for wheelchairs and strollers), and with accessibility of web sites. It then provides a short explanation of who benefits from you building an accessible web site and how to ensure that your site is accessible.

This chapter is filled with references to a number of excellent tools and documentation. From colour contrast checkers for your designs and themes, to automated accessibility evaluators, to guidelines and community initiatives (like the Drupal accessibility group at http://groups.drupal.org/accessibility ).

Like the rest of the book, reading the chapter on accessibility will not make you an expert. Having given many presentations on accessibility and Drupal, however, I can say with confidence that this chapter, like the rest of the book, will give you a solid foundation from which to expand your knowledge

Conclusion

If you have spent much time working with Drupal 6 or Drupal 7 this book isn't suited for you. You will find that it covers many topics with which you are already familiar. If, however, you are new to Drupal, or it has been some time since you looked at the product and community, this book is a very good resource and getting started guide to building and administering a successful site.