1-3 March 2019

City, University London

B200

Layouts in Drupal: past, present and future.

Speaker(s)
Scheduled day
Prerequisites

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

  1. Basic understanding of Drupal theme system.
  2. Basic understanding of the Drupal block system.
  3. Basic understanding of grid systems.
Session details

We will go through the history of building layout in Drupal. We will go as far back as using Node reference (CCK), Nodequeue and custom templates to build news paper and magazine style layouts in Drupal 5. We will also look at "page builders" like Panels, Context and Block Visibility Groups. We will dive into CSS Grid layouts and using plugins like Masonry and GridStack for more advanced grid style layouts. We will also cover alternative approaches like Paragraphs, ECK/IEF and Bricks to create custom layouts. We will see the pros and cons of these layout approaches and if and why they are now outdated. We will also talk about the new Layout Builder and some possible new approaches for building layouts in Drupal.

Room
Skill Level
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

Alexa + Drupal 8 - Conversational UI Introduction & Basic implementation

Speaker(s)
Session details

This session will start by a brief introduction about conversational UI and it's future implications in the way users browse web. From there, we will dive straight into a first hand example module development track that will cover creating a skill using Alexa Skills Kit and then using a Drupal module to interact with it. This session is meant to be informative, first hand integration demonstration but at the same, a lot of fun!

Room
Session Time
On
Session Track

Out of the Box Initiative Update

Speaker(s)
Scheduled day
Session details

Since the last DrupalCamp London, the Umami Demo install profile is now one of the options shown to anyone installing Drupal. But this doesn't mean we've finished.

There are many existing Drupal features that we want to showcase, and new features stabilising with each minor release. Join the Out of the Box initiative leads Keith Jay (kjay) and Gareth Goodwin (smaz) for this session, where we'll talk about

  • Where we are, and how we got here
  • Our targets for inclusion in Drupal 8.7.0
  • How you can help!
  • Plans for the more distant future
Room
Skill Level
Session Time
On
Session Track

No Monkey Business Static Progressive Web Apps

Speaker(s)
Scheduled day
Session details

Or, How Interactive Investor uses decoupled Drupal, GatsbyJS, ReactJS and AWS to deliver rich content without making Google cry

In 2018, Interactive Investor updated from Drupal 6 to Drupal 8. Rather than undertake a like for like upgrade, ii took advantage of Drupal 8's core decoupled capabilities to re-architect the whole stack. Leveraging some of the latest best-in-breed technologies to deliver a Static Progressive Web Application that delivers news, analysis, and time critical market data concerning tens of thousands of financial instruments from multiple sources. Maintaining an SEO valuable web app with a page delivery time, across all device types, that is competitive for search ranking.

In this talk we will cover:

  • an overview of the architecture used to deliver ii.co.uk

  • how we use GatsbyJS to generate static content from Drupal and other dynamic sources

  • how we further hydrate these pages with React for dynamic content after the initial page load

  • the custom cache handling we've implemented to keep content build pipelines as fast as possible

  • how we divide the responsibilities for content generation between GatsbyJS and Drupal

  • how we solved the real-time preview issue without waiting for Gatsby's upcoming hosted paid preview service

We'll also talk frankly about the problems in this approach and how we are looking to mitigate these going forward. And about the experimental core functionality we can't wait to bring on board!

No monkeys 🙈

Room
Skill Level
Session Time
On
Session Track

Having fun with Drupal 8, PHP libraries and the Drupal.org API

Speaker(s)
Scheduled day
Prerequisites

A base knowledge of building Drupal 8 modules would be great, but not essential.

Session details

Did you know that Drupal.org has an API, and that you can use it to retrieve data for your favourite Drupal users, modules and themes?

As part of this talk, we'll start by looking at the API itself, and some examples of making requests and seeing what the returned data look like.

Then we'll move on to look at the PHP library that I wrote to work with the API - what it does, how it's structured, the tests that it includes, and discuss why you'd want to write a separate library in the first place.

Then we'll look at some Drupal 8 modules that I've written that use Composer to require the library, and explore some Drupal 8 module development concepts including service classes, dependency injection, autowiring, caching and more.

Room
Session Time
On
Session Track

Migrate to Drupal

Speaker(s)
Scheduled day
Prerequisites
  • Understanding of Drupal site building
  • Basic PHP coding skills
Session details

Drupal allows building highly complex content structures — ranging from simple blogs to online stores to advanced enterprise publishing with complex content approval workflows. What this means is that there’s no one way to migrate data from different systems to Drupal.

There’s no one way, but there is a simple framework. The migrate module allows data migration from various sources to Drupal in a structured approach — a way which can be controlled, monitored, and audited.

In this session, we’ll go over the module that’s widely used for migrating all sorts of content to Drupal (and that includes migrating from older versions of Drupal as well). Drupal 8 uses migrate in core to update from Drupal 6 and Drupal 7. With this development, it’s more important than ever for developers to understand how to write migrations. You will learn:

  • Understand the migrate module and declarative programming
  • Planning a migration and opportunity to restructure content and modify data
  • Different parts of a migration
  • Clear and complete mappings
  • Reuse code across migration classes with inheritance and traits
  • Continuous or incremental migration

Key Takeaways

We will look at these topics in context of both Drupal 7 and Drupal 8 where migrate module has been moved into core. While the migrate module has changed in Drupal 8 in its architecture, much of the concepts remain the same. Understanding this architecture helps in understanding internals of migration and writing better migrations. You will explore key tools which simplify the experience when writing and managing migrations. You will walk away ready to:

  1. Understand migrations in Drupal 7 and Drupal 8
  2. Communicate migration in detail to project stakeholders
  3. Write efficient migrations
  4. Run the migrations efficiently
Room
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