Trainings

Day one of Florida DrupalCamp brings a mix of full and half day trainings. You must register for trainings during the camp registration process. Space is extremely limited, so please be sure to only register if you are positive you will attend the class. 

Progressive Decoupled Blocks with Vuejs and Drupal 9 (all day)

Session Category Theming, Design, & Usability Audience Intermediate Speaker(s) isramv

In some cases, you need Drupal to have interactive blocks that may need to connect to a third-party service or provide more interactivity to the end user.
Instead of dealing with vanilla JavaScript or jQuery, use a more robust framework like Vuejs on the Front-End that takes care of these edge cases.In this training, you will:

  • Learn the basics of how to use the PDB-contributed module from Drupal.
  • Create a custom block that uses Vuejs and Vite
  • Connect to a REST service to display data on the block
  • Learn the very basics of Vue.js 3

Requirements:

  • Intermediate Front-End Skills (HTML, CSS)
  • Intermediate knowledge of JavaScript
  • Have a working lando or ddev on your machine
  • Have a local installation of Nodejs and npm
  • Basic git knowledge

Intermediate OOP in Drupal: Patterns, Services, Events and Dependency Injection (half day morning)

Session Category Development & Performance Audience Intermediate Speaker(s) daggerhart

Drupal 8+ changes made it necessary for developers to have a stronger understanding of object oriented programming. In this training we'll discuss and demystify some of the most useful OOP concepts, patterns, and jargon as they apply to modern Drupal development.

This training will best serve developers who have some understanding of OOP, and want to learn more about the theory behind best practices seen in Drupal 8+ and Symfony. The approach of this training is a series of discussions paired with practical examples of how the topics apply to Drupal 8 module development. If things get really wild, we'll live-code some modules.

Topics include:

  • OOP Concepts: Nouns & Verbs, Composition over Inheritance, Dependency Injection, Programming to Interfaces, Cohesion and Coupling
  • Patterns: Dependency Injection Container vs Service Locator, Events (vs Hooks), Factory, Decorator
  • Drupal/Symfony: Services and Dependency Injection for Services, Forms, Blocks, Controllers

Attendees will leave this training with working understanding of many new concepts they can use to create better and more maintainable Drupal modules.

Prerequisites: 

Basic OOP knowledge (what classes are and syntax for using them), and maybe some Drupal module development.

Getting Started with Drupal (half day morning)

Session Category Beginner Track Audience Beginner Speaker(s) volkswagenchick

A three-hour workshop to learn the fundamental building blocks of Drupal

Are you Drupal-curious? Just getting started with CMS’ and WebOps? This live, three-hour workshop, will take you from understanding what Drupal is, why Drupal 9 matters, to creating basic content, users, and an overview of more complex Drupal features. No prior experience with Drupal or web development is necessary. 

At the end of this workshop, you’ll have an understanding of how content creation in Drupal works, and have a working test site that you can tinker with for as long as you like.

Agenda: 

  • What is Drupal?
  • What's new in Drupal 9?
  • Content Management
  • Creating Structured Content
  • Creating Dynamic Lists
  • Users, Taxonomy, & More
  • Q&A

Who Should Attend:

All are welcome.  The three-hour course consists of topic-driven lectures and step-by-step exercises delivered online.
Some typical attendees of past events have been:

  • WebOps team members: project managers, content creators, site builders, QA testers and anyone else who works with a Drupal site.
  • Drupal-curious developers: ever wonder how to build sites with Drupal?
  • Junior developers: anyone getting started with web development will learn the foundations of Drupal.

Here’s What You’ll Learn:

  • Drupal Basics: Getting set up to create content in Drupal, navigating and understanding the interface, and the benefits of the open source Drupal community. 
  • Content Types & Fields: Content Management Systems are built to help you manage complex content and relationships. Content Types and Fields are two powerful building blocks that Drupal offers to allow you to create and manage complex data structures within an easy UI.
  • Dynamic Lists: You’ll learn how to use Views to create many different dynamic lists that update automatically across your website.
  • Q&A: We'll spend a portion of the time answering any questions you have around the essentials of Drupal.

Intermediate to Advanced Drupal Front-end Development (half day afternoon)

Session Category Theming, Design, & Usability Audience Intermediate Speaker(s) andy-blum

Drupal’s theme system allows theme developers to have nearly complete control over the appearance of the site, including the markup, content, styles, and interactivity. In this training we’ll explore some of the powers Drupal front-end developers wield and work with real-life examples of how they’re used. Topics covered will include:

  • Advanced theme setup & configuration like the Libraries API and Theme Settings
  • Utilizing PHP and Drupal core to enhance your theme
  • JavaScript and Drupal Behaviors
  • Advanced twig concepts
  • Debugging and troubleshooting

Requirements

  • Intermediate HTML, CSS assumed, but not required
  • Basic JavaScript, PHP assumed, but not required
  • Basic Twig
  • Basic Drupal site-building & administration

Do more with DDEV (half day afternoon)

Session Category Development & Performance Audience Intermediate Speaker(s) ultimike

This half-day workshop will take your existing DDEV skills to the next level! In this workshop, we’ll cover DDEV providers (integration with modern Drupal hosting), writing command hooks and custom commands, and utilizing custom Docker containers.

Audience

Drupal developers who are familiar with DDEV.

Prerequisites

  • DDEV installed and running.
  • A fresh Drupal 9 site up-and-running in DDEV.