Drupal 6 Book Review: Building Powerful And Robust Websites With Drupal 6
on
October 26, 2008
Drupal 6 Book Review: Building Powerful And Robust Websites With Drupal 6

<? print $something; ?>.
The author states on page 11 that Drupal's code "is very well written, which makes modifying it easy." However any Drupal contributor or experienced developer will tell you that it is bad practice to modify Drupal's code. In fact most people that solicit my time as a Drupal consultant do so because they are compromised by the situation they have found themselves in after inexperienced developers made nasty changes to Drupal core -- it would be quite possible for me to work exclusively on un-hacking these core changes so that such clients can begin to move forward and update to a recent stable, secure and supported version of Drupal. It's a nasty, difficult, tedious and expensive situation to get out of, and often leaves a client with a code base less maintainable and valuable than a custom-coded solution.
And yet the author appears to encourage changes to Drupal core. It would not have been misleading to say that "extending", "reading" or "understanding" Drupal is easy.
Another misleading example is "The best way to find out what type of environment Drupal can provide is to go ahead and check out the Drupal home page at http://drupal.org -- since it is built with Drupal and is a good example of what one can do.". Drupal.org actually demonstrates a smaller portion of Drupal's features and modules. It would be easy for a naive reader to believe that Drupal can't to Foo because Drupal.org doesn't have Foo.
The overall order of the book's chapters and sections is somewhat odd in my opinion. This makes it difficult to read from front to back -- the more important concepts such taxonomy and content types are found later in the book. The recommendation to register a Drupal.org account is on page 11, but makes sense to be found on page 16 in the Drupal Community section. The author also plays down the usefulness of a Drupal.org account. In my opinion a Drupal.org account is a necessity for any Drupal developer.
The type of user the book is targeted at would benefit significantly from a glossary or a comprehensive index. "Clean URLs", for example, is discussed (with a paragraph or more) in at least three different sections, but does not appear in the index, and a simple explanation is not found easily. Drupal itself is more helpful in this area.
The appendix includes a section about deploying a website from your sandbox to a live website, but fails to differentiate the critical differences between launching an under-development site for the first time, and making changes to the code of an existing website. A reader following the steps suggested in the appendix without basic understanding of the purpose and differences between code and database is likely to over-write their live database with a development database, potentially losing data on the live website.
The author assumes that the reader is using Windows on their desktop and development environment, GNU/Linux in the live environment and that the reader manages the web host with cPanel. While each of these tools are common, especially among the targeted audience of the book, it is not likely that most readers are using all three of these tools respectively. Nevertheless the author rarely offers any help to users of other common alternatives about how to find help for their systems, and as far as I can tell, fails to document his own assumptions in the book.
The author fails to mention the shortcomings of FTP as a code deployment tool, and does not mention superior tools like SSH nor source-code-control tools like Subversion. Granted, for the target audience of this book those tools are not likely realistically useful, usable or worth the initial learning-investment. However at some point in any web developer's career these tools are likely to become a necessity and solve very common problems. A mention or short introduction of the tools would be very useful and educational for budding website developers.
You can purchase Building Powerful and Robust Websites with Drupal 6 from Amazon.com, from the publisher's website Packt Publishing and various other places.












