Book Review: Building powerful and robust websites with Drupal 6Sun, Jul 20, 2008 in Web Reviews
I just finished reading Building Powerful and Robust Websites with Drupal 6 (this title on Packt’s site). I’ve been working on a website powered by Drupal, and though it was obvious that Drupal is very flexible and capable, I was getting pretty lost in the website. So I wanted to read a book that would explain it to me.
Unfortunately, this book didn’t help me much. I’d give it 2 out of 5 stars.
Overall the content of the book is not about what the title promises. In fact, I’d say the title ought to be something like “an introduction to…” or “basic concepts with…” instead. Unfortunately, these titles don’t really capture the spirit of the book either. It’s hard to actually explain what the book is about, and I think that’s its main problem: the book has an identity crisis. It can’t decide what it is really trying to say, and thus it seems to go from one topic to another without a really strong direction. (It does have some direction and organization, but it could be stronger.)
As a result I now know almost nothing about Drupal that I didn’t discover by trial and error over perhaps 8 hours or so working with a live site.
The book is 380 pages and I think it ought to be a lot shorter to cover the material it covers. The writing is far too wordy, so whole paragraphs sometimes end up saying nothing at all. For example, “reduces the amount of work required later down the line” should just be “saves work later.” A lot of what’s included is just irrelevant. For example, the preface spends a lot of time telling me that the Internet is an exciting revolution, yada yada:
The Internet is arguably one of the most profound achievements in human history. It has become so pervasive in our lives that we hardly even notice itâ€”except when it happens to be unavailable! It’s one of those things that make you sit back and wonder how people got along without it in the old days. Without the ability to surf the Internet to order groceries, do our banking, book flights and make travel arrangements, meet friends, meet partners, download music and videos, study, run businesses, trade shares, run campaigns, express views, share ideas, learn about other people… where would we be?
There’s a lot of that throughout the book, unfortunately. See if you can understand this:
Chapter 8 gives you a run down of how attractive interfaces are created in Drupal through the use of themes. As well as discussing briefly some of the considerations that must be taken into account when planning your website and ends off by looking at how to make important modifications to your chosen theme.
And on page 4: “little to now experience…” and later, a really confusing one: “How you deal with file system settings really depends on what type of content you use to visualize your site.”
The typesetting is also hard to read. For example, it’s set ragged-right, but even worse, there are many places where lines are broken far shorter than they need to be. It looks to me like they just put Word documents onto paper with no real typesetting.
When the content actually picks up momentum, it covers a bunch of things I could do without, such as explanations of what open source is, and Drupal’s licensing. As I said, this book has an identity crisis; these are important topics, but not in this book.. In chapter 3, I begin to see some stuff about how to use Drupal. But then it jumps right into how to set up forums. Unfortunately I really missed explanations of the concepts. The concepts are too intermingled with the examples, which I didn’t understand because I was only reading the book, not actually working through the examples. I got lost very quickly and never found myself again.
This book is not skimmable to get info at any level other than following along with the author – I mean, installing your own copy and literally performing every action the author performs so you can see it in action. For example on page 69, there’s a lot of talk about containers – and then it says “click Add container to bring up a page…” wait, I thought that’s what we were doing already? I’m sure I read it wrong, but unless I’m willing to build myself a website on my laptop to follow along, I can’t tell. I really wanted the book to explain things to me without making me work through the examples. I’m sure it’s hard to do, but it must be possible.
At the end of each chapter, there’s a summary. They are too congratulatory. “This chapter provided a good grounding in the basics of controlling access to your site’s content.” I disagree. Then later, “From learning about what considerations must be taken into account when planning a website’s look-and-feel, to making changes to the code, this chapter has provided a firm grounding in the fundamentals of working with Drupal interfaces.” Again, I just didn’t get that out of it when I read it.
So what was I looking for from the book? I wanted to understand what Drupal’s special lingo means, really. I mean, if you’ve worked with Drupal, you’ve seen all the words it reinvents for its own special uses – taxonomy, hierarchy, term, vocabulary, node, field definition, content type, and on and on. Each of these means something really particular in Drupal – not at all what we mean in common English. I am still confused about all this: what each of these things really is, how each relates to the other, why I see them in various contexts, when I should use one instead of another, and so on.
In summary, I’d say that I’m now even more convinced that Drupal is almost ridiculously flexible and powerful, but this book just didn’t help me much. It is a noble effort but alas, I needed more from it.
PS: some people have asked me about the grammar rules and regular expressions I used while writing my own book. This book is a great example of how specific those are to my own writing. If I were this book’s author, I would have a rule to catch “make use of,” “head on over,” and “go ahead.” There is also a lot of “of course” that substitutes for a real explanation on topics where I really wanted more help understanding.