9:00am to 11:30am

Speakers(s):
Room: Room 0
Session Track:
Experience level:

Trainings are being held from 9:00 am - 11:30 am, which required a separate registration. The camp welcome is at 11:45 am and sessions will start at 12:00 pm. 

Speakers(s):
Room: Room 1
Session Track:
Experience level:
Intermediate

Component-integration with a Drupal website is one of the most difficult process to grasp when developing with the component-based approach.  There are so many scenarios for how values from Drupal fields should be retrieved.  Drupal doesn't make things easier either since in most cases Drupal will not render just the value of a field but instead provides a full array for a field.  In addition, retrieving field values from Drupal may require multiple Twig templates and these also vary depending on the entity type you are working with (i.e. blocks, views, nodes, paragraph types, media, etc.).  You will be surprised to learn that sometimes the problem with integrations may be the result of how components are built and this is why is important to start thinking of Drupal even as early as when drafting the markup for the components.

 

Topics we will cover

  • In this workshop we will get to the bottom of component integrations.
  • We will cover how to build components in your design system (i.e. Pattern Lab), with Drupal in mind.
  • We will review how to account for Drupal attributes, title_prefix, and title_suffix in your components.  Also we will cover what all of this means in general on a drupal website.
  • We will explain how to properly break down components based on how Drupal handles the equivalent of the components we are building.
  • We will make heavy use of View Modes which help Drupal do the heavy lifting for managing fields and how to render them.
  • We will use the twig_field_value and twig_tweak modules to properly rendering fields as well as debugging Drupal's render arrays. 
  • Finally, not properly rendering fields in Drupal can lead to caching issues.  We will cover how to ensure we are rendering fields the way Drupal expects it and therefore avoiding caching issues.

 

Who would get the most out of your training?

This training is primarily for front- and back-end developers who wish to learn how to build Drupal websites using the component-based approach, or who have already had some experience with components in a Drupal website.

 

What do you expect people to be able to take away from your training?

  • Building flexible and scalable components using Twig and Pattern Lab
  • Best practices for Drupal theming and development
  • Drupal’s content array and how to preserve caching
  • Debugging a theme to obtain fields and variables information
  • Working with Twig template suggestions
  • How to integrate front-end components with Drupal
  • Best practices for using Twig’s include, embed, and twig blocks
  • Working and planning for Drupal attributes
  • Building reusable components

 

How much and what kind of technical knowledge do people need going in to your training?

Good understanding of Drupal's ecosystem is required to follow along with the training.  Beginner to intermediate front-end or back-end development experience is useful.

 

Other requirements

  • A running Drupal 9 website will be required (If not using Mediacurrent's training environment, ensure your website is up and running)
  • This is a hands-on training and coding experience is required to follow along with exercises.
  • A code editor of your choice
  • Enable the following modules:
  • Enable twig debugging (disable cache)

 

Please Note: Registration for this training is a seperate ticket. 

 

Register for This Training Today

Speakers(s):
Room: Room 2
Session Track:
Experience level:
Beginner

Drupal 9 is out! Learn to use the Migrate API to upgrade your Drupal 6/7 site to Drupal 8/9. In this training, we will teach you what tools are available to accomplish the task and how to use them. You will also learn how to plan and execute successful upgrade projects. The examples include how to perform changes in content architecture between the sites. Migration of different field types will be presented.

Learning Objectives

  • Understand the different approaches to upgrading your site to Drupal 9 using the Migrate API.
  • Learn to plan and execute migration projects.
  • Revise site architecture and map configuration from the previous site to the new one (content types, fields, etc).

 

Target Audience

Individuals and organizations who want to upgrade their Drupal 6/7 sites to Drupal 8/9. They will learn about the workflow and thought process to execute a successful upgrade project.

 

Prerequisites

To get the most out of this training, attendees should be familiar with Migrate API concepts. You can learn about them at https://understanddrupal.com/31-days-of-migrations You can also have a look at this video https://www.youtube.com/watch?v=eBP2vQIwx-o for an overview of the Migrate API.

Please Note: Registration for this training is a seperate ticket. 

 

Register for This Training Today

11:45am to 12:00pm

Speakers(s):
Room: Room 0
Session Track:
Experience level:

Welcome to DrupalCamp Atlanta

12:00pm to 12:45pm

Speakers(s):
Room: Room 1
Session Track:
Site Building
Experience level:
Beginner

Our websites are maturing into feature-rich publishing platforms, allowing collaboration across organizations and delivering content across multiple channels. But the out of the box publishing experience is fairly flat -- with content either published or not.

Content moderation is not a trivial feature. It’s a big responsibility to write software that dictates how someone works. Workflows should be a reflection of your individual creative processes. Creating interfaces that are too rigid or don’t allow collaboration will stifle good ideas and accidentally impose an unwanted layer of governance.

This session will explore common offline/institutional workflows and how they map to functions of the Drupal CMS. We will discuss the lifecycle of content from concept to published copy and look at ways to manage content as it moves through the roles of your institution. Topics include:

  • Moderation: Defining states and transitions that match the roles of each stakeholder.

  • Dynamic Permissions: Changing access rules based on content state, history, and ownership. 

  • Revisioning: Reviewing, purging, and diffing sets of content changes.

  • Notifications: Sending messages to stakeholders on content transition.

  • Dashboards: Developing interfaces and reports based on content states and the roles of your team.

We will look at real-life workflows inspired by client work, including a publications workflow, a job application website, and a tech-support ticketing system. Finally, we will discuss the benefits of centralizing your content management processes, leveraging features of Drupal over getting lost in a mess of spreadsheets and emails.

Speakers(s):
Room: Room 2
Session Track:
Marketing (new track)
Experience level:
Beginner
Overview

Case studies are great sales tools. But how many times have you gotten ready to submit a pitch, and realized you were missing case studies for the projects you want to highlight? You assumed somebody on the team would write one after the projected deployed, but everyone got reassigned to other projects, and it slipped through the cracks, again. And now you are sad. But it doesn’t have to be this way.

Learn why we draft our project case studies before writing the first line of code, and how the team uses the case study draft as a quality assurance step to help ensure a successful project outcome.

Target Audience

Freelancers and those responsible for producing case studies for agencies.

Learning Objectives
  • How to take the stress out of producing project case studies on time.
  • How to use the case study process as an additional Quality Assurance step early in the project timeline.
Prior Technical Knowledge

None

 

1:00pm to 1:45pm

Speakers(s):
Room: Room 1
Session Track:
Site Building
Experience level:
Beginner

I would like to talk about the Configuration Split module in Drupal 8/9. One of the coolest features introduced in Drupal 8 was Configuration management.  The developers now can easily push configuration changes to different environments. There are cases where certain configurations need to be enabled only in certain environments. For example, modules like Devel, Kint, etc are enabled only in development environments, but we do not have these modules enabled on production or sometimes we need to configure different credentials for different environments. Fortunately, the Configuration Split module provides a means to accomplish all of these goals by keeping configurations into a separate directory so we can import them into a certain environment.

Any Drupal beginners with site-building and configuration management knowledge can attend this session. This session would help them understand their site's configuration and prevent it from overriding.

Speakers(s):
Room: Room 2
Session Track:
Future of Drupal (new track) 
Experience level:
Beginner

AI (Artificial Intelligence) is changing the way we work and live. 
AI is estimated to create an additional 13 trillion US dollars of value annually by the year 2030. And that is including all the sectors not limited to the software industry.
Few examples where AI is used is in smart speakers (Alexa, Google Talk), Self-driving cars...
And now it has also started contributing to content management systems.

In this session we will talk about:

1. Understanding AI and it related terminologies (Artificial Intelligence, Machine Learning, Data Science)
2. AI technologies
3. AI in CMS
4. the State of AI in Drupal.
5. Probable Roadmap of AI in Drupal.

1:45pm to 2:00pm

Speakers(s):
Room: Room 1
Session Track:
Experience level:

Take a break and meet us back here in 15 minutes. 

2:00pm to 2:45pm

Speakers(s):
Room: Room 1
Session Track:
Development and Performance
Experience level:
Beginner

When we think of innovation, we think of cutting edge technology, complicated systems, and brand new approaches. However, innovation is not just a purchase. At the University of Georgia School of Law's Alexander Campbell King Law Library we learned through trial and error to put the process before the technology, and not the other way around.  Because sometimes, the most innovative idea is the simplest solution. In this session I will share the story of implementing patron-driven holds in our library as a response to the COVID-19 pandemic, as well as the lessons learned about using the right tool for the wrong job. Ultimately, we arrived at the best solution, and the results surprised us: a basic webform in our school's website CMS Drupal 7. Webform for Drupal 7 is the second most popular non-utility contrib module, after Views. It is a large, rich module used by hundreds of thousands of sites. If you need to build a lot of customized, one-off forms, Webform 7.x is a more suitable solution than creating content types and using CCK or Field module.

Ensure that you let us know:

  • Attendees do not need any specialized knowledge to understand the content of this session, but awareness of Drupal webforms will be useful although not required.
  • In this session attendees will get an introduction to Drupal webforms, and through storytelling learn how flexible Drupal webforms can be.
  • Through a comparison of our first approach (using our law library's ILS Sierra's Innovative) and our second approach (our law school's website Drupal 7) attendees will see how much beneficial webforms can be for simple workflows, basic automation, and improved user experience.
  • This session will teach that process and user experience (including marketability) are more important than the technology itself, and that often the simplest and most affordable solution is the best one.

 

Speakers(s):
Room: Room 2
Session Track:
Development and Performance
Experience level:
Beginner

We’ve been working with Drupal for a long time: since way back in 2006, when Drupal had just reached version 4.6. The platform has come a long way, and in particular Drupal 8 and 9 have been huge jumps forward. 

Meanwhile, so has the rest of the publishing industry. Building content online has never been easier, with products like Squarespace, Wix, and even WordPress defining the new standard for easy-to-use publishing tools.

We’ve been working on a suite of tools that combines the flexibility and robust capabilities of Drupal 8 and 9 with the simple content management experience that marketing and communications teams need and expect.
In this webinar, we’ll walk through the components of a new, easy-to-use, drag-and-drop authoring experience based on Layout Paragraphs, that empowers teams to publish rich, beautiful content in Drupal, quickly. This session is for everyone in the Drupal community, from developers to designers to UX specialists. This session is especially for marketing, communications and content management teams to build, edit, and publish beautiful content in their Drupal websites with ease.

2:45pm to 3:00pm

Speakers(s):
Room: Room 1
Session Track:
Experience level:

Enjoy this sponsored break by NewMe Media.

3:00pm to 3:45pm

Speakers(s):
Room: Room 1
Session Track:
Marketing (new track)
Experience level:
Beginner

Depending on the needs of your organization, taking advantage of RSS (Really Simple Syndication) feeds to automate your newsletter campaigns can be a simple way to increase traffic to your blog, especially if you don’t want to pay for a fancy marketing automation tool. During this session we will discuss the basics behind building out automated newsletter campaigns in RSS-compatible email marketing tools such as Mailchimp. While RSS feeds can be applied to any CMS, we found that the feed export functionality in the Drupal Views module served as a great data source for our own RSS implementation on the DesignHammer website. An advanced level of marketing knowledge is not a prerequisite for this session, it is open to anyone and everyone who is interested in learning how to apply a common technology to drive new traffic to their website, especially those with a limited marketing budget..

 

After this session, attendees will have learned how to generate an RSS feed that pulls data from their Drupal blog, how to build an RSS-readable email template in Mailchimp, and how to schedule recurring campaigns. Thanks to RSS tech, automating your email marketing campaigns can be simpler than you think.

Speakers(s):
Room: Room 2
Session Track:
Development and Performance
Experience level:
Intermediate

The Migrate API is a powerful and flexible system to get content and configuration into Drupal. This presentation will take you behind the curtains to understand how the migration system works and what assumptions it makes. Along the way, we are going to explore how it integrates with other subsystems like the Entity API and Field API for import operations. Additionally, we will explore how to alter migrations programmatically.

You will learn about:

  • Transforming data to match the format expected by various entity types and sub-field targets.
  • Establishing relationship among entities. For example: files to media to nodes. Also, multivalue, nested paragraphs to nodes.
  • Dynamically modifying migrations using hooks and events .


This session is for people who want a deeper understanding of how Drupal's Migrate API works. Site builders and developers alike will benefit from the content presented.

This is an intermediate session. Some familiarity with the Migrate API is expected. This video https://www.youtube.com/watch?v=NBhkixY-PuA will serve as a good foundation. Attendees are also expected to be familiar with site building Drupal concepts like nodes, content types, and fields. This video talks about them https://www.youtube.com/watch?v=02fvLzPSIjc

3:45pm to 4:00pm

Speakers(s):
Room: Room 1
Session Track:
Experience level:

Enjoy this sponsored break by NewMe Media.

4:00pm to 4:45pm

Speakers(s):
Room: Room 1
Session Track:
Development and Performance
Experience level:
Beginner

There are a lot of Drupal features we end up missing out on when going fully Decoupled. In a lot of scenarios, only a part of our application needs the functionality that Decoupled Drupal provides, and going overboard ends up hurting us more than it saves our time.

Can't we have your cake and eat it too? Well, we certainly can when we decouple progressively. With such an architecture we get to enjoy the strong suite of both Drupal and the Frontend framework without worrying about how to scale our infrastructure or the team.

However, even with a progressively decoupled drupal project, there are a lot of scenarios where we might run into challenges. In this session, I'll try to address some of them. We will go through the following:

1. When to opt for progressively decoupled Drupal and how it compares to fully decoupled
2. How to structure your components and how various Drupal modules can make this simple for you
3. How to build components that work in harmony with Drupal localization.
4. Which Frontend library should we use and when does it make sense to use something else
5. Optimize data fetching when querying data from Drupal and third-party APIs
6. Using Drupal for tracking Frontend errors.

Speakers(s):
Room: Room 2
Session Track:
Business Leadership
Experience level:
Beginner

How much is this going to cost? When will this project be done? How much longer do you need to close out that ticket? We hear these questions routinely as developers. But, how do you answer these questions?

Estimation can be tricky. But, it is a very useful skill that can be developed. There is a lot of research that has been done on estimation, which we can all use to become better at estimating. Being a better estimator will give you, your team, and your organization more confidence in your projects and your clients happier. The goal of this session is to give you techniques that will increase your estimate accuracy.

LEARNING OBJECTIVES & OUTCOMES

Attendees will learn: 

  • What an estimate is

  • Techniques to make you, your team, and your company better at estimating

  • How to use past estimates as guides to future estimates

  • How to communicate estimates

This session will provide helpful information to architects and developers of all skill levels.

4:45pm to 5:00pm

Speakers(s):
Room: Room 1
Session Track:
Experience level:

One last word to wrap up Day one of the camp.