The road from Greenville to Asheville was short, but the leap I was about to make—from front-end to full-stack Drupal—felt huge. As I stepped onto the UNC Asheville campus for Drupal Camp Asheville, the air was crisp, the sky was flawless, and the energy was electric. I wasn’t just here to learn; I was here to level up.
I’m Ryan Olsen, a software developer at Portland Webworks/GovWebworks (GWW) in Portland, Maine. My roots are in TypeScript/React and Java, but with Drupal expertise in high demand at GWW, I jumped at the chance to expand my skills. This trip was more than just professional development—it was my gateway into the world of Drupal.

Photo Caption: The Highsmith Student Union Building where Drupal Camp Asheville took place
Closing gaps in my Drupal knowledge
As any seasoned Drupal developer can attest, understanding contextual filters in views can be a difficult concept to get your mind around. In the last few months I have created a ton of content types, views, filters, facets, worked on translations, permissions, a boat load of debugging and more. Despite learning from a very helpful and knowledgeable team, I still had some gaps in my overall understanding of how Drupal works and how all of these entities interact with each other. If you are in a similar position, hopefully this article and the resources will be helpful.
Absolute Beginner’s Guide to Drupal
To get things started, there was an Absolute Beginner’s Guide to Drupal taught by Rod Martin. He covered Drupal fundamentals: permissions, workflows, views (including contextual filters), modules, layout builder, images, themes, Drupal Forge, and more in an interactive workshop. This experience really helped me fill in a lot of blanks. If you are a Drupal beginner, I highly recommend attending a Drupal Camp beginner’s course. For anyone that wants to learn more from Rod Martin, please check out DrupalHelps.

For those who have not checked out Drupal Forge as of yet, you may want to. Drupal forge makes creating a new Drupal project extremely fast. Per the site: “Drupal Forge spins up pre-configured sites for you.”
There are preconfigured templates for Drupal AI, Drupal CMS, Drupal 11, Experience Builder, and more. Each project is managed in the Dev Panel and each gets a version of VS code accessible right in the browser. Code can be exported and run locally. If you want to have a sandbox sort of environment where you can try out new features or modules, Drupal Forge is a great option.
What’s new in the Drupal world
Okay, now that the beginner stuff is out of the way, I’ll fill you in on new happenings at Drupal.
Inclusion and sustainability at the core
First off, there was a fireside chat with the CEO of Drupal, Tim Doyle. He started off by making a point to state that both inclusion and sustainability are core values for Drupal. Despite the push politically in the US to move away from inclusion, Drupal is embracing inclusion and diversity in their organization. I found this to be very comforting given today’s climate.
The question of how to maintain sustainability and “supporting the makers while limiting the takers” was also a main theme of this chat. Drupal has plans to rebuild Drupal.org with a focus on catering to newer users. A site template marketplace is also in the works and Drupal CMS is coming out soon with an easier to use version of Drupal to allow non-developers to create sites.

Photo Caption: This painting inside the University of Asheville is titled “The School Of Athens”
AI tools are changing the game
After the fireside chat, I attended several sessions that focussed on AI and AI tools. Specific to Drupal, the Sapling CKEditor Experience module is installable via Composer and Drush. It enables text generation, tone selection, translation, and the ability to select the LLM provider directly in the CKEditor.

We also reviewed the Saplings AI Agents extension. This module provides AI powered chatbots and agents using Open AI that can create taxonomy, fields, and views off of prompts. This is most useful for automating repetitive site building tasks. Both of the above noted modules are very useful tools.
Okay, I could write an entire article on LLMs and AI tools, but I’ll try to keep this brief. LLMs like Chat GPT (Open AI) and Perplexity are great for content analysis and code support. In this case the user is going to an external application and pasting code for analysis. Other LLMs like Claude or Github Copilot integrate directly with your Integrated Development Environment (IDE) and make use of Model Context Protocol (MCP) integration.
This is some pretty powerful stuff. We can use the MCP protocol to integrate with code repositories like Bitbucket or Github to fetch repository lists, browse code, get detailed file contents, or search and filter projects. We could even automate the always present pull requests and much needed reviews.
MCP-based agents can read/write to your server file system. This enables tasks like automatically generating reports, syncing assets, or cleaning up log files. You could even integrate with Slack and trigger a build or check the status of a deployment right from Slack.
My favorite LLM for coding: Cursor
Personally, I have really enjoyed working with Cursor. Initially I found it a bit hard to navigate because I am used to using Intelli-J products, however, once I imported the Intelli-J key bindings, I found Cursor to be wonderful. I recently used Cursor for one of our GWW clients to create scripts that scraped .html files and generated .csv files that could then be migrated over to create actual content for our existing content types.
LLMs like Cursor have the context of the entire project repository. This allows the LLM to provide responses that better reflect the structure and design of your existing codebase. In addition Cursor has rules that you can add on a project by project basis to add context to your project. If you use Cursor, I highly recommend setting up some rules for each code repository.
Why Single Directory Components are the future
Lastly, I’d just like to touch on the concept of Single Directory Components (SDC’s). Single Directory Components are a modern approach in Drupal (introduced in Drupal 10.1) for organizing and managing UI components. An SDC is a self-contained directory that bundles all the files related to a single UI component—such as templates, CSS, JavaScript, and metadata—into one folder.
There are some real benefits to using SDC’s. All files for a component live together for easier reuse and maintenance. There is no need to import css or js files if they match the component name. SDC’s encourage modular, maintainable theming and they will be required if you want to use the new Experience Builder. Though I have not used SDC’s as of yet, now that I know they are required for experience builder I will make a point to use them in our projects.
Here is an example of a card as a Single Directory Component:
None /components/ /card/ card.twig card.css card.js card.component.ymly
Wrapping up
Thanks to Drupal camp I no longer fear views with contextual filters, among other things. If you get the opportunity to attend a Drupal Camp, I highly recommend it. Not only did I learn a lot, but I also met some really wonderful likeminded people that love to create. Thanks for reading!
Photo Caption: Hopefully I’ll see you next year at Drupal Camp Asheville!
Learn more
Contact GovWebworks
- Get a free consultation about our Drupal services
- Work at Portland Webworks/GovWebworks as a Drupal Developer
Resources
- Drupal Camp Asheville
- Drupal Camp Asheville 2025 Conference Videos
- Drupal Forge
- Drupal Helps
- What is MCP?
- Saplings AI CKEditor Experience:
- Saplings AI Agents