Accepted Sessions

Automated Regression Testing

Session Category Development & Performance Room Room B/C Audience Beginner Speaker(s) chamil amarakoon Devin Kendall

At UMN we are running large multi-site instances that share a codebase. Many customers downstream of us build with the design system we develop and others create custom-developed solutions that build upon our components.

To continually deliver quality work while avoiding regressions for our customers, we implemented both visual regression tests using BackstopJS and end-to-end functional tests with Cypress. This allows us to develop enhancements to our features and catch issues without relying on the slow manual testing process. We also made our tooling available to our customers to use with their custom solutions.

We would like to share this process and talk about the benefits of automated regression testing.

Thank you!

Building a Theme Cascade for downstream site building.

Session Category Site-Building Room Room B/C Audience Intermediate Speaker(s) Oz Heller

Come One, Come All! I built a theme system using taxonomy, configuration and preprocessors. Why you ask?! To create a Pantheon upstream site that has all the components needed for a content editor to start building a downstream site without the need for further development while getting all the brand colors you need. Using this system a second site was built and launched within 30 days of the first site.

This code walk thru is for Site Builders, Full Stack Developers and Themers. We will walk thru the configuration setup and thought process of the Taxonomy, Content Types and Components; stroll over the inspector to investigate the page, css variables and components; and finally we will  dive into the preprocesses and logic that tie it all together.

As you leave, I hope you will have gained the insight into why and how you could build a dynamic theme system and the inspiration to dream and build your own interconnecting ambitious system.

Diversity & Psychological Safety

Session Category Community Room Room A Audience All Attendees Speaker(s) Canin Carlos

It is suggested that you read the following, as the presentation will begin where this ends. Thank you.

You are all leaders; in your families and your communities. You are responsible for helping others do and be better, not just for themselves, but for collective growth and well-being.

And so this is about productivity, efficiency, optimization. Though we must also remind ourselves that the pursuit of "success" and excellence, can itself be an obstacle to achieving these goals.

So what do we mean, when we say "productivity"?

We're looking at what is called Human Capital Theory & Economic Development. Essentially, there are three components to any economy, raw materials, labor and capital; but increasing any of these ends in a plateau of growth, not continued exponential growth. The only resource able to be increased with seeming perpetual benefits to growth, is education.

So what is Education, and how do we define the value?

Whether it is a D-1 athlete, or a legacy admission, and granted these are stereotypes/hyperboles ... it is not unfathomable to think that past metrics of "education" are not sufficient.

Even according to Economic theory, numbers are considered good if they can explain 20-35% of the correlations we see in the data (via the R-squared and Adjusted R-squared metric.)

Moreover, we must then ask ourselves, does money equal success? Or does education guarantee success?

Regardless, in order to attract and retain the best talent, it seems now more than ever, one needs to be paid in something more than money.

And so this is where our presentation begins ... what does that that mean, and what might that look like? To be paid in value more than money?

Yes, this is complex; yet it is also simple. We're going to break it down into accessible components, and then see how they combine to create the individuals we experience.

Because at our core, each of us just wants to feel productive. Though exactly how to do that is complicated by the unique situation our society presently finds itself confronting.

As we start to seek safety from ourselves.

And so begin to ask, who are we?

And as leaders, how can we better see others around us, so as to serve them better and so further nurture individual and collective growth ... yes/no/maybe? 

And this is the start of the conversation :)

Agenda:

0-5m: Introductions
5-25m: Presentation
25-40m: Conversation

About Canin Carlos

I've been working with code since MySpace, and playing with Drupal since 2008 ... This talk is about tech as a community.

I will be presenting the core ideas behind, within and around, Manifesting Empathy & ForWhiteMenOnly for the first time publicly.

Though this conversation will be open to, and intended for, all.

The goal is to provide alternative ways of looking at diversity while providing a safe space for exploration and conversation. We'll explore ways to process diverse experiences, and gain tools to optimize growing with them.

I was adopted by Scandinavian farm-raised Evangelical upper-middle class Minnesotans, as an infant. I graduated K-12 from the "#1 Traditional School in the State of Minnesota", or something like that; and I now work as a web developer for a research institute at the UofM. 

About 7 years ago I reconnected with my biological family; and by the time of this presentation, will hopefully have completed my degree in Economics, Statistics and Communications from the University of Minnesota.

Diversity cannot be taught, it can only be experienced. I am an experience, though have structured myself to be as educational and informative as possible in these conversations. So I am an experience that you will walk away from, not just with memories, but with tools for better-navigating an ever-diversifying world.

Vamo puesh, si o no?

Canin Carlos | DreamFreely

 

Don't Put It All on the Homepage

Session Category Theming, Design, & Usability Room Room B/C Audience Beginner Speaker(s) Dan Moriarty

So many websites suffer from content bloat, especially the all-important homepage, as they try to meet all the needs of a wide-ranging audience (including internal staff and leadership). 

Multiple call-to-action sections, image sliders, department news, upcoming events, workshops, registrations, mission statements, and navigation menus that stretch on and on. It’s all too much! 

Let’s put the focus back where it belongs – on your users. What do they need most? What actions and pathways do you want them to take? How can we simplify the navigation and make a better user experience? 

We’ll move through the stages of resolution, from identifying when there is a problem to the joys of finding solutions. Using real case-studies from past projects, we’ll talk about strategies for taming the homepage, and applying the same lessons to your site navigation and other landing pages.

Drupal Starshot Panel Discussion: Shaping the Future Together

Session Category Community Room West Wing Audience All Attendees Speaker(s) Martin Anderson-Clutz Joe Shindelar Matthew Tift

Join us for an engaging panel discussion on the Drupal Starshot (Drupal CMS) initiative, an ambitious project aimed at propelling Drupal into the next decade of innovation. Our panel of industry experts and community leaders will delve into the vision behind Starshot and discuss its potential to transform the Drupal ecosystem.

In this session, we will explore:

  • The goals and roadmap of the Starshot initiative
  • Key projects and milestones that will drive Drupal's evolution
  • Opportunities for community involvement and collaboration
  • Insights from panelists on the future of open-source development

This discussion is designed for Drupal enthusiasts of all backgrounds, from seasoned developers to newcomers eager to contribute. Come with your questions and ideas, and be a part of shaping the future of Drupal!

Don't miss this opportunity to connect with thought leaders and fellow community members as we chart the course for Drupal's next era.

FrankenTheme: Shortcuts for fast theme development.

Session Category Theming, Design, & Usability Room Room B/C Audience All Attendees Speaker(s) Bernardo Martinez

The goal of this session is to explore OSS (open source software) themes, both core and contributed, to find useful techniques and snippets of code that help speed up theme development or upgrade older themes.

Projects we might explore include 4Kitchens Emulsify, DrupalX, Wingsuit, Olivero, Rain, DrupalGovCon2017 theme, and more.

If you are new to Drupal or haven't done much theming this session should glance at what's available and how you could leverage those to build or upgrade your theme.

From Managed Hosting to Cloud Freedom: Three Ways to Migrate your Sites to AWS or Digital Ocean

Session Category Beginner Track Room Room A Audience All Attendees Speaker(s) SAL Lakhani

Have you ever considered migrating your sites from your current hosting provider? This session talks about the options you have, the pros and cons, the process, the timeline, the costs involved, and risks you may encounter. We will look at three ways to migrate your sites. From simple to complex migrations that include dev and staging sites in addition to the live/prod site. We'll discuss how you can move your sites to your own accounts on AWS, Digital Ocean, or any other cloud provider. We will look at an actual case study from start to end and consider their options and decisions.

Getting Started with Visual Regression Testing

Session Category Development & Performance Room West Wing Audience Beginner Speaker(s) Wilbur Ince

Visual Regression Testing (VRT) is a powerful tool that can transform your development process - for the better! But how do you get started?

My commitment to you - I will get every attendee running VRT with Backstop by October 1st!  Here's how:

  • Attend this session to get a full understanding of how VRT works and how you can use it to get results. 
  • Attend my unconference session on Friday Afternoon, for a hands-on session to get Backstop running on your local machine.
  • Attend VRT Office Hours that I will host in September (TBD) to resolve issues and tweak your install.
  • YOU can do this!

This session will give you the tools to get started with VRT:

  • Overview - Understanding how VRT works
  • Installation - Get VRT running on your machine
  • Configuration - Installing VRT in your project
  • Operation - Running your first VRT test!
  • Implementation - Show you places where VRT works for YOU!

This session is for beginners and people new to VRT, but be warned - you WILL touch the COMMAND LINE.  This is the first step to making friends with the command line - your silent shiny blinking friend!  

This might be the easiest Development and Performance at this year's camp, and the most effective!

How to Love Your Team Without a Get Along Shirt

Session Category Sessions off the "Drupal Island" Room Room A Audience All Attendees Speaker(s) Jennifer Brueske

Learning to work with others can be daunting, scary, frustrating and can even feel downright impossible some days.  Compile that with learning to code, implementing a new feature, migrating hosts, upgrading Drupal versions, or simply trying to commit a configuration change and the mood can quickly turn less than fantastic.

Let's talk about ways to improve processes! Let's talk about ways you can improve the workflow even with less than enthusiastic teammates! Let's talk everyone's favorite things in development like documentation, communication, version control, documentation, training, morale, and more documentation!

How Your Website Handles Secure Data

Session Category Development & Performance Room Room A Audience All Attendees Speaker(s) Dan Ficker

Every day, visitors send and receive data from your web site. We know it is secure if the web developers are using industry standard practices, but how does it work?

On modern websites, pretty much every bit of communication between a visitor and each website is encrypted for the security of the site owners and visitors. And when you use a password to log in to a Drupal site, the site doesn’t know your password; they only store an encrypted version of the password. In this session, we will explain in not-too-technical language how these technologies work. We will also talk about other things Drupal does to provide security like salting hashes, login form limiting, etc.

After this session, you will understand the basics of how data on websites is secured and why it is smart to use standard practices for best security. We will also talk about resources for improving security further on your site, if desired.

Imposter Syndrome's bigger, badder sibling: Shame

Session Category Sessions off the "Drupal Island" Room Room A Audience All Attendees Speaker(s) John Albin Wilkins

So much of our lives is spent working. We talk about work/life balance. And sometimes we talk about harder things, like Imposter Syndrome, or burnout, or "mental health". But we rarely talk about mental illness or about how our emotions affect our lives and our work.

At the root of Imposter Syndrome is shame. Shame is a complex emotion. And, in addition to imposter syndrome and burnout, shame can lead to a myriad of problems in our work lives: cycles of procrastination then frenzied work, avoiding work issues, poor boundaries, reduced problem solving ability, black and white thinking, criticism, and abusive behavior. Sometimes we may not even recognize that we are feeling shame while it is affecting our behaviors.

Despite what Instagram ads may say, there is no easy, 1-minute fix. But understanding the complexities of shame has helped me to begin to navigate these issues and start to heal. We cannot be afraid to talk about shame.

In this session, we will:

  • define shame, imposter syndrome, burnout, etc.
  • discuss what causes shame
  • analyze how shame works
  • seek solutions

IXP Community Initiative: Using Contribution Credits to encourage organizations to hire new Drupal talent

Session Category Community Room Room B/C Audience All Attendees Speaker(s) Michael Anello

The IXP-Fellowship, a Drupal community initiative for onboarding inexperienced developers has its initial goal of using Drupal's contribution credit system as an incentive for Drupal organizations to hire new and inexperienced Drupal developers. 

One of the major challenges for new Drupal developers is landing their first paid gig. As a community, we can't expect Drupal to grow if there are limited ways for new, inexperienced Drupal developers to gain that important initial experience.

Over the past year, the IXP community initiative has worked to define and implement a process to utilize existing drupal.org functionality to incentivize Drupal agencies and other organizations to hire trained, inexperienced developers in exchange for drupal.org commit credits.

In this session, you'll learn about the overall scope of the initiative, its current status, and how you and/or your organization can get involved.

Maximizing Project Success: High-Value Partnerships

Session Category Project Management & Consulting Room Room A Audience Intermediate Speaker(s) Norah Medlin

The contract is signed, the project team is defined, and goals are set. So you’re probably thinking, let’s kick the project off. Although it’s exciting to jump in and make progress on a new project, there’s a lot to think about before getting started.

Successful projects are a result of great partnerships, and it’s important to establish a strong project team and be on the same page from the start. In this session, we’ll cover the importance of:

  • Business and client team building
  • Encouraging Trust through transparency and delivery
  • Empowering decision-makers with a discovery-first approach
  • Performing phased projects to deliver success when dealing with high-risk and uncertainty

Synopsis

In the tech agency space, agencies may perform poorly because they act as a "middle man" instead of a "facilitator". Whether you’re an agency or work with one, join us to learn the best practices for successful project management and a successful agency partnership.

Learning objectives

At the end of this session, attendees will be able to host valuable and transparent team-building activities with their partner businesses and produce successful projects.

Content focus area

Leadership, Management & Business

Target audience

This session is for project teams (both at an agency and within an organization) who are interested in effectively managing projects from the start.

Prerequisites

Attendees will get the most out of this session by being familiar with business-client relationships.

Maximizing Visual Studio Code with DDEV for Drupal developers

Session Category Development & Performance Room Room B/C Audience All Attendees Speaker(s) Michael Anello

A modern Drupal development environment enables the developer to work at peak efficiency to create sustainable code that meets modern coding standards and is bug-free (hopefully!) By leveraging a modern IDE like Visual Studio Code, along with a recommended set of extensions and configuring, one can put themselves in a position to succeed. 

This session will demonstrate how to set up Visual Studio Code to work with DDEV and a number of code quality tools to maximize a developer's efficiency. This includes integrating phpcs, phpcbf, PhpStan, and PHPUnit with Visual Studio Code's interface as well as making it easy to run PHPUnit tests directly from the Visual Studio Code interface. Furthermore, guidance will be provided on how to configure Xdebug with Visual Studio Code.

Attendees of this session will leave with the knowledge necessary to configure their copy of Visual Studio Code as will be demonstrated in the session. 

Principles of Configuration Management

Session Category Development & Performance Room West Wing Audience Advanced Speaker(s) Matthew Tift

Do you understand how Drupal's configuration system is supposed to work? Do you ever experience inconsistencies between environments? Are you interested in building a best-practice continuous integration and deployment solution with configuration validation? This session, led by a 10-year maintainer of Drupal's configuration system, will focus on how the configuration management system is designed to work, explore its integration with continuous integration systems, identify common configuration pitfalls, and discuss how initiatives like Recipes will enhance the robustness of your site's configuration.

Recipes: It's About Time!

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

One of the key elements of the Starshot Initiative is the rapidly evolving system for Recipes. Designed to accelerate site-building, recipes will help people new to Drupal to solve for common needs, and for users of all skill levels to quickly build out content architectures using best practices.

This talk will discuss the elements that make up a recipe, how to use recipes, and what new capabilities are still in development. We'll also do a deep dive into the Events recipe and its available add-ons, allowing you meet even complex requirements quickly and without custom code.

Scaling Community Conversations and Decisions

Session Category Community Room Room A Audience All Attendees Speaker(s) Benjamin Melançon

How can a group of thousands of people talk about and decide anything?  How's this 'community' concept supposed to work at scale, even in theory?

Any Free/Libre Open Source Software project will have elements of do-ocracy (rule of those who do the work), but not all decisions should devolve to implementors.  A better ideal is that decisions should be made by the people who are most affected.

Particularly when a decision strongly impacts more than those who carry it out, we need better ways of making decisions that give everyone their say.  This starts by letting people by heard by everyone else.  Fortunately, we can scale conversations and decisions in a fair and truly democratic way.

  • Learn why meritocracy ("rule of those with merit") is a bogus and harmful concept.
  • Gain a passing familiarity with various ways decisions are or have been made in Drupal and other projects.
  • Add sociocracy and sortition to your vocabulary and understand how these esoteric concepts can help our community scale.
  • Get introduced to (and give feedback on) Visions Unite, non-Drupal free software for mass communication mediated by the participants.

The most important things we have to do need to be done together.  And our work together is most powerful when we make decisions about it together.

This session is for people working on developing large communities about Drupal, with Drupal, or otherwise— or existing in society.

Server-side rendering a Drupal site with Next.js

Session Category Sessions off the "Drupal Island" Room West Wing Audience Intermediate Speaker(s) John Albin Wilkins

But Drupal can already render your website on the server! Why would you want to decouple your frontend and have it render your website in JavaScript on the server?

If JavaScript developers have just discovered that rendering on the server is faster, why aren’t we just going back to Drupal’s PHP server rendering? Because it’s simpler. With React Server Components, frontend developers can leverage their knowledge of Fetch-based API integration without having to learn any PHP, Twig, Render API, library definitions, or Drupal behaviors.

React Server Components are a new feature of React v19. This session will focus on Next Drupal, a set of Drupal and NPM modules that integrates Drupal’s JSON:API or GraphQL with Next.js, an opinionated React framework. We will discuss how the differences between JavaScript's import statement and PHP's include statement affect the way we need to build and route our application. And we will get into specifics of reducing bundle size and how to weave interactive features with server-rendered content.

In this session we will cover the following topics:

  • Why? Just why?
  • Okay, but how?
  • React Server Components in React 19 and Next.js' App Router
  • Async promises on the server
  • Client Components and the "use client" directive
  • Suspense boundaries and React rehydration
  • How the Next module improves the Drupal content editor experience
     

The Dramatic and Poetical Tale of the Website Hierarchy of Needs

Session Category Beginner Track Room West Wing Audience All Attendees Speaker(s) Steve Persch

What happens when the web team drifts apart?
What happens when they lose sight of shared goals?
Everyone optimizes their own chart.
Each role maximizes their own controls.

Hear the story of a new stakeholder
Who asks for a seemingly simple tweak
And is answered by a chain of scolders,
Each too siloed to find what they all seek.

This session will examine dynamics
Present in nearly all web teams trying
To balance many different metrics
Without clear guidance. And without crying.

Before you get lost in the WebOps weeds,
Navigate the hierarchy of needs.

The Wonderful World of Workspaces

Session Category Site-Building Room West Wing Audience All Attendees Speaker(s) Scott Weston

Workspaces fills a longstanding gap in the Drupal core content management lifecycle for site managers needing to create, review, approve, and publish groups of content simultaneously. With Drupal 11, we now (finally!) have a way to easily stage multiple content changes for your site and publish them all together, when ready. 

This session is geared toward Drupal content managers, site builders, and site administrators who want to learn more about this new functionality in Drupal 11. The session will cover:

  • General overview of Workspaces and common use cases that it addresses
  • Explore multiple approaches to leveraging Workspaces for content management
  • Review how Workspaces fits into content management workflows
  • Discuss current limitations of Workspaces and potential workarounds

Theming At Scale: A Case Study of Folwell at University of Minnesota

Session Category Theming, Design, & Usability Room Room B/C Audience All Attendees Speaker(s) Dimitri Tadege Kieran Kohlhase ALINA RIMBU

In 2017, the University of Minnesota began an ambitious project to initiate an evolving design system made up of modular components that can be combined in numerous ways to make creative and consistent University websites. A collaborative effort across departments led by University Relations, the Folwell theme is now in use across hundreds of University of Minnesota Drupal websites and continues its evolution.  

This presentation will review the history of this effort, the evolution of Folwell over time, and will include a demo of some components and sites. We will walk through the development process from feature request to production release. Finally, we will discuss some of the challenges we’ve encountered, and provide a sneak peek into plans for Folwell 2.0.

Tour of new Drupal

Session Category Beginner Track Room West Wing Audience All Attendees Speaker(s) Chris Weber

For those who are new to Drupal, or who simply want to know what's new in Drupal, let's take a tour. We'll look at the new functionality that has landed in the past year. And take a glimpse at what's on the horizon.

Features we'll talk about include:

  1. Components
  2. ECA (Event Condition Action)
  3. Experience Builder
  4. Recipes
  5. Maybe more (as I get demos ready)

There's still time to impact what we discuss.  Let me know in the comments what you want to see.

Universal CMS: The next generation of content management systems

Session Category Sessions off the "Drupal Island" Audience All Attendees Speaker(s) Preston So

At its core, content is about people.

Despite what sometimes overzealous JavaScript developers and architectural purists say, the content management system remains unique as a nexus of collaboration between disparate content and technical personas, all with their own prerogatives and goals—and for most, headless CMSs aren't the right choice.

The fact is that the CMS has stood alone in its ecological niche in the software world, bringing together people across the back office to work together to push the end user experience forward. Neither headless and composable CMSs, with their focus on developers, and hybrid-headless and monolithic CMSs, with their focus on editors, have an entirely clear answer for what the CMS's future holds.

That's where the Universal CMS comes in.

The Universal CMS paradigm restores the grand compromise that characterized the static web CMS era, with its excellent stories for developers and content editors as first-class citizens. The CMS of the future is universally editable, universally developable, and universally deployable, irrespective of the presentation layer—whether that means Vue.js or Vision Pro, Next.js or native mobile, Amazon Alexa or Angular, WebXR or WebAssembly.

Let's build the Universal CMS that honors the people at the center of all content. Are you in?

UW–Eau Claire Rebuild Case Study

Session Category Project Management & Consulting Room Room B/C Audience All Attendees Speaker(s) Adam Fuchs

Join me for an engaging and insightful session where I take you through the remarkable two-year journey of transforming a large university's custom-built CMS into a modern, efficient Drupal 10 website hosted on Pantheon. This presentation is designed to share the experiences, challenges, and triumphs.

I’ll start by diving into the initial pre-project discovery phase, where we meticulously gathered requirements and an understanding of the unique needs of the university. Moving forward, I’ll explore the thoughtful development of a comprehensive content strategy and the collaborative efforts that shaped the website's design. You'll hear from both the client's and the developers' perspectives, providing a holistic view of the entire process.

I’ll also cover the development phase, detailing the steps taken to build the new site and move content from the old site and some lessons learned! Throughout the presentation, I'll emphasize the importance of community

Why I Talk To Myself and How It Made Me a Better Developer

Session Category Sessions off the "Drupal Island" Room Room A Audience All Attendees Speaker(s) JD Flynn

A year ago I decided to start live streaming development as a way to motivate myself to learn new things.  Today, I stream almost every day, I've built a full stack application using TypeScript, I've learned game development, and I've done things with websockets and game engines that probably shouldn't be done.

It all started by talking to myself in front of a camera and pressing "Start stream".

In this session, we'll talk about how using live streaming became the ultimate rubber duck for me, and how it motivated me to learn and try new things, build a community, and expand my network around the globe.  We'll also cover what tools are available, how to set up a stream, and some tips and tricks I've picked up in the past year of streaming things that aren't me playing online games.

If you're interested in learning more, don't forget to click that "Follow"... I mean "Register" button and attend this session.