Front End TDD

TDD (Test Driven Development) has been used for a long time and has proven itself to be a strong methodology for building solid applications. In the beginning, you might feel like you are wasting time writing tests, but you will spend much less time later on finding the root causes of problems. More importantly, you can concentrate on small units of code and make sure each unit is of good quality. The numbers of tests will grow with the main code, and essentially, you’ll get early feedback on any problems in your application.

Track: Front End Experience level: Intermediate


Building Drupal 8 sites with Composer and Configuration Management

This is a session I gave at DrupalCon New Orleans. There have been a number of changes to the "proper" way to use composer, and I've learned a lot since then. So, I'm excited to have the chance to present this again with an updated slide deck/demo reel!


Basically, the session will focus on building and maintaining a site with Composer, as well as how to use Configuration Management to push changes from a local environment up to a production one.


Track: Development and Site Building Experience level: Intermediate


Future of the CMS: Decoupled, multichannel, and content-as-a-service

Content! It’s everywhere! It’s on websites and apps. It’s displayed on computers, televisions, and watches. It’s heard on phones, radios, and screen readers. How can you keep pace with the rapidly changing landscape of content management and publishing?

In this session, you’ll learn how media companies, publishers, universities, and nonprofits are adapting and thriving — all while keeping their content centrally managed and easy to update. We’ll discuss:

Track: Business and Open Source Experience level: Intermediate


Use Tugboat to Push Your Team into CI

At Lullabot we work on some pretty high profile websites with some very large teams.  Over the years we've honed our development and deployment processes to help keep the codebase clean and keep the features rolling out while keeping the bugs out of the code and making sure the stakeholders are happy.


Adding processes and testing often means reducing velocity, so built a tool that not only helps us prevent the velocity drain, but actually speeds up our development process.


Track: Business and Open Source Experience level: Intermediate


Drupal 8 SEO - 12 Essential Modules and Configurations

SEO is critical to the success of most web projects. Thanks to the hard work of the core team and module developers, Drupal 8 can be excellent for SEO but, it needs some help. A lot has changed from the previous version in both interface - some functions have been moved into core and some require add-on modules. Not only that, the search engines are constantly updating their algorithms and as Drupalers, we need to adjust our strategies accordingly.

Track: Development and Site Building Experience level: Intermediate


Advanced Balloon Animals

Object oriented programming is a bit like making balloon animals - you start with a blob, and by imposing a template on it, induce a behavior that causes pleasure.

(Yeah, that's a bit of a stretch, but the title was sort of handed to me.)

To write a useful module in Drupal 8, you need to be able to manage some basics of object oriented programming.  Let's build a module together and see if we end up with a giraffe, or if a loud noise and a scrap of rubber.

(Happily, as with balloons, you can always start over again.)


Track: Development and Site Building Experience level: Intermediate


Delivering mail in Drupal 8

The idea of sending mail is to get it to the end user and get them to read it right? We'll talk about the first part of that, sending, but also how to make sure it gets all the way there and (hopefully) doesn't just end up being tossed. 


* Sending email from code

* Building the body[] array in hook_mail()

* Altering email sent by another module

* Development environments and debugging

* Production environments: Clean IPs, SPF, DKIM

* Mail services like Mandrill and Sendgrid

* Swiftmailer, Mail System, and HTML Email

Track: Development and Site Building Experience level: Intermediate


How to audit Drupal Sites for performance, content and best practices

Ever wanted to know if a Drupal site is configured correctly, secure and uses best development practices? Want to integrate those tests into your continuous integration setup? What about providing Drupal audits as a professional service? Join Jon Peck, author of Site Audit as we discuss how and why we should analyze sites, then explore how to use dozens of industry recognized Drupal and code analysis tools on both Drupal 7 and 8 sites.

Track: Development and Site Building Experience level: Intermediate


Multiplier effect: case studies in distributions for publishers

Join members from both Four Kitchens and Meredith Agrimedia as they discuss the experience of migration and relaunch of the digital presence of two magazines: Successful Farming at and WOOD Magazine at

Track: Development and Site Building Experience level: Intermediate


Aha! Understanding and Using Render Arrays in Drupal 8

theme() has long been a popular function, but it no longer exists in Drupal 8 and there is no OOP equivalent. If we can’t call theme(), how do we render our data with the Twig templates that we’re all so excited about? Render arrays. While render arrays existed before Drupal 8, they weren’t used as often as they should have been. They’re everywhere now. Unfortunately render arrays are a bit confusing and intimidating until that wonderful “aha moment” hits. This session aims to provide that moment.

Track: Front End Experience level: Intermediate