A couple weeks ago my family spent some vacation time at Disney World in Orlando, Florida. If you have ever been to a Disney theme park then you know full well that it takes a lot of work in those parks just to have fun. Some of the most popular rides in these parks have waiting periods of up to two hours due to the long lines of people wanting to get on board. Luckily, my wife brought a Disney tourist guidebook that gave our family the helpful hints, recommendations, and information we needed to beat those long lines. In the end, we ended up with a very enjoyable trip (so enjoyable that we got to ride Space Mountain twice!). That travel guide was a valuable asset to my family's vacation.
Mastering Drupal is very similar to visiting a theme park as it takes some effort on your part to ensure you get rewarded for your effort. If Drupal is the amusement park then consider Drupal's modules as the park's attractions you're wanting to ride. With this line of thinking, I easily recommend that you let Earl and Lynette Miles' book, Drupal's Building Blocks, be your valuable tourist guide into the wonderful world of Drupal. I only review a few books each year and this is a book I gladly invested my time reading.
Drupal's Building Blocks is a tutorial, reference, and cookbook for some of Drupal's most valuable modules including CCK (Content Construction Kit), Views, and Panels. The primary purpose of this book is to give you the quickest route to mastering the modules as quickly as you can in order to help you create more powerful, flexible, usable, and manageable Web sites. The audience for this book isn't only for Web developers or designers, but also site administrators, content architects, and consultants. There is some code in this book, but what is there isn't the scary code you often find in a developer's library.
Although I've worked with Drupal for more than half a decade, I am still among the newbies who struggle with how best to use Drupal's contributed modules. I've built several sites using CCK and Views but I've always ran into hurdles that keep me from fully discovering what these modules can do for me and my sites. This book will provide you the information you need to realize the full potential of these modules. Anybody who has seen Drupal, CCK, Views, and Panels mature over the years can't help but read this book and enjoy not only the author's technical expertise but also the author's cultural and historical understanding for how the module came to be in Drupal.
In the first chapter of the book, "Introducing CCK and Nodes", there is a section titled "Quest for the Grail: How CCK Was Born". This section alone reads like an adventure story that starts by talking about the challenges site administrators originally had with Drupal needing to acquire development skills just to control the form content would take in Drupal. The story continues with Drupal 4.4 and how a contributed module named Flexinode gave non-developers the ability to create new content types yet limitations remained. I was reminded that with Drupal 4.7 CCK became Flexinode's replacement and with each successive release of Drupal the module continues to improve. For someone like me who started with Drupal 4.6 and watched Drupal 5, 6, and now 7 evolve this book spoke to my inner geek. I simply found this book to be good bridge to the more technical aspects of CCK, Views and Panels.
The book is broken into three parts that focus on the "big three" contributed modules. After the authors of this book introduce you to the module they focus on the needs of the audience with chapters geared toward site administrator and content managers, theme designers, and developers (with a thorough explanation of the API these modules bring). Found in almost all the chapters are notes and exercises to help reinforce what you've just learned in these chapters. By the end of this book, I promise you'll learn the following:
- Use Content Construction Kit (CCK) to customize your data input forms around your needs
- Improve site flexibility with Drupal’s node system
- Add optional field types, including PHP-based fields
- Customize themes to display data more attractively and legibly
- Build powerful Views query displays
- Integrate with SQL databases
- Customize Views with relationships, arguments, and filters
- Optimize query performance
- Add custom styles with the Panels module
- Maintain full control over sites as you deploy into production
I found that I learned the most in Part II of Building Blocks which focuses on Views. I really found myself professionally developing as a Drupal user by increased understanding how the import and export tools worked (Chapter 7) as well as query optimization (Chapter 10) which focuses on the impact Views has on performance. There is also a nice chapter on site deployment covering how one can export CCK structure, Views, and Panels from their development environment onto their production servers.
I will say this book is not for Drupal beginners still needing introductions to Drupal. Instead this book is intended for those already familiar with how to install Drupal, enable modules, and author/manage content in Drupal. If you're extremely new to Drupal, I would instead recommend Sams Teach Yourself Drupal in 24 Hours which is one of three books I reviewed last year (not sure if one is out for Drupal 7 though). Instead, let Drupal's Building Blocks be the second book you purchase especially if you plan to build sites that heavily utilize CCK, Views, or Panels.