Drupal 8 Module Development (2 days)

This 2-day class provides a comprehensive introduction to the essential skills necessary for creating and modifying the functionality of Drupal 8 websites. The student will build multiple custom modules during the course for a comprehensive hands-on understanding of Module Development best practices.

Should I Take this Course?

This course is perfect for those who are:

  • programmers unfamiliar with Drupal development
  • Drupal site builders who need to take more control over functionality
  • planning to build a new site in Drupal 8
  • preparing for delivery of a new Drupal 8 development
  • looking to firm up Acquia best practice knowledge for Drupal 8 Certification
Recommended Experience

Having a basic understanding of the following technologies is helpful, but not required:

  • Authoring content using a Content Management system
  • Experience with Drupal's administrative interface
  • Some HTML, CSS knowledge
  • Experience with PHP or other C based programming languages

Day 1: Module Development

  • Modules and the Drupal Framework
    • Drupal as a Framework
    • The Page Request Process
    • What are Hooks?
    • The Hook API and Selecting Hooks?
    • The Syntax and Anatomy of a Hook
    • Hook Conflict Resolution
  • Creating Your First Module
    • Module Naming, Location & Basic Requirements
    • Create mymodule
    • What is a Callback?
    • The Form Alter Hook
  • Exposing Node View with Red Link Module
    • Build the Red Link Module
    • Drupal Coding Standards
  • Building a Fully Functional Mailfish Module
    • Mailfish: Menu Hook for Local Tab
    • Mailfish: Drupal Form API
    • Mailfish: The Install File

Day 2: Module Development

  • Building a Fully Functional Mailfish Module (continued)
    • Mailfish: Database Integration I
    • Mailfish: Permissions
    • Mailfish: Block & Theme Systems
    • Mailfish: Menu Hook for Administrative Page
    • Mailfish: Reporting Results
    • Mailfish: Altering the Node Form
    • Mailfish: Database Integration II
    • Mailfish: Node Operations
  • Automated Testing
    • Using the Simpletest Module
    • Types of Testing
    • Writing Tests