I have been a strong advocate of the Drupal project for 3-4 years, but it wasn't until this past fall that I actually started building a Drupal site - and a rather complex one at that. I quickly realized that the steep Drupal learning curve that I had read about - or "learning cliff" as the authors point out in this book - is indeed real. If there's a shortcut to learning Drupal, I haven't found it. But the good news is that books like "Drupal's Building Blocks" is a much-needed, welcome addition to any Drupalite's library - whether you're new to Drupal or a veteran. It includes several screenshots and exercises throughout to provide you with practical hands-on experience, so it does a good job of "telling" you and then "showing" you how it's done.
My background is in relational database design, development and management. In non-Drupal terminology, this book focuses on three aspects of development:
(1) Data storage - Using the CCK (Content Construction Kit) module, you can build out your custom "tables and columns" through Drupal's administrative front-end (not the database back-end). The book teaches you about the history, philosophy and usage of the CCK module - through the UI and through (php) code. Even though Drupal modules take care of all table management in the database (most often MySQL), it is interesting to see how Drupal handles M:M relationships on the back-end, along with multi-value and shared fields (columns).
(2) SQL queries - Using the Views module, you can use its UI (or API) to create both simple and sophisticated SQL SELECT statements. In a CMS like Drupal, users enter the data, and modules like Views help display it back out in a myriad of ways. Given that the author developed this module, it was great to get his perspective on how to use this module as it was intended. I had a lot of "aha" moments as I read through this section of the book. And if I ever want to get "geeky" about my Views (to improve performance, etc.), there's a full chapter devoted to the Views API.
(3) The display/UI - Whereas the CCK and Views modules work behind the scenes, the Panels module is all about presentation and making sure our website looks and feels the way we want. Panels isn't the only presentation tool available in Drupal, but it's one of the more robust options with a solid administrative UI. It's also tightly integrated with Views. I will be referring back to this section a lot as I continue to ramp up on what this module can do.
I wish this book had been available last fall. It would have saved me a lot of time ramping up on these "building block" modules for Drupal. It doesn't really focus on advanced use cases for these modules, but it equips you with the foundational knowledge you need to tackle these advanced use cases - on your own and with the help of the Drupal community.