BADCamp 2020


BADCamp is an annual celebration of open-source software normally based in Berkeley, California. This year we are going virtual! Join us online from October 14th -17th, 2020 for talks, trainings, and summits. Learn with some of the brightest minds from all over the world! 

BADCamp is a community run event focused on learning and inclusivity. Over the years we have trained 3000+ people, hosted amazing social events and gathered over 1000 people annually to learn Drupal. We hope to see you in cyberspace.

Video Sponsor(s) / Provided by
Curated Videos
Martin Anderson-Clutz

Modern websites often need to manage recurring events. Drupal has a number of options available to help, but the setup can be complex, especially if your site needs to manage both recurring and one-off dates, and present them together, for example in a calendar display.

The Smart Date module can help you manage recurring events, and was specifically designed to make it as simple as possible. Through discussion of the module's approach (including how it differs from other available options), and first-hand demonstrations you'll experience:

How Smart Date's approach makes the initial setup easy, including the use of a starter kit that can have your site managing recurring events within minutes
The ways in which adding recurring events can be simple but also allow for a robust set of granular rules that map to real-world use cases
Formatting options specifically designed to make the display of recurring events succinct and customizable by context
Target Audience
Site owners who need to manage recurring events in an easy, cost-effective way
Developers who are often asked to customize they way recurring dates and times are managed within Drupal, especially across timezones and languages
Oliver Davies

Automated testing is important. Why? It allows developers to add new features and edit and refactor existing code without the worry of adding regressions, reduces the reliance on manual testing to discover bugs, and by taking a test driven approach, your implementation code is leaner as you only write what is needed for your tests to pass.

Drupal 7 includes the SimpleTest module for unit and functional testing, whilst Drupal 8 also includes and supports PHPUnit - the defacto PHP testing framework, used by other PHP projects including Symfony and Laravel - making it easier for people to test their code. And with testing being one of the Drupal core gates with tests needing to be included with every new feature or bug fix, and core’s 100% pass rate policy, testing has become an essential skill when contributing to core, or when working on your own projects.

In this talk, we’ll cover the methodology and terminology involved with automated testing, and then take a test driven approach to creating a new Drupal module.
Kunal Kursija

The features and offerings of a content management system are directly proportional to its adoption across the web. The important features of any CMS are not always the ones that give clients everything out of the box, But the ones that allow clients and programmers to customize the system as per their need.

Drupal has been hitting the bull's eye since long time by providing many such features that are important while building any enterprise application. One such simple yet powerful feature provided by Drupal is the Text formats and Filters. Where text formats decide how the user input is displayed on the site. And filters actually sit at the core of text formats doing the actual processing and filtering of user input.

In this session we will be learning about:

Text formats and their importance

Filters: The hidden gems

Creating the custom filters

Enabling and using our custom filters across text formats

The Demo

Drupal has been powering sites with lots of user-generated content for years, securely and safely!

As a newbie to Drupal, This session will give you a clear picture on the “how?" aspect of it.

As an enterprise representative, This session will help you look beyond your play area and demand more from yourself and your developers.

And as a developer, This session will change your way of architecting content and text format related solutions.
Baddy Sonja Breidert

This session will be about volunteering and open source contribution. A journey about what you can do for Drupal and what it can do for you.

I will explore what is going on in the Drupal ecosystem with a focus on non-code contribution and volunteering. There are many ways how you can contribute, and Drupal benefits from all of them. But more important, contributing provides every one of us with career opportunities, personal opportunities, and friendships across companies, countries and continents. Using my own contribution journey as example I will highlight successes and obstacles of and discuss a sustainable contribution system for Drupal.

This session will give examples and show where you can start or continue your non-code contribution. I will walk through real examples from the issue queue and live demo how you can get a credit on your profile without having to write code.
Mohit Aghera

Drupal is well known for building multilingual sites due to its native support for building multilingual sites and versatile multilingual API.

Due to globalization, it is essential to have a multilingual site to sever the visitors in their own language and attract a very diverse audience.

In this session, we will be sharing lessons we learned while building a multilingual site that serves millions of requests a month.

We will discuss:

Drupal's capability to implement multilingual functionality.
How to set up the multilingual site which adheres to Drupal’s best practices.
Drupal Core API that we can leverage in custom modules
Content architecture to consider while building multilingual sites
Configuration management for the multilingual sites
Content and configuration translations
Language negotiation plugins, configuration translation
Building multilingual search, handing translations in custom modules and translation deployment
Stephen Pashby

Have you or your organization fallen victim to one of the classic website blunders? Was it organization by board member, stock photo syndrome, design by committee, vanishing volunteer web developer, or something else? We will discuss 10 classic website blunders we have witnessed that rendered potentially successful projects ineffective engagement tools, and tell you how to avoid them.


Identify common mistakes that associations make when designing a website.
Decide how to align your website with your organization's goals.
Find out how to categorize your target audience.
Determine how to identify an appropriate website ROI (Return On Investment).
Mike Herchel

CSS has been moving at a rapid pace within the past few years, and with the advent of evergreen browsers, your end users can make use of these features right away!

In this session, I'm going to walk designers and front-end developers through new features that unlock new design paradigms and interactions. We'll delve into cool new technologies such as

CSS Shapes
Backdrop filters
Scroll snaps
CSS filters
Blend modes
and more!
To get the most out of this session, you will need a general knowledge of CSS, and an eye for design.
Ruby Sinreich, Elli Ludwigson, Alanna Burke

In 2020 there can be no denying that we live in a culture that is deeply unjust in ways that impact all of us in ways large and small. In spite of the best intentions, inequality persists and grows. Why is bias so pervasive, even in communities built on principles of openness and accessibility to all? And why is it critical that every member of the Drupal community understand and do something about this?

In this session we will discuss

Why it matters who makes decisions about your website/project.
Why good intentions are not enough.
Some common fallacies about diversity challenges in tech.
What diversity, inclusion, and equality really mean.
Actual things you can do to make your company, community, and products suck less for marginalized people.
What Drupal Diversity & Inclusion is, and how you might want to plug in.
Drupal Diversity and Inclusion is an independent collective of Drupal community members working to challenge ourselves and our colleagues to make the Drupal community more inclusive and equitable since 2016. This session is appropriate for anyone who wants to make the Drupal community a more inclusive & equitable place. It covers common diversity, equity & inclusion topics at a beginner level.

Join us to learn why “Come for the code, stay for the community” has never been more necessary.
Carie Fisher

Scalable Vector Graphics (SVGs) became a W3C open standard in 1999 — back when the new tech hotness was the Blackberry phone, Napster first invaded college dorms, and the Y2K bug sparked fear in us all. Fast forward to our modern digital world and you’ll notice that while the other tech trends have waned, SVGs are still around and thriving. This is partly due to SVGs having a small footprint for such high visual fidelity, in a world where bandwidth and performance matter more than ever — especially on mobile devices and situations/locations where data is at a premium. But also because SVGs are so flexible with their integrated styles, interactivity, and animation options. What we can do with SVGs today goes way beyond the basic shapes of yesteryear.

If we focus on the accessibility aspect of SVGs, we have come a long way as well. Today, we have many robust patterns and techniques to help us optimize inclusiveness. This is true regardless if you are creating icons, simple images, or more complex images. While the specific pattern you decide to use might vary depending on your particular situation and targeted WCAG conformance level — the reality is, most people stop there, focusing on code compliance and not actual end-users and their needs. If true inclusiveness lies beyond patterns — what other factors should we consider when designing and developing accessible SVGs?

Join me to learn more about:

SVG Color + Contrast

WCAG color contrast ratio guidelines/tools
Color blindness simulators/filters
Media query: @prefers-color-scheme - what it is and how to use it?
SVG Animation

WCAG motion guidelines for animations
Animation pause/stop/hide options
Media query: @prefers-reduced-motion - what it is and how to use it?
Janice Camacho

As a project manager, I’m often tasked with managing client schedules, timelines, meetings, tasks and recaps. However, the most complex and difficult deliverable I’m responsible for every day: managing people. Fortunately, I've found a way to manage people combining the art of the individual and meeting them where they're most comfortable utilizing the science behind why they're comfortable there. With the help of personality tests—such as StrengthsFinders or Myers Briggs—I’m able to identify how individuals are most productive in their role, how they like to work with others and their preferred methods of communication, among others. Coupling these test results with observing them in their environment—how are they interacting with the team, in what ways to they like to be recognized, etc.—I have been able to get to know individuals on a deeper level, establishing a sound working relationship based in a foundation of understanding which time and again leads successful project outcomes. Now I aim to share my approach with the intent that others can get out of their own way with the end goal to build stronger internal relationships, ultimately resulting in strong, long-term client relationships.
Jim Vomero

Many developers have a complicated relationship with Views. The module offers a wide-range of out-of-the box functionality, including: query building, routing, cache controls, permissions, menu integration, and display rendering logic, among others. Even with all of these features, developers may choose to skip Views and create custom-code solutions, because:

We like to reinvent the wheel -- creating the best and leanest solutions for our clients;
We want to stay organized -- building complex solutions in modules rather than layers and layers of configuration;
We hit the limits of Views -- finding customer requests can’t be accomplished through out-of-the-box Views functionality.
Luckily, there is another way to have our custom code without giving up the power of Views. This session will explore creating custom Views Plugins to add functionality and logic to the Views interface. We will discuss common reasons a site may need features beyond out-of-the-box functionality and we will look at real life examples of Views Plugins. Topics includes:

Introducing how Views builds, executes, and renders queries and displays.
Exploring business cases for using Views Plugins vs altering data by hooks.
Adding custom Fields, Filters, Arguments, Sorts and Joins beyond what is offered by default with Views.
Reviewing example code and practical use cases for modifying Views queries.
View Plugins can allow developers to keep their code organized, abstracted, and highly functional. We can package custom code into the standard Views interface. Most importantly, they can help save us time and reduce technical debt by organizing our custom code through standard interfaces.

This session is for anyone who is comfortable (or willing to try) writing code in a custom module. Advance knowledge of Drupal or databases is not required to get started.
Christopher McGrath

Outline strategies for getting started and growing a freelance Drupal business. From set-up of the business, what one is getting into to managing a client funnel, contracting vehicles and more.
Lily Berman

The skills of an activist and the skills of a Drupal PM are less disparate than they may seem. Activists motivate and coordinate large groups of people, often with differing ideas, without the resources agencies possess. Before becoming a Drupal project manager, Lily Berman (among other similar endeavors) led a political canvass office and a traveling nonprofit organization. She has slept on the sidewalk with Occupy Denver, given a speech with a crowd-powered “mic check” microphone in front of the UN, and has been a spokesperson for her nonprofit on Nevada Public Radio and NBC Nightly News.

This presentation will share stories and insights from the road, along with revealing tools and concepts that will benefit anyone working in a team. Attend this session to:

Learn how to effectively navigate differing opinions while ensuring your perspective is communicated persuasively
Facilitate large meetings with ease, using tools and roles activists use to efficiently reach consensus with every voice heard
Build stronger, motivating relationships and inspire action with your clients and internal teams
JD Leonard

While any site builder can quickly integrate Drupal with Google Analytics (GA) using the Google Analytics module, organizations are increasingly choosing to leverage Google Tag Manager (GTM) to integrate a variety of services (including GA) without requiring developer time and a deployment whenever new services or other changes are needed.

In this talk, we'll cover:

Setting up separate Google Analytics properties for production and non-production purposes
Configuring Google Tag Manager to provide different GA tracking IDs depending on the website's environment (e.g. Live, QA, and Local)
Installing and configuring the GoogleTagManager module and the dataLayer module to provide rich data about users and content in Drupal 8 or Drupal 9 to GTM
Configuring Google Tag Manager to pass the data from Drupal through to GA
While we'll use Google Analytics as an example, these same principles can be used to integrate Drupal with additional analytics, advertising, A/B testing and other platforms using GTM tag templates such as those natively supported by GTM and the hundreds contributed to the GTM Community Template Gallery.

Note that we will not be using the Google Analytics module, which directly integrates Drupal with GA.
Kacie Minner

Do you shy away from speaking up in a room when it’s completely silent? Do you prefer to maintain a mythical bubble around your entire body? Does the prospect of addressing a room on your own make you perspire and/or shake? Well do I have a session for you!

When it comes to the world of project management, and even our industry as a whole, one character trait that is often at play is that of being an extrovert. The PM position alone is one with the expectation of extrovert characteristics. You are dealing with multiple team members at once, you’re dealing with clients on a daily basis, you are the face of the company when it comes to client relationships in many ways. You gotta be social!

What many people don’t know is that yes, introverts exist in this industry too. Gasp! Being an introvert doesn’t mean you are not good at your job. It should not be viewed as a weakness in your field and/or industry. Coming from a background of mostly PM work in the digital space, many people are confused to hear that I am an introvert. There is a place for all of us. Just as extroverts bring a lot to the table in this industry, introverts do as well.

In this session I will cover:

Ways to adapt your personality to the job at hand, without changing who you are
Strategies that you can apply to your position that set you up for success instead of cause you to overthink
Tips and tools for taking stock of where you are on the extrovert scale, and knowing how to recover
Positive attributes that an introvert can bring to the table
Have your own toolkit to ensure you are setup for success even when put on the spot
Danny Englander

This presentation will cover the basics of getting started with Layout Builder. Drupal's Layout Builder allows content editors, site builders, and themers to create visual layouts for displaying content. Users can customize how content is arranged on a single page, across types of content, or even create custom landing pages with an easy to use drag-and-drop interface.

In this session, we will cover the following:

How to get up and running and the basics of setting up a content type for Layout Builder
Discuss some of the many useful contrib. modules and how they can help enhance Layout Builder for site building and theming
How Layout Builder overrides work
How to add custom classes and styles to Layout Builder sections and blocks
How to add a Ctools entity view as a Layout Builder block in order to create a "wrapper" around selected fields
How Drupal view modes come into play to boost the power of Layout Builder
How to use Layout Builder Library, a powerful module that lets content editors switch layouts on the fly
I will give a live demo as well.

Link to presentation (copy paste)
Tara King

Have you always wanted to make your company a place that’s welcoming and supportive to every member of your team? Always wanted to know why the underrepresented engineers you hire keep leaving… or maybe never apply in the first place?

Wondering what you’re missing when it comes to supporting your marginalized colleagues? Listen and learn, my friend. We’ll learn why it’s hard to be underrepresented at work and what you can do to be a better ally. Expect a mix of practical tips and broad direction, research-based claims, and personal experience. We’ll talk about the big picture, but we’ll also get into templates and other tools you can use to be more inclusive.
Jim Birch

Do you want to enhance the look of your content on social media sites like Facebook, Twitter, LinkedIn, and Pinterest? Do you want to get included in rich search features in Google? Do you want to be prepared for what comes next?

Configuring the correct metadata on your content can help boost the chances of it outperforming its competition in search results and on social media sites, and help your organization achieve its goals.

Implementing meta tags and vocabularies in Drupal is a dream thanks to the Metatag, Metatag, Token, and Field modules. Site architects can come up with a metadata strategy and plan, and site builders can build out defaults which can be overridden by content editors if desired.

In this session, we’ll cover:

Configuring schema and meta tag defaults in Drupal which will always be used.

Proven ways to easily allow content editors to manage and override meta tags on a page by page basis.

Ways to validate tags have been implemented correctly, and how to clear the cache of different social media sites so they recrawl your page after you’ve made changes.

Target Audience
This session is meant for anyone responsible for publishing content online and for those that empower them to do so.

Attendees will get the most out of this session by being familiar with general site building in Drupal, like building out fields on a content type.
Mark Casias

Sometimes configuring the set up with Solr on various platforms seems like going toe to toe with Mike Tyson. In this talk I would like to give you an ear full on how to set up solr config with your local development (Docksal) and make sure the configuration can smoothly transition to your hosting services (various).
Ishan Mahajan

If you look at Google search trends for "De-coupled CMS" or go through the agenda of various Drupal Cons/Camps, you will see a steady rise since late 2015.

Yes, we know that front end developers who have a preference for modern JS frameworks such as React and Angular love the idea of de-coupled Drupal. But what about marketers or other CMS users? Are they on board with loosing traditional CMS features such as drag & drop page builders, content preview etc, which they have been using for a over a decade?

In this session, we will go over this divide within the CMS world - Developer led de-coupled push Vs Marketer led resistance to stay with monolith/traditional CMS.

We will see how Drupal, can be the bridge that fills this gap.

We'll demo how you can use Drupal 8/9 today, in a completely de-coupled (with Angular, Next.js and Gatsby) fashion and still retain the following features:

Drupal's layout builder for drag & drop page building
Preview unpublished content and retain editorial workflow
Managing menus
Control meta tags and
Set redirects
and much more...
Bonus: we'll share Drupal projects and Github starter kits that will enable you to setup these demos and use these features yourself.
James Nettik

When Drupal 8 introduced it's Layout Discovery API the manner in which Drupal websites were designed, built, and maintained drastically shifted. With that quickly came solutions like Layout Builder, Entity Reference with Layout, and Layout Paragraphs that allowed editors to not only manage the content on their websites, but to also manage that content's presentation. The potential of this newfound level of control means editors are now more in control of their online presence than they've ever been, but this flexibility isn't without it's own challenges. How can we help ensure that they're still putting their best foot forward? In this talk, we'll look at:

An overview of the tools available today and when we might use one over the other.
How to begin working with the new Layout Discovery API.
Tips to ensure the authoring experience for editors remains as intuitive as possible.
Common questions and pitfalls, as well as their solutions, that arise while designing and building.
Kristin Sartain

Life as a remote PM has its own challenges. It can be stressful and hard to adapt especially after working in an office environment. I had to change a lot of my own processes to have successful projects and happy teams when transitioning to remote project management three years ago. Come commiserate and learn solutions!

In this session we'll:

Discuss the realities of remote project management and propose solutions.
Learn ways to adapt your personal processes and then how to roll process out to your organization.
Get practical and discuss how important it is to have the right tools for the job.
Donna Bungard

Adopting an accessible marketing strategy can save time and money but what does that look like? In this session, we’ll talk through practical ways to incorporate accessibility into the marketing practices you’re already doing. Come away from this session with an understanding of how to:

Creating user stories and a brand that are inclusive
Develop a content strategy and plan for an accessible presence
Prepare your media to reach a broader audience
and more.
Marketing should be fun and accessibility should be easy: let’s try to breathe that into both of these to meet your needs in a more organic way.
Suzanne Dergacheva

For the last two years, in my work for the Promote Drupal initiative, I’ve been trying to get myself into the mindset of a Drupal evaluator. What do newcomers think when they research which platform to use for their project? What are the pain points and selection criteria they’re thinking about? What keeps them up at night? After many conversations, a survey, a pitch deck, and the release of Drupal 9, I have lots of insights to share. I’ve learned a tremendous amount about marketing, the digital landscape that Drupal competes with, and how to build the marketing arm of an open source project.

In this session, I’ll talk about some projects underway both to market Drupal to outsiders and to grow the Drupal community as a whole. I’ll also talk about ways that you can contribute to the Promote Drupal effort, whether you’re a marketer, content writer, designer, developer, project manager, or brand new Drupal user.
Alanna Burke

Documentation is often the part of a project or organization that gets ignored or left behind. At best, it’s created as a deliverable and then set aside to collect dust, never updated, amended, or edited. But documentation is a living thing! It’s like a plant, you need to water it and tend to it and keep it alive!

In this session, we’ll talk about how to tend to your documentation, and how to keep it alive. We’ll discuss strategies for defining ownership of your documentation, creating a culture around documentation, and some tips and tricks for keeping your documentation fresh and up to date.

We’ll go over why documentation is so important, and how to get buy-in from stakeholders who don’t understand why hours need to be dedicated to this important task. If you’re an agency working with clients, you should get them involved in the documentation creation and prioritization process to ensure a smooth handover - avoid any last-minute panic!

You’ll come away from this session with strategies to start prioritizing your documentation both internally and as a partnership with your clients, and with a list of actionable steps to take to get started writing or improving your documentation today.
Mario Hernandez

Building reusable components in a design system such as Pattern Lab is only half the job. The second half is to seamlessly integrate those components with Drupal. There are several approaches to accomplishing this in a Drupal 8, or 9, website. In this session, I will walk you through integrating components using the Presenter Template approach while adhering to Drupal's best practices for caching, render arrays, and performance. I will build a component in Pattern lab and ensure it provides mechanisms for leveraging Drupal's attributes, title_prefix, and title_suffix. By the end of this session, you will have a component fully integrated and rendered in Drupal with a single source of truth for markup, styles, and JavaScript,
Deborah Fuzetto, Mark Mahon

Learn the power of the Group module for Drupal 8.

This session will show you how to create communities with your website.

The Group module topics to be covered:

Introduction to Drupal's Group module
Strengths and Weaknesses as compared to D7 Organic Groups
Use Cases for Groups
Expect to learn

Setting up Group types
Managing Group content
Sharing (or not sharing) media and content
Group menus
Group Workflow

Deborah and Mark have worked on many web site builds using the Group module to assist municipalities (local gov't), school (county gov't) and non-profit (commercial) organizations achieve a level of control and consistency throughout several web projects. We look forward to introducing you to the Group module and believe for government organizations, that often have a web of control structures and user permissions needs, that we can present you with options to solve those needs.
André Angelantoni

This is Part 2 of the topic I delivered at DrupalCon 2020:

Layout Builder components can break your site. Here's how.

Watch Part 1 first to understand the problem that site builders, back-end developers and site architects face to ensure that several critical features of Drupal, including page revisioning, Workflow and Workspaces, don't break.

Here is some feedback from the first session:

Very informative topic. Will re-watch the recording to make sure I understood everything and will definitely share with my development team. Thank you!
7/14/2020 4:03 PM

Made the entire cost of drupalcon worth it just for this.
7/14/2020 3:42 PM

In this session, I will:

get into the details of how the various types of components are stored
why they can break these features.
suggest some workarounds and design patterns.
Jacob Rockowitz

For the past four years, dozens of new and cool features have been added to the Webform module for Drupal 8. This presentation will walk-thru the Webform module's greatest hits with some rare gems from the feature vault. You are guaranteed to learn something new about the Webform module, especially because you can "Ask Me Anything" (AMA) during this online presentation. Participants are invited to help answer people's questions via chat by posting recommendations and links.

The goal of this online presentation is to help you get the most of the Webform module while ensuring all your questions are answered.

The format of this presentation will be walking through my list of the Webform module's top ten features with user questions answered after each feature segment. There will be live demos with an actual working instance of the Drupal and the Webform module. This working instance of the Webform module will also be used to answer your questions.

Participants do not need to have any prior experience with the Webform module.
Rolando Scott

Configuration management, while being one of the best features of Drupal 8, is still a mystery to most non-technical folks. What exactly is a change that triggers a config file change, what needs to be committed, what happens when the configuration is synced, etc.

And once we understand what a configuration change is, how it affects the site, and how not to have conflicts, we will explore contrib modules that expand the capabilities of configuration and open up new workflows and capabilities. We'll go over real-world examples using Config Split, Config Ignore and others. We will also see how configuration is managed through different hosting partners like Acquia, Pantheon and others.

This is perfect for content creators and project managers who want to understand configuration management better. For any non technical person that has felt the frustration of their changes being wiped out because a developer committed code and synced configuration.
Greg Boggs

Have you always wanted to contribute more to the Drupal community but don't know where to start? The Maintainer's Initiative is here to help you.

The Maintainers Project is a community organized effort started by Damien Mckenna from Media Current and I to improve the support of Drupal contributed modules. Maintaining a large collection of modules is a big undertaking. Rather than trying to write new code, the goal is to ensure more people get responses to their contributions.

Join me for a conversation about the future of module support, an update on what the initiative has accomplished so far, and direct support helping you get involved in contributing to module support. You'll get a primer in how to become a module maintainer for an abandoned project, an overview of our support todo list, and step by step guidance on how to contribute to module support no matter your skill level.
Mark Shropshire

Are you losing sleep, worrying about your Drupal site’s security? That isn’t healthy! With Drupal being used for building websites and applications in government, non-profits, higher education, and corporate enterprises, it is important to make sure that projects follow regulatory and organizational security controls. Are you ready to learn how to take immediate steps to improve the security of your Drupal installation? Great, let’s get get started.

This session will provide the details you need to create a security-first plan to enhance Drupal’s strong security foundation with community-contributed modules. Attendees will learn how to leverage these community contributions to ensure Drupal’s ability to provide confidentiality, integrity, and availability for your users.

Drupal core and contributed module security enhancements will be demonstrated live. These demonstrations will show how to address many of the concerns listed in the globally recognized OWASP Top 10 Web Application Security Risks document. In addition, attendees will learn how to keep up with official security announcements from the Drupal Security Team, understand Drupal security advisories, and find resources to learn more about Drupal security.

Security risks and improvements covered
Attack surface reduction
Broken Access Control
Cross-Site Scripting XSS
Insufficient logging & monitoring
Password policies
Security misconfiguration
Using components with known vulnerabilities
Andrew Mallis, Crispin Bailey, William Reuschel

Do you feel distracted by a suite of automated tools, pages of report data, and feedback on work that was designed and developed weeks and weeks ago? If your antidote is achieving WCAG 2.1 AA conformance, you may be leaving more people behind than you think.

Accessibility and digital inclusion can be easier.

Authentic digital inclusion means ensuring that every end user can actually use a digital asset as designed and intended. Let’s start there.

In this presentation, the American Foundation for the Blind and Kalamuna will discuss how organizations can benefit from usability-centric development policies and processes. Strategic, agile approaches will demonstrate how a spirit of digital accessibility can be achieved.

Attendees will learn:

Why usability is the most important component in an organization’s accessibility approach
How to get started incorporating usability in the development and design process
What are the most important workflows to focus on for usability
Why policies and processes are so critical to ensuring digital inclusion
How to create knowledge transfer in your development and design teams to create and sustain authentic digital inclusion
Plus, a demonstration of usability testing in action!

Kalamuna is an Oakland+Toronto-based agency that designs and develops institutional websites that solve complex challenges, simplify and improve user experience, and tell better stories.

American Foundation for the Blind (AFB) is a national organization with nearly a century of experience in setting standards and achieving milestones to improve the quality of life for people with vision loss. AFB Consulting offers a variety of services that address tactical, strategic, and programmatic needs to help organizations reshape their culture to promote disability inclusion.
Brian Perry

Over the life of Drupal 8 the options to integrate design system components into your project has improved, but have always felt somewhat incomplete. While Twig brought the ability to import or embed templates, the data mapping process could be challenging to newcomers and often falls out of sync with display options in Drupal’s admin UI. The UI Patterns Module greatly improved component management using Drupal’s admin UI, but integration modules varied and using UI Patterns with Layout Builder had some limitations.

Enter the Component Blocks module which provides integration between UI Patterns and Layout Builder and has the potential to be the missing piece in Drupal's component based workflow.

This session will look at the recently released Component Blocks module, including:

An overview of the features of the module.

How Component Blocks provides a consistent interface for Drupal component integration.

How Component Blocks solves past challenges related to visual component integration.

A proposed Component Blocks based workflow.
Jordan Thompson

Using Drupal’s built-in node grants and realm access system, you can control which users or user roles can perform different operations such as view, update, and delete on a per node basis. You can apply similar access control to non-node entities via access hooks.

This session will take a look into how access control works in Drupal, methods and techniques to customize access control, and things to look out for when dealing with access control in general.


What are Node Grants and Realms?
How to create Node Grants and Realms
How to deny Node access
How to control access for non-node entities
Alternative methods to control access based on referenced content
Gotchas with access control
April Sides

In a world where working more hours is often touted as a badge of courage and an example of high productivity, keep in mind that overload burnout is a real thing. While our individual thresholds for burnout may vary, our minds and bodies have limitations that when met, can severely impact our lives.

So how do we recognize and avoid burnout in ourselves, as well as others? Join me as I share my experiences and the knowledge I’ve gained in my journey to both overcome and avoid burnout.

In this session, you will learn:

Overload burnout signs and symptoms
Common causes and triggers
Mitigation strategies
Target audience:

Individuals that want to avoid or overcome burnout
Leaders that want to support their teams
Sam Mortenson

Doing front-end in Drupal can be confusing, for experienced developers and newcomers alike. A task like "Add the 'blue' class to all Articles and style it" might take modifying a preprocess function, adding a Twig template, compiling SASS, and more.

Enter Single File Components, a young module that aims to consolidate all your related front-end code into one ".sfc" file. Inspired by Vue.js, these files contain CSS, JavaScript, Twig, and PHP. SFC files aren't just a way to organize code, they can also be used to create blocks, layouts, field formatters, and interactive components using minimal JavaScript.

Come learn about the many features Single File Components provides from the creator of the module, and decide for yourself if this is game changing or destined for the ever growing trash heap of forgotten front-end tools.
Mauricio Dinarte

React.js has become one of the top players in the JavaScript libraries world. WordPress has rebuilt its WYSIWYG editor using React. Drupal has recently adopted the library to create admin interfaces. This session aims to explain the basic concepts of React outside of the context of any particular CMS implementation. Many examples will be presented to help you understand it and why it is so powerful. During the talk you will learn how to convert a static site into a dynamic React application.

Learning objectives:

What are the benefits of using React.js?
How much ES6 do I need to know?
What is a component and how to create it?
What is a state and props?
What are proptypes?
What are hooks?
What is JSX and what about separation of concerns?
Sujeet Kumar Verma, Ridhima Abrol

Long gone are the days when writing code was all you needed to develop awesome apps. Nowadays, developers should be able to use multiple languages, frameworks and architectures – and on top of that – they need to know how to use several tools and products to make their lives easier. One of these products is Docksal. It is Docker powered environment for web development on macOS, Windows and Linux.

So Docksal on it's own is an awesome tool and can be used as is without anything else! Local Drupal development can be tricky but docksal can come handy. It's a great, fast tool for running local web based projects, particularly Drupal.

This session will explain how using Docksal will save you time getting up and running for an existing Drupal8/9 development project.

The session will focus on:
1: Why Docksal and how does it work.
2: Setting up Docksal on your system.
3: Creating the environment for Drupal8/9.
4: Project directory structure.
5: Configuration (Stack & Database).

Learning Objective:
At the end of this session, attendees will be able to have a better overview of why Docksal is one of the best options for Drupal development and how it caters their project needs.

Target Audience:

Key Takeaways:
Basic Knowledge of docksal with drupal.
Squiggy Rubio

This session will provide an overview on how to protect user privacy, including avoiding sharing website visitor traffic outside of your organization.

If you're using Drupal, you have architected a website to store data securely with Drupal’s robust permissions, access checks and security best practices. However, your website loads third party scripts, which can share your visitor traffic with one or more outside organizations. Why build a highly secure website, while also sharing all your visitors’ traffic outside your organization? Unless your organization’s business model relies on ads, it’s entirely possible to build your website in a way that avoids sharing your website visitor traffic with third parties.

Protecting website visitor privacy can be improved by starting with the following set of questions:

Do you really need all those third party scripts on your website? Can you reproduce the functionality of third party script in house?

Do you really need to load fonts from another server? Can you download them and install them on your own server?

If analytics is an important requirement for your organization, would it be possible to invest in hosting your analytics tools in house?

Are there tools for anonymizing server logging for your particular CMS or server?

CDNs are great for improving performance for your website, but do you trust them not to share visitor traffic? Would it be possible to host these files on a server you control instead?

What you’ll learn in this session:

You’ll come away with a renewed sense of urgency for protecting website user privacy, including website visitor traffic

You will learn what third party scripts are, how they share user data outside your organization, how they are a source of security vulnerabilities, and some ways to avoid using them

You will learn about HTTP Strict Transport Security (HSTS)

You will learn what information Drupal logs from users and options to avoid tracking this information

You’ll learn what information servers log about visitors and options to anonymize this information
Kevin Porras

We have all heard that Drupal 9 is the easiest Drupal major version to upgrade to and it's true. However, there are still some challenges to take into account if you're going to upgrade a site to this new great Drupal version.

Assistants to this session will know:

Why to upgrade to Drupal 9?
When you should Upgrade to Drupal 9?
What are the steps needed to upgrade to Drupal 9?
What are the main challenges to upgrade to Drupal 9 and how to solve them?
How to do the actual migration?

If you have a previous experience upgrading to Drupal 9 and you want to discuss something about it, this will also be a good place to discuss :)
Michael Anello

As a (aspiring or otherwise) professional Drupal developer, taking full advantage of what Composer has to offer can pay dividends. This session will provide some tips and tricks for using Composer with Drupal 8 and 9 projects, as well as provide a sneak peak at the improvements in the next major version of Composer.

This session will provide live examples of various features of both Composer and its ecosystem, including: understanding version constraints, using Composer plugins, overcoming dependency conflicts, demystifying (part of) the composer.lock file and a demonstration of Composer 2.0!
Dharizza Espinach

Working with custom forms can be challenging at the beginning, there are a lot of items and widgets and elements in the Drupal Form API but sometimes we have special needs that are not met by the tools we already have, it is then when we need to start thinking about creating our custom widgets.

In this talk, we're going to dig deeper in the world of the creation of custom widgets, I'm gonna show you an example where we created a custom widget that transforms a JSON schema into a form inside of a bigger form in Drupal.

At the end of this talk, participants will be able to:

create custom widgets with configuration forms.
add complex items to their widgets.

Drupal is a registered trademark of Dries Buytaert.