Drupal 8/9 Developer Immersion

5 days
Course Category
Drupal 8/9
Course Price


This five-day course provides a comprehensive understanding of Drupal for developers responsible for full stack development. The procedures throughout the week are introduced step-by-step and then reinforced with practice and challenges. You'll build multiple sites, a custom theme and a few custom modules to meet the needs of a client and reflect on your own experience to take the procedures you learn back into your own work and any new situations you encounter.

This course allows developers to walk through the process of building multiple custom modules and provides techniques and best practices for developing custom functionality to extend the capabilities of Drupal.

Quickly get developers running full speed ahead in Drupal, and convey a full understanding of how Drupal sites are constructed and how the system works.

Course Outline

Site Building Day 1

  • Under the Hood of a Simple Website
    • Setting up a local environment
  • Getting Started
    • What is Drupal?
    • What Features Does Drupal Offer?
    • Important Drupal Terminology
    • Drupal Administration Toolbar
  • Content Types and Content Modeling
    • Structured Content Types
    • Custom Content Types and Fields
    • Categorize Content with Taxonomy 
    • Understanding Content Workflows
  • User Roles and Permissions
    • Creating Roles and Assigning Permissions
    • Account Registration Settings
    • The Authenticated User Registration Form
    • Creating a Content Editor Account via Administrator

Site Building Day 2

  • Building What Appears on the Page
    • Page Layouts with Blocks
    • Custom Blocks
    • Building Dynamic Lists of Content with Views
    • Views Displays
    • Custom URL Aliases
    • Configuration Synchronization
  • Building Complex Views
    • Contextual Filters
    • Relationships
    • Exposing Filter Options to Visitors
    • Creating a View that Returns a List of Content in JSON
  • Fielding Entities and Managing Displays
    • Review Adding Fields to a Content Type
    • Adding Fields to a Content Type
    • Adding Fields to a Taxonomy Term
    • Adding Fields to Block Types
    • Review Display Modes
    • Images and Display
  • drupal.org and Extending Drupal
    • drupal.org Community Resources
    • Extending Drupal with Modules
    • Using Themes

Layout & Theming Day 3

  • Drupal Theming Fundamentals
    • How Does Drupal Theming Work?
    • What are Themers?
    • Making a Simple Theme
    • Working with Regions
    • Adding Libraries and Dependencies
    • Advanced .info.yml Options
    • Adding Breakpoints
  • Customizing Your Theme
    • Anatomy of a Theme
    • Coding Standards in Drupal
    • Introduction to Twig Template Files
    • Overrides, Available Variables, and Hooks
    • Adding Custom Regions
    • Breadcrumbs
  • Base Themes and Subtheming
    • Base Themes, Subthemes, and Core Themes
    • Using Subthemes
    • File Inheritance

Module Development Day 4

  • Drupal Module Development Fundamentals
    • About the Drupal Framework
    • The Page Call Process
    • Object Oriented Programming (OOP)
    • MVC, Controllers, and Routing
    • Services and the Services Container
    • Hooks and Plugins in Drupal
    • Drupal Formatting & Coding Standards
  • Creating Your First Module
    • Module Naming, Location & Basic Requirements
    • Create mymodule
    • Implementing a Hook in MyModule
    • Add Pages and Menu Items
  • Building a Fully Functional RSVP List Module
    • RSVP List: Module Requirements
    • RSVP List: Create a Form
    • RSVP List: The Install File

Module Development Day 5

  • Building a Fully Functional RSVP List Module (continued)
    • RSVP List: Database Integration I
    • RSVP List: Permissions
    • RSVP List: Creating the Block
    • RSVP List: Build Administrative Settings Page
    • RSVP List: Reporting Results
    • RSVP List: Altering the Node Form
    • RSVP List: Database Integration II
  • Automated Testing
    • About the Simpletest Module
    • Writing Functional Tests with Simpletest
    • About PHPUnit
    • Writing Unit Tests for Classes with PHPUnit
  • Drush and Drupal Console
    • Different Tools for Differing Needs
    • Downloading and Installing Drush
    • Using Drush
    • Downloading and Installing Drupal Console
    • Using Drupal Console

Should I Take this Course?

This course is perfect for those who are:

  • Internal development team preparing for delivery of a new Drupal development
  • Developer planning to build a new Drupal website
  • Developer who is newly responsible for supporting a Drupal website,
  • Current Drupal Developer looking to firm up Acquia best practice knowledge for Drupal Certification