Author: Earl & Lynette Miles
Publisher: Addison-Wesley, 2010
Aimed at: Drupal PHP developers
Pros: Coverage of CCK
Cons: Fails to specify which version of Drupal it covers, wild changes in pace and level
Reviewed by: Ian Elliot
Subtitled Quickly Building Websites with CCK, Views and Panels is this book useful for Drupal users?
Drupal can be a difficult beast to master - but it's just PHP you know! The problem is that it might well be just PHP but when you overlay the different jargon and system design it can be difficult to find your way around. Even reading the code doesn't help if you are trying to figure out how multiple modules interact. It can be hard work.
Drupal's Building Blocks is a developer's view of using CCK, Panels and Views to build web pages. The big problem is that the CCK - Content Construction Kit - is a relatively new introduction to Drupal and the book gives no indication of which version of Drupal it applies to.
Part I of the book is about the CCK and the first chapter starts off with a look at its history and how it came about. Then we have how to install Drupal and the CCK. It then provides a simple example of creating a content type. The CCK is about building custom data storage types. Chapter 2 continues this basic example and chapter 3 goes deeper into fields and here we even see some PHP code to add computed fields. Chapter 4 moves away from the logical definition of fields and considers how to present them using themes. Finally we have a look at the CCK API, which is used to customise the workings of the CCK. Here we meet a lot of PHP.
Part II of the book is on Views and, yes, this is about views in the database sense of a queries. This starts off with another small introduction to Drupal and then explains what a database is and the various SQL style operations. Then we have a number of chapters on creating views, styling them and using the view API. The format follows the first part of the book.
The final part deals with panels, which are Drupal's layout mechanisms. After a quick introduction to the overall working of Drupal and panels, Chapter 13 explains how to create your first panel. Then on to advanced panels, theming and deployment.
This book presents the reader with a big problem by not naming the version of Drupal it is targeting - most probably Drupal 6. It covers material that is mostly ignored in other books and so is valuable, but it could have been so much better. The writing style changes and the level of explanation varies wildly . One minute we are being spoon fed easy concepts only to have something more complex introduced at a rush. If anything the book seems to make the whole topic more difficult because of its presentation.
This certainly isn't for the Drupal beginner, but you don't have to be a great PHP programmer to get something out of the book. Be prepared to work hard, however, as the authors don't succeed in making the ideas easy.
If you are working with Drupal 6 then this might help you if you want to master CCK, views and panels. If you are working with Drupal 7 then you might be better waiting for the next edition.