Code and DevOps

This track is focused on developers and the back-end technologies to deal with today’s and future challenges. With the coming release of Drupal 8, as well as emerging Web technologies, preparation is essential. These sessions will help you learn how to deliver effective solutions to meet these needs.

FAITH: Automated Visual and Functional Regression Testing

F.A.I.T.H is a toolbox and a process. Using Jenkins, Behat, JMeter and Wraith we can automate much of our functional, performance and visual regression testing. This system is not a replacement for manual testing of new features or device testing. However, it will allow the automation of functional regression testing, visual regression testing and performance and eventually desktop cross browser testing. This will provide better coverage in less time and produce tangible, targeted testing results.

DevOps: Using Vagrant + Puppet

At the NCCoE, our drupal developers implement a standardized environment, intended to mirror our production environment.  This ensures a sense of consistency when building, or enhancing a new feature.  I will walk through how to build a vagrant base box, from an initial iso, to provisioning the corresponding iso, and provisioning the entire drupal instance.

Scaling Drupal with Docker and SALT @ USDA

You can't even open your laptop these days without reading something about Docker, but does it really work and deliver on the promises it makes? How do you manage it and provision it in your own data center with multiple virtualization platforms? What are the benefits and possible negatives, and impact to your business? By implementing Salt and Docker, USDA streamlined a 3-6 months long production deployment process to a matter of weeks. The USDA also opensourced this Drupal platform image.

D3 Data Visualization

There's no escaping the fact that data visualization is hot right now. Everyone wants to tell their data's story visually, whether it be through a map, chart, or more detailed presentation. The difficulty is there are so many different tools that solve this, each one with their own benefits and limitations.
We feel D3.js is the most awesome tool for handling this task -- which is the approach we've used for the sites like the Nation's Report Card, BlueCross BlueShield of North Carolina, GlobalChange, and others.   We'll cover:
  • What D3 is and why you should be using it

Content Migration: SharePoint to Drupal – The Automated Way

The session will discuss our approach to migrate the content from SharePoint into the Drupal 7. This will avoid the need for manually migrating the content and thereby reducing the effort and the errors. With this presentation, the participants will have a roadmap for the migration and expand further based on their needs.

In this session, we will demo on how to:

Implementing Basic CI/CD for Drupal Projects

This session will show how to set up a basic Continuous Integration, Continuous Deployment environment for Drupal projects using common industry development tools to help automate operations tasks, improve quality, and accelerate the development process. The components demonstrated include merging code, automated code scanning, automated unit testing, automated functional tests, and automated deployment to cloud-based environments on AWS.

Ensuring Quality through Automated Visual Regression Testing

Deploying a site is easy; having confidence that it works as intended after the build is hard.  In this talk, we will outline our automated build workflow and show how we have integrated automated testing to ensure that builds don’t break sites. This process focuses on two critical steps: verifying functionality, which is accomplished using more traditional test suites like Behat and Selenium, and verifying the actual look/feel of the website, which is accomplished with a visual regression test performed by Wraith.

Advanced Views with PHP

The views module is arguably one of the most powerful parts of Drupal 7. However, as any advanced user knows, it has its limits. While there are work arounds to these limits, often times these have an impact on performance (or security), particularly if you utilize the Views PHP module.