Sessions

Over 700 people have given talks at BADCamp. And over 7000 people have attended those presentations!

We welcomed those from all levels of expertise, background, gender, ethnicity, sexual identity, religion, age, and ability to submit sessions. Our community is diverse and we know that Drupal can benefit when everyone is included.


We have approved sessions so stay tuned as we craft the 2019 BADCamp schedule of sessions.

Freedom from Mind’s Patterns

Without understanding the way mind works, we are the victims of stale mental patterns. Creativity is stifled, and contentment cannot take root. This morning, we will begin to examine the programs that keep our patterns in place. Short, simple practices for body, senses, and mind can help to free us from mind’s regime.  This workshop is sponsored by our generous venue, Dharma College.

Drupal 8 DevOps Streamlined and Simplified

An unopinionated walkthrough of the full Drupal 8 Dev Ops stack and recommendations to get started automating tests, deployments, and upgrades. Development hosting environments Local development tools, such as Git, Composer, Drush, and the Drupal Console GitFlow and collaborative coding Continuous integration and deployment Automated upgrades With a special appearance from the upcoming Acquia Development Studio to streamline the process and lower the barrier for entry to Drupal 8 development.

A portable approach to Federated Search using Solr Drupal Node Js trio for better scalability

According to IDC, 90% of all the digital information is unstructured locked in multiple repositories and digital businesses have either underinvested in technology or invested in substandard technology in order to access them. Traditional search method leads to failures majorly due to the absence of optimisation practices and lack of unified framework.

Better Project Management Through Board Games

The skills that are required to be a successful Project Manager encompass a great many things, and the expertise you acquire can be applied universally across every industry and most job roles. They're so broadly applicable that you can develop the skillset needed even outside of the workplace in everyday life... Like by playing Board Games! In this session, we'll identify some of the core competencies for a Project Management, and suggest Board Games that leverage these concepts which you can play to level up your Project Management Skills!

Understanding Drupal

Drupal is an extremely flexible system. To achieve this, various layers of abstractions were built into it. A lot of concepts were created to explain these abstractions. Unfortunately, they are not always intuitive. This session aims to explain the basic building blocks for assembling a Drupal site and how they relate to each other. Many examples will be presented to help you understand Drupal and why it is so powerful. Learning Objectives & Outcomes:  By the end of the session, attendees will understand: * What is a node?

Iterative UX: Find It Cambridge Case Study

A handful of visionary people in the city of Cambridge, Massachusetts wanted an online resource to help families easily find activities, services, and resources. Find It Cambridge was informed and further inspired by extensive initial research done by Code for Boston and the City of Cambridge.  As this was wrapping up, the city brought Agaric in, so we found ourselves in the incredibly fortunate situation of starting with this in-depth knowledge.

Caching Large Navigation Menus in Drupal

While working on a project for Pega Systems, I had to deal with documentation organized into books, and some of the books had thousands of pages. Each page had a navigation menu listing every page in a large tree structure (nested HTML lists). The tree was collapsed, with just enough branches expanded to show the current page. That's a lot of markup: UL and LI and A, oh my! Did I mention thousands of pages? Generating that markup took a lot of work: database queries, PHP processing, theming ...

JavaScript is Coming to Eat You

Drupal is a shining star in the world of content management systems, with a remarkable 20 year history and a proven ability to power some of the world’s largest brands and websites. WordPress has enjoyed even greater success, and now powers more than 30 percent of the entire web. Collectively, we have become extremely great at what we do. But in just the last 5 years, the landscape has shifted dramatically in ways that are fundamentally changing how and what we build.

Can’t We All Just Get Along? Design & Development Collaboration

This talk explores common myths between design and development, and I’m here to bust them! Is this you? - A designer wondering what happens to your beloved mockups after handed off to the development team - A developer having nightmares about the intricacies of design and functionalities seeming way off base of budget and scope - A project manager watching from the sidelines wondering how this process can be improved

45 Minutes to Actionable Strategies that will Improve Customer Experience

Ever feel like you're jumping from one problem to the next putting out fires but never get the bandwidth to implement longer term solutions?  This 45-minute session focuses on the importance of establishing baseline assessments and measuring progress through regular formal audits of your content, architecture, workflow and infrastructure to seize opportunities that will strengthen visitor journeys and increase conversions.

How do I become a (good) web developer?

As a recent bootcamp graduate, I will discuss the multiple stigmas surrounding bootcamps (and their awkward socioeconomic role), their various implications, and finally my experience learning Drupal independently after completing my program. This analysis will support my ever evolving answer to the question, "What am I learning and why?"

Pivoting in a Project

As a Project Manager, Strategist, Developer, Designer, or Stakeholder, we are all part of the puzzle—and it's crucial to keep sight of the big picture—even when we’re required to pivot from the original plan. Pivots come in a variety of shapes and sizes. They can be a minor change that’s quickly integrated into the scope or a major departure that alters the entire course of the project.

The State of Drupal 9

What is the state of Drupal 9? What can I do now to prepare for the upcoming release? Learn how innovation happens in Drupal 9 through semantic versioning, scheduled releases, and experimental modules and why a new major release is still necessary. Hear about the various processes that are taking place to prepare for Drupal 9, including deprecation processes, and which major 3rd party APIs will be updated. Finally, learn what the support time frame for Drupal 7 sites will be and checks you can perform now to ensure Drupal 9 compatibility for a future migration.

Integrations Roundup: How to plug existing products and services into your site

Integrating with a third party product or service can be one of the fastest (and cheapest) ways of bringing advanced functionality to your site. Companies like Salsa Labs, Salesforce, and Stripe have put lots of work into services that can help you bring a great campaign, donation, or sales platform to market quickly, and without having to build out that functionality yourself.

A Drupalers Guide to Marketing

Those of us planning, designing, building or supporting Drupal for others are increasingly working for people who see that work through the lens of Marketing. This session will start by looking at the big picture of what's happening in the web market (Wix, WordPress, Sitecore, etc.), where Drupal fits today and how that evolution involves marketing professionals. Put another way, if Drupal is becoming the tool for Ambitious Digital Experiences, those experiences are paid for by Marketing budgets. 

Decoupled Drupal on DDEV with GatsbyJS

As microservices and decoupled architectures continue to mature it becomes increasingly important to be able to work efficiently between local and live environments across the entire stack. What does it take to build a decoupled interface against a Drupal backend and how can we share the work with others?

Best Practices for Securing Your Site

With new threats constantly emerging, how can website owners protect themselves and their business? In this session, we will cover this crucial topic for SEOs and share several demos of these threats, plus how they can be prevented. Find out what Google is seeing in hacking trends, Google’s view on what HTTPS does (and doesn’t do), and how to best address a hacked site. Attendees will learn how to protect against SQL injection attacks, sanitize user generated input, and come away with other practical tips that can immediately be implemented to secure their sites.

Building flexible and dynamic layouts in Drupal 8

Would you like to learn about layout builder in core? Are you feeling excited but a bit intimidated to start using it yourself? We've got you covered! Come to the session where you can become a layout builder ninja in just one day! You will get to learn tips and tricks and all of the gotchas from modules you should be using, building techniques, multilingual layout builder tips and performance to making it better for your editors and site-builders to use. We also will show you inspiring examples of real world projects to get your creative juices going!

Level Up Your Development Experience with Lando

Asking members of your team to spin up local copies of your Drupal application can result in an assorted array of solutions to the same problem: Some may spin up virtual machines while others may cobble together their favorite combination of Docker Containers. Some may struggle with native solutions on their machines while others may be entirely uncertain on where to begin. Adding common services and development tools such as xdebug, mailhog, or Drush may pose additional problems to even the more savvy members of your team.

Decoupling Drupal Install Profiles with Gatsby

There is a lot of talk about how great a decoupled site is, and more to the point, how great it is to use GatsbyJS. So much that Mediacurrent has converted their main website to a GatsbyJS based decoupled site. Then there is a lot of problems that come with a vanilla Drupal installation, or using other install profiles. Mediacurrent has created the Rain install profile, and with it a Gatsby based starter.  This talk will review

Making Drupal Friendly for Editors and Clients

Drupal’s extensibility allow us to create the perfect CMS for our organizations. But too often the same level of design is not considered when building out the editorial interfaces. The default tools are often scary for first-time Drupalers and include confusing words like ‘nodes’, ‘taxonomy’, and ‘blocks’. Making Drupal friendly for clients means checking internal jargon at the door and building interfaces that are intuitive and distraction free. Topics include:

Outgrowing Content Types: Building Custom Entities

Drupal includes a powerful toolset for building and extending out-of-the box content types. Content architectures are typically designed around the features of nodes, taxonomy, media, and other core entities. But how do we know when our business-needs have grown beyond the common entity types? When are nodes too lightweight or too heavy handed to meet our site goals? And what are the trade-offs and support issues when creating a new entity type?

“But I’m not privileged!” Why diversity and inclusion are everyone’s problem.

As Dries Buytaert discussed in the DrupalCon Seattle keynote, open source has a serious diversity problem - and that includes our own Drupal community. We are people who care about fairness for all, and yet inequality persists. What can we do?

Case Study: Closing the CX Gap - Building a Customer Centric Transportation Site

Santa Clara Valley Transportation Authority (VTA) is an independent district that provides sustainable, accessible, community-focused transportation options that are innovative, environmentally responsible, and promote the vitality of the region. It provides bus, light rail, and paratransit services as well as participates as a funding partner in regional rail service.

Anonymous Personalization Without Leaving Drupal

Drupal has always been very strong at customizing user experiences for authenticated users, but what about anonymous users? What if you wanted to show a new banner block on your home page for first time visitors? Or gate a resource until users have filled out a contact form? For the most part, anonymous user display is determined by the url path, and per-user customization is dependent on excluding the page from cache, custom javascript or third parties.

A Recipe for Better Images in Drupal 8

For many Drupal 8 users, image display begins and ends with Drupal core's image styles. In this session we will look at a recipe of core and contributed modules that can push this further to support better performance across devices and browsers.  We will start with a brief overview of image styles and responsive images.  Then we'll move into image compression and optimization, with an emphasis on the how and why of using various contributed modules together.

3 Years Decoupled Website Building and Hosting - Our Learnings

Decoupled Drupal is clearly here to stay, so what does this mean from a business point of view? As we consider all the implications of this change — a new programming language, new license, and the technical considerations of how we visualize and build websites — it’s important to identify how and when adaptations need to be made to our businesses to support all these changes.

The Curmudgeon’s Guide to Building Drupal Websites

Every developer has been there: fresh out of school, new to the field, or using a new technology. There is a lot to know to successfully build Drupal websites. To be successful, developers learn technical skills in school or from websites and books. Applying those skills in the real-world is not always straightforward. In addition, soft skills are equally as important to being successful in this field and are often neglected.

Building a Modular Drupal Architecture using Attribute-Driven Design

Attribute Driven Design or ADD for short, uses the approach of defining a system architecture with the idea that the design process will be based by the software quality attribute requirements.  ADD follows a recursive process in which the following activities are utilized: Plan, Do, and Check. In the Plan activity, software quality attributes and constraints related to design, are considered so that the correct elements are chosen to ensure the architecture can meet the requirements.

Did you clear the cache? A Contextual Tour of Rendering Efficiently

Drush cr… drush cr… drush cr!!! We all know the scenario where you’ve made a change to the site, but when you load the page it just doesn’t seem to show. Oftentimes the solution is to clear your cache and move on, but why is that? In this session we’ll explore how that cache is built and used. What determines when a page can be cached, and how does Drupal know when to rebuild it? How does Drupal know when to rebuild parts of a page without rebuilding everything?

Start Using the Emerging Layout Builder Ecosystem

After years of preparation and work, Layout Builder has landed in core and it promises a new way to make pages in Drupal. Will Layout Builder take over from the long pedigrees of Display Suite, Panels and other page layout systems? Is it already on the way to doing that? In this session, we will describe how we used Layout Builder on a major new Drupal 8 site and will cover:

Level up your layout! Component Based SiteBuilding with Layout Builder & View Modes

View Modes are the site-building glue that brings your content strategy, design, media strategy, and UX development together to actually create your web displays. View Modes have been in Drupal for some time, but what do they really do? Why are they so powerful? With Drupal 8, View Modes are now even more relevant with the standardization of Entity and Field management across entity types.

It's a Bird... It's a Plane... It's ¯\_(ツ)_/¯? Using Machine Learning to Meet Accessibility Requirements

Tired of having to caption all the images on your website? Manually inputting alt tags for images gets tedious, and missing some decreases your site's search weight. Look no further than machine learning. A powerful tool in the field of artificial intelligence, machine learning can be leveraged to solve this tedious task.

Navigating the Dark Arts of Configuration Management

There will be no foolish wand-waving or silly incantations in this session. As such, there are few who appreciate the subtle science and exact art that is configuration management. However, for those select few who possess the predisposition, this session will teach you how to bewitch the code and ensnare the configuration. This session will tell you how to bottle updates, brew features, and even put a stopper in update errors. Then again, maybe some of you have come to BADCamp in possession of abilities so formidable that you feel confident enough to not pay attention!

Putting Your Best Foot Forward: A How-to for Navigating the Recruiting Process

Web developers with skills in Drupal, WordPress and modern JavaScript have long been in high demand, leading to tough competition for top talent. For hiring managers at all types of organizations, the prospect of recruiting a new team member can seem daunting at best and downright frustrating at worst. The recruiting process can also be very challenging for developers. How can they best assess culture and fit of an organization through just a job description and a few interviews? What should they keep in mind when searching for a new position to keep up their career progression?

Piles of Post-Its - Staying Organized to Focus on What Matters

This session is for anyone who has ever felt overwhelmed by a giant and ever-expanding list of tasks and priorities. How do you keep them organized and prioritized to ensure you’re completing what’s most urgent and important, but also that nothing is slipping through the cracks?

Translating Drupal into English… with Props!

When Lily first started working near Drupal (account and project management in a Drupal agency), she came from working near French (marketing and fundraising for a French cultural center). She immediately approached Drupal as a new language, and used this perspective to learn and then to teach. She saw how clients and non-technical colleagues can easily be left out of the conversation by pervasive jargon… fields, views, and modules, oh my! Most of the time, the team does not realize they are doing this, nor how to quickly and easily bring everyone into the discussion. 

You Gonna Build a Process for That Process?

For me it all started with a single process, client engagement. How do we create a system for on boarding clients, gathering requirements, accurately estimating work, and executing projects on time and on budget? In the beginning the process was in our heads and merely a product of conversation. It would evolve over time from a set of bullet points, to a series of pages, and eventually mature into a system with structured meetings, branded slide decks, precomposed meeting minutes, and ready to deliver assets for each step of the way.

Shine a Light on Me

Have you ever wondered how your website performs in terms of Performance, SEO, Accessibility, and Best Practices?  Come learn about the features of the Lighthouse auditing tool and the different ways that it can be integrated into your workflow. Things you’ll learn in the session: Why it’s good to run these checks against your site A background on performance audits

SVG Magic!

SVGs, or scalable vector graphics, are great for logos and simple images as their resolution is always as good as the monitor you are viewing them on, but there is so much more. In this session we will look at all the ways to add svg to a web page based on intended use, methods for animation, browser support, helpful libraries, and accessibility. In addition we will explore some creative ways that SVGs are used to create interactive images, interfaces, filters, and masks. What is an SVG

California Consumer Privacy Act (CCPA): What Does It Mean For You?

The California Consumer Privacy Act (CCPA), a new law intended to enhance privacy rights and consumer protection for residents of California, goes into effect on January 1, 2020. We'll talk about what sites may need to do to be compliant with CCPA, including privacy-enhancing Drupal modules, and some best practices for website privacy, as recommended by the Electronic Frontier Foundation (EFF). Note, the presenter is not a lawyer and this talk is not legal advice - talk to your attorney for specific legal advice re: CCPA and other regulations that may apply to you :)

3... 2... 1... Launching Your Site

You have created a beautiful, shiny new web site or a stellar partner has created one for you. It is ready to launch and usually someone just hands it over to a server administrator or the DevOps team. Instead, this time you are the launch team. Don’t panic. This session will give you the knowledge to understand what you need to make it a smooth launch. To launch, you need various pieces of information about domains, DNS, SSL and more. You then have to set these up correctly. If you do so, you should have a smooth launch of your new site.

You are not a candle; don't burn out

This session will cover a topic near and dear to our hearts: How to juggle multiple complex IT projects without losing our balance. We’ll get real about distractions that we cause ourselves through unexamined habits or suboptimal work practices, and we’ll talk about how some basic Agile principles can support better work-life balance. We’ll also tackle how to recognize some systemic issues in a technical work environment, such as technical debt, and make a connection between small choices in our daily work-lives and big problems that snowball over time.

Embracing the modern web using Drupal as a Headless CMS with Gatsby

Drupal 8 supports a "Headless" mode out-of-the-box. A headless CMS allows content creators to manage their content through a familiar admin interface and providing the content via API endpoints, allowing developers to implement a fully customized front-end experience using reusable components and a modern framework as React. A core feature of Gatsby is its ability to load data from anywhere (Drupal JSON:API endpoint in our example). This is what makes Gatsby more powerful than any other static site generators that are limited to only loading content from Markdown files.

Component-based Design with Pattern Lab

Each iteration of Drupal introduces new and exciting ways to manage content. However, the display of content is even more important along with the knowledge of how to convert a design to a theme. While we have all read about, watched and even worked with Twig to create new themes in Drupal 8, the way we work with Twig has changed.

Backdrop is Drupal 7. You know where it came from. Come see where it's headed.

Backdrop CMS is now nearly 5 years old. Since its first release on Jan 15th, 2015, what has changed? Is Backdrop substantially easier to use than the Drupal it was forked from? Is it more affordable to support? Are the APIs you know and love, still stable and functioning as they were? Is the community growing and healthy?

Google Analytics 201

I was a self-taught Google Analytics user. I thought I was getting by OK. But, since working with professional analysts, I’ve seen how my data wasn’t as complete or accurate as I thought I was. And with bad data, it’s easy to tell the wrong story.  I’m here to level you up, and share best practices for setting up your Google Analytics accounts.  In this talk, we will: provide recommendations on best practices for setting up your views, filters, and goals

Composer in Core Initiative: What it will mean for you

Drupal has leveraged Composer to manage its internal dependencies since version 8.0; however, the way that Drupal has been using Composer is unconventional. Our unconventional hybrid approach has allowed a loose continuity between managing codebases using Drupal 7 methods while simultaneously enabling more modern Composer based workflows. However, the modern Composer based approach was incomplete and unofficial, requiring third-party tools and examples such as drupal-composer/drupal-project.

Adding a Documentation Content type will change the way you use Drupal

Just as the design process should seek to create something perfect and useful for the users and the client, so should the documentation. Documentation can be the first set of deliverables within an agency process to become outdated, stale, or redundant—mainly because they are dismissed as unimportant or left to a lackluster team to plod through begrudgingly. This doesn't need to be the case if we throw out what we think documentation means and seek to find more meaningful ways to integrate the process of documentation.

Local Development Environments Panel Discussion

Local Drupal development can be tricky, especially with so many tooling choices. Having an environment that works for you is important whether you're a developer, tester, designer, or any sort of stakeholder. In this session, we'll review a few of the tools available (there are 37+ for Drupal at last count), their features, and meet some of the folks who build and use them.  This will be a panel discussion. Possible topics:

Building an Intuitive Admin: Usability for the Forgotten End-User

Nearly every new project focuses heavily on the flashy design and fancy tools it'll make for its visitors. So much focus is driven into the site user's experience to make it intuitive and pleasant, but in many cases this ignores the users that will visit the site more than anybody else: the content editors.

CI made dead simple with Drupal 8, GitLab and Platform.sh

So you learned the importance of tests. You also learned that they are made pretty simple with Drupal’s PHPUnit framework. You may have even invested some time to set up behavioral tests using Behat Drupal Extension. Now it’s time to bundle all the testing together in a nice automated pipeline.

Advanced migration techniques

In this session we are going to explore some advanced techniques for building and running migrations. Sometimes you can define your migrations in a single file, run them, close your laptop and go grab a beer. But let’s face it, most other times things are bit more complicated. What we will talk about in this session are some of the cases in which you need to get a bit creative. Such as standardise your source data. Transform it before it gets imported. Or build dynamic migrations.

Make the Robots Do It! Practical Continuous Integration and Automated Testing

DevOps, CI, Build, Test, Deploy! There are a lot of different components flying around this buzzword-compliant practice. It’s hard to know where to start. (Spoiler: always start with low-hanging fruit!) But the promises are very attractive: Fewer bugs, faster deployment, greater confidence in your changes. Learn practical tools and workflows from those of us already in the trenches. We will cover: Identifying the areas where automation will make the biggest difference

How to Work Remotely and Foster a Happy, Balanced Life

Virtual. Remote. Distributed. Pick your label. This style of organization is becoming more popular and in-demand among many Drupal shops. While many folks have gone remote, some people find the experience quite isolating and disconnected. Does remote work make people happier? Does it make them more productive? The answer is not really. It is not the act of working from home that creates employee happiness; it is creating a culture that fosters remote practices to develop meaning, collaboration, and happiness.

Making A Tour: Leveraging The Tour Module For A Better User Experience

Don't you wish there was a way you could give each and every user of your module's admin experience a quick and easy way to learn what each setting really did and why it was there?  Good news Drupal 8 users, this is actually in core.  The Tour Module has been in core since the first release of Drupal 8 and is awaiting you to leverage it.  

Follow that data! Letting your users tell you what works.

In a world of endlessly approaching deadlines and pressure for always better results, who has time to do a retrospective?  It turns out, successful teams do.  Undertaking the necessary discipline it takes to develop the habit of this part of the Agile process does take effort but the end results are well worth it.     For a lot of teams that try, these end of sprint meetings can quickly turn into personal anecdote sessions and become completely based on 'gut feel' that is just a painful step that does not feel like it accomplishes anything valuable.