Drupal Training by Zengenuity

Drupal 7 Module Development



Course Overview

In this course, you will learn to build your own custom modules for Drupal. Covering the Drupal 7 core API and the Views module API, you'll discover the most commonly-used Drupal hooks and functions and find out how to use Drupal's documentation to learn about the rest. You'll develop several modules step-by-step, while following best practices to ensure maintainability and interoperability with other modules. This course covers the Drupal hook system, the database API, the form API, Views module API, security and performance best practices. This course is taught by a practicing Drupal developer and will take a pragmatic approach to development based on real-world experience.

Who is it for?

This course is for anyone who wants to create their own Drupal modules. It targeted a web developers, system integrators, and anyone who want to tweak Drupal's behavior to meet their needs.

Pre-requisites: This course was designed for those who have experience with Drupal site building and knowledge of PHP. Students without PHP experience should consider taking our PHP Bootcamp for Drupal class. Those without Drupal experience should take Building Websites with Drupal 7


In this class, you will learn:

Drupal Programming Basics

  • How Drupal works (the bootstrap process)
  • The Drupal hook system
  • Creating Drupal blocks
  • Executing page callbacks with the menu system
  • Working with users
  • Working with nodes
  • Styling output with the theme system
  • Drupal code standards

The Database API

  • Using db_query()
  • Using the object-oriented database API
  • Getting a limited range of results
  • Using drupal_write_record()
  • Creating tables on module install: The Schema API
  • Accessing external databases from Drupal

The Drupal Form API

  • Creating forms in Drupal
  • Form validation and processing
  • Changing forms created by other modules
  • Adding autocompletes to text fields

Security and Performance

  • Proper handling of user-submitted data
  • Adding and enforcing permissions and access callbacks
  • Using Drupal's cache system to increase performance

The Views module API

  • Exposing custom database tables to Views (so your tables are available to select in the Views interface)
  • Altering database queries generated by Views (for more complex queries that can't be specified from Views interface)
  • Overriding Views output

Modifying Contrib Modules and Drupal Core

  • Best practices for altering Drupal core and contrib module code
  • Creating and applying code patches


Wayne Eaker is the director and chief developer of Zengenuity. He's a Drupal expert with years of experience building highly-customized Drupal websites. He is also a seasoned trainer, having taught professionals, corporate clients and high school computer science students.

How is it taught

The class will consist of six video lessons, each around 3 hours, and six live lab sessions with the instructor. The lessons will cover all the topics listed below and can be watched anytime that is convenient for you. At the end of each lesson, you will be given an assignment to practice what you've learned. (We will provide web hosting for your practice work, so you don't need to worry about setting that up.) The lab sessions will be conducted online, using the webinar software GotoWebinar. During the sessions, the instructor will answer all your questions from and will help troubleshoot any issues you have doing the assignment. (GotoWebinar allows us to view your computer, and take control of your keyboard and mouse if needed. So, we can see any error messages that you're seeing and figure out how to fix it in realtime.)

In addition to the live sessions, students will have access to an online forum to discuss assignments with other students and ask the instructor questions.

How do On-Demand Courses Work?

This course is offered with an on-demand schedule. With this type of course, you will have the option to start the class at any time after your purchase. You don't have to start immediately when you buy it. When you go to your class page, you'll be given an overview and you can click to start the course at any time. Once you start your course, you'll have access to all the lesson videos immediately, and you'll be invited to the next 6 live sessions with your instructor to help guide you along with the class.


The cost for this course is $495. This includes:

  • 12+ hours of video lessons and 6 hours of live lab sessions.
  • Permanent access to the recordings of the lessons and live session labs. Watch them again anytime you need them!
  • A web hosting account for your practice Drupal site and custom modules.
  • Access to an online forum to ask questions of the instructor and discuss with other students.

Who We Are

DrupalTutor was built by Zengenuity, a Drupal development firm in Ann Arbor, Michigan. Our online courses are taught by Wayne Eaker, a Drupal expert with years of experience building highly-customized Drupal websites. Wayne's also a seasoned trainer, having taught professionals, corporate clients and high school computer science students.

Contact Us

DrupalTutor.com is a service of Bitwisdom, LLC.

116 East Washington Street, Suite 220
Ann Arbor, Michigan 48104

Web: http://drupaltutor.com
Email: info@drupaltutor.com
Phone: 734-961-4705

Contact Us Online

About Drupal

Drupal is an open source content management platform powering millions of websites and applications. This website and Drupal training are provided by Zengenuity, and they are not affiliated with or endorsed by the Drupal Project, the Drupal Association, or their trademark owners. Drupal is a registered trademark of Dries Buytaert.