Drupal 7 Explained: Your Step-by-Step Guide

Drupal 7 Explained: Your Step-by-Step Guide


Stephen Burge

with Cindy McCourt

Why I Recommend It: 

The need for this book is captured in three words written by the authors: "Drupal is different."  That it is.

Drupal Workflow Screencap

For a new site (this one!) I choose Drupal to build and manage the content. Nothing against Wordpress. It is true that I liked Drupals's flexibility with widgets, which seems better than Wordpress. Truth be told, I just wanted to use Drupal because I has already used Wordpress for other stuff. So it was time to do use a different Content Management System (CMS).  

When I first installed Drupal, and got started on my site, I dove right in. I already had some roughed out wireframes. So my next thought was to pick a theme. Browsing though the theme choices was fun. Picked one, installed it, and kept on going with my first piece of content. Wham! Immediately, I discovered the flexibility I was looking for was no where to be found.

Normally, I like to learn new things by trial and error.  Instruction manuals are for whimps! I could not have been more naïve this time. Frustrated with my first attempt at building the site, I wondered if I should just go back to Wordpress. That is when I bought this book. As I soon learned, it is not that Drupal is difficult. Instead, it is indeed different.

The secret to Drupal is the "workflow." I am showing the author's illustration of the workflow on the right. You will find it reproduced at the end of nearly every chapter. It is critical that you follow it. He is correct when he says "If you create your Drupal sites using this workflow, you can build better sites, quicker and with fewer mistakes and less frustration."

In addition to the overall Drupal workflow, each step (e.g., Fields, Themes, etc) can have its own workflow. To enable fields that contain links to URLs, you will need to install an extra module. The authors use the acronym FITS for the workflow specific to modules. (See Chapter 6, Adding a Link Field.)  In other chapters, you will come across acronym DFFFS, for creating Views. These acronyms provide a useful nudge to complete all the steps, at least when you first get started with Drupal.

In the end, I read the book cover to cover (well, virtually so). Then to build the site, I revisited each chapter. No stress, no mess. Just fun.

BTW, if you are wondering, Drupal is pronounced Droo-puhl.


Like all books, a few passages need some clarification.  Here is what I found and worked though.

Chapter 7, Bookmarking Content in Drupal.

Initially after installing the Flags module, I had no Flags to configure. The Bookmarks flag did not yet exist (which seems to me the normal behavior). So, instead of “editing” the Bookmark Flag, as instructed, I "added” it. Not a big deal. 

Chapter 7, Text Editors for Drupal Explained.

The TinyMCE editor automatically inserts <p> tags as you type. However, the Filtered HTML text format option does not include <p> tags by default. So when you do the step Configure for HTML Content, add the <p> tag to the Limit Allowed HTML Elements (along with the recommended <img> tag).

Chapter 8, Adding a New Menu Link: Site Map.

Oops.  "Step 1, Find the Module" points you to http:/drupal.org/project/imce. Instead of “imce,” they meant “site_map.”

Chapter 11, Installing the Views Module.

Here the authors have you install two modules, Views and Devel.  After installing and enabling the Devel module, the authors have you generate sample content. Step 3 says: “Click Generate Content.” So I did just that. Oops.

Now, keep in mind that I am building my site on the fly while following along with the book. Certainly, you would never do that in a big site intended for wide use. However my site is for lesser purposes. (I am doing things backwards and will add a dev site later.)

What is wrong with "Click Generate Content?" Nothing actually. Except that the sample content amounted to several hundred sample nodes of dummy content. No harm done. However, I did have spend a few hours first marking all the sample content as “unpublished,” and then later deleting all of it once I concluded it served no useful purpose to me.  

At the time of my first read, it was not clear that the authors simply were demonstrating a function of the Devel module. Now I know. Again, no harm done, but the effect caught me by surprise.