Advanced

Pantheon Master Course and Working Session

Skill level: 
Advanced
Max Registrations: 
41
Registrations Remaining: 
25

If you already use Pantheon and are looking to increase your efficiencies and further speed up your development practices, this day is for you. Join Pantheon Co-Founder Matt Cheney and Agency and Community Engineers Steve Persch, Andrew Taylor and others for a day of hands on DevOps examples and coding. Come for a hands-on day that focuses on Terminus, Quicksilver and integrating your existing workflows and CI tools into Pantheon.

Examples we'll walk through include:

Building a DevOps UI to manage thousands of sites across hundreds of servers

HighWire Press hosts more than 2,000 sites. Tired of manually maintaining our sites, and with technical drupalers in high demand, we knew we had to move to a user-friendly UI-based system for maintaining, auditing, and managaing our fleet of Drupal sites. We looked at hosted solutions like Pantheon and AquiaCloud, but our reliance on backend services made these hosted solution untenable. We decided to build it ourselves. 

Lessons Learned from Upgrading the Node Hierarchy Module to D8

This session is mostly for people that have written module code in Drupal 7, and wish to get up-and-running quickly with Drupal 8.

If you've used the Drupal API to whip up a module before, get ready for a huge shock because almost nothing is the same in Drupal 8. Much of the contributed module code prior to Drupal 8 was written in procedural PHP, while Drupal 8 encourages an OOP-based approach. Gone are the days of whipping up Drupal code in Notepad++ or some basic text editor, and say hello to IDEs like PHPstorm.

First Class Development Workflow in Drupal 8

The goal of this session is to give you a first class pipeline for your code. We’ll talk about how to set up a local development stack that mirrors production with Docker, how to leverage package managers like Composer/Bower/NPM now, how to set up CI for asset compilation, code quality checks, unit, functional, and performance tests, and how to deploy those changes to a variety of environments, including Pantheon and Acquia.

Golang for PHP Devs

Much like PHP, Go is a programming language designed for the Internet.

Unlike PHP, Go is designed for the Internet in the second decade of the 21st century. Go assumes that code written in it will be concurrent and distributed, providing first class language features to support this type of architecture.

I'll go through an introduction to Go, what makes it unique among its peers, why and how it is different than PHP, and we'll walk through building a simple application that can accept external requests for data.

Keeping the Money Straight: Power Dynamics in Client Relationships

Does this sound familiar? Everything started out so great with this new client's project. The dev team is cooking along, and the client is thrilled with all the great work you're delivering. But as the project goes on, things start to go sideways, a little at a time. And every time you discuss payment (of their already overdue bill) with the client they list a litany of complaints you've never heard before.

Introduction to Aquifer, a Build System for Drupal

Don’t work harder; work smarter, because laziness is a virtue in software development. You’ve heard it a million times, but what do this look like in practice? In this session, we’ll talk about a new tool called Aquifer that can automate parts of the Drupal development cycle.

Advanced JavaScript Unit Testing

Testing is an important practice in software development to improve software quality, and it can be precarious no matter what language you’re in. The flexibility offered by JavaScript can make your tests powerful, but if you’re not careful, that same flexibility can leave you frustrated. As Drupal gains more JavaScript developers we'll need to up our testing game.

You should be writing tests to inspire confidence that everything is working as expected. If something breaks, you want to be sure that you’ll catch it and quickly understand what went wrong.