1-3 March 2019

City, University London

Coding and Development

Visual regression testing on patterns

Speaker(s)
Scheduled day
Prerequisites

In order to get the most out of this session, the attendee will have

  1. Good working knowledge of atomic design principles.
  2. Good working knowledge of Drupal and Pattern Lab integration.
  3. Good working knowledge of visual regression testing.
Session details

In this session we will go over using BackstopJS for visual regression testing on Pattern Lab patterns on a Drupal 8 theme. We will not go over integration of Drupal and Pattern Lab, it is assumed that the attendee will already have working knowledge of how the integration works. We will go over how to setup regression testing for each pattern and for the entire pattern library. We will talk about the problems you could run into when setting up regression testing for patterns and the benefits of using this approach.

Room
Session Time
On
Session Track

Tunneling its way fast with BigPipe

Speaker(s)
Prerequisites

This session will be easy to understand for people with Beginners level knowledge of Drupal.

Session details

When talking about performance of Drupal, personalization and the traditional page serving model gives a setback to Drupal 7.Even a small personalization breaks the cacheability of the entire page.Aditionally it follows the the traditional model wherein the entire page is generated before it is sent to the browser,keeping the browser idle for the given time.

Drupal 8 has solved a lot of its speed issues from previous versions with powerful cache system and incredible anonoymous user caching out of the box.But is caching sufficiently working towards making your site fast ? Does your web page loads on one go ? The answer is No.

Here it is where Bigpipe comes into action.Bigpipe is a browser rendering system coined by facebook.The complete feature is called  BigPipe as it breaks the web pages into logical section of content, called Pagelets, and pipeline the generation and render of these Pagelets. BigPipe not only reduces the load time of pages but also makes them seem even faster to users since seeing partial content earlier feels faster than seeing complete content a little bit later.

In this session, we will cover:

  • What is BigPipe.
  • How does Bigpipe actually works.
  • How to use BigPipe.
  • Implementation of BigPipe module in drupal 8.
  • Demo of Bigpipe along with illustration of useful cases where Bigpipe can be used.

The session will include demos and examples and usability of Bigpipes.

Skill Level
On
Session Track

Brisk it up with kafka, lumen and Elastic !

Speaker(s)
Session details

Running a data driven website can be a challenge when u are constraint with a database which can slow you down as it increases. Drupal 8 has a much more advanced and more granular caching system that lets you fine tune and optimize your experience but does that suffice all your needs?

When it comes to make your site fast there are two major factors to be acknowledged, performance and scalability. Thinking unconventionally, messaging system can be a solution to provide real-time streaming applications, log aggregation, analytics, etc. with much faster throughput in terms of performance and extensibility.

My session  will demonstrate how can we use the most apt messaging system like Kafka with Drupal and Lumen to create an faster and scalable application.

Topics for the session:

  • What is messaging queues and why to use them

  • Real time use cases queues in drupal system

  • Limitations of the messaging queues

  • Demo of using Kafka with Lumen in Drupal

On
Session Track

"The dog ate my homework", No more excuse to test your modules!

Speaker(s)
Prerequisites

The session will be more relevant for developers and testers of any skill level.

Session details

“We don’t have time to write tests!”

“I don’t know how to write unit tests!

You must have used this or heard it often but is it literal or another excuse ?

Do you think testing may cost you in term of time? But studies show that the later you catch a bug during development cycle the more costly it is to fix it.

One of the most typical debate about unit tests is that they slow you down as we have to write additional code and may also need to fix the broken tests.Can you correlate to this? If yes, a “Good” unit tests is always faster than repetitive manual tests.

There is long list of dissensions and so are the excuses.The session will discuss how can we commence writing test codes and where it can be practically befitted.The session will provide you a walkthrough of the multiple ways to test your code in Drupal 8 and to convert test code to use PHPUnit  and deprecate SimpleTest.

Objective of the session :

  • Understand Unit Testing

  • Characteristics of good unit tests

  • Why developers don’t write test cases

  • Different type of Tests : Kernel Tests, Functional Tests,Behavioral Tests

  • How to write good Test cases

  • Workable Demo

Skill Level
On
Session Track

Continuous integration in a drupal project (docker, ansible, jenkins, …)

Speaker(s)
Scheduled day
Session details

In Droptica we automate everything. Since 5 years we have worked in Continues Integration environment setting up each project to have an automated workflow. We eat and sleep Continuous Integration.

In this presentation, I will describe our current approach to managing development, testing, staging and deployment using terraform, jenkins, docker and ansible. 

In particular, I will discuss:

  • why automation helps and why you should use it 
  • what does Continuous Integration mean
  • why Continuous Integration helps
  • how we use continuous integration to deliver software predictably and safely

About the author:
Maciej is a Drupal developer for almost 10 years. He is one of the founders of Droptica - a Drupal agency based in Poland. He is an active member of the Drupal community in Poland. He was a speaker at many conferences and camps and he gives Drupal trainings during Drupal training days

Room
Session Time
On
Session Track

Getting Into Drupal 8 Configuration

Speaker(s)
Scheduled day
Prerequisites

You should know about Drupal 8. You should also have a basic understanding of what configuration is, but I will be going through this as well.

Session details

Understanding configuration in Drupal 8 is essential. It's a powerful tool that can streamline your development and deployment processes. After several rescue projects over the past year I have realised that the one thing that goes wrong first is the configuration. For some reason it's always left until last or even as an afterthought and this can really de-rail projects.

In this session I will cover.

  • How to get your configuration in and out of Drupal.
  • How to best manage your configuration.
  • Using configuration modules like Configuration Ignore and Configuration Split to manage your configuration across different platforms.
  • What to do when the client changes the configuration on your site and some other common problems that you might encounter.
Room
Skill Level
Session Time
On
Session Track

Drupal websites factories

Speaker(s)
Session details

Drupal multisite has been around since ever, but with Drupal 8 and Configuration Management a lot has changed. We can now achieve more in a better way, but still, not everything ideal.

I will share our experiences on building multisite installations with varying configurations, modules and different themes and subthemes on Drupal 8.

In my presentation I will discuss:

  • what is a Drupal multisite and why would you use one
  • what are the various approaches to multi sites on Drupal 
  • what changed with regards to multi sites on Drupal8
  • how we build multisite website factories on Drupal 8 using install profiles and subthemes

About the author:
Maciej is a Drupal developer for almost 10 years. He is one of the founders of Droptica - a Drupal agency based in Poland. He is an active member of the Drupal community in Poland. He was a speaker at many conferences and camps and he gives Drupal trainings during Drupal training days
 

On
Session Track

Modern JavaScript Features

Speaker(s)
Scheduled day
Prerequisites

Basic knowledge of JavaScript.

Session details

Over the last few years, Javascript has evolved and introduced many new features which have improved JavaScript’s usability and are also helping developers in Writing, Reading and Maintaining clean code.

Whether you are new to the world of JavaScript or have some experience working with it and want to catch up with the latest JavaScript features, Then this is the session for you.

This session will cover the following topics:

  • What is JavaScript?
  • What is ECMAScript?
  • JavaScript Versions
  • Modern JavaScript features:
    • Variables
      • let
      • const
    • Template Literals
    • Arrow Functions
    • Array and Object Destructing
    • Rest Parameter
    • Spread Operator
    • Classes and Inheritance
    • Modules
    • Promises
Room
Skill Level
Session Time
On
Session Track

Improving UX with configurable on demand form guidelines

Speaker(s)
Prerequisites

Good understanding of some Drupal 8 components and OOP is welcomed as it will be easier to follow, but the session will also contain some explanation of said components.

Session details

UX is a big part of today's digital world and it’s not easy to get it right. On a platform where users are responsible for inputting content and are in constant interaction with the UI and the forms, UX is especially important.

For a recent project we were posed with several requirements such as how to provide and manage much longer help text on a form as whole or specific fields within a form, show on demand and also editable by a larger pool of non-technical users within the system. The idea was to help and guide inexperienced users when inputting content in different forms with a large number of fields.

In this session, I’d like to take you through the thought process of developing such a module and also showcase you different parts of the code that work together in bringing this feature to life. We will be reviewing and going through code examples on how to create and use various Drupal 8 components such as custom entities, configuration forms, services, plugins, controllers and routes.

On
Session Track

Writing code, both science and art

Speaker(s)
Scheduled day
Prerequisites

We will be looking over code examples and ways to install Code Sniffer into a code editor. Some understanding around writing code and configuring your code editor is welcome, but not required.

Session details

Many developers in Drupal and also generally in development, feel that as long as something works we should leave it as it is. Wrong.

Everybody wants to create reusable code, but no one wants to reuse code. Coding standards are one of the many steps towards that goal. They might seem irrelevant, but they are very much an important tool to have in your repertoire.

I'll be looking at various aspects and examples of coding standards that have been prepared and set for Drupal 8, why are they there and why are they important. If you want to contribute to Drupal, develop projects on Drupal or just write some plain code, you should be following these, for your and everyone else's sake.

We will also take a look at what can you do straight away to improve the quality and readability of your code by installing and using tools such as Code Sniffer.

Room
Skill Level
Session Time
On
Session Track

Keynote speakers

Rowan Merewood

Developer @ Google

Saturday AM

Preston So

Director of R&I @ Acquia

Sunday AM

Sally Young

Developer @ Lullabot

Closing Keynote

Drupal apprentices

The best people to train new developers are developers

The Drupal Apprenticeship Scheme will be running a London intake in March. If you are interested in hiring an apprentice or know someone who would benefit from the scheme please get in touch via the link below.

  • Created and run by experienced developers
  • Teaches core skills and best practice
  • Extensive support for businesses and teams

We are also really keen to hear from people who might be interested in mentoring, training and helping us to develop and review training materials to make sure they stay absolutely current and relevant.

Find out more

Join the Drupal Association

The Drupal Association unites a global open source community to build and promote Drupal.

The Association is a not-for-profit organization that relies on individuals and businesses to fund everything they do for Drupal — from drupal.org to DrupalCon and community programs.

Connect with us and support our mission-driven work.

Support the Drupal Association

Hosting provided by

platform.sh