Beginning Drupal Module Development

Learn the foundational skills of Drupal module development

In this course, beginner Drupal developers will learn the foundational skills needed to create modules in Drupal. The course focuses on programmatically generating pages from data within and outside the Drupal CMS and rendering it in a variety of formats and custom templates.

Who is this class for?

This class is for beginning Drupal developers or those without formal training who may have missed some important fundamental concepts. No prior experience with module development is required, but a basic understanding of PHP and familiarity with the Drupal CMS are recommended.

What does this course cover?

Students who take this course will be able to:

  • Understand the Drupal module development framework
  • Create custom routes that map URLs to pages in a module
  • Create menu links to navigate to custom pages
  • Create services that can be used by other modules or custom code
  • Use templates to control the look and feel of pages
  • Understand the Drupal cache system and how to use it to improve the performance of custom code

How is it taught?

The course will consist of pre-recorded video lessons and live Q&A sessions with the course instructor. The lesson videos can be watched on-demand, anytime it's convenient. Throughout the course, students will work on a series of hands-on projects, building custom modules that demonstrate the concepts covered in each lesson. We will provide an online development environment in which to follow along with the lessons and complete the assignments.

The weekly live sessions will be conducted online using Zoom. During the sessions, the instructor will answer questions about the lessons and will help troubleshoot any issues with the assignment. In addition to the live sessions, you will have access to an online forum to discuss assignments with other students and ask the instructor questions during the week.

How long is this course?

The estimated time commitment for the course is 6 - 8 hours per week for 2 weeks.

After the course is over, you can continue to access the lesson videos, free of charge, forever. There are no monthly subscription fees. Just come back and watch the lessons whenever you want. They are great when you need a refresher on a topic.

Lessons in This Class

Video Duration
Introduction 00:11:32
Using the DrupalTutor DevStack 00:12:06
Installing Drupal Core 00:15:53
Fixing the Trusted Host Settings Error 00:06:03
Enabling Development Settings in Drupal 00:10:00
Development Tools for Drupal 00:17:58
Running Drush Without the Path 00:06:40
Using the Example Code Repository 00:12:57
How Drupal Works 00:09:09
Creating Your First Drupal Module 00:08:29

Video Duration
Creating Static Routes 00:26:01
Static and Dynamic Route Titles 00:12:45
Creating Dynamic Routes 00:40:41
Defining Permissions 00:07:22
Access Control Callbacks on Routes 00:13:24
Altering Routes from Other Modules 00:13:49

Video Duration
Creating Menu Links 00:17:59
Creating Local Task Links 00:10:21
Creating Action Links 00:05:18
Altering Links From Other Modules 00:13:01

Video Duration
Using Services with Dependency Injection 00:20:20
Defining Services in a Drupal Module 00:24:57
Overriding Services (and Using Dependency Injection in Services) 00:19:11

Video Duration
Introduction to the Drupal Theme System 00:19:31
Defining Templates in Drupal Modules 00:16:38
Attaching CSS Libraries to Templates 00:07:23
Using Preprocess Functions 00:10:49

Video Duration
An Overview of Caching in Drupal 00:07:31
Caching Metadata: Max Age 00:12:41
Caching Metadata: Cache Tags 00:26:49
Caching Metadata: Cache Contexts 00:19:36

Video Duration
Class Wrap-Up 00:03:20