Drupal Module Development Series

Learn all of the basics of Drupal Module Development by implementing the most common hooks, writing & retrieving information from the database, as well as creating and altering forms.

This video is ginormous! Originally, we hoped we'd have two smaller videos with titles like "Module Development Basics" and "Advanced Module Development", but they just wouldn't hold up on their own. We didn't want people to end up with only half the story, so we decided to just create one massive comprehensive video with everything you need to know to create Drupal modules of your own. The result is "Drupal Module Building", the first Lullabot double-album – 5 hours and 10 minutes of action-packed PHP coding, Drupal hooks, and Form API arrays. After watching this video, you'll be a module building ninja, ready to customize and extend Drupal and bend it to your will!

In this video, James Walker, Jeff Eaton and Matt Westgate walk you through everything you need to know in order to build, extend and contribute a Drupal module. Starting with some of the essential development tools, they'll show you how to use the Drupal API reference material and explain all of Drupal's major conceptual systems. After creating the proper files to register the module, they'll implement a few Drupal hooks that plug into Drupal's event-driven architecture. You'll learn how to register both static and dynamic URLs with Drupal's menu system. Then you'll get an introduction to Drupal's database abstraction layer, how to select and insert data from it, and how to update the database schema. You'll learn to securely capture and sanitize user-submitted data with the Forms API, as well as how to properly alter any other Drupal form on your site. Finally, you'll learn how to write secure code, conform to Drupal's coding standards, and how to contribute your module back to Drupal.org and apply patches provided by the community.

Over the course of this video, the team builds the Stalker Module, so head on over and download that module if you'd like to be able to open the example code and "play along at home".