Accepted Sessions

Looking to Test Decoupled Sites? Get Ready to Be Impressed with Cypress!

Session Category Development & Performance Room 159 Audience Intermediate Speaker(s) Mark Shropshire Jonathan Daggerhart

Decoupled Drupal is the realization of Drupal as a content hub for frontend websites and web applications. Automated testing is critical to the success of decoupled systems due to the complexities of the overall architecture. In addition, the coverage provided by automated testing allows teams to focus on developing and releasing new features rather than fixing bugs that have made it into production.

This session will introduce attendees to the beautiful world of Cypress, a robust JavaScript end-to-end testing framework. Below are some of the advantages you can expect to benefit from when using Cypress to test your Decoupled solutions:

  • End-to-end testing for Drupal and decoupled frontends
  • Leverage JavaScript for all testing development
  • Excellent developer experience
  • Automate testing with continuous integration

While all attendees are guaranteed to learn something during this session, it is helpful for attendees to have some basic understanding of decoupled Drupal architecture and development. 

At the end of this session, attendees will be able to:

  • Get started with Cypress, integrating it into their existing and new applications.
  • Summarize the benefits of leveraging Cypress for automated testing in decoupled architectures.
  • Focus efforts on the most essential tests.

New things we love and more things we want in CSS

Session Category Theming, Design, & Usability Room 162 Audience Beginner Speaker(s) Adam Varn Aubrey Sambor

If you haven't been paying attention to CSS lately, you have been missing out! From container queries to the :has() pseudo selector, CSS has made leaps and bounds over the last 2-3 years...but there is still plenty more to do!

In this session, Lullabot front-end developers Adam Varn and Aubrey Sambor will get you up to speed on the newest CSS features we love, as well as some still in the works and the ones that we wish we had the most. We'll cover

  • the :is() , :where(), :not() and :has() pseudo selectors and their "pseu-per" powers
  • why container queries will blow your mind
  • what @layer is and how to use it
  • and a lot more!

A basic understanding of CSS is recommended for attendees but all are welcome!

Why is building components in Drupal so difficult?

Session Category Development & Performance Room 180 Audience Intermediate Speaker(s) Kyle Einecker

Lots of work in the community is happening around how to best design, define, theme, and author components in Drupal, and seemingly everyone has their open source/contrib solution to make at least one aspect of building a component system easier. The question is why? What problems are all of these solutions looking to overcome? Why is the community not consolidating on a common approach?

In this session, we'll establish the parts of an individual component and what a component system needs to be successful. From there we'll look at various component system architectures and try to identify common pain points we all experience. To wrap we'll see what discussions are happening in core's issue queue and if there are bigger problems we should be addressing as a community.

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

Session Category Site-Building Room 180 Audience Intermediate Speaker(s) Justin Toupin

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. 

Building on last year’s DrupalCon sessions in Portland and Prague, this year we’ll dig a little deeper and also cover more advanced topics including:

  • Strategies for implementing web governance with Layout Paragraphs 
  • Extending Layout Paragraphs to build an authoring experience tailored to your team’s marketing and editorial needs
  • Using Layout Paragraphs for decoupled websites and applications

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.
  • Learn some of the more advanced capabilities of Layout Paragraphs, including strategies for managing web governance and approaches to decoupled architectures. 

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.

Notes:

With more than 4,500 websites reporting using the module, Layout Paragraphs is quickly growing in popularity. This session will provide important information and answer frequently asked questions about what exactly Layout Paragraphs is, how it differs from Layout Builder, and why marketers and publishers will benefit from the module.

 

Think Locally, Build Globally - How Drupal is powering headless omni-channel web platforms

Session Category Sessions off the "Drupal Island" Room 179 Audience All Attendees Speaker(s) John Picozzi

Join me as we talk through the Who, What, When, Where, Why, and How of building a global headless omni-channel web platform. We'll explore exactly what an omni-channel web platform is and how it can help your organization, as well as share real-world examples to illustrate the most effective scenarios for implementing such a platform. We'll wrap up our conversation by reviewing the many benefits they can provide and how you can get started on an omni-channel journey of your own.

This session will be geared towards attendees of all experience levels and capabilities. I will be sure to allow for a healthy amount of Q&A, so be sure to bring all your questions and hypotheticals! By the end of the session, you should be armed with the knowledge you need to start down the path toward building your own omni-channel web platform.

The Ultimate Guide to Configuring the Media Module

Session Category Site-Building Room 159 Audience Intermediate Speaker(s) Rod Martin

The Media Manager is one of my favorite developments in Drupal 9, but there are some quick improvements we can make to create a truly amazing digital asset management system right inside your Drupal site.

In this session we'll cover:

  • Adding a keyword system to all your media.
  • Changing the Media overview page for better filtering and organization.
  • Making media available in CKEditor for the Body field.
  • Better image styles in fields and the Body field.
  • Embedding videos from anywhere! (not just YouTube and Vimeo)
  • Making remote videos 100% responsive
  • Additional modules to further enhance Media

Custom development in a Composer world

Session Category Development & Performance Room 159 Audience All Attendees Speaker(s) Mark Casias

Now that we are all used to using Composer to require and update any site, and automation to build sites on various platforms, where shall we put our custom work on the site? There are some who feel there should be a custom repository, with code which can be pulled in by composer, while others feel the custom work is part of the site. And what about components that can be shared between projects? In this discussion, we will look at development use cases for all of the above and discuss ways projects can share, reuse and work together. We will also discuss what Composer Installers are and how they work to ensure your code is added in the proper place.

Simplifying Your Admin Experience

Session Category Site-Building Room 179 Audience All Attendees Speaker(s) Martin Anderson-Clutz

We often talk about UX as a focus on making a site intuitive and easy-to-use for anonymous visitors, or perhaps registered users who need manage their account, make a purchase, and so on. But what about the people who will use your site most? While an engaged visitor might return to your site 3-5 times a month, a site admin use the site that many times a week, or more!

This session will explore how UX principles apply to Drupal's back end, as well as recommend some modules and best practices to make your site easy and intuitive for your contributors.

Next Drupal admin UI improvements

Session Category Theming, Design, & Usability Room 179 Audience All Attendees Speaker(s) Cristina Chumillas

Claro became the default Drupal administration theme just a few months ago after several years in the make refreshing for Drupal’s look&feel. With that job done now we can focus on improving the administration experience beyond the visuals.
In this session we’ll cover several current and future plans to improve the default experience everyone has with Drupal's administration UI.

Providing a Soft Landing for Drupal 7 Site Owners

Session Category Sessions off the "Drupal Island" Room 162 Audience All Attendees Speaker(s) Tim Erickson

As of today (Dec 19, 2022), Drupal.org is reporting 445,000 sites that are still on Drupal 7. While the number is declining, we know that many of the remaining sites either already have or will evaluate Drupal 10 and potentially decide it might not be the right tool for them (at least for now). Many of us in the Drupal community believe that we owe something to these sites, many of which are feeling left behind, in terms of helping them to find a soft landing either before or after official support for Drupal 7 ends. 

Irina Zaks recently launched the ‘Drupal 7 Soft Landing Initiative’ which is focused on helping these Drupal 7 site owners move forward by providing them with the tools and resources they need to get off of Drupal 7. Many of these sites will eventually move to Drupal 10, but we also need to provide information and resources that help Drupal 7 site owners evaluate the best alternatives such as Backdrop CMS (a fork of Drupal) or other open source alternatives including but not limited to, Wordpress, ClassicPress, and other open source platforms or tools. 

Who should attend:

  1. Drupal 7 site owners looking for their next home
  2. Agencies or contractors interested in providing upgrade or migrations services to Drupal 7 site owners.
  3. Community members interested in how they can help provide a soft landing for all the Drupal 7 sites currently feeling stuck on a platform that will soon be reaching End of Life.

What we will talk about:

  1. Evaluating and deciding on alternatives for Drupal 7 sites looking for a new home.
  2. Tools and resources to make the upgrade/migration as easy as possible.
  3. How to encourage Drupal 7 site owners to make their next move.

See also: Backdrop CMS - Providing a Soft Landing for Drupal 7 Sites

Accessible Audio & Video

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

Have you ever wanted to watch a live event but couldn’t find your headphones, so you turned on the captions? Or maybe you didn’t quite catch the last few talking points from your favorite podcast, so you decided to read the transcript instead? If so, you probably understand the importance and convenience of having alternative ways to access audio and video content.

In this session, you’ll learn about the specific WCAG standards for audio-only, video-only, and multimedia content. We will explore methods and services for generating and managing captions and transcripts in your media and provide resources to help you get started with making inclusive media content. This knowledge will also help you design and build the appropriate layouts and features in your digital products to accommodate users with different environmental and sensory needs, such as the millions of people with hearing loss or visual impairment worldwide.

The Time for Decoupled Drupal is Now

Session Category Development & Performance Room 180 Audience All Attendees Speaker(s) John Doyle

The term “Decoupled” has been buzzing around the industry for awhile now and in this session we will pull back the covers to take a look at what it really means and why you should be paying attention. We will go on a journey together to explore the decoupled Drupal landscape and share some of our experiences working with it over the last ~12 months. In this session we will discuss why now is the time for decoupled Drupal and why organizations looking to upgrade or build a new website should consider it as an option. We will explore topics around:

  1. What is decoupled Drupal?
  2. What benefits can decoupled Drupal provide for content and marketing Teams?
  3. Why now is the right time to consider a transition?
  4. Key considerations for making a decision

By the end of this session, you should walk away with:

  1. A good understanding of decoupled Drupal and its current maturity level in the space.
  2. Why the adoption of decoupled Drupal is increasing and when it should be considered.
  3. A checklist to help you decide if decoupled is the right choice for your next website build.

Layout Builder Strategies - Drag & Drop Power Tools

Session Category Theming, Design, & Usability Room 180 Audience Beginner Speaker(s) Brandon Ratzloff Israel Morales

This presentation will focus on a suite of Layout Builder modules and configuration to help you win the drag & drop battle in content management. The following subjects will be addressed:

  • Which modules are best to use from the ecosystem and what they can do for your use case.
  • Information Architecture strategies to help embed the content you want
  • Block building enhancements and organization
  • How to use View Modes to your advantage
  • View Blocks and their contextual filters
  • A demo of real world sites using Layout Builder

* BONUS Material *

  • How to embed Progressive Decoupled Vue3 Blocks into your Layouts

Data lake: how Red Hat maintains data quality across multiple Drupal sites

Session Category Development & Performance Room 182 Audience Intermediate Speaker(s) April Sides Melissa Bent

Data accuracy and consistency is an important goal for any organization.

Maintaining data quality across multiple websites and applications (Drupal or otherwise), with different teams managing the same data in multiple systems, becomes complex and difficult to manage. Having a pool of data becomes an attractive solution to resolve some of these issues and allow for greater transparency and consistency across an organization. But, creating a scalable, reliable, and useful system brings its own challenges.

Join us, as we explore several ways that Red Hat is using a data lake architecture to share data between different Drupal sites.

We’ll cover:

  • What is a data lake?
  • The benefits, challenges, and considerations of using a data lake.
  • Several ways Red Hat has integrated a data lake architecture with Drupal.
  • Lessons learned along the way.

Typed Data API let's try to understand it, finally...

Session Category Development & Performance Room 162 Audience Intermediate Speaker(s) Piotr Pakulski

Typed Data API still remains quite a mystery for many. 
We need to get familiar with it in order to really know how entity data is modeled.
In this session I'm going to get to the bottom of it, so please fasten your seatbelts and be ready to understand it.
Finally...

Composer Tips

Session Category Beginner Track Room 162 Audience Beginner Speaker(s) Jacqueline Young

Let's take a tour of a composer file.
Last year, I worked on small team to move 35 sites from our own proprietary hosting that used archival or "fat" repositories to Amazeeio which required "skinny" repos. In the process, we learned how to leverage Composer.

  • Managing libraries turned out to be tricky. I will show you the solution that finally worked for us.
  • I will outline how we handled custom modules and patches in the move.
  • Time allowing, I will show the site audit commands and modules I used to figure out the work required to fully-manage a site with Composer.
  • Also, I will share the Composer commands that I used (and use) frequently to gather information, and evolve a site.

Get involved with the Project Browser Initiative

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

The goal of the Project Browser Strategic Initiative is to allow folks to easily browse for and install modules right from within their Drupal website. No longer will you have to go out to Drupal.org to find modules and then understand how to use Composer to install them.The initiative was highlighted in the Driesnote at DrupalCon Portland 2022 as a key component of Drupal 11.  Come learn about the initiative, what we have accomplished to date and the ways you can contribute to Project Browser. Everyone is welcome - including site builders and those new to Drupal.

Maximum PhpStorm

Session Category Development & Performance Room 182 Audience Intermediate Speaker(s) Chris Weber

Together we'll go beyond learning how tools like PhpStorm can level up your developer-y super powers and demonstrate how your developer life can change if you maximize your use of these tools.

---

As developers we struggle everyday to solve problems and we rely on development tools to help us puzzle through those problems. Years ago, I adopted PhpStorm to augment my skills and in doing so I've learned a lot of ways how to gain the most out of the tool.

Come as we break through the levels of complexity and level up your skills as we talk about:

* Navigating through code to quickly reach the depth and breath of the Drupal codebase.
* Use your detective skills to understand your code with debuggers, code comparison tools, code generators, and history.
* Scan your code for errors with passive analysis tools.
* Rummage through your endless bag of self-made solutions, tools, and handy helpers.
* How to make PhpStorm adapt to the way you like to work and harness the power of keyboard shortcuts to gain a new super power.

Ahead of the talk, if there are specific things you want to hear about. Please shout out to me @chris_m_weber on twitter or leave a comment.

Meet Drupal 10

Session Category Beginner Track Room 179 Audience Beginner Speaker(s) Matthew Lechleider

Join our introduction to Drupal 10 for a hands-on experience of what’s new and improved. Not only will we cover an intro to Drupal 10, but you’ll:

  • Play with a free Drupal 10 website.
  • Learn how to create and edit content.
  • Add users and manage groups with permissions.
  • Utilize open-source modules to extend functionality of your website.
  • Ask questions and interact with speaker.

Agenda:

  • Drupal Basics, History, Common Terms
  • “Hello Drupal 10”
  • Create an about page and terms page
  • Add About and Terms page into navigation menus
  • Edit About page to learn about content revisions
  • Adding users and changing passwords
  • Adding groups of users and permissions
  • Adding modules to extend functionality
  • “Core Functionality” vs. “Contributed”
  • Questions and Answers

Who should attend this webinar?

People new to Drupal. Maybe a non-developer employee of an organization that works with Drupal — looking to catch up or someone looking to get started!

Introduction to GitOps

Session Category Development & Performance Room 159 Audience All Attendees Speaker(s) Paul Gilzow

Most organizations are facing ever-tightening budgets, while demands on Marketing and Communications (MarComm) increase at an even greater rate. Combine MarComm's need for agility and speed with IT's desire for long-term stability, and you end up with a recipe for frustration, in-fighting, and ultimately missed opportunities. How can institutions balance these competing demands, while also facing a budget shortage? Enter GitOps, an evolution of Infrastructure as Code (IaC) and DevOps best practices.

In this session, we'll:

  • Explore the idea of GitOps, using Git as the single source of truth
  • Discuss the principles, processes, and practices of building a GitOps workflow
  • Explore if GitOps is right for your team (if your infrastructure is already in the cloud, then the answer is most likely "yes")
  • Demonstrate how GitOps can empower your MarComm developers to respond to requests faster, improve security and reliability, and ultimately do more with less.

To the selection committee:
GitOps provides numerous benefits to organizations including a better developer experience, faster deployments, standardization, consistency, reliability, improved security, and compliance. All things most organizations so desperately need. In talking with developers, they often describe the very challenges that GitOps solves. My hope with this presentation is to expose this concept to developers and administrators who may be unfamiliar with the concept.

Envisioning a Design System Maintained by the Drupal Community

Session Category Theming, Design, & Usability Room Auditorium Audience Intermediate Speaker(s) Brian Perry

The Generic Drupal Web Components project aims to create a library of web components that are accessible, framework agnostic, possible to style, and easy to use with data provided by Drupal. In support of the Decoupled Menus initiative, an initial menu component was created as a proof of concept. This talk will focus on the lessons learned creating this menu component, and how this model could be followed to create a full design system that could be maintained by the Drupal community at large. Topics will include:

  • How using web components allows us to offer a single set of components that can be used in a variety of front ends, from popular JavaScript frameworks like React, to Drupal’s Twig based templating engine.
  • Structuring components to allow a variety of styling options, while still taking advantage of scoped styles.
  • State management and approaches to handling data from a wide variety of data sources.
  • Thinking ahead to the possible impact of a community driven design system.
  • Learning from similar efforts within the Drupal ecosystem.
  • Keys to success for this project, and how you can help.

NextJS in Drupal workshop (part 2)

Session Category Sessions off the "Drupal Island" Room 182 Audience Intermediate Speaker(s) Alejandro Moreno López Julian Valero

**This is part 2 of the workshop**

Decoupling can be hard. You don't have just to worry about your application (now actually two applications) but also now you have (at least)  twice the number of services and infrastructure worries  in both, production and non production environments. How can you manage a growing list of complexities while you also keep on building new features, fix bugs and all without losing your head? 

Welcome to Pantheon. Pantheon is not just a hosting company specialised in Drupal and Wordpress. We are actually the number one webops company, producing some of the best tools for web development that save uncountable hours of productivity to thousands of developers across the world using our platform.

So when our engineers decided to put their heads together to help with the decoupled conundrum, they came up with a solution capable of saving again hundreds of productivity hours and downtime nightmares. Stop worrying about setting up local and non production infrastructure, hosting it in different environments, ensuring uptime, security and a long list.

Come to this webinar to learn the easiest way to start decoupling in Drupal. Long time Drupal architect and Software Engineer, Alex Moreno will walk you through a short 15 minutes demo while all attendees will have the opportunity to set up a new backend in Drupal, and then a new front end in NextJS, both connected and displaying the content from Drupal in our NextJS application.

But we won’t stop here. We’ll make our first change in the application and we’ll see how those changes could be reviewed in their own environment, automatically created for the PR by Pantheon infrastructure. Let me repeat that again. Automatically spin up, fully functional environments for each Pull Request created in minutes.

Did you have enough? Well, actually, we’ll see as well our own contributed solution to the community to preview content while editing Drupal before saving that content in our frontend applications.

Works on Everyone's Machine: An Overview of Local Development Tools

Session Category Development & Performance Room 180 Audience Beginner Speaker(s) Tearyne Almendariz

Yes, you've heard of multidev, but what about local dev?

Local development tools like Lando and DDEV are some of the most important tools teams can utilize to work iteratively and coordinate on changes, especially for working on projects at scale. Using local development environments, you can improve your team's work flows, increase developer confidence and communication, have more robust quality assurance practices, and more. Local development tools can improve overall development team performance, and even designers and other non-coders can benefit from their use.

This talk will help you decide which tool might work best for you and point you to resources to get started.

The 10 Most Useful Libraries in Drupal 10 Core

Session Category Development & Performance Room 179 Audience All Attendees Speaker(s) Andy Blum

Drupal 10 ships with more than 75 front-end libraries! While these are included for the use of core functionality, you can use them for your projects as well. In this session we'll go over the 10 most widely-useful libraries in core that will enhance your next build's performance, accessibility, layout, and interactivity.

Following this session, attendees will be able to:

  • Identify situations when Drupal core libraries can be useful
  • Use core libraries in their themes or modules

To get the most out of this session, attendees should be familiar with:

  • Creating frontend libraries for themes or modules
  • Basic JavaScript

NextJS in Drupal workshop (part 1)

Session Category Sessions off the "Drupal Island" Room 182 Audience Intermediate Speaker(s) Alejandro Moreno López Julian Valero

Decoupling can be hard. You don't have just to worry about your application (now actually two applications) but also now you have (at least)  twice the number of services and infrastructure worries  in both, production and non production environments. How can you manage a growing list of complexities while you also keep on building new features, fix bugs and all without losing your head? 

Welcome to Pantheon. Pantheon is not just a hosting company specialised in Drupal and Wordpress. We are actually the number one webops company, producing some of the best tools for web development that save uncountable hours of productivity to thousands of developers across the world using our platform.

So when our engineers decided to put their heads together to help with the decoupled conundrum, they came up with a solution capable of saving again hundreds of productivity hours and downtime nightmares. Stop worrying about setting up local and non production infrastructure, hosting it in different environments, ensuring uptime, security and a long list.

Come to this webinar to learn the easiest way to start decoupling in Drupal. Long time Drupal architect and Software Engineer, Alex Moreno will walk you through a short 15 minutes demo while all attendees will have the opportunity to set up a new backend in Drupal, and then a new front end in NextJS, both connected and displaying the content from Drupal in our NextJS application.

But we won’t stop here. We’ll make our first change in the application and we’ll see how those changes could be reviewed in their own environment, automatically created for the PR by Pantheon infrastructure. Let me repeat that again. Automatically spin up, fully functional environments for each Pull Request created in minutes.

Did you have enough? Well, actually, we’ll see as well our own contributed solution to the community to preview content while editing Drupal before saving that content in our frontend applications.

Accessible JavaScript In Action

Session Category Theming, Design, & Usability Room 162 Audience Intermediate Speaker(s) Andrew Olson

In this session, we will examine common Web interactions and explore ways to make them more accessible. We'll investigate different ways people can experience these barriers. We will then present solutions using JavaScript in simple, creative ways.

In this session, we will review accessibility challenges presented by these components:

  1. Modals. We will examine a modal overlay that attempts to reward users with a 50% off coupon. This type of interruption can create a real barrier for people with disabilities.
  2. TypeAhead or Autocomplete. We will review a site search component that attempts to help users complete their entry accurately and allow them to further refine suggested options. We will review the accessibility feature Drupal.announce and demonstrate how providing feedback to users can help them accomplish simple tasks.
  3. Menus. We will evaluate complex menus that contain multiple levels of links. Navigating a multi-level menu or a mega menu can prove to be challenging for keyboard only users.

This session aims to provide practical tips and solutions that will help all users, regardless of their abilities, have equal access to content and functionality.

Using Feeds Module to Import from Non-Drupal Web Applications

Session Category Site-Building Room 159 Audience Intermediate Speaker(s) Ellen Jones

Often when building a Drupal web application as a redesign of a non-Drupal site, there is a need to preserve, export and import the existing data, relationships within that data, as well as user accounts.   

The Feeds and Feeds Tamper module can be utilized, along with SQL query skills, to successfully accomplish this migration.  There are several concepts to keep in mind when using these tools in order for existing data model relationships to be preserved and migrated into the new Drupal site’s content model. There are some time saving strategies to help keep the new data within Drupal associated back to the original data model and values.

This session will provide lessons-learned from migrating various site data both from databases and flat files.  There are concepts to factor into the process, such as:

  • the order in which the content type datasets are imported,
  • preserving user id numbers (if desired),
  • preserving one-to-many or many-to-many relationships (entity references) from the source system into Drupal,
  • the value of preserving historic id values from the source system,
  • refreshing previously-loaded data to apply new fields or update existing data values
  • organization and source control of the feed import files 

For this session will include a live demonstration, using a small PHP web application and demo database (4 tables). Demonstration will show the data import into a Drupal 9 redesign of the PHP website.