Building a Student Portal That Doesn't Suck!

Speaker: dozer55
Audience: Intermediate
Track: Development & Performance

Building a Drupal Student Portal and Integrating Drupal with Higher Education 3rd Party Tools

Integrating 3rd party tools and data can be daunting, intimidating, and downright frustrating at times. In higher education, it seems like there's an endless list of applications doing everything from providing student portals to paying employees. 

In this presentation, you will learn how Chattanooga State replaced our frustrating and broken down student portal with Drupal, and how we integrated it with our ERP system, Ellucian Banner. You'll learn how to harness the power of the Argos API, and how you can use this API to build dynamic Drupal applications using Argos Banner-supplied data.

Web Performance Clinic

Speaker: mherchel
Audience: All Attendees
Track: Design, Theming, & Front-end Development

We all know that your website’s performance is critical to the success of its mission. Conversion rates are proven to plummet if with every second of page load time.

What can we do about this? Why is the web still slow in 2019?

In this session, we’re going deep into modern web performance, and you will learn how to identify and fix performance bottlenecks in your website / webapp through topics such as:

  • Web performance metrics you should be measuring and how. Which are the most important?
  • How do I optimize my site for each of these web performance metrics
  • How browsers render web pages, and how to use this knowledge to optimize the loading experience.
  • What is the critical path? How do I account for this?
  • What is the JavaScript main thread? How can I optimize for this?
  • Identifying, profiling, and optimizing for third party scripts.

In order to get the most out of this session, attendees will have to 1) have some knowledge of HTML, CSS, and JavaScript, 2) have a basic understanding of browser-based developer tools, and 3) find slow websites extremely annoying.


All Developers Should Have Profit Driven Web Projects... Here's Why

Speaker: jengadigital
Audience: All Attendees
Track: Beginner Track

In this interactive session we'll go through the benefits of having a profit driven web project. Most developers have blogs and portfolio websites motivated by their passions and/or showcasing their work, but few venture into the world of for profit websites. Let's talk about the why, why not and how to get a project off the ground.

Open Says Me! Drupal 8 LDAP Integration

Speaker: dozer55
Audience: Intermediate
Track: Development & Performance

Need to authenticate lots of users across lots of Drupal applications? Does your organization use Active Directory for authentication?

In this session you will learn how to configure the wonderful LDAP (Lightweight Directory Access Protocol) module for use in a Drupal 8 site. We'll take a quick look at what LDAP is, talk about overcoming some obstacles to getting LDAP connections configured, and set up a working LDAP-authenticated Drupal 8 site.

Migration's Missing Instruction Manual

Speaker: JimSmith
Audience: Intermediate
Track: Development & Performance

You've finally been given the go-ahead to migrate your Drupal 7 site to a shiny, new Drupal 8 site.

"Great!" you say. It's the opportunity you've been waiting for. Now you can clean up the cruft and start with a clean slate.

So you start reading everything you can, watching every tutorial you can find, about Drupal 8 migrations. These sources do a fine job of explaining the basics, and once you think you've understood them you dig in.

And then reality sets in. All of those blog posts and videos only covered the basics of a simple migration. You discover your site is much more complicated than the examples used, so you try googling for answers again. Only now you're more confused. You're not even sure you're asking the right questions.

That's where my team members and I were when we were given the task of migrating a site containing 30,000 nodes, 1700 users, and 800 taxonomy terms. The site also had a mind-boggling 45 different content types. Along the way to moving everything to our new site we made a lot of mistakes and a lot of discoveries.

In this session I will share tips and secrets of migration we learned that weren't found in blog posts and tutorial videos. I'll uncover hidden features and undocumented tricks that made a big difference in successfully moving our site.

View the slides from this presentation

Glitch: Love to learn the web again

Speaker: daggerhart
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

Remember Geocities? I do. It's where I got started hosting my websites. The low barrier to entry made it easy to play around, make mistakes, and learn about building webpages. If it wasn't for Geocities, Angelfire, Tripod, and a number other similar services I may not be here today. And thanks to the good people over at Glitch, I was able to take my skills to the next level by building and learning node.js apps without the need to host them myself.

In this presentation I'll be gushing over, showing off its features, and trying to convince you why you should love it and use it to learn all the things. If the internet is working, we'll do a live demo!

Features that include:

  • Coop live code editing
  • Node.js app hosting
  • Remixing other apps
  • Git integration
  • Console access
  • Logging
  • Asking for, recieving, and offering help
  • and much more!

Composer, Entities, Plugins, and Complex Relationships

Speaker: jcandan
Audience: Intermediate
Track: Development & Performance

We'll go over architecture options for web applications built in Drupal 8. Modern PHP dependency management with Composer, Content Entities vs Nodes and when each is appropriate. We'll look at some excellent combinations of contrib modules and glue code to create flexible architectures.

Who is this for?

Though extensive experience with these is not necessary, you are at least familiar with:

  • D7/D8 Module Development
  • Composer

You are interested in grasping:

  • Composer for Drupal 8
  • Custom Entites
  • Complex relational architectures

Bonus: We'll cover...

  • Composer for custom modules
  • Custom fields via Plugins
  • Drupal Console badassery

Hope to see you at my session!



Video of this session is here



Lightning Talks

Speaker: leew
Audience: All Attendees
Track: Non-Session

Lightning 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!

Paragraphs got a Problem - YO let's solve it!

Speaker: hawkeye
Audience: Intermediate
Track: Development & Performance

From Multifield module to Field Collections and Paragraphs, the site-building tools at our disposal continue to mature. As one gains traction, its weaknesses begin to show and new solutions spring forth. And so it continues with the sunset of Paragraphs. This talk is for anyone who:

  • Builds with Paragraphs on medium-to-large sites, or
  • Leverages ECK to craft sub-entity solutions, or
  • Implements content architecture at scale.

Following on from of japerry's timely talk about the woes of entity references, we'll review the problems with using Paragraphs on large Drupal installations. When are sub-entity solutions a good fit, and when aren't they?

I'll demonstrate how you—yes, YOU!—can easily create custom fields. And finally, we'll look at a solution for developers and site builders alike, resurrecting multifield functionality from the ashes of Drupal 7 into the "Rich Fields" module for Drupal 8 (forthcoming to contrib).

Centrally Managing Fifty Drupal Sites Without Losing Your Sanity

Speaker: iacweb
Audience: Intermediate
Track: Sessions Off the "Drupal Island"

A demonstration and explanation of how we manage and monitor over fifty Drupal websites used throughout the College of Liberal Arts at Georgia Tech.  I'll show how we use automatic scanning to pick up important details about each site (Drupal version, modules and their versions, users with administrative access, etc.) and store that information in a central database alongside with manually collected details on all of our websites (nearly 180 in total).  I'll share some of the many reports we're able to run about our sites and how we use these reports to help with update / patch management.  I'll also show how we do the same kind of automated scanning for WordPress sites and for the operating system of each of our web server VMs.

This is not so much a how-to session as it is a "here's what we're doing - let's hope we inspire you to do something similar" session, since all of this infrastructure is custom-built, but I will provide ideas on how the same infrastructure could be built on top of Drupal 8 today to create a Drupal powered site monitoring and management system.

Local Development, a personal journey

Speaker: nullvariable
Audience: All Attendees
Track: Development & Performance

Ever struggled with "well it works on my machine" type of problems? Join me as I take you through my personal journey through a variety of solutions, starting with cowboy coding on the live server, to leveraging docker and lando to closley emmulate deployment environments. We'll talk about the pros and cons of a variety of different solutions, and you'll be able to walk away with a better understanding of your choices, and how to make the right one for your current situation.

Fixing the mistakes we all make as developers, leaders and teams

Speaker: jordana
Audience: All Attendees
Track: Beginner Track

We all make mistakes - yes all - and that's okay; it's what happens after that matters. How do we learn from them and how do we make sure they don't happen again?
With the rise of remote working, distributed teams and online collaboration the impact of good communication and healthy work (and online) spaces has become one of the most important factors in the success or failure of projects.

This will be a session exploring what good leadership and teamwork consists of, what makes that possible and, more importantly, what to work on so we can be better leaders and teams ourselves.
The session will be mostly focused on the skills we may have but sometimes take for granted, forget to work on or simply don't master as much as we want to.
We will also discuss and break down specific, and sometimes difficult aspects we encounter when working with others.

Some tips and topics will include:

  • tips on better communication
  • dealing with difficult conversations, people and situations
  • giving and receiving criticism well
  • assumptions, intent, impact and biases we may not be aware of

CI/CD with Drupal

Speaker: jcandan
Audience: Intermediate
Track: Development & Performance

So many articles, tutorials, and other resources seem to bring us right up to the cusp of continuous deployment, but, regretibly, anticlimatically, never bring us to grasp that last step. Watch over my shoulder as we implement a deployment strategy that works. We'll use Gitlab CI and Laravel Envoy--an SSH task runner that makes life amazingly simple. This is for self-hosted, but will be helpful in understanding the toolsets for the big three--Platform, Pantheon, or Acquia.

Level Up Your Development Experience with Lando

Speaker: aaronfeledy
Audience: All Attendees
Track: Development & Performance

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.

Whether you need to simulate infrastructure(e.g. redis, nginx, solr), helper services(e.g. mailhog, phpmyadmin, xdebug), development tools(e.g. grunt, drush, composer), or common automation tasks(CI, testing, building deployment artifacts), Lando provides a solution to quickly specify and painlessly spin up the services and tools needed to develop your projects. It's a free, open source, cross-platform, local development environment and DevOps tool built on Docker container technology. Designed to work with most major languages, frameworks and services, Lando provides an easy way for developers of all types to specify simple or complex requirements for their projects, and then quickly get to work on them.

In this presentation, you will learn some Lando basics, including how to use Lando's built-in recipes to quickly spin up Drupal environments. You will learn how to define your development stack in a simple Lando configuration file that can be committed to your code repository and shared with other team members. You will learn how Lando can easily push and pull code, database, and files from hosting services such as Pantheon. You will learn how Lando can perform automation tasks and how easily it can do testing and CI. You will also learn how Lando can be used to build a decoupled Drupal/Gatsby development stack in just minutes. Most importantly, you will leave this session knowing that after making the switch to Lando, your team will never need to configure a virtual machine or install another local development tool for any of your projects.

Evolving Priorities: Tech, Community, and Impact

Speaker: nerdstein
Audience: All Attendees
Track: Sessions Off the "Drupal Island"

Change is the only constant in life. As technologists, the landscape around us is constantly changing. We must evolve or become irrelevant. How do we do so?


During this talk, I explore considerations around evolution. Topics include the limitations of technical skills, a purpose-driven perspective, and evolving ourselves. When evaluating Drupal, I share how the product and community have evolved in the past and opportunities for the future.  Attendees can take away some perspective on how to approach change and evolve professionally.

All Day Drupal 8 Beginners Training.

Speaker: DougVann
Audience: Beginner
Track: Beginner Track

An all day introuction to Drupal 8 taught by Doug Vann.

Using Patheon as a development environment, all you will need is a laptop.