New book: Drupal 7 Module Development

December 27th, 2010

New book: Drupal 7 Module Development

Drupal 7 Module Development has been published by Packt, just in time for the release of Drupal 7. This book provides in-depth coverage of key elements of Drupal 7 and is designed for professional developers. Every chapter provides fully functional code samples illustrating the APIs and strategies discussed in the chapter. With this foundation, developers can quickly build sophisticated tools on their own by making use of the strategies and techniques exemplified in this book.

If you are a PHP developer or a Drupal user looking to dive into Drupal development then you will find this book an excellent introduction to coding within Drupal. Those with some Drupal experience will also find this an invaluable tool for updating their knowledge about the powerful new features of Drupal 7. Theme developers looking to extend their abilities will find this an accessible introduction to PHP coding within the Drupal environment.

About the book

The co-authors of the book have been collaborating since summer of 2009. We tried to write the book that we wanted, but could not find, when we started working on Drupal 6. That is, we tried to cover some of the more complex topics and bigger changes in the newest version of Drupal.

A tall order, certainly, but the authors are all experienced core developers. A quick review of the list:

  • Matt (mbutcher) Butcher introduces general Drupal concepts and starts you to developing your first module and integrating it to Drupal’s testing suite.
  • John (JohnAlbin) Wilkins examines Drupal’s theming layer and provides detailed coverage of how to integrate your module into Drupal’s theme layer.
  • Greg (heyrocker) Dunlap shows you how to use Drupal’s User Experience (UX) guidelines to build an administrative interface. He also discusses the new file and stream handling functions.
  • Larry (Crell) Garfield explores the new Entity and Field systems, showing you how to create new content types.
  • Ken (agentrickard) Rickard explains the permissions system and its security implications, with an entire chapter devoted to Drupal’s node access system.
  • Matt (mfer) Farina shows you how to implement JavaScript in Drupal and how to create an install profile.

This the approach allows each author to specialize in a particular Drupal subsytem, providing in-depth examples and analysis of the Drupal internals. To shamelessly quote from Angie (webchick) Byron’s introduction:

The authors of this edition of the book have much more than “merely” a deep understanding of Drupal 7’s internals — in many cases they literally wrote the patches that put that internals into place.

What you will learn from this book?

Both new and experienced Drupal developers should find the book’s depth of coverage essential for learning Drupal 7. While we can’t cover every topic, we take in-depth looks at:

  • The architecture of Drupal.
  • Creating a new Drupal module.
  • Using Drupal’s testing framework.
  • The proper use of theme functions and themeable output.
  • How to leverage Drupal 7’s render system.
  • Providing RTL language support.
  • Mapping Drupal functions to URLs.
  • Creating basic forms with the Form API.
  • Creating administrative pages for your module.
  • Using Drupal 7’s new token system.
  • How to define new entity types.
  • Using fields to store data.
  • Using widgets to hook fields into the Form API.
  • Using formatters to control the display of fields,
  • Drupal’s roles and permissions concepts.
  • Securing sensitive actions with permissions.
  • How to write a node access module.
  • Modifying the behavior of node access modules.
  • How to add JavaScript to pages through Drupal.
  • Working with AJAX and Drupal.
  • Understanding Drupal’s public and private filesystems.
  • Implementing a stream wrapper for custom file handling.
  • Implementing your own image effects for use with Image Styles.
  • Bundling modules and themes in a distribution.

And much, much more. Each chapter includes detailed (and working) code samples to help you master the concepts being discussed.

Why now?

With Drupal 7 not yet released, this is a fair question. There has been some community dissent over the timing of new book releases, and we understand that.

This book was originally planned and scheduled to coincide with Drupal core development. Many of the chapters discuss significant API changes that took place after the book was started. In a few cases, writing the book actually prompted patches to Drupal itself.

What we wanted to do, above all else, provides developers with a guide they could use to start working in Drupal 7 as soon as it was released. We tried to write a book that anticipated the tough questions that would come up as developers tried to work with Drupal 7. In essence, we think this is the book we would like to have.

Is the book perfect? No book is. We anticipate errata to cover late changes in Drupal APIs. But we had an obligation to get the book out as close to Drupal 7’s release as possible, and so we think this edition will be a great benefit to the Drupal community.

Get 20% off!

If you order the book through the Packt website, you can save 20% off the cover price. Use DrupalModDev20 (case sensitive) when ordering through the official book web page. Note: you must be logged in to for discount code to be applied

Want a Sample?

For a glimpse of the content featured within this book, Packt has provided three free chapter excerpts: