Session submissions

Drupal Camp Asheville 2023 - IN PERSON - July 7th-9th

Have a great idea for a session? Submit your idea before the deadline!


  1. The Ultimate Guide to Configuring the Media Module

    Topics: Site Building

    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
  2. Services and Dependency Injection in Drupal 8+

    Topics: PHP / Symfony, Drupal Core

    Drupal 8+ is build upon Services and many place of the system available through the Dependency injection. So its important to understand the concept of services and DI.

    Services : Service is any object managed by the services container. or we can say that services is a simple PHP class with some methods. we can access these services and methods in anywhere in the application with the help of service container.

    The service can be used the in following way. We use the \Drupal::service() method to get an instantiated AliasManager object and then use a function in that object to translate the path to the alias.

    $aliasManager = \Drupal::service(‘path_alias.manager’);
    $path = ‘/node/123’;
    $alias = $aliasManager->getAliasByPath($path);

    Accessing Services: Services are all defined in YML files within Drupal. Every module that wants to define a service needs to create a file with the name of [module name].services.yml . In order to find all the available services in Drupal you can follow the services list .

    So best practice for accessing the services is dependency injection instead of direct calling the global Drupal service container.

    Dependency Injection :  Dependency injection is a design pattern in which an object or function receives other objects or functions that it depends on. It means we can directly inject the services to the class __construct method, and it will load the dependency runtime when instantiate the class.

    Why use DI in Drupal : 

    1. Decoupled functionality
    2. Eases unit testing
    3. Reusable & flexible code
    4. Cleaner code
    5. Retrieving dependencies from the container is better for performance.

    How to Inject Dependency : This will be presented with one of the example.

  3. The Big Leap - Picking The Right Drupal journey towards Drupal 10

    Topics: Case Study, Drupal Core, Site Building

    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.

  4. Markdown in minutes

    Topics: User Interface & Design, User Experience & Accessibility

    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 discuss why we should learn it and move through some of the basic syntax 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
  5. Drupal emphasises Accessibility

    Topics: User Interface & Design, User Experience & Accessibility, Front End

    1) Drupal empathises Accessibility - Making a site AA or AAA compliant is a tough challenge especially when it comes to designing fancy components using progressively decoupled architecture or using traditional twig system, here we will discuss some of the keen points that Drupal supports when it comes to making accessible components through the website.

    2) Modules for Accessibility in Drupal - Drupal Offers various modules and techniques which we might not be aware of, here we will discuss those interesting things that Drupal has to offer for us.

    4) Developing Accessibility knowledge - Making things around us as well as out bread and better (Websites) more accessible to all is a tough challenge than we think it is, so keeping ourselves up to date with various knowledge prone tools available in the market.

    5) Future of Accessibility -  Outside the nutshell we will learn various and other accessibility related concepts which can incorporate within our today life.