In this course, you will learn to build your own custom modules for Drupal. Covering the Drupal 8 core API, you'll discover the most commonly-used Drupal hooks, services, 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 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 8 class. Those without Drupal experience should take Building Websites with Drupal 8
How is it taught?
The class will consist of four weekly video lessons, each around 3.5 - 4 hours long, and four weekly live Q&A sessions with the instructor. The lessons will cover the topics listed below and can be watched on-demand, 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 weekly live sessions will be conducted online, using the webinar software GotoMeeting. During the sessions, the instructor will answer all your questions from and will help troubleshoot any issues you have doing the assignment. (GotoMeeting 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 right on the spot.) 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.
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 a great reference when you forget how to do something.
Lessons In This Course
Lesson 1: Beginning Drupal 8 Development
Introduction00:06:29Using the DrupalTutor DevStack00:28:42Installing Drupal on the BitWisdom Development Stack00:26:00Using the Code Repository for this Class00:16:28How Drupal 8 Modules Work00:07:52Your First Module for Drupal 800:08:29Blocks: Part 1 - Creating Blocks00:25:49Blocks: Part 2 - Adding Dynamic Code00:24:03Blocks: Part 3 - Controlling Access and Visibility00:24:05Blocks: Part 4 - Creating Configurable Blocks00:17:16
Lesson 2: Routes, Menu Links, and Services
Routes: Part 1 - Static Routes00:23:21Routes: Part 2 - Dynamic Routes with Parameters00:35:42Routes: Part 3 - Creating User Permissions00:12:03Routes: Part 4 - Implementing Custom Access Control Logic00:15:07Routes: Part 5 - Altering Routes from Drupal Core and Contrib00:18:10Menu API: Part 1 - Defining Menu Links00:18:22Menu API: Part 2 - Defining Local Tasks (Tabs)00:15:18Menu API: Part 3 - Defining Action Links00:06:32Menu API: Part 4 - Altering Links from Core and Contrib00:18:29Services: Part 1 - Using Services with Dependency Injection00:23:49Services: Part 2 - Defining Services00:27:25Services: Part 3 - Overriding Services at Runtime00:13:09
Lesson 3: Querying the Database and Theming the Results
Lesson 4: Forms, Configuration, and Caching
Form API: Part 1 - Creating Forms00:22:00Form API: Part 2 - Validation and Submission Handling00:16:36Form API: Part 3 - Form Element Types00:48:45Putting it All Together - Completing the Zoo Management Module00:33:32Form API: Part 4 - Altering Forms from Core and Contrib00:15:45Configuration API: Part 1 - Saving and Retrieving Configuration Values00:32:15Configuration API: Part 2 - Providing Default Configuration00:10:58Configuration API: Part 3 - Configuration Schema00:09:41State API: Storing and Retrieving Runtime Values00:10:31Cache Metadata: Part 1 - Cache Tags, Context, and Max Age01:00:25Cache Metadata: Part 2 - Custom Cache Tags and Invalidating Them00:19:08Class Wrap-up00:02:19
Appendix: Using Local Development Environments
An Overview of Local Development Environments00:01:50Using Lando as a Local Development Environment00:39:00Using DDev as a Local Development Environment00:28:36Using DrupalVM as a Local Development Environment00:30:38
About Your 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.
What People Are Saying
Students love the Drupal 8 Module Development class.
“Learning Drupal technology is like climbing a tall range of mountains. Without a good guide, you're probably going to tumble down in the valleys below. Wayne helps you reach those peaks by organising his courses in a logical order and presenting the material through practical scenarios.”
Ivan PellegrinData and Analytics Consultant
“This class was by far the most beneficial Drupal 8 learning experience. I am very excited to be able to use the new concepts that were taught in my future development projects.”
Since now Drupal 8 is out and starting to be widely used, I didn't want to repeat the same error, and I preferred to take a structured course about what Drupal actually offers concerning built-in features. With this course I discovered the routing system, the links system, the benefits of placeholders, the cache system, how to correctly use hook functions, the differences among the several standard file names, and many other tips.
Last but not least, I really have to say that the teacher Wayne is great: He explains everything in a very detailed way, with a simple language, and slowly.”
EbrisaSoftware and web developer
“This has been the best on-line Drupal training course that I have done so far. My personal highlight were the lessons on dependency injection, probably the best explanation of this important concept that I have seen.”
“Wayne is a great teacher. He sounds passionate about Drupal and doesn't limit his courses to a single method of doing things. He always teaches every possible way. I really enjoyed the course and one important detail is that you get access to the videos forever which is nice if you want to go back to something.”
I have been a Drupal developer since version 6, and whilst I had dabbled in version 8 I was finding it a steep learning curve with all the coding changes and new file structures. This course gave me the much needed boost I needed to finally feel at ease with the prospect of migrating the dozens of custom modules I have built to Drupal 8 for my main client. Thanks Wayne!
Paul BFreelance web developer
Try this course for a week, and if you don't agree that it's the best way to learn Drupal, we'll refund the full price. No questions asked.