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.
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.
Git is a powerful tool to help create, deploy, and maintain your Drupal website, but devs are sometimes intimidated by its scale - the adds! The commits! The merge conflicts! Too often, busy firms decide it's easier to just "do it live" instead of maintaining their code, but in the long run that just leads to broken sites, crashed servers, and corrupted databases. We can do better!
Paragraphs provides a powerful tool for doing content-first based design and content management in Drupal 7 and 8. Wouldn’t it be great if you could create paragraph bundles without the UI, or reuse a great set of bundles on another site. What if you could easily replicate all the fields and configuration without going through the whole process over again or being locked into a workflow like Features?
CiviCRM's payment processing capability is great, but what happens when you want to do something really out of the ordinary? When a client needed a solution to separate donations from event fees, we looked at how we could create a separate transaction without additional information from the user. Once under the hood, a whole range of possibilities for managing the payment process were now at our fingertips. We'll talk about how you can use other CiviCRM entities and a simple extension to provide endless possibilities for managing payment transactions.
Are you tired of testing code changes on your sites like this: "ok now I'll click on everything I can think of that seems like it could be related enough to be at risk of breaking... and hopefully I don't forget anything..." ? Good news!
It's a super practical, hands-on session about using Behat to add automated testing to your Drupal development process!
Even if you're only casually acquainted with Drupal 8, you probably know that the core upgrade path to Drupal 8 has been completely rewritten from the ground-up, using many of the concepts of the Migrate and Drupal-to-Drupal migration modules. Using the new core Migrate modules, it is possible to migrate much of a Drupal 6 (or Drupal 7) site to Drupal 8 with a minimum of fuss.
Switching to Symfony for Drupal 8 means changing how you add new functionality to your site. Many of these are implemented as Plugins, for instance:
- REST resources
- Image effects
In this session you will learn why Plugins exist and how to implement your own. We'll discuss the various interfaces, the Plugin Manager and discovery. We'll also touch on dependency injection and other systems you need to know to dig into extending Drupal 8.
The Drupal community has embraced automated testing tools like PHPUnit and Behat and there are plenty of tutorials online to help you get them up and running. But these guides always give a vague answer to the most pressing question: When developing a new Drupal site, exactly what tests should you write?
The CSRA/New Target web team at the Administrative Office of the US Courts is wrestling with this very question. Join us for a quick review of testing frameworks and philosophies and then help us as we consider the pros and cons of different tests we might write.
You've looked at Drupal core. You've looked at the vast contributed ecosystem. However, you can't find anything that solves your problem. Or, perhaps, nothing that solves your problem completely.
What do you do?
Use the php filter to throw some code into a block! ✘
Cram a bunch of logic into a tpl file! ✘
Dunno! Views, probably! ✘
Write custom code the Drupal way! ✔
The Aegir Hosting System is a Drupal-centric hosting framework, used by thousands of people and organizations, including NASA, NDI and SLAC. They use Aegir to automate all aspects of development and hosting of hundreds, or even thousands, of Drupal and CiviCRM sites, and with the use of contrib extensions, even Wordpress. This session will showcase Aegir's capabilities and some of its more powerful functionality.