Drupal Camp Asheville 2023


Drupal Camp Asheville is an annual two-day conference that focuses on hands-on training, community contribution and knowledge sharing for all levels of Drupal experience, with a bonus community day spent together in nature.

Video Sponsor(s) / Provided by
Curated Videos
As new services pop up which compete with Drupal, we need to look at how to make the platform easier to adopt and decrease the build time needed to get a site live. As a Drupal community, we need to look at the ways we can make the platform more versatile and competitive. Drupal's community and the contributed projects it maintains is the biggest advantage Drupal has over other projects and services. Through contribution we can keep Drupal relevant and make new projects easier.

Some topics where we can focus as a community are new ready to use themes, consistent and versatile integrations, module compatibility, and other ways to improve the experience for site builders and content administrators.

Rich Gerdes of Unleashed Technologies

The hardest part of being a Jr Dev is understanding the value you bring to your organization and also understanding why you are considered a Jr Dev. and not a Mid Level one.

The difference between where you are and where you want to be is less about the technical knowledge you have, but more about the fine details in communication and delivering on expectations in a timely manner.

Come learn & become a more valuable asset to your mentors, boss and clients with tips on being efficient and communication so that you can ultimately reach that next level in your career!

Caleb Crawley

When a decoupled project begins one of the hardest parts that I’ve found is setting up a local environment to simulate all the necessary components. How will the CMS be served? How will the decoupled front end be displayed? What about the dev server for rendering previews? Can I still call it headless or is decoupled the only appropriate word?

There is a better way! In this session I will be walking you through a setup that I use that incorporates separate servers for a Gatsby static site, a Drupal CMS site, and a development server running on NodeJS. Best of all, because its container based, it’s extremely portable and can be reused for multiple projects! Ready to learn more?

JD Flynn of EPAM

Managing a digital accessibility project is a complex endeavor at any size – throw in thousands of pages, multiple content types, and large editorial teams into the mix and it can get daunting quickly. In this session, we will cover:

How to break down your large accessibility projects into smaller, achievable goals
How to leverage Drupal's content and template structure to your advantage
Tools you can use to help automate your accessibility testing
How to track and demonstrate measurable progress throughout your accessibility journey

April Duangjumpa

You've read the Statement of Work for your next client project: A full content audit of their website to prepare for the client's first migration to Drupal.

This client has 50k+ PDFs on their website, and few (if any) are 508-compliant. Your job is to audit all PDFs for 508 compliance to support a new, accessible Drupal website.

Scared? I was when it happened to me. This session shares tips I learned to audit PDFs for 508 compliance at scale and make new content that everyone can access in Drupal.

We'll cover:

- Key differences to audit accessibility for PDFs vs. HTML
- Tools to audit for 508 compliance at scale
- When to use web scraping vs. web crawling
- A roadmap to prepare non-compliant PDFs for migration to Drupal
- Concrete steps to make PDFs accessible from the start.
- What participatory design is, and how you can co-design Drupal sites alongside users with accessibility needs.

Lauren Maffeo of Steampunk

Markdown is very popular for authors and developers. It's lightweight and straightforward to learn. Its open format allows it to be used across environments and tools.

In this talk, we'll skip why we should use it and walk through the basic syntax of Markdown so you can get started using Markdown immediately.

3 takeaways

Markdown can be easily converted to HTML
Markdown text can be used in most platforms and environments
Markdown has a very gentle learning curve

AmyJune Hineline of Linux Foundation

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

Rod Martin of OSTraining

A good website must be accessible. While Drupal is a very accessible platform, sometimes once a site is built, an editorial team will make updates that do not adhere to accessibility best practices. The Editora11y module is a new module which checks the content automatically and will warn editors and site builders on accessibility errors. This session will introduce the module and show how to set it up properly. The session will also cover the Editora11y module's ability to perform site wide accessibility checks so site maintainers can review and correct accessibility issues.

Mark Casias of Kanopi

Adding new block types to Layout Builder is hard… harder than it should be. You either have to deal with Custom Block types which have a fairly rigid field structure that lack composability and are tracked as config. Or there’s Inline Blocks which require creating a new Block plugin PHP class and understanding how to create a form using Form API. Neither option is particularly attractive to a Front End developer who just wants to build the next component for a site.

But what if adding a new block type for Layout Builder didn’t require knowing about fields, or config, or plugins, or Form API, or even PHP? What if a Front End developer could define the entirety of a block's data structure using JSON Schema and have it just automatically appear in Layout Builder? This what if could be a reality by stringing together a few contrib modules.

In this session, we’ll look at how combining RJSF, Components, and block plugin derivers can be used to create a FED friendly component system for Layout Builder that requires shockingly little knowledge of Drupal.

Kyle Einecker of Perficient

Over the course of three years and having started up amidst the first rumors of Covid, we have learned a lot about business and how to approach an ever-changing landscape.

We want to share and discuss 10 lessons we've learned with the greater Drupal community to empower other business owners as well as product owners and clients about the goings-on of behind the scenes of a Drupal Agency.

Our session will include findings about the right software, processes, contracts, and best practices of running a small agency and being transparent and collaborative with clients, employees, and contractors.

There will be time reserved for questions and discussion at the end of the session for anything that may not have been covered in enough detail.

Justin Rhodes of Daggerhart Lab

Ever wish you could create universal widgets? A widget that could be placed in WordPress, Drupal, 11ty and anywhere else? Are you curious on how chat bots and other embed JavaScript widgets work? Stop by to gather some tips and tricks. There are plenty of tutorials out there on creating JavaScript apps but there's a lack on libraries and widgets.

Svelte compiles to vanilla JavaScript. Allowing you to have a relatively timeless piece of code that takes advantage of most features found in jQuery, Vue and React without the overhead of dealing with specific versions of those packages.

A standalone app has a different set of concerns than a widget. For example, an app usually needs to have a cache buster string on its JavaScript file but if is a widget that can't be there or one breaks backwards compatibility and if it is there, the browser cache won't load the latest version right away.

On this talk I will cover the differences between standalone JavaScript apps and library/widgets and how one can deal with their own unique challenges. As well as how Drupal core and contributed modules and others deal with this.

Bernardo Martinez of University of Tennessee Chattanooga

Google replaced Universal Analytics (UA) with Google Analytics 4 (GA4) this month, which delivers an updated analytics model and expanded capabilities over Universal Analytics.

If you have not already made the transition to GA4 from UA, now is the time! In this session, we will outline the high-level changes between UA and GA4 as well as how to leverage Google Tag Manager to get the most out of GA4 on your Drupal 9 & 10 website, including tracking embedded media, webform submissions, and scroll depth.

Stephen Pashby of DesignHammer

In this session we'll review some useful FIGMA plugins, open source FIGMA UI Kits and Design Systems that will help you supercharge your design process and share the love with your clients and your development team. From plugins that will auto-generate style guides and front-end specs to community contributed design systems to facilitate rapid application designs, to plugins that will even generate HTML and CSS from your FIGMA designs, you'll leave this session with new tools in your toolbox to enhance your design process and improve the designer to developer experience.

Lisa Ridley of PlanLeft LLC

How one website platform developed and maintained by the State of North Carolina Department of Information Technology works to support state websites with a variety of audiences and service needs. "Digital Commons" success story and lessons learned through Drupal platform.

One Drupal platform for 70+ websites
Digital Strategy helps tell a story
Training is our key for success
Support on all levels

Elena Talanker of NC.Gov
Liz Vines of NCDIT

Open Collective is a fundraising + legal status + money management platform for communities. By connecting to one of the Fiscal Hosts on the platform, you can have 501c(3) status to support and grow your project.

This low effort access to non-profit legal status greatly reduces the burden of starting and maintaining a small project, such as a Drupal camp. Being a fundraising platform, it provides multiple mechanisms for raising funds that naturally have social aspects.

The Open Collective suite of modules for Drupal provides a means of integrating Open Collective into your Drupal site. As a collection of specialized modules, you can access your collective's data and activities as much or as little as desired. For example, by integrating Drupal Commerce with Open Collective, you could accept contributions and sell event tickets on your Drupal camp website.

In this presentation we'll look at the current state of the module, what integrations it provides today, and a roadmap for the future. It will be a casual presentation style, where feedback and discussion are more than welcome.

Jonathan Daggerhart of Daggerhart Lab

Agile antipatterns result in misleading burn reports and heavily fluctuating velocity graphs in most projects.

In addition, it leads to a demotivated team, wasted efforts, and dissatisfied clients.

A few of the effective ways to deal with this is to proactively identify Agile Antipatterns and first focus on the value and output each Agile process produces. In addition, align each Agile process from a utilization perspective.

After this session, you will be able to revamp Agile practices in use and recover from Agile Antipattern dependencies.

Mukul Garg of Axelerant

Drupal is a popular content management system (CMS) used to build websites, web applications, and online platforms. It has a large community of developers and users, and there are many career opportunities in Drupal development and related fields. Here are some potential career paths in Drupal:

Drupal Developer
Drupal Site Builder
Drupal Themer
Drupal Project Manager
Drupal Technical Architect
Drupal Content Strategist
Drupal Trainer
Overall, there are many career opportunities in Drupal, and the demand for Drupal professionals is expected to grow in the coming years. To pursue a career in Drupal, you should have a good understanding of Drupal CMS, web development technologies, and system architecture. You should also keep up with the latest trends and developments in Drupal and web development.

Dinesh Kumar Bollu of Valuebound

In this session, we will explore the future of Drupal as a CMS, addressing emerging trends, technologies, and the importance of adopting a forward-thinking approach for businesses to remain competitive in the market. We will discuss the growing complexity of web development, AI integration with ChatGPT, decoupled architectures, frontend frameworks, API-first development, and the significance of security and privacy. Join us to learn how to leverage these innovations and trends to build cutting-edge Drupal solutions powered by AI.

Neeraj Kumar of Valuebound

With Drupal 10 now available, we still have (as of December 4, 2022) 441,095 sites running on Drupal 7.x. According to the usage statistics from Drupal, this figure is 51.77% of the total 852,058 sites running on Drupal.

Due to this reason the Drupal 7.x end-of-life was extended to November 1, 2023. With the Drupal Rector and Automatic Updates initiative, it is now easy to migrate from Drupal 9 to 10, However, it requires one to be on Drupal 9.x first. Upgrading from Drupal 7 to 9 or 10 involves a host of changes for content editors, administrators, and end users.

This session will act as a step-by-step guide to migrating from Drupal 7 to 9 in an efficient manner. And this would not only be a version upgrade. It will be an entire CMS Experience Upgrade for all stakeholders.

Kalaiselvan Swamy of Axelerant


Drupal is a registered trademark of Dries Buytaert.