We have designed a robust curriculum designed to enable developers and IT professionals the ability to maintain and enhance their Drupal site. By the end of this five day training, developers will be able to install, run and develop on ZenSource. This is a hands on workshop where ZenSource certified developers will guide developers through setting up their machines with the ZenSource project as well as how to make edits, install modules, themes and deploy code.
Day 1 - Project Setup
The first day will focus on system requirements, environment setup as well as how to create and maintain a ZenSource project. Developers will setup tools and services, such as Composer, Drush, MySql and PHP. They'll learn how to setup their Drupal site to be composer managed and do a fresh installation with the ZenSource profile. Lastly they'll learn how to update modules and manage their own patches.
Day 2 - ZenSource Development
The second day will dive into overall architecture of a standard ZenSource site build. Developers will learn the best approaches for highly modular site development, including how to structure and organize blocks, paragraphs, nodes, layouts and taxonomy to maximize site flexibility while still being easy to understand from a content author perspective.
Day 3 - Theme Development
On the third day, we'll focus on how to extend the ZenSource front end themes for the specific project. This will include learning standard Drupal best practices with Twig and Libraries, but also learning the best way to structure the twig templates to best support site scaling. We'll cover additional contributed modules that enable us to expose more layout customization to the admin. We'll conclude the day with learning about preprocess hooks, form altering, and custom theme suggestions.
Day 4 - Module Development
The fourth day we'll deep dive into module development. We'll learn about the Symfony framework, with a focus on services, plugins, and dependency injection. This will be followed by building out an example custom module to Drupal best practices that illustrates the above Symfony concepts. We'll finish the day with learning about how to subscribe to events and hooks to alter community module functionality and, when that isn't possible, writing patches and getting them back into the community for review.
Day 5 - Open Agenda
The final day is an open agenda designed to provide a refresher or deep dive again into certain areas again and answer questions.