2024 Selected Sessions

Drupal Camp Asheville 2024 - July 12th-14th

Accessibility is Whole Team Responsibility

Our State of North Carolina Digital Commons platform supports 85 state websites that serve over 10 million constituents. As we acknowledge the growing preference for digital channels as the primary means of engagement, we work to prioritize the development and design of their websites and digital services to align with the public's expectations. We aim to deliver high-quality, user-friendly experiences that are seamless, accessible, and secure by design.

This approach is designed to elevate customer satisfaction, foster trust, and enrich the overall user experience and could be described by three pillars of accessibility practices at NCDIT:

  • Design and develop with accessibility in mind.
  • Test for accessibility before deployment.
  • Review content for accessibility with Monsido.


Accessibility is Whole Team Responsibility with Elena Talanker and Marla Laubisch
Elena Talanker
North Carolina Department of IT
Marla Laubisch
North Carolina Department of IT

Advanced Layout Builder for the Ambitious Site Builder

Layout Builder is great - right?  Not really - “out-of-the-box” it’s pretty terrible.  Despite a few initiatives that are trying to create a better experience, we’re probably a couple of years away from seeing anything specific.  

This session is going to present Layout Builder in a way that actually makes it easier to use with beautiful results that anyone can implement.  You’ll come away with a list of recommended contrib modules, a list of configuration settings, and a completed site with styles, pre-set blocks and more - all without a line of code and without locking in to any vendor.

We’ve been using this approach to convert non-Drupal sites over quickly, along with making the content editor’s job a LOT easier.


Advanced Layout Builder for the Ambitious Site Builder with Rod Martin
Rod Martin

Balancing Act: Navigating Resourcing with Empathy and Efficiency

With crunched timelines and tight budgets, how do you take team members' well beings into consideration and not burn them out while also meeting milestones, deadlines, and the ever-shifting priorities of your stakeholders? Don't worry about answering that yourself; we're here to walk you through it!

Through true-to-life scenarios, challenging exercises, and Q&A that focuses on people before projects, you'll learn how to:
-- Humanize your team to leadership
-- Communicate internally and externally with practicality and empathy
-- Resource allocate realistically
-- Schedule like an actual person

And more!

Join us for an interactive session of real-world examples on exactly how to maintain your humanity and business acumen as you recourse your projects.

Balancing Act: Navigating Resourcing with Empathy and Efficiency with Nina Ogor
Nina Ogor

Beyond the Standup - Why Effective Culture Are Essential to Successful Teams

There is so much focus on people, process, and product that we sometimes forget about the concept of culture as an essential ingredient for a highly effective teams. Teams who focus on building effective cultures are 15% more productive than teams who just let the culture develop and take shape on its own. 

This session will explore the value of building a collaborative, cohesive, and inclusive team culture, its effects on individual employees, as well as on the customer experience. We will also outline how to build this kind of culture from the ground up, and most importantly, how to continuously grow and evolve the culture with the team intentionally, not by accident.

    Beyond the Standup - Why Effective Culture Are Essential to Successful Teams
    Dr. Dhru Beeharilal
    Nayan Leadership, LLC

    Building a LAMP Based Web Server in the 21st Century

    When selecting a place to host your Drupal site (or any kind of website) you may feel stuck between the many commercial products out there, from Plesk and CPanel to third-party ISP hosting.  There is another option: you can still build your own fully open-source web server in the tradition known as LAMP (Linux, Apache HTTPD, MySQL, PHP).  We'll step through the process of standing up a LAMP server in the modern era, including how to configure it for multiple sites through virtual hosting options, and how to keep things reasonably secure.  It's not as easy as using a third-party ISP, but it's not rocket science and it's a whole lot cheaper in the long run.

    Building a LAMP Based Web Server in the 21st Century session slide with Kevin's headshot and a puppet
    Kevin Pittman
    Georgia Institute of Technology

    Color in CSS: using new spaces, functions, and techniques to make your site shine

    When working with color on the web, we’ve always had a few choices: HEX, RGB, and HSL. In recent years, however, the color level 4 specification introduced a few newcomers: HWB, LCH, okLCH, LAB, and okLAB. What are these new color options, and what do they add to variety of color choices we already have? Let’s get nerdy about colors and the options we have today.
    In this talk, I will discuss

    • What’s new in the CSS Color Module Levels 4 and 5
    • An overview of color spaces available today
    • How to use some of the new CSS color functions
    • Using CSS custom properties to change the values of color items within each color space
    • Ways to ensure the colors you use on your site are accessible by using prefers-contrast, light-dark, and other modern techniques

    Attendees will come away from this session with a deeper knowledge of the new color spaces and CSS color functions to make adding color to your site even easier!

    Color in CSS: using new spaces, functions, and techniques to make your site shine with Aubry Sambor
    Aubrey Sambor

    Coupled? Decoupled? Headed? Headless? What Does it All Mean?

    In an ever evolving web landscape, it's crucial to keep up with the latest trends and technologies. If you've ever found yourself scratching your head over terms like "Coupled," "Decoupled," "Headed", or "Headless" when it comes to Drupal, you're not alone. This session aims to demystify these concepts and provide a clear understanding of how Drupal fits into each.

    Join us to gain a deeper understanding of the coupled, decoupled, and headless approaches in the context of Drupal. We'll explore use cases, and best practices, and share insights into how Drupal can empower dynamic modern experiences. Whether you're new to Drupal or an experienced developer, you're bound to discover new ways to harness the power of Drupal.

    Coupled? Decoupled? Headed? Headless? What Does it All Mean? with Kyle Einecker
    Kyle Einecker
    True Summit

    From Managed Hosting to Cloud Freedom: Three Pathways to AWS or Digital Ocean

    This sessions is about three ways to move your development environments and production hosting to your own cloud provider (like AWS or Digital Ocean). High-level overview of what it takes to migrate from managed hosting to your own cloud providers. We address setup, dev tools, cloud dev and staging environments, scalability, security and release management. We will look at an actual case study from start to end and consider their options and decisions.

    From Managed Hosting to Cloud Freedom: Three Pathways to AWS or Digital Ocean media slide with Salim and Will's headshots
    Will Kirchheime
    REI Systems
    Based in New Orleans, Will is a seasoned Technical Architect with over two decades of experience in software development and engineering leadership
    Salim Lakhani

    From Setback to Security: Navigating Data Loss in AWS

    Imagine starting your week with the discovery that all your AWS-hosted photos have vanished. This unsettling scenario became our reality when AWS S3 bucket keys were compromised, leading to the unexpected deletion of essential digital assets. While our websites continued to operate, the loss highlighted the fragility of our digital storage practices and sparked a journey towards securing our assets against future threats. This session will share insights into the incident, focusing on the loss and recovery of photos, the implementation of robust backup strategies, and the importance of securing sensitive information. We'll explore actionable strategies for preventing data loss, enhancing AWS security, and ensuring that your digital assets remain safe and recoverable.

    From Setback to Security: Navigating Data Loss in AWS with Justin Keiser
    Justin Keiser
    Academy of Model Aeronautics

    Getting Stuff Done: Working with Queues in Drupal

    Processing large volumes of data in a long-running task is neither performant nor scalable.  If you've ever had to bulk update entities with an update hook and Batch API, or with a script run via drush, you know what I'm talking about.  If you've ever had to send thousands of emails with Drupal and a hook_cron() implementation, you know how tricky that can be to process them all in a reasonable amount of time.

    What if there was another way to process lots of jobs in a fast, safe, and scalable manner?  In this session, I will introduce you to Drupal's Queue API and the database queue, which are baked into Drupal core.  We'll discuss:

    • When to use queues
    • Types of database queues in Drupal
    • Queue workers, including how to build your own scalable, dynamic queue workers
    • Automated testing of queues and queue workers


    Getting Stuff Done: Working with Queues in Drupal session slide
    Erich Beyrent

    Improving Page Builder UX with Layout Paragraphs and Single Directory Components

    Are you committed to using the Paragraphs module and have thousands of paragraphs in use? Are your content creators wanting a better authoring page building experience?

    NCDIT Digital Commons platform has 85 North Carolina State agency web sites and thousands of paragraphs on a Drupal 10 multi-site platform. Our content authors want a better authoring experience than long scrolling form pages to build their complex page layouts. We developed a solution using Layout Paragraphs module and customizing the Claro admin theme using Bootstrap and the paragraphs using Single Directory Components to render a WYSWYG author editing experience on the admin. The admin theme was customized and converted paragraphs to single directory components to achieve a WYSWYG content editor authoring experience that comes close to other popular page building tools while preserving Drupal’s Structured Data Model. This presentation will walk through key steps of the technical process of converting paragraphs to Single Directory Components, configuring Layout Paragraphs, using Drupal Migrate module to migrate paragraphs into Layout Sections and adjusting the Barrio Subtheme SASS build to render components correctly in the admin theme.

    Introduction to GitHub Actions: Understanding Key Terms and Building Your First GitHub Action

    We all know we should be doing more automation of our software development lifecycle, but getting started can be challenging. Even if you have experience in continuous integration and continuous delivery (CI/CD) automation, learning a specific platform's terminology and idiosyncrasies can be frustrating.   

    This presentation is designed to provide an overview of GitHub Actions, a CI/CD platform that allows you to automate your build, test, and deployment pipelines, and writing one's first Action, a reusable component that can automate repeatable tasks. We'll start by going over key terms and concepts in the GitHub Actions platform, such as actions, workflows, events, and jobs, and explain how they can be pieced together to build robust and dynamic automations.

    Then, we'll dive into the process of building your first GitHub Action, walking through the steps of creating a new action, the types of actions you can create, defining inputs and outputs, and required properties. We'll then work together to build an action that can be immediately used in your own workflows.

    Whether you're a seasoned developer looking to move to GitHub Actions, or a newcomer to automation looking to get started with your first CI/CD automation this presentation will help jumpstart your journey. 


    Introduction to GitHub Actions: Understanding Key Terms and Building Your First GitHub Action session slide with Paul's headshot
    Paul Gilzow

    Level Up Your DDEVry

    DDEV provides a powerful suite of commands and tools that often go underutilized. You may have read about some of them, but have you seen them in action?

    This session provides a quick overview of DDEV architecture and how it can empower you and developers of all levels to get up and running in minutes.

    We will also look at the DDEV top 10 most-asked questions for insights into what the DDEV community might have found challenging at first and how one can save that time.

    Level Up Your DDEVry with Bernardo Martinez
    Bernardo Martinez

    Leveraging Diversity and Inclusion in Drupal: Empowering Change Agents

    An empowering and engaging program tailored for professionals within the Drupal community who are passionate about fostering diversity, equity, and inclusion (DEI). In this session, Mariah will guide participants through actionable strategies to become agents of cultural change and champions of inclusivity within the Drupal ecosystem.

    Leveraging Diversity and Inclusion in Drupal: Empowering Change Agents media slides
    Mariah Manuel-Berry
    Knowledge Career Experts LLC

    Next Js and Storybook with Drupal

    In this session we will be covering the following aspects:

    1. Introduction of Next Js on a wider scale
      • Here we will talk about how Next Js is growing to be a focal point among the developers and how we can leverage Next Js with our applications.
    2. Ways of integrating Next Js with Drupal
      • While learning about Next Js we should surely know various options available to marry our Drupal CMS with Next Js to showcase our data.
    3. Usage of storybook and why not to use the traditional method?
      • Storybook has been a buzz since few years but have we really thought why not to go ahead with traditional way of theming in Drupal and why are we actually leveraging Storybook in Drupal?
    4. Ways to integrate Storybook with Next Js
      • Now that we understood two powerful tools, let's see how we can combine the two of them to have our application better performed in much optimised and systematic manner.
    Next Js and Storybook with Drupal session slide with Sibu's headshot
    Sibu Stephen

    Progressive Web Apps (PWAs) with Headless Drupal and React

    This session delves into the cutting-edge realm of Progressive Web Apps (PWAs), exploring their innovative potential in conjunction with Headless Drupal and React. Attendees will gain insight into the intricacies of PWA implementation, including step-by-step guidance on integrating PWAs with Headless Drupal. Highlighting the robust offline support inherent in PWAs, as well as the dynamic capabilities of push notifications, the session elucidates how to craft an app-like user experience. Through a live demonstration, participants will witness firsthand the transformative impact of PWAs. Furthermore, a comprehensive examination of the pros and cons, as well as a forward-looking analysis of the product's future trajectory, will equip attendees with a well-rounded understanding of the PWA landscape.

    Progressive Web Apps (PWAs) with Headless Drupal and React session slide
    Navya Kosaraju
    Valuebound Consulting Services Pvt Ltd.

    Unify the Association Digital Experience with Drupal Commerce

    Drupal Commerce is an ideal platform for associations and other non-profits who use their websites to educate, engage, and market products, services, and fundraising campaigns to their constituents. Centarro has worked with numerous such organizations who:

    • Use Drupal's CMS features to publish rich content targeting multiple audiences
    • Sell the content itself or else goods and services related to the published content
    • Sell memberships or collect dues or donations that are one-time or recurring
    • Sell continuing education course access, credits, and certificates
    • Integrate with CRM and marketing automation tools to market to their constituents
    • Integrate with ERP and fulfillment systems to automate thousands of orders per year

    Most organizations use multiple platforms to accomplish all of the above when they could consolidate their expenses and unify their digital experience with a single platform, Drupal Commerce. Come to this session to learn how. Note: no technical background required, but this will include live demonstration of the platform's feature set and open the floor for questions about specific capabilities or development patterns as led by the audience.

    session media slide with Ryan's headshot
    Ryan Szrama

    What is an After Action Review? Let's Learn from our Issues.

    DoD developed the After Action Review (AAR) as a way to to learn quickly from soldiers' experiences in the field.

    Today, AARs have been adapted to allow software developers and security professionals to address issues as they come up with the focus being what can be learned and then put into practice.

    We will also take a look at how to use a template for conducting an AAR, who to invite to the meeting, conducting the meeting and follow up post AAR. 


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

    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.