• Course Overview
  • Testimonials
Course Overview

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

Topics

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

Instructor

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.

Cost

The cost for this course is $494 per student $370.50 per student — Spring Sale - 25% off through May 29 .

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.

Register for This Course

Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

About this Class Format

The self-paced public class is our most popular option. With this format, all the lesson videos are available on-demand, to start and stop at your convenience. In addition, you will have access to weekly live "Office Hours" webinars with your instructor, where you can ask for help for if you get stuck, or ask about topics not covered in the lesson videos.

With this class format, you will have access to the lesson videos forever! Come back and re-watch them any time. However, you will need to select a specific set of session dates below. These dates represent when you plan to take the class, and it will determine which Office Hours webinars you are invited to. For courses that include a practice hosting account, these dates will also determine when your practice hosting account is active.

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, May 21, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, May 28, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, June 4, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, June 11, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, June 18, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, June 25, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Monday, July 15, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Friday, July 19, 2019: 1:00pm - 2:00pm and 6:00pm - 7:00pm EDT
  • Tuesday, July 30, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 6, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 13, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 20, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, July 30, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 6, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 13, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 20, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 27, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Wednesday, September 4, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, August 13, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 20, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, August 27, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Wednesday, September 4, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, September 10, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, September 17, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, August 27, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Wednesday, September 4, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, September 10, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, September 17, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, September 24, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 1, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, September 10, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, September 17, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, September 24, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 1, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 8, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 15, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, September 24, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 1, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 8, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 15, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 22, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 29, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, October 8, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 15, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 22, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 29, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, November 5, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, November 12, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, October 22, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, October 29, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EDT
  • Tuesday, November 5, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, November 12, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, November 19, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, November 26, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST

Live Webinars for this Session

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Office Hours Webinar Schedule
  • Tuesday, November 5, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, November 12, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, November 19, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, November 26, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, December 3, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST
  • Tuesday, December 10, 2019: 1:00pm - 2:00pm and 7:00pm - 8:00pm EST

Register for this Course

Course: Drupal 7 Module Development
Session Dates: May 15 - June 27, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: July 10 - August 22, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: July 24 - September 5, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: August 7 - September 19, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: August 21 - October 3, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: September 5 - October 17, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: September 18 - October 30, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: October 2 - November 13, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: October 16 - November 27, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29

Register for this Course

Course: Drupal 7 Module Development
Session Dates: October 30 - December 11, 2019
Price: $494 per student $370.50 per student — Spring Sale - 25% off through May 29
Price: $3,000 for up to 12 students

About this Class Format

The self-paced private class is a great choice for training your whole team. The lessons and video format are the same as our public classes, but with this option we'll have private question and answer webinars just for you. We can discuss your unique needs and how to apply the lesson material to your specific projects. We also may be able to cover additional topics of interest to your team during our private webinars.

As with the public classes, all the lesson videos will be available on-demand, to start and stop at your convenience, and your team members will have access to the lesson videos forever! Your private webinars will be scheduled based on your preferences and instructor availability.

To schedule a private class, please fill out the form below.

Price: $6,000 for up to 12 students
Duration: 16 Hours

About this Class Format

The live online class is a great choice when you need to train your whole team, and you want the ability to ask the instructor questions in real time during the lessons. It's just like our onsite class, but without the extra travel costs. We can train your team all together in conference room or have them log into the webinar individually.

In addition to the live instruction, we will include access to our standard self-paced class videos, so your team can re-watch topics they miss or forget!

Your live class will be scheduled based on your preferences and instructor availability. To request a live online class, please fill out the form below.

Price: from $8,000 for up to 12 students
Duration: 16 Hours

About this Class Format

The live onsite class is our top-of-the-line option for training your whole team. It's pretty simple: our expert instructor will fly out to your location, and train your team at your office.

In addition to the onsite instruction, we will include online access to our standard self-paced class videos, so your team can re-watch topics they miss or forget!

Your onsite class will be scheduled based on your preferences and instructor availability. The price shown above is an estimate, based on standard travel costs and preparation time. To request a specific quote for your location and desired class dates, please fill out the form below.

Testimonials
Wayne is a great presenter and takes on all questions. His previous experience as a high school teacher shines through.
Kevin - PHP / Drupal Software Developer
I would highly recommend these Drupal module development classes to anyone who wants to get up to speed quickly and hit the ground running. They provide an excellent basis to become productive immediately.
Nick - President - Human Systems Consulting