Accepted Sessions

Contributing to the Drupal community as part of client project work

Session Category Development & Performance Room 172 Audience All Attendees Speaker(s) jasonawant

Our client engagements and the Drupal community code can sometimes be viewed as separate efforts. However, when we, as community members, bridge this gap between client project work and Drupal core and contributed solutions, we can grow our community, maximize our efforts and build a greater sense of purpose with our work by knowing our clients and the larger Drupal community are both benefiting from better solutions we help create.

But how do we do that? In short, by living the Drupal community values Prioritize Impact and Better Together within our client project engagements. By fostering a learning environment for project internal and external team members and leading our partners through collaboratively decision making within the context of client engagements, we can align our ideas and resources to create great open source solutions.

In this session, Jason will outline this strategy and discuss how it aligns our clients’ business objectives with the Drupal community’s values, principles and goals by reviewing the approach’s benefits to clients, individuals and agencies. He will walk the audience through a client project’s typical lifecycle and demonstrate when and how to incorporate this strategy’s methods into our project management and development processes. By adopting this approach, Jason will use specific examples to demonstrate the outcomes: building Drupal community awareness, attracting new members, developing robust and flexible solutions, and making a bigger impact with forward thinking and extensible software.

While using this approach, project team members become Drupal community ambassadors to welcome client stakeholders to the Drupal community and serve as liaisons between client stakeholders and other Drupal community members to align client project goals with the Drupal core and contributed projects. Through this relationship building and networking, individuals will increase their impact and derive purpose from their client work by knowing their efforts create more value and success for more than just a few individuals.

 

Governance as Enlightened Laziness: Managing 100s or 1000s of sites while maintaining your sanity

Session Category Project Management & Consulting Room 177 Audience Intermediate Speaker(s) JRastaban

Teams eventually reach a point where their bespoke site approach becomes overwhelming. Website governance can allow your team to manage requests and portfolios more efficiently.

Drupal was a hobbyist framework for a long time. As popularity grew, agencies and small teams built practices using Drupal extensively to roll out increasing numbers of sites for customers. However, as a portfolio grows beyond 20 to 50 sites, issues and pain from a lack of governance framework can begin to set in. Developers start to feel underwater, code maintenance becomes unmanageable and customers can get frustrated by timelines and cost to add features. Artisanal handcrafted sites can no longer be sustained at this scale. 

As Drupal continues to grow in the enterprise space, agencies and small teams will find themselves more and more immersed in this cacophony of demands. This session will help attendees develop a governance model to maintain their site portfolio with less effort.

Learning objectives for attendees

1. Define governance frameworks and their usefulness
2. Develop a governance model for their organization
3. Maintain their site portfolio with less effort

 

This is a joint talk with Raymond Wang -- https://www.drupal.org/u/flailingmaster 

Drupal Association Q&A

Session Category Sessions off the "Drupal Island" Room Auditorium Audience All Attendees Speaker(s) da-board

Join Florida DrupalCamp as we ask the hard questions to the 13 member Drupal Association Board of Directors. Board members will be in attendance both in person and remotely. This event will be a hybrid event and broadcast live on (and take questions from) the internet.

About the Drupal Association

The Drupal Association (DA) is the non-profit organization focused on accelerating Drupal, fostering the growth of the Drupal community, and supporting the project’s vision to create a safe, secure, and open web for everyone. The DA is not responsible for the direction of the Drupal software or the features that Drupal includes. The DA is directly responsible for hosting Drupal.org (and related infrastructure) and organizing DrupalCon North America (which will be in Portland, OR in 2022).

More information on the Drupal Association

Practical Application of AI Chatbots in Drupal

Session Category Development & Performance Room 173 Audience All Attendees Speaker(s) ricktorzynski

Chatbots are a type of computer program that uses artificial intelligence (AI) to understand and respond to spoken or written language, which can be programmed to reply to simple keywords or hold intricate conversations about specific domains of knowledge. Since their implementation, chatbots have been reported to save as much as 30% in customer service costs. While they are increasingly ubiquitous, chatbots still must be delicately programmed as to provide the best user-flow to prevent recursive conversation, frustrated clicks, and keyboard smashing

In this talk, you'll learn how to integrate practical applications of conversational AI chatbots into your Drupal site using Rasa, an open source chatbot framework, and the Component module. Due to Drupal open-source nature and the modules available, Drupal provides a wealth of opportunities to develop an elegant, user-friendly chatbot for your site.

Some of the topics covered will include:

  • A gentle introduction to Machine Learning and Natural Language Processing
  • How conversational AI chatbots work - How to develop a knowledge/conversation base
  • Brief discussion of the different chatbots available
  • An overview of Rasa, an open source conversational AI chatbot framework
  • How to add a Rasa chatbot to a Drupal website
  • How to continually improve a chatbot through Conversation Driven Development

You'll walk away from this talk with a proof-of-concept for developing a chatbot, an understanding of how to piece everything together, and a plan for integration on your site.

Tighten up your Drupal code using PHPStan

Session Category Development & Performance Room Auditorium Audience Intermediate Speaker(s) mglaman

Learn how PHPStan, a static analysis tool for PHP, can find bugs in your code that your tests and code review cannot. In this session, we will learn how to use PHPStan with the phpstan-drupal extension to perform static analysis of a Drupal codebase. We will also cover the intricacies of analyzing a codebase like Drupal's, which can have dynamic return types.

Accessibility in Drupal Is My Jam: Practical Use of Accessibility Tools in Drupal

Session Category Theming, Design, & Usability Room 172 Audience All Attendees Speaker(s) katannshaw

I love making things accessible and I love Drupal. When Drupal 9 was released, I was giddy with excitement because it was obvious that accessibility was in-mind from the beginning.

In my blog How Cool Accessibility Tools Can Make Your Life Easier I briefly discussed several core and contributed Drupal modules that are available to help in making your website more accessible.

In this talk, I'll demo and discuss how each of these tools can make your life easier and your user's experience more meaningful.

Balance your Drupal performance budget: discover and enforce performance expectations with Blackfire.io

Session Category Development & Performance Room 173 Audience Intermediate Speaker(s) chadwcarlson

No matter your experience, at a certain point Drupal can become a bit of a black box, like any other framework. This is especially the case on a development team - original members are more familiar, and making meaningful updates that don't impact production is more difficult for junior members. How can we make certain performance stays a priority, and that each team can understand as much as possible about how the application works?

What we need is a tool that allows use to follow function calls deep within our application - a profiler. With this, we can clearly see which transactions affect performance the most, and get a clear picture of exactly what's happening when a user performs some action on our site. With that information in hand, we can make targeted and incremental steps to move it to a more performant state. The trick after, is keeping it there alongside the development lifecycle, and a hundred other features that will be added by our team over time.

In this talk, we'll investigate how profiling with Blackfire.io can provide insights into performance bottlenecks in our code, and allow teams to enforce performance expectations in the long term to protect against regressions introduced (but otherwise undetected) alongside new features.

All the cool things you can do when you don’t support IE11 (and how we can use these in Olivero)

Session Category Development & Performance Room 172 Audience Intermediate Speaker(s) mherchel

Hallelujah! Drupal will no longer support Internet Explorer when version 10 comes out later this year! How will that change Olivero, and the rest of Drupal core? What new fancy features will this enable?

In this presentation, I’ll walk attendees through new modern CSS and JS including things like

  • CSS custom properties (you might already be familiar with these)
  • :is()  and :where() selector syntax
  • the all property combined with the revert value
  • CSS Grid
  • :focus-within and :focus-visible
  • Selector arguments within :not()
  • JavaScript optional chaining
  • Lots more!

How can we use this cornucopia of awesomeness in Drupal core? What features become possible?

  • Dark modes
  • Color changing
  • Lots more!

Hopefully this will get you excited about the future, and you can take these lessons home to your own project to optimize your own codebases and create new innovations.

Tailwind in Drupal: Our framework of choice!

Session Category Theming, Design, & Usability Room 178 Audience Intermediate Speaker(s) stevengfx brandonratz

In this session we aim to lower the bar to creating custom themes using a utility-first front-end framework, Tailwind CSS.

Lets dive into using Tailwind with Drupal and see how you can accomplish the following:

  • Start a new Tailwind theme from scratch
  • Use NPM/Yarn and Laravel Mix to create a theme build process
  • Customize variables and other Tailwind settings
  • Use Tailwind in your theme deployment process
  • Reduce your CSS footprint with Purging and "Prose" setup (Parse Drupal template files for classes)
  • Enhance user experience using the Javascript framework Alpine JS

DevOps for frontend developers (who can't backend good and wanna learn to understand other stuff good, too)

Session Category Development & Performance Room 172 Audience Intermediate Speaker(s) NineLivesBlackCat

As a front-end web developer, the first leg of Tearyne Almendariz's career focused heavily on the user interaction layer - analyzing user experiences and designing and coding user interfaces. When she joined her first large scale production team, there were a lot of tasks in the realm of DevOps with which she found herself very unfamiliar.

She was lucky to have many senior and full-stack developers mentor and assist her along the way, and with this talk she aims to help others to similarly level up their DevOps knowledge and skillsets.

In this talk, you can expect to:

  • learn the lingo and key principles of DevOps - what is a trunk? What happened to branches? What are secrets (and how do we keep them)?
  • learn about different DevOps workflows and what workflows work best for different types of projects
  • deepen your understanding of how interacting with larger scale development workflows impact the structure of your code
  • learn about the power of scripting - an invaluable process that will help you become a powerful collaborator while keeping your time focused and protected from excessive tinkering

Tools for blocking spam and hackers

Session Category Beginner Track Room Auditorium Audience All Attendees Speaker(s) darrenoh

As soon as a site goes live, hackers and scanners start scanning it for vulnerabilities. This session will cover best practices to protect your site, and free and commercial services that can help.

Present and future of Drupal’s Administrative Interface

Session Category Theming, Design, & Usability Room Auditorium Audience All Attendees Speaker(s) ckrina

Drupal has been changing over more than 20 years Drupal and has been able to stay up to date in a lot of areas. But the world out there has been evolving fast and user interfaces have taken a central role in a world where we expend a big part of our lives in front of screens, while Drupal has kept its administrative interface similar over the last years.

What changes do we need to implement to live up to what a user expects today? For example, is the node form powerful enough or are the workflows too complicated? Does information architecture makes sense to anyone who will end up using it? Do site builders have enough tools to get the most of the administrative interface?

I’ll give a deep dive into the plans and goals for improving Drupal’s admin UI in several ways and for various users: from cosmetic redesigns to major changes that might change how we interact with Drupal. I’ll present several layout and form change proposals, improvements in accessibility, usability or information architecture, in what stage are each of them and which blockers we have. You’ll get an overview of what’s already here, where we’re headed and where you can help.

Cross Platform Apps and PWAs Powered by Drupal for Everyone

Session Category Sessions off the "Drupal Island" Room 177 Audience All Attendees Speaker(s) fractalgalexy

Every organization, every budget, and every timeline can be a perfect case for an app powered by Drupal. Published on the app store, stable, and often indistinguishable from a native app, PWAs can be a perfect solution to reach your goals on time and on budget.

Progressive web app technology coupled with cross-platform frameworks and native code can be used to optimize the development process and get your app delivered using web technologies familiar to a wider range of developers. The end result is a more stable and polished product.

This presentation will include my story of creating a successful business based on an app for both iOS and Android that uses PWA technologies and native code. All powered by Drupal.

We explore projects supported by Google for PWAs such as Bubblewrap and workarounds for iOS including PWA builder's recent adoption of WKWebview, as well as custom code solutions for WKWebview.

Benefits of PWAs include 
-Efficient timelines and budgets.
-Utilizing existing veteran development resources and technologies for a stable reliable experience.
-Enhanced SEO when integrated into a website.
-Limited network usage and offline functionality which is beneficial for those living in developing nations.
 

Evaluating the Landscape of Drupal Competition

Session Category Sessions off the "Drupal Island" Room Auditorium Audience All Attendees Speaker(s) nerdstein

Drupal is not alone in the space of digital tools. Competitors like Wordpress, Joomla, Wix, SquareSpace, and more all offer similar content management features. Other products like Contentful and Webflow offer specific capabilities that also compete with Drupal.

This presentation tears down each of these products in an attempt to better understand its overlap with Drupal. How does Drupal differentiate? What opportunities exist for Drupal to become more competitive?

This talk takes a high level look at Drupal as a product by performing a SWOT analysis. Concepts like low/no-code, configurability, data modeling, APIs, and developer experience will be explored.

Building relationships in a virtual world

Session Category Sessions off the "Drupal Island" Room 177 Audience All Attendees Speaker(s) kaylan.wagner

Working remote seems to be the new normal, and it is time to face some of the challenges that come with it. Like relationship building. 

I've heard people say variations on, "you can't get to know people unless you see them face to face!" Or, "the best ideas happen if you're in the same room!"

And well.. I disagree. Emphatically! I've been building relationships with colleagues and customers from afar for 6 years, and I'm here to say: it can be done. It's just another skill that you needed to practice and develop. 

In ​​​​this talk we'll:

  • Discuss tips and tricks to building relationships over zoom
  • Exercise some new muscles for distance EQ
  • Shed light on what you've already learned in the last few years of remote work
  • Cover strategies to help build your team spirit when you can't get together in the same place

 

Component theme development with Storybook and Emulsify

Session Category Development & Performance Room 173 Audience Intermediate Speaker(s) markie

Come learn component development. Learn ATOMICish Design but with Drupal in mind. We will be creating a theme using Emulsify. This allows us to build the theme using a Storybook design system library. Discover the in’s and out’s of applying your design system to your custom Drupal theme with Twig Extend and blocks.

DNSSEC and DevOps

Session Category Sessions off the "Drupal Island" Room 177 Audience Intermediate Speaker(s) John Franklin

DNS is the invisible glue that binds the Internet together. We rely on it to be trustworthy and accurate, but rarely think about how it works, and all too often just assume it is secure. In this session, John will explain how DNS and DNSSEC work, why using DNSSEC to secure your Drupal site's (or any site) DNS is important, and how DNSSEC can help improve the broader DevSecOps of your organization with DANE, even if you use popular hosting providers.

The Ultimate Guide to Headless Drupal with Gatsby Cloud

Session Category Development & Performance Room 172 Audience Intermediate Speaker(s) jrcallicott

There’s a lot that Gatsby and Drupal offer when paired together, but how do you get started?

In this session, you’ll hear about all of the latest features of Gatsby Cloud, Gatsby v4 and new improvements to the Drupal module from the module's lead maintainer, Jay Callicott. 

Jay will break down all the updates that make integrating Gatsby with Drupal simpler and easier to do. This session includes case studies, information about the benefits of Gatsby as well as a tutorial on how to integrate Gatsby with Drupal.

Intro to Layout Paragraphs: an Easy-to-Use, Drag-and-Drop Content Editing Tool for Drupal

Session Category Site-Building Room 177 Audience All Attendees Speaker(s) justin2pin

Layout Paragraphs is a contributed Drupal module that combines drag-and-drop editing, Drupal core's layout API, and the Paragraphs module to provide an accessible, easy-to-use authoring experience. Designed to empower marketing and editorial teams everywhere, Layout Paragraphs offers a WYSIWYG interface for publishing highly visual, long-form content. 

In this session, we'll demo the capabilities of Layout Paragraphs, explain how it differs from core's Layout Builder, and show participants how to implement Layout Paragraphs in their own Drupal websites.

Synopsis:
Empower your marketing and editorial staff to create highly visual, long form content – without relying on outside agencies or technical staff.

Objectives:

  • Download and install Layout Paragraphs, along with its dependencies.
  • Configure Layout Paragraphs to support the specific types of highly visual, long-form content your organization publishes online.
  • Publish dynamic, long-form pages using Layout Paragraphs – without requiring developers or an outside agency.

Audience:
This session is for two specific audiences: first, marketers or editors who publish long-form digital content; second, developers serving the needs of online publishers.

Prerequisites:
Experience publishing content with Drupal -- creating pages, using Drupal's existing WYSIWYG editor, and interacting with Drupal's admin pages.
 

Maximizing Your Solr Investment - Unlocking Search Insights

Session Category Theming, Design, & Usability Room 177 Audience All Attendees Speaker(s) Sameer

Search is a critical component of an organization’s digital strategy, accounting for an average of 45% of revenue. Digital marketing teams often lack what’s needed to harness the power of search:

1) Search Insights 
2) No-Code Search Optimization Tools

These gaps drove the development of the SearchStudio module, authored by Solr search expert “drunken monkey”. By implementing the module, organizations can unlock search insights and leverage learnings to improve search. Tasks that have previously required developer involvement can now be handled in a no-code dashboard by digital stakeholders. SearchStudio includes a set of easy-to-use tools to manage search aspects like synonyms, promotions, faceting, rules, stop words, related searches, and more. 

Virtual Conferences: How we used Drupal to save the company!

Session Category Sessions off the "Drupal Island" Room 173 Audience All Attendees Speaker(s) brandonratz isramv stevengfx

Conference Catalysts is a company that provides conference organization for associations around the world. But what happens when these conferences can not longer happen?

This session is a real-world case study on how we used Drupal to rapidly pivot from on-site to virtual conferences.

We will cover a developer-focused, technical overview of technologies used to provide key features in our virtual conferences. We'll include technical details and code examples on how features were implemented. Additionally, we'll cover how we prepared data for the Drupal application and how we deployed nearly 100 conference since the pandemic began.

Free open source technologies we'll touch on include but are not limited to include:

  • Rocket.Chat - Session and social chat engine
  • Google Sheets API - Migration sources and data preparation
  • Jitsi - Video conversations
  • Cvent API - REST API polling for Attendee management
  • Tailwind 2.x - Front-end framework for fully customized theme
  • Platform.sh - Multi-application deployments
  • Drupal: Migrations, Flagging, Views, Batch API Arocessing, 

Accessible Slideshows - Button, button, who's got the button?

Session Category Theming, Design, & Usability Room 178 Audience All Attendees Speaker(s) volkswagenchick

Arguably, the first rule of slideshows is to not have slideshows, but what do you do when the primary stakeholder insists…

According to W3 schools: “Carousels are disputed from a usability perspective because their content can be hard to discover. Ensuring accessibility can also improve usability.”

Together we’ll follow Alice down the rabbit hole and learn about the different types of slideshows (often called carousels), discuss their components, and dive into how to make our slideshow accessible across different types of users and user agents.

We will also walk through some imagery from Wonderland and ensure our alt text conveys the information in a meaningful way for those who cannot access the images visually.

Issues, Epics and Milestones: Keeping Projects on Track with Gitlab

Session Category Project Management & Consulting Room 173 Audience All Attendees Speaker(s) ahughes

Large scale web projects come with many moving parts including people, ideas, requirements, timelines and budgets.

The role of a Project Manager is to bring those moving parts together, point them in the right direction and guide them towards a common goal.

In this session we will use real world examples to showcase how GitLab can be used as a powerful tool for Project Managers to help keep projects and teams on track towards the common goal.

Attendees will learn:

  • Ways to use GitLab to manage projects
  • Pros and Cons of using GitLab to manage projects
  • Additional info about using GitLab as a DevOps platform for SourceCode Management, CodeReview, CI/CD, and more

Drupal State and the Need for a JavaScript SDK

Session Category Sessions off the "Drupal Island" Room Auditorium Audience Intermediate Speaker(s) brianperry

With JSON:API, Drupal offers an extremely low friction approach to make content from Drupal available to any consuming application. However, Drupal doesn't currently offer any tools to make consuming this data in a JavaScript front end just as frictionless. This leads to developers repeatedly solving the same problems in decoupled builds, and may also contribute to the perception that Drupal isn't JavaScript friendly.

Drupal State aims to bridge this gap by offering a common set of framework agnostic utilities that allow JavaScript developers with limited knowledge of Drupal or the JSON:API spec to take advantage of the best features of Drupal’s APIs. This session will examine the concepts behind Drupal State, along with the role a library like Drupal State could play within the wider Decoupled Drupal ecosystem, including:

  • How Drupal State helps reduce the time necessary for JavaScript developers to start experiencing the benefits of Drupal as a decoupled CMS.
  • How individual Drupal State utilities could be consumed by other Decoupled Drupal projects.
  • Why having an SDK-like library available under the @drupal namespace on NPM is important for the future of Drupal.
  • A proposal for how that core library could help support a future ecosystem of Drupal-friendly components and starter kits.

Last but not least, we'll wrap up with the ways in which Drupal State needs community support, including how you can contribute at Florida Drupal Camp and beyond.

Mind Mapping: A Technique for Architecting Software

Session Category Development & Performance Room 178 Audience All Attendees Speaker(s) shrop

Do you struggle to collect your thoughts to start a project? Do you desire a better way to begin planning that doesn't involve staring at a blank document for hours? If these challenges sound familiar, you might really benefit from learning about a visual organizational technique known as Mind Mapping.

This session will include examples of using mind mapping for software architecture. These examples are applicable from small features through large and complex projects. Mind Mapping for software architecture is something the entire project team can utilize!

Key takeaways:

  • Summarize the benefits of Mind Mapping
  • Leverage analog and digital tools to create Mind Maps
  • Create Mind Maps of your own

Composer Plugins 101

Session Category Development & Performance Room Auditorium Audience All Attendees Speaker(s) ultimike

If you're new-ish to Composer, once you are comfortable with basic commands, it's time to dig a little deeper.

In this session we'll cover the basics of Composer plugins and demo several that are well-used in the Drupal community including the Drupal core Composer scaffolding plugin, Composer Patches, and more.

Building a CI pipeline with BLT and Docker

Session Category Development & Performance Room 172 Audience Advanced Speaker(s) crasx

In the world of Drupal, it has become increasingly important to have a process to build and validate your code. Constant improvements and security fixes in 3rd party dependencies (like Drupal) mean you should be constantly/continuously deploying to production. To manage the complexity and time investment required to coordinate deployments, especially with large teams, a CI pipeline has become nearly a requirement. Thankfully, tools like Acquia BLT (Build and Launch Tool) have become industry standard, allowing trivial implementations and ultimately allowing developers to focus on writing code instead of deploying it. 

In this session, we will walk through a Docker-based CI pipeline used by the Drupal Practice at Bounteous. During this exploration, we will discuss the basics of why we use CI pipelines and the principles that guide them. We will also discuss the inner workings of Acquia BLT and how they play an integral part in the CI process.

Get IT done and give IT back

Session Category Development & Performance Room 173 Audience All Attendees Speaker(s) swirt

This session provides a roadmap using 4 case studies on how to get your sprint goals accomplished and give back to the Drupal community at the same time.    Lessons learned while building the CMS that powers VA.gov for the Department of Veterans Affairs and making over 130 contributions to Drupal.

Specific topics include:

  • How to involve your product owner?
  • How to schedule it?
  • How to involve the community?
  • How to get it done (for both simple and complex issues)?

 

There is something for everyone in this session from product owners, project managers, developers to site builders,

Is There a Docker in the House?

Session Category Development & Performance Room 172 Audience Intermediate Speaker(s) JDDoesDev

Docker and containers have changed the way developers work, but many of us still don't understand what's going on under the hood or how to make Docker work for us instead of the other way around.
In this session, I will be guiding you through some of the basics of Docker. We'll cover what it is, what containers are, why they're beneficial, some of their limitations, and how to use them together. We will also be covering setting up a local dev environment using a Docker-based application so that you'll be set to start working in containers in no time.
Topics that we will cover at a high level:
- What a container is
- What Docker is and how it relates to containers
- How storage works in containers
- Some of limitations of containers
- Setting up a local dev environment using containers

During this session you will be encouraged to follow along. Code samples and Github repos will be available for reference.

Find exactly what you're looking for with Solr

Session Category Development & Performance Room 173 Audience All Attendees Speaker(s) aczietlow

Drupal is a top tier solution for managing content. With the continued focus on UX and user's comsuming content in inclusive and accessible experiences, it's no wonder Drupal remains such a potent framework. But with great content comes great responsibility! The best content in the world on its own won't help us build tools that empower our end users to accomplish their goals. Enter Solr.

Apache Solr is a powerful search engine, which Drupal developers and site builders can easily leverage to make vase troves of content discoverable. In this session we'll walk through the basic concepts of Solr and the Search API, how dramatically level up your web experiences through robust searching, and how to do so with Drupal! Join me as we build a search that allows me to (virtually) organize, discover, and find the exact Lego piece I need to complete my latest build.

Platinum Sponsors

Gold Sponsors