1-3 March 2019

City, University London

Good Working Knowledge

Experience level
2

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

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

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

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

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

User sessions giving you a hard time? Redis to the rescue!

Speaker(s)
Prerequisites
  • Intermediate knowledge of Drupal.
  • Basic understanding of Server Architecture.
Session details

It is not very uncommon these days to face issues with User sessions on a heavily loaded Drupal server. One of them is server failing while using sticky sessions and the user losing her entire session data. One of the very effective ways to solve these kind of issues is using Redis. Plus the performance improvement is cherry on the top.

On
Session Track

NLP and Drupal 8

Scheduled day
Prerequisites

Knowledge of site building, taxonomy terms, tagging system and views. Have looked a Drupal form editor/content writer perspective.

Session details

NLP can be leveraged to solve various problems related to content tagging, related content and content summary. These are some of the most common requirements in modern CMS and media/publishing websites. 

Most of the time we show related content using Tags. In that case, we have to make sure that the editor/content writer are populating accurate tags in each and every content they add. This approach has various shortcomings. In the case of a large content base, we will have a lot of tags and it becomes difficult to select the right tag for each and every content. In the case when no tags are provided we either see default articles in Related sections or we don't see any. We need something which automatically fills tags and we don't see any break in logic which is based on them.

 In this session, we are going to explore

1. Usage of NLP techniques to auto-tag content.

2. Automatically generate the summary for the content.

3. Reduce duplicate content.

Room
Session Time
On
Session Track

A Journey of Building a Media Publishing Platform for a "GIANT Enterprise"!!

Speaker(s)
Prerequisites

Intermediate knowledge of Drupal 8 and and basics of product development life cycle.

Worked on Acquia lightning would be a plus.

Session details

In this session I will share my experiance working with over 35 team members on same code base which is a Multi-site project. The Project has so many wow factors and lesson's to be learned that can be segragated into :

Architecture : It works on a Multi-site Architecture of Drupal 8, but we can deploy any single brand individually with their respective configuarations with ease as a normal project.

Platform/Profile : We have created one core profile based on Acquia lightning that shares common code base on all the brands, Rest all brand level features is placed in Brand Level Itself.

DevOps/Environment/Continuos Integration : We have written Jenkins jobs based on aliases of the brand and extended some of the Acquia BLT functionality so that we can deploy one specific brand without any problem. BLT has played an important role that helped from begining ( Setting up a local Environment ) till Prod Deployment on Acquia Cloud. Over 40 sites using same code base and release management

Governance : As I mention we are 35 in count on same code base, you can imagine the chances of getting conflicts! but no we tried to manage our repository quite well and we have minimal amount of conflicts.

Component Based Approach : The project is Divided into Components that can be re-used across all the brand and even with different themes, Thanks to Pattern-lab!!.

Ease Of Use : Editor's can design their page themselves and can change even the layouts, Thanks to Panels!!

 

Key Takeaways :

  • Best practises for managing configuaration files in Multi-site Architecture.
  • Best practises to be followed for Governance and Continuos Integration.
  • A good overview of a Enterprise Product.
  • Good start for Component-Based Thinking.
On
Session Track

Case study - How we automate tests for multiple Drupal sites using a single script

Speaker(s)
Scheduled day
Prerequisites

Basic knowledge about BDD or Behat, I will give a quick overview of it though

Session details

We want to follow industry standards with our websites and apps. One of them is to add test coverage to your website and applications as it provides lots of benefits.
This session is for people who want to implement BDD using Behat in their Drupal projects in general. Also is helpful for those who are working on a collection of similar sites like a multi-site setup or an ACSF setup where sites exhibit similar behavior.

Key takeaways

  • How to set up Behat to run tests for Drupal projects.
  • How to write non-javascript enabled tests using driver Goutte.
  • How to write javascript enabled tests using the Selenium driver.
  • How to configure behat.yml for multiple sites.
  • How to configure and create a PHP script to feed multiple URLs to Behat.
  • How to generate corresponding reports for each site the test runs on.
Room
Session Time
On
Session Track

Dive deep into Drupal extension in Behat

Speaker(s)
Prerequisites
  • Quick intro on BDD 
  • What are Behat and gherkin?
Session details

If automation testing is not previously segment of your development workflow, then it’s the right time to get initiated. Analysis assists to reduce uncertainty by verifying that new functionalities you have added to your web application do not disrupt old features. Having assurance that you are not breaking any present functionality, it will decrease the time spent tracking bugs or receiving UAT bugs from the client by catching them beforehand. In this session, we will discuss how Drupal extension and their drivers works along with Behat

 

Key takeaways

  • Installation of Drupal-extension
  • Discussion on various web drivers and their use and difference.
  • Practice session on “Drupal extension drivers”
  • How to execute your test case scenarios with gherkin, without writing custom code?
  • How to test with local and remote instances like test/prod?
  • How to boost your tests by scripting custom functions?
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