Drupal 8/9: Developer Immersion Online

Main Content
5 Days
Course Price
GSA Price
Please call for pricing
Course Description

This five-day course is designed to fast-track developer expertise with a solid understanding of how Drupal 8/9 sites are built.

Key concepts are introduced step-by-step and reinforced with practice and opportunities for hands-on engagement, as course participants are guided through the building of multiple sites, custom themes, and custom modules. Techniques and best practices for developing custom functionality to extend the capabilities of Drupal are also covered.

Days 1-2 focus on site building, layout and theming is covered on Day 3, and the final Days 4-5 are devoted to module development.

Learning Objectives

  • Comprehensive knowledge and know-how of Drupal 8/9 full stack development
  • An essential framework of steps involved in delivering a new Drupal 8/9 website
  • The expertise and agility to meet a wide range of client or company website expectations
  • Knowledge of advanced techniques and best practices for custom functionality to extend the capabilities of Drupal 8/9
  • Review of Acquia best practice knowledge in preparation for Drupal 8 Certification
Should I Take this Course?

This course is perfect for those who are:

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

Day 1: Site Building

  • Basic Web essentials
    • Setting up a local environment
  • Getting started
    • What is Drupal?
    • What’s distinct about Drupal
    • What are the distinguishing features of Drupal 8?
    • Important Drupal terminology
    • Drupal 8 administration toolbar
  • Content types and content modeling
    • Structured content types
    • Custom content types and fields
    • How to 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

Day 2: Site Building 

  • 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

Day 3: Layout & Theming 

  • Drupal Theming Fundamentals
    • How does Drupal theming work?
    • What are themes?
    • 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

Day 4:  Module Development 

  • 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

Day 5:  Module Development 

  • 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