Intermediate Drupal Module Development

Expand your knowledge of the Drupal Form and Entity APIs

In this course, intermediate Drupal developers will expand their skills to create custom modules that utilize Drupal's Form API and Entity API. The course will focus on creating custom forms and entity types, as well as creating blocks and sending emails programmatically.

Who is this class for?

This course is designed for intermediate Drupal developers with a solid understanding of PHP, familiarity with Drupal's CMS, and a basic understanding of module development. Prior experience with the module development topics covered in our Beginning Drupal Module Development course is recommended.

What does this course cover?

Students who take this course will be able to:

  • Create custom forms with the Drupal Form API
  • Use validation and submit handlers to process form data
  • Use hooks to modify entity data and work with entities programmatically
  • Use the Entity API to create custom entity types
  • Create custom blocks to generate dynamic content
  • Send emails programmatically from Drupal

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 Course

Video Duration
Introduction 00:10:39
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
Using the Example Code Repository 00:12:57

Video Duration
Creating Forms Programmatically 00:19:01
Validating Form Submissions 00:08:05
Sending Emails Programmatically 00:17:05
A Tour of Drupal's Form Elements 00:39:51
Altering Forms from Other Modules 00:16:55

Video Duration
Creating Blocks 00:13:35
Using Dependency Injection in Blocks (and Plugins in General) 00:13:29
Access Control in Blocks 00:12:00
Creating Configurable Blocks 00:08:47
Displaying Forms in Blocks 00:05:32

Video Duration
Introduction to the Entity API 00:04:39
Finding, Viewing, and Updating Entities 00:28:11
Entity Lifecycle Hooks 00:32:42

Video Duration
Creating a Custom Application 00:12:06
Creating a Content Entity with Drush 00:12:15
Understanding the Content Entity Class Annotation 00:21:13
Defining Base Fields on Content Entity Types 00:29:42
Adding Base Fields to Content Entity Types 00:14:57
Customizing a Content Entity Edit Form 00:08:45
Customizing the Entity Type Settings Form 00:11:22
Entity Access Control 00:14:41
Entity List Builder 00:05:12
Finishing Our Custom Application UI 00:09:53
Creating Content Entities with Bundles 00:20:32
Using Database Update Hooks to Update Entity Base Fields 00:14:40
Creating Entities Programmatically 00:10:52

Video Duration
Class Wrap-Up 00:02:56
$ 248
Per student
  • 8 hours of video lessons
  • 4 live webinars with your instructor
  • Permanent access to the recordings of all the lessons and live sessions
  • A development environment for your practice Drupal site
  • Access to an online forum to ask questions of the instructor and discuss with other students
?

Your Class Session Details

Lesson Videos

Your lesson videos will be available starting March 21, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting March 29, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting April 12, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting April 26, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting May 10, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting May 24, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting June 7, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting June 21, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting July 5, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting July 19, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting August 2, 2023. You can start and stop the videos at your convenience, and use them as a reference forever!

Development Environment

Your practice development environment will be available from March 21, 2023 to April 12, 2023.

Your practice development environment will be available from March 29, 2023 to April 25, 2023.

Your practice development environment will be available from April 12, 2023 to May 9, 2023.

Your practice development environment will be available from April 26, 2023 to May 23, 2023.

Your practice development environment will be available from May 10, 2023 to June 6, 2023.

Your practice development environment will be available from May 24, 2023 to June 20, 2023.

Your practice development environment will be available from June 7, 2023 to July 4, 2023.

Your practice development environment will be available from June 21, 2023 to July 19, 2023.

Your practice development environment will be available from July 5, 2023 to August 1, 2023.

Your practice development environment will be available from July 19, 2023 to August 15, 2023.

Your practice development environment will be available from August 2, 2023 to August 29, 2023.

Live Webinars

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.

Webinar Schedule
Date Time(s)
March 17 10:00am-11:00am EDT
March 21 4:00pm-5:00pm EDT
March 23 10:00am-11:00am EDT
March 28 4:00pm-5:00pm EDT
Date Time(s)
March 30 10:00am-11:00am EDT
April 4 4:00pm-5:00pm EDT
April 6 10:00am-11:00am EDT
April 11 4:00pm-5:00pm EDT
Date Time(s)
April 13 10:00am-11:00am EDT
April 18 4:00pm-5:00pm EDT
April 20 10:00am-11:00am EDT
April 25 4:00pm-5:00pm EDT
Date Time(s)
April 27 10:00am-11:00am EDT
May 2 4:00pm-5:00pm EDT
May 4 10:00am-11:00am EDT
May 9 4:00pm-5:00pm EDT
Date Time(s)
May 11 10:00am-11:00am EDT
May 16 4:00pm-5:00pm EDT
May 18 10:00am-11:00am EDT
May 23 4:00pm-5:00pm EDT
Date Time(s)
May 25 10:00am-11:00am EDT
May 30 4:00pm-5:00pm EDT
June 1 10:00am-11:00am EDT
June 6 4:00pm-5:00pm EDT
Date Time(s)
June 8 10:00am-11:00am EDT
June 13 4:00pm-5:00pm EDT
June 15 10:00am-11:00am EDT
June 20 4:00pm-5:00pm EDT
Date Time(s)
June 22 10:00am-11:00am EDT
June 27 4:00pm-5:00pm EDT
June 29 10:00am-11:00am EDT
July 5 4:00pm-5:00pm EDT
Date Time(s)
July 5 4:00pm-5:00pm EDT
July 6 10:00am-11:00am EDT
July 11 4:00pm-5:00pm EDT
July 13 10:00am-11:00am EDT
July 18 4:00pm-5:00pm EDT
Date Time(s)
July 20 10:00am-11:00am EDT
July 25 4:00pm-5:00pm EDT
July 27 10:00am-11:00am EDT
August 1 4:00pm-5:00pm EDT
Date Time(s)
August 3 10:00am-11:00am EDT
August 8 4:00pm-5:00pm EDT
August 10 10:00am-11:00am EDT
August 15 4:00pm-5:00pm EDT