Legend
8:45am to 9:00am
Welcome & Opening Remarks
Room Hopin 8:45am to 9:00am All Attendees leew, simplyshipleyJoin us for the official kick-off of Drupal Camp Chattanooga 2020!
Show off your smiles and camp shirts by taking and sharing selfies.
9:00am to 3:50pm
Contribution Lounge
Room Hopin 9:00am to 3:50pm All Attendees simplyshipleyJoin us at the Drupal Camp Chattanooga Contribution Lounge for coffee, community, and contributions! This is a great chance to help move Drupal forward.
We're open Saturday during from 9pm - 3:50pm.
Who should attend?
Everyone!!
We welcome those from all levels of expertise, background, gender, ethnicity, sexual identity, religion, age, and ability. Our community is diverse and we know that Drupal can benefit when everyone is included.
Not a coder?
That’s perfectly fine!
Not everyone who works on open source projects is a developer. Smaller tasks help the less experienced gain confidence and experience, which, in turn, leads to more contributions. Code is very important, but so are all the other parts.
What will we be working on?
Anything you want! From Drupal Core to community contributed projects. There is plenty of work to be done to move the project closer to perfection.
9:00am to 9:50am
The Webform module's greatest hits, combined by an AMA
Room Hopin 9:00am to 9:50am All Attendees jrockowitzFor the past four years, dozens of new and cool features have been added to the Webform module for Drupal 8. This presentation will walk-thru the Webform module's greatest hits with some rare gems from the feature vault. You are guaranteed to learn something new about the Webform module, especially because you can "Ask Me Anything" (AMA) during this online presentation. Participants are invited to help answer people's questions via chat by posting recommendations and links.
The goal of this online presentation is to help you get the most of the Webform module while ensuring all your questions are answered.
The format of this presentation will be walking through my list of the Webform module's top ten features with user questions answered after each feature segment. There will be live demos with an actual working instance of the Drupal and the Webform module. This working instance of the Webform module will also be used to answer your questions.
Participants do not need to have any prior experience with the Webform module. It helps if you take the Webform module for a spin and watch this introduction video.
JSON:API - A Zero Config OOTB Approach For API-First Drupal
Room Hopin 9:00am to 9:50am All Attendees paru0523@gmail.comThe JSON:API module is a fully compliant implementation of the JSON:API Specification. In its own words, the JSON:API specification is:
A specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests.
Drupal 8.7 ships with JSON:API which makes a solid and stable path to support decoupled Drupal through standardisation of payload structures and query string parameters.
JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability.
Drupal's data-structures, i.e. entity types, bundles, and fields, are incredibly well suited to the JSON:API.
Learning Objectives
The session will cover an introduction of the JSON:API specifications and how it compares with the Drupal 8 core REST module, when to go for JSON:API and what JSON:API can't do. We will also learn about why it made sense for JSON:API to be added to Drupal core.
You will also learn how to use the zero-configuration JSON:API module provides a standardised API for exposes resources, interacting with relationships between resources (entity references), fetching of only the selected fields, and filtering, sorting and paginating collections of resources.
At the end of this session, attendees will be able to know more and perform actions below:
- What is JSON: API Specifications?
- Intro about JSON: API Module in Drupal 8
- JSON: API vs. core's REST module
- JSON: API Security Considerations
- How to work with JSON: API module?
- GET requests for filters, sorting & pagination
- POST Requests
- PATCH Requests
- GET Requests
- Things which JSON:API can’t do
- Gotchas
- Live Demo
Target Audience
This hands on session is helpful for who are looking into build and consume web-service API via Drupal using JSON:API module. After this session audience will get to know awesomeness of the JSON:API module and it's OOTB features.
Prerequisites
Attendees will get the most out of this session by being familiar with Drupal 8 and web-services concepts like RESTful web-services
10:00am to 10:50am
Drupal Recipes
Room Hopin 10:00am to 10:50am All Attendees bsnodgrass, andrewozone, Adrianm6254Maybe you are just starting to use Drupal or maybe you've been around a long time. Either way, don't you wish you had a cookbook of Drupal Recipes filled with great tasting stuff!
Starting this past summer the Fox Valley Drupal users group out in the far western suburbs of Chicago started talking about how each of us struggles with keeping up our "best practices" for Drupal projects we work on. Each is different, each has particular special needs, but most of us have those tasty recipes we can whip up when visitors arrive!
That was the start of a new "initiative" we are working on at Fox Valley Drupal. We want to share the latest with you and discuss how everyone can contribute to build-up the recipe book so the best recipes can end up somewhere on D.O.
This is a preview of a similar presentation given at Chicago Drupal on October 7th (so you don't fall asleep watch at least 1.5x speed)
11:00am to 11:50am
Let's Define Some Terms, Thinking And Talking About Content Layout: Discovery, Atomic Design, Pages, Layout, and Site Architecture
Room Hopin 11:00am to 11:50am All Attendees jcandanI have been modeling this talk for a couple of years. Each time I have presented the material, it has helped immensly to drive stakeholder conversations away from being centered around Pages to being about content structure we can use.
We'll cover material in increasing phases of complexity beginning with what I consider to be the pre-discovery phase kick-off--a presentation to get a common set of terms on the table and a clear picture of catories of content layout. From there we consider these in smaller and smaller chunks, allowing us to adopt atomic design principles, and discuss the different implementation options.
Product owners, designers, project managers, themers, site builders, and full-stack developers will benefit from this talk.
Static Analysis for your Drupal modules with CI
Room Hopin 11:00am to 11:50am Beginner hussainwebDo you read your code before running to make sure it would work? Do you see if that variable was initialised, or if you included a return statement? Do you also see if the code follows Drupal coding standard? If you answered yes to any of the above, you are statically analysing your code in your head.
But your brain doesn’t scale, nor are you capable of checking hundreds of lines of code with every commit. Use your brain for better things and leave static analysis to tools designed for that purpose.
You might have used PAReview for your Drupal modules to verify that your code is clean and follows coding standards. It is easy to forget to run it before each commit. Do yourself and the poor soul who has to review your merge request a favour and automate!
In this session, you will learn:
- What is static analysis?
- More about PAReview
- Why can’t you use PAReview in a CI environment?
- Tools like phpcs, phpmd, phpstan, stylelint, eslint, etc…
- Integrating these tools with gitlab with a Docker image designed for this purpose
Deploy to Mars Part 1: Ground Support Systems
Room Hopin 11:00am to 11:50am All Attendees aaronfeledyYou thought Lando was just a flight simulator. A tool to be used on the ground, safely replicating the real-world environment you and your team face in production. What if I told you that Lando is also your production facility, your launchpad, and your mission control? That it’s the launch vehicle that takes you to orbit as well as the ground-support system that sees your mission through to success? Whether you’re new to Lando or have extensive flight hours, prepare for liftoff as we take Lando on a mission to deploy to Mars.
In part one of this two-part series, we will cover how Lando can quickly and easily simulate your production environment for all members of your team. We’ll spin up a local Drupal-as-an-app environment for sending static HTML to space using the Tome module. We’ll prevent rapid unscheduled disassembly of your deployment by automating testing with Drupal Test Traits. Finally, we’ll jettison Drupal’s front end and demonstrate working with decoupled environments
12:00pm to 12:50pm
Lunch
Room Hopin 12:00pm to 12:50pm All Attendees leewDelicious baked potatoes and fixin's from Rolling J's.
12:30pm to 12:55pm
The Maintainer Support Initiative
Room Hopin 12:30pm to 12:55pm All Attendees Greg BoggsHave you always wanted to contribute more to the Drupal community but don't know where to start? The Maintainer's Initiative is here to help you.
The Maintainers Project is a community organized effort started by Damien Mckenna from Media Current and I to improve the support of Drupal contributed modules. Maintaining a large collection of modules is a big undertaking. Rather than trying to write new code, the goal is to ensure more people get responses to their contributions.
Join me for a conversation about the future of module support, an update on what the initiative has accomplished so far, and direct support helping you get involved in contributing to module support. You'll get a primer in how to become a module maintainer for an abandoned project, an overview of our support todo list, and guidance on how to contribute to module support no matter your skill level. During the session we'll create a release for a languishing Drupal module together!
1:00pm to 1:50pm
PUPPIES, PUPPIES, AND MORE PUPPIES!!!! Also: Lessons Learned While Creating a Core Theme
Room Hopin 1:00pm to 1:50pm All Attendees mherchelDO YOU LIKE PUPPIES????!!! IF SO THIS IS THE SESSION FOR YOU! THIS SESSION WILL FEATURE TWO PUPPIES (LADY AND KATIE) WHO ARE THE CUTEST EVER! WE WILL WATCH THEM SNUGGLE, WRESTLE AND MORE!
Also, I might talk a bit about the Olivero theme, and walk through several technical and personal challenges that I encountered while creating this theme, and the techniques used to overcome these.
We’ll learn about various “DrupalWTFs”, supporting Internet Explorer, and more.
Deploy to Mars Part 2: Orbital Maneuvers
Room Hopin 1:00pm to 1:50pm Advanced aaronfeledyYou thought Lando was just a flight simulator. A tool to be used on the ground, safely replicating the real-world environment you and your team face in production. What if I told you that Lando is also your production facility, your launchpad, and your mission control? That it’s the launch vehicle that takes you to orbit as well as the ground-support system that sees your mission through to success? Whether you’re new to Lando or have extensive flight hours, prepare for liftoff as we take Lando on a mission to deploy to Mars.
In part two of this two-part series, we will produce and deploy build artifacts to the red planet with a single local command. We’ll fire up Lando’s Hyperdrive script to automatically build your project in the cosmos. We'll remote control and automate our testing and deployments in deep-space using various CLI tools and Github Actions.
Micro trends in the Wake of Covid
Room Hopin 1:00pm to 1:50pm All Attendees johardCovid-19 has thrown the entire world in a tizzy. From top to bottom, companies, economies, humans are changing, industries are being created, and the phrase "I can't hear you" has seen exponential growth in business interactions.
There are things that we can predict as part of our post-Covid world, like remote work and home-delivery of booze sticking around forever. But there are also some more nuanced after-effects of the pandemic that are quietly changing the world. Join Annie Hardy for a discussion about some fascinating global micro and macro trends emerging as a result of Covid, pitch in some of your own projections for the future, and then go twiddle with your stock portfolio to future-proof your 401K.
2:00pm to 2:50pm
Configuration Workflow Automation
Room Hopin 2:00pm to 2:50pm All Attendees Greg BoggsConfiguration management has only gotten more complex as Drupal 8 has matured. With Config 2.0 going full speed ahead, some improvements have arrived. Unfortunately, our dream of being able to save configuration directly to files is more cumbersome than it should be, and the community has created complex workflows to work around the problem of storing configuration in the database.
Now the workflow has been automated for you.
The crux of Configuration Workflow is that Drupal must create and update database schema during configuration import. The answer? Automatic configuration import and export with a small contributed module.
Come talk configuration automation with me, and lets talk through the future of config in Drupal 9. You'll leave the session with a more detailed understanding of configuration management and a tool that will save you time on every site build.
Dev, Test, Live in your own AWS account
Room Hopin 2:00pm to 2:50pm All Attendees salim
Dev, Test, Live in your own AWS account
You’re likely paying a lot of money today for hosting your website with a multi-dev environment and a Dev, Test, Live workflow.
And you’re probably paying for hosting each site individually.
What if you could host ALL your sites in your own account with the same point-and-click UI and UX?
What if it came with browser based dev environments? with a Cloud IDE (VS Code in a browser) so you didn’t need local dev environments?
What if your sites ran on the “Enterprise Grade Infrastructure” of AWS - without any shortcuts…
What if everything was managed by AWS, so you didn’t have to worry about things going down?
What if everything was automated… so you didn’t even have to know any AWS?
What if your sites were set up in an auto-scaling cluster, that grew and shrank based on load and traffic?
And what if you paid AWS directly… and only for what you used. No middle-man! No Lock-in!
Sound too good to be true?
Come to this session and you’ll walk out knowing how to set all of this up TONIGHT in less than half an hour!
See you there.
3:00pm to 3:50pm
Checking under the hood: Auditing your website for a smooth ride
Room Hopin 3:00pm to 3:50pm All Attendees volkswagenchickWe often talk about websites the way we talk about cars. Are you driving a flashy sports car or a stable hatchback? And is yours a lemon, no matter how pretty the paint job? And if you just got one used, what’s going on under the hood? There’s a way to address these questions about your website, and it’s called a technical audit.
The vast majority of site owners live in fear of the day their site “breaks down.” Performing a site audit can ensure you understand the current state of your site, from the back end code level to the front end performance. It can also help you see potential problems when it comes time to add features (like that sweet audio system).
People attending this session will learn the basic building blocks of performing a technical audit.
- Approaches for auditing different aspects of your site: custom code, theme and front-end functionality, back-end configuration and modules, accessibility, etc.
- Tools that can be used to run these tests
- Tips on what to watch for when managing a website over time
Taxonomy Place
Room Hopin 3:00pm to 3:50pm All Attendees KarenS
Taxonomy Place dynamically creates a 'Place' vocabulary using Address module to manage the geographical information. The taxonomy terms that are created are nested by country, then state/province, then city. The Address module is used as an API to retrieve the right country and province codes and names, and to manage the nesting of countries, provinces, and localities.
Instead of creating a huge taxonomy of all possible locations, many of which may never be used, the module creates the taxonomy terms as they are referenced. Users fill out an address field on a node to identify the place the node should be associated with. When the node is saved, the node's entity_reference field is updated to link it to the correct place taxonomy term, adding it to the vocabulary, if it doesn't already exist. In this way, the vocabulary only contains places that have actually been referenced.
In addition, the end user experience of interacting with an address field instead of a huge list of taxonomy terms is probably a nicer UX for linking content to places.
This session will demo how the module works and when it makes sense, with some background about why it was created.
Drupal Behaviors for Data Protection
Room Hopin 3:00pm to 3:50pm Intermediate hotwebmatterCompanies love analytics, but customers value privacy. Recent legislation such as Europe's General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA) in the USA aim to restrict the ways that web developers can legally track visitors. We'll learn how to achieve basic compliance with these regulations using contributed modules for Drupal 7, 8, and 9, and I'll show you how to achieve strict compliance by writing Drupal Behaviors in a custom module.
4:00pm to 4:50pm
Lightning Talks
Room Hopin 4:00pm to 4:50pm All Attendees leew, simplyshipleyLightning Talks⚡ are short (5min-ish) impromptu sessions on anything you want. Do you have something you’re proud of? Do you have a new technique that’s saving you time? Have you learned about something cool? Get up and share!
4:50pm to 5:10pm
Closing Session & Wrap Up
Room Hopin 4:50pm to 5:10pm All Attendees leew, simplyshipleyClosing session & wrap up