Book Review: Drupal 7 First Look

Drupal 7 First LookSo, Drupal web app builders, Drupal 7.0 RC 1 Released. It's coming soon to a development environment near you! So, who can help dive right in? The very well written drupal.org announcement mentions the updating your modules and updating your themes pages and the Coder Upgrade module. But curling up with a good book would be nice too. So I was eager to review Drupal 7 First Look by Mark Noble in order to see if it could assist me in systematizing my own approach to becoming familiar with Drupal 7 and preparing myself for "the big shift" as a Drupal developer.

Drupal 7 First LookSo, Drupal web app builders, Drupal 7.0 RC 1 Released. It’s coming soon to a development environment near you! So, who can help dive right in? The very well written drupal.org announcement mentions the updating your modules and updating your themes pages and the Coder Upgrade module. But curling up with a good book would be nice too. So I was eager to review Drupal 7 First Look by Mark Noble in order to see if it could assist me in systematizing my own approach to becoming familiar with Drupal 7 and preparing myself for “the big shift” as a Drupal developer.

So what do you do when you grab a book for the first time? You check out the table of contents of course. Well, the book is certainly something for everyone, and noticing the original php script to install Drupal from the command line (no mention of drush in the book: check it out, Mark!) I had to check the number of pages (288) a couple of times in disbelief: how is the book going to comply with the promise of the table of contents and keep up that kind of level of detail? But it does! I’m not looking for a bible right now, I’m looking for a first look, and this book provides a great Drupal 7 “awesomeness rush” as well as a practical heads up on suprisingly many levels.

It starts out reviewing what’s new in Drupal 7, as well as realistically underlying what didn’t make it in (WYSIWYG editor, Views in core) and which changes will affect you on a site building and theming level. As well as a thorough treatment of removed functionality and the new server requirements you will be needing to run Drupal 7. If you go ahead and install Drupal as you read this first chapter (detailed installation instructions are provided in Chapter 2), you get a very good guided tour of what’s new, from the new standar and minimal installation options (it’s OK folks, you still have to manually copy default.settings.php to settings.php and create the files directory! make them writeable for the server, and then after install protect settings.php with a chmod 644… whew! it’s still Drupal!), the exciting SQLite alternative,  the spiffy Admin theme, toolbar and overlays, the Stark theme, the Garland theme (what is that doing there???), the Seven admin theme, and the Bartik theme (not mentioned in the book! the book thinks Garland is default content theme), the redesigned content editing form, the new interface for creating content types, the inclusion of the Field API in core (English: you can add fields to content types, user object and more) and the new spiffy interface for creating content types (auto machine name creation, the inclusion of Vertical tabs in core, and all the convenience of a Save and add fields button. File field and image field in core is shown and appreciated. And as I created a new Task content type and went to create a due date field, I noticed that the Date module is not in core! Sh*t! And there is no stable version yet. But I did a quick drush dl date-7.x-1.x-dev, enabled the module, and it works as expected. Task has due date. Cool!

Moving right along back to the book and its installation tour, we see the old Drupal input filters are now text formats, and that they can be assigned to roles, that informational messages have contexts for translations, the new built in ajaxified poormanscron, new beefed up security features, the new plugin manager (move over WordPress [more on this when I’ve used it 🙂 ]), the new Seven admin theme, and the addition of jQuery UI to core. Additional sections highlight additional preprocessing of themed information, the new Stark base theme, the DBTNG (the new database abstraction layer), and the improved node access system (users who have access to nodes can be allowed to administer those nodes, more control of access logic for module developers, the invocation of access permissions to DBTNG queries, and options for access to unpublished content). In each case, reference is made to where these features are dealt with in more depth in the remaining chapters of the book.

Even as such, the book would definitely be a great companion to getting started with Drupal 7, and the surprisingly comprehensive in-depth chapters (given that the book is under 300 pages) may also serve as reference material. But there’s more, in the additional material dedicated to the themer and the module developer. So the book takes into account how the new release affects the total workflow in any Drupal shop, from the point of view of site builders (Chapter 3), admins (Chapter 4), Themers (Chapter 5), Developers (Chapter 7) plus a whole chapter (Chapter 6) devoted to DBTNG.

On the whole, a great way to dive into Drupal 7 for team members on any level actually working to build Drupal web apps.