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.

PHP 7: The New New PHP

The next era in the life of our favorite language has come.  PHP 7 brings numerous improvements to PHP, from minor syntactic enhancements to major engine changes to a new, stronger type system.

What does it mean for developers?  What exactly are the new tools at our disposal?  Are the changes in PHP 7 worth the upgrade?  We'll try to answer that question, and make the case for upgrading sooner rather than later.

PHP-FIG: A part of a balanced PHP diet

The PHP Framework Interoperability Group (PHP-FIG) is 7 years old now.  Never heard of it?  That's too bad, because it's helping to change the face of the PHP universe.


FIG is PHP's very own standards body, or United Nations of a sort.  It's goal is to improve collaboration, compatibility, and interoperability between PHP projects large and small.  Ever wondered why you don't have to think about autoloading anymore? That's FIG's doing. A common way to do logging for any project?  FIG's doing.  A standard abstraction for HTTP messages?  Yep, FIG.

Everything I know about software management I learned from Fred Brooks

"The Mythical Man-month" is one of the seminal books in the field of software project management.  It was written in 1975, based on experience from the 1960s.  Is it even still relevant?


Turns out, it is.  Technology may have changed dramatically but people have not.  Managing software projects is about managing people, not bits, and creative people engaged in intellectual endeavors are notoriously hard to predict and manage.  (Just ask my project manager.)


Eating ElePHPants

"Big ships turn slowly", the saying goes. That's true nautically and in software. Software grows over time, and the bigger it gets the harder it is to make significant changes. When those changes are not just technical but cultural the task becomes even harder.


But harder doesn't have to mean impossible. If Drupal can modernize itself from a PHP 4 procedural application to a PHP 5.5 object-oriented platform, you can do the same with your project. It just requires being pragmatic.

Aphorisms of API Design

Code that talks only to itself is not useful to anyone. Code that enables other code magnifies its power 10-fold.


But how do we enable other code, and those who write it? What makes a module extensible? What is that vague extra something that turns merely extensible code into an API, a library, and a cornerstone of other systems? How do we harness that power for ourselves?


Let us examine the Aphorisms of Good API design, and the 8-Fold Path of API Nirvana.

Drupal 8: The Crash Course

One of the most widely-used and mature Content Management Systems on the planet, Drupal runs more than one in fifty websites in the world.  However, it has always been something of an odd duck, with an architecture and design very different than anything else in PHP.


Enter Drupal 8: Almost a complete rewrite under the hood, Drupal 8 is a modern, PHP 5.5-boasting, REST-capable, object-oriented powerhouse.  Now leveraging 3rd party components from no less than 9 different projects, Drupal 8 aims to be the premiere Content Management Platform for PHP.


Functional PHP

Functional programming. Some see that term and think "functions? You mean procedural programming. I've been doing that for years." Others see it and think "you mean that crazy academic nonsense that no one understands? Pfft!"


BDD Strategies for Rock-Solid Automated Testing in Drupal

In this session we will examine best practices from the Behavior-Driven Development community and apply these principles to automated testing in Drupal. This session will focus primarily on how to structure and organize tests in a BDD-friendly way regardless of the tool, and how these strategies align with a broader Agile methodology. Behat is currently the most popular choice for building functional web tests in Drupal, in large part due to the development of robust Drupal-specific extensions in the open source community.

Building a web for all

The web is a big and increasingly complicated thing. It is built on several layers of technology, including browsers which have varying support for web standards. And it can be accessed by many different kinds of devices, each of which imposes their own constraints. And the speed or reliability of people’s connectivity to the web can vary significantly, especially in an age of widespread mobile browsing (and on the WMATA metro).