13-15 March 2020

City, University London

Good Working Knowledge

This skill level is for people who are familiar with the topic of the session and may have worked with it before over a period of time.

Experience level
2

Testing your front-end application to production

Prerequisites

Understanding of how Front-end applications are build

Basic understanding of how to use one of JavaScript frameworks like React, Angular, or Vue

Session details

Building an application is one half of the story before you can deploy it to production. To make sure you have a sturdy application you will have to test it on multiple fronts. You will have to tests various types of operations, components, integration between these components, and a lot more.
In this example-driven session, you will learn how to drive an application from no tests to multiple unit, integration, and end to end tests without breaking a sweat.


In this session, you will learn:

  • various ways to test your components. We will be using React and Drupal as examples here.
  • writing integration tests to make sure all the components are working with each other.
  • using e2e tests to build confidence that your Drupal back-end is working seamlessly with the front-end.
  • Bonus: how type checking can help you refactor and find problems at compile time.


Attendees should have experience with JavaScript. Familiarity with a JavaScript framework, such as React may also be helpful.

On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
DrupalCon Asia
DrupalCon Dublin
DecoupledDays
and several local meetups.

Upgrade your module to Drupal 9 now!

Prerequisites

Experience with building modules for Drupal 8. No laptop is required. This is a presentation, not a live demo.

Session details

This might be a nice practical part of the Gabor's State of Drupal 9 session. Let's upgrade a regular Drupal 8 module to make it compatible with Drupal 9. Just to be clear: this is not a live demo, rather a summary of already implemented steps.

The following items will be covered:

  1. Briefly touch what the deprecation policy in Drupal is
  2. How to run check for deprecations using Upgrade Status and drupal-check CLI
  3. What do deprecation messages mean and how to deal with them
  4. Let's fix them one-by-one!
On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
I'm the host and often a speaker at monthly DrupalCafe Lviv meetup
Presented at multiple conferences:
- DrupalCamp Kyiv 2016
- Drupalaton 2016
- DrupalCamp Oslo 2016
Attended dozens of international Drupal-related events including 12 DrupalCon, Drupal Europe and numerous camps

Testing your Drupal site with drupal-test-traits

Prerequisites

People will be able to get the most out of this session who have: basic knowledge about Drupal 8, like modules, configuration management, etc.

Session details

Besides, the test framework that comes with Drupal, there is another way to write automated tests using a test framework called drupal-test-traits.

In the session, I will explain what are the benefits of having automated tests in a Drupal project. Then I will start with drupal-test-traits. I will explain, what drupal-test-traits is, and some more information about it, like:

  1. How it is different from the test framework in Drupal.
  2. What are the benefits of using drupal-test-traits.

I will show how one can write kernel, functional and functional javascript tests using the drupal-test-traits framework. I will also demo how one can run the tests.

On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
Microservices architecture pattern using GraphQL & Decoupled Drupal - https://www.youtube.com/watch?v=6Z3yKiKcEiU

Drupal Integration with Modern Stack (JAM Stack/MEAN/MERN Stack)

Prerequisites
  • Javascript Basics
  • HTML and CSS 
  • Graphql and REST understanding 
  • Drupal Architecture Decople and Progressive  
Session details

With the latest technology trends where we have moved way beyond in Client-side and server Side Technologies, In this case how we can have Drupal
Serving as a backbone of Application with Variety of different Stacks

There has been a lot of talk about "Decoupled Drupal" and all possible options, On the same path, I will try to explore all possible options
in development where we can have Drupal Working with Javascript Stack using either REST or GraphQL Integration.

GraphQL is an API query language that handover control of data into the hands of the User Interface Layer. Instead of having to be controlled by what an API currently offers or capable to offer, the front-end client will request only what it needs in a given case. To put this into practice, Drupal-centric terms, this paradigm shift can eliminate the need to make multiple APIs requests to drill down to the right information, which can reduce or eliminate the need for back-end teams to create and manage views to curate information in specific ways.

In our recent Product development, we are using a totally different stack Like Java as a GraphQL middleware and talking to Drupal CMS REST APIs to capture data and provide data to react/angular clients. GraphQL Query and Mutation really work in the Drupal Centric environment.
May be The Drupal GraphQL module will further reduce the additional need of Graphql Layer and can provide more options in Drupal itself.
In the same way, where Graphql becoming more popular, I will explain about how integration can be done with Drupal CMS REST APIs, I will talk about GraphQL type system and how it's Integrating with different systems like REST APIs or existing data source.

Main focus areas will be Implementing JAMstack and Drupal together and Integrating other Stack with Drupal Content with Graphql

This will be helpful for developers in different ways

  1. It will provide a basic understanding of Graphql and why it's becoming popular
  2. All Possible Integration and Stack Available with Drupal and GraphQL
  3. JAM Stack Integration points with Content of Drupal CMS

 

All developers with Drupal and Javascript Stack experience 

On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
# My Talks on Different Forums

> Snippets from Tarun Sharma’s session @drupalcamplondon on Reusing Components between [#Angular](https://twitter.com/hashtag/Angular?src=hash&ref_src=twsrc%5Etfw), [#React](https://twitter.com/hashtag/React?src=hash&ref_src=twsrc%5Etfw), [#Vue](https://twitter.com/hashtag/Vue?src=hash&ref_src=twsrc%5Etfw) and Web-Components. [pic.twitter.com/zgnLRVaD1V](https://t.co/zgnLRVaD1V)

> Tarun Sharma, [#MEAN](https://twitter.com/hashtag/MEAN?src=hash&ref_src=twsrc%5Etfw) & [#JS](https://twitter.com/hashtag/JS?src=hash&ref_src=twsrc%5Etfw) developer, shares his thoughts about ES6 & [#babel](https://twitter.com/hashtag/babel?src=hash&ref_src=twsrc%5Etfw)

> [@tkssharma](https://twitter.com/tkssharma?ref_src=twsrc%5Etfw) for more updates [#FEConfIN](https://twitter.com/hashtag/FEConfIN?src=hash&ref_src=twsrc%5Etfw) [pic.twitter.com/5iKsEQBFJc](https://t.co/5iKsEQBFJc)

> My flash talk on Graphql [@ReactJS_News](https://twitter.com/ReactJS_News?ref_src=twsrc%5Etfw) [@reactjs](https://twitter.com/reactjs?ref_src=twsrc%5Etfw) [@js_channel](https://twitter.com/js_channel?ref_src=twsrc%5Etfw) [pic.twitter.com/pubJpYwVvT](https://t.co/pubJpYwVvT)

> My Talk on React Redux , Managing state using Redux for React apps [@Srijan](https://twitter.com/Srijan?ref_src=twsrc%5Etfw) [@reactjsdelhi](https://twitter.com/reactjsdelhi?ref_src=twsrc%5Etfw) [pic.twitter.com/dAsMvY8W88](https://t.co/dAsMvY8W88)

> [#ReactJS](https://twitter.com/hashtag/ReactJS?src=hash&ref_src=twsrc%5Etfw) & [#Redux](https://twitter.com/hashtag/Redux?src=hash&ref_src=twsrc%5Etfw) make one sweet pair! Join us at [https://t.co/peCxkWkvXT](https://t.co/peCxkWkvXT) & explore how they impact future [#webapps](https://twitter.com/hashtag/webapps?src=hash&ref_src=twsrc%5Etfw). [pic.twitter.com/20hhTK3Nu6](https://t.co/20hhTK3Nu6)

> [@tkssharma](https://twitter.com/tkssharma?ref_src=twsrc%5Etfw) is presenting at [#DrupalCampGoa](https://twitter.com/hashtag/DrupalCampGoa?src=hash&ref_src=twsrc%5Etfw) today. Our resident JavaScript expert will be talking about "Reusing Components between Angular, React, Vue, Ember, and Web-Components". Join him in the Beta room-3:30- 4:50\. [https://t.co/2k2VqF8kY1](https://t.co/2k2VqF8kY1) [pic.twitter.com/LP1VxYdyNO](https://t.co/LP1VxYdyNO)

> [@tkssharma](https://twitter.com/tkssharma?ref_src=twsrc%5Etfw) is presenting at [#DrupalCampGoa](https://twitter.com/hashtag/DrupalCampGoa?src=hash&ref_src=twsrc%5Etfw) today. Our resident JavaScript expert will be talking about "Reusing Components between Angular, React, Vue, Ember, and Web-Components". Join him in the Beta room-3:30- 4:50\. [https://t.co/2k2VqF8kY1](https://t.co/2k2VqF8kY1) [pic.twitter.com/LP1VxYdyNO](https://t.co/LP1VxYdyNO)

Architecting a Highly Scalable, Voice enabled and Platform agnostic Federated Search

Prerequisites

Basic working knowledge of Drupal

Session details

Co-Speaker: Abhijeet Kumar Sinha

According to IDC, 90% of all the digital information is unstructured locked in multiple repositories and digital businesses have either underinvested in technology or invested in substandard technology in order to access them. Traditional search method leads to failures majorly due to the absence of optimisation practices and lack of unified framework. In a data-driven world, unlocking the hidden insights, that are shut off from view within both structured and unstructured data present in multiple repositories, is more critical than ever. 

Today, the sheer quantity and the pace of digital information that knowledge workers have to deal with every day are dramatically increasing. To tame the chaos of multiple repositories is a challenge. There has to be a deployment of a search method over distributed and heterogeneous data sets in order to receive a unified results list. This brings us to Federated Search.

OpenSense Labs initiated one such enterprise search tinkering robust Apache Solr and versatile Drupal 8 for eleven different websites with a great variation in CMS leveraging portability using Node JS.

In this session, we will equip you with the know-how of:

  • Enhancing website search experience retaining a blend of useful and accurate results
  • Expanding inter-site searchability decreasing the bounce rate and latency
  • Increasing data discovery and interoperability of information by cross-functional support to a plethora of platforms

Architecture which will be walked through in the Session.

Federated Search - Architecture
Federated Search - Architecture

The major takeaways would be:

  1. Challenges amidst architecting a microservice
  2. Scraping content using an open-source  tool  like Scrappy
  3. Choosing the right set of stack and technologies.
  4. Fiddling the Solr configuration and boosting queries
  5. Create a pluggable and platform agnostic search UI with react. 
  6. What to keep in mind while building a cognitive voice search.
     
On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
BADCAMP 2019 - https://www.youtube.com/watch?v=sD9MbEKmwoM
Drupalcon Nashville 2018 - https://www.youtube.com/watch?v=BNeq4ruZFeo
Drupalcon Amsterdam 2019 - https://www.youtube.com/watch?v=jrp1rAO74UM

Using migration framework to import content via csv effectively.

Prerequisites

Migration basic knowledge

Drupal form api basics

Plugins basic

Drupal 8 basics

Session details
  • Run migrations programmatically on form submit.
  • Upload a csv and import content using all the functionality of migration api.
  • Utilising the migration events.
  • Fetching files and creating media on the fly while migration.
  • Allowing duplicates in edge cases.
  • Handling multiple encodings.
  • Running migration in a batch.
  • Various tweaks which can be applied on the fly to make migration more and more dynamic.
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
Last year Drupal camp London 2019 .
Presented a case study.

Building an effective platform strategy using Open Service Broker API

Prerequisites

* Knowledge of Kubernetes or similar tools would be good to have.

* Knowledge of Decoupled Systems would be good to have.

Session details

Abstract

An effective platform strategy lays the path for digital transformation journey of an organisation. If we ask what constitutes a digital platform, the answer is a foundational platform which constitutes of self-service APIs, tools, knowledge base which brings autonomy to delivery teams to deliver digital products.

Kubernetes has been one of the key enablers for building such a foundational platform where it has evolved into a strategic platform for deploying and scaling applications at scale. One of the key factors regarding rapid adoption of k8s has been it’s extensibility & concepts like *Service Catalog*, *Open Service Broker API* have made it easier to use managed software offering by a provider.

Open Service Broker API and Service Catalog are game changers in the current cloud native ecosystem. Most of the organisations are running their stateless workloads in Kubernetes but for persistence or messaging queues etc there is still a preference to use some managed service by a provider due to overhead in setting up such a service and administering it. This is where Service Catalog and Open Service Broker API shines and it abstracts the details of the service used and the application can simply use it as a service hence providing a unified experience to provision a service offered by a service provider.

Learning Objectives

The session focuses on how Open Service Broker API works and how it allows service providers to offer services to anyone, regardless of the technology or infrastructure those providers wish to utilise. 

Some key learning objectives are:-

  • Extension of Kubernetes, particularly how Kubernetes can be extended with special focus on Service Catalog
  • Developer/Operator Experience: How to create seamless experiences for Developers and Opeators.
  • Service Catalog/OSBAPI: Audience with gain deep insight into how OSBAPI and Service Catalog work and also gain insights into how they can build Service Brokers.

At the end of this session audience will understand some of the core concepts of Kubernetes and also understand the extensibility part of it.

Target Audience

This session is targeted for:

  • DevOps Engineers: They will learn how they can provide seamless developer experience to developers and reduce their pain :)
  • Developers: They will learn how they can use available tooling for better observability and debuggability and work with operations team without being a pain :)
  • Project Managers
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
* Drupalcon Asia: https://events.drupal.org/asia2016/sessions/how-build-sustainable-contribution-culture-your-organization
* Bad Camp 2015: https://2015.badcamp.net/session/large-scale-distributed-search-using-elasticsearch
* Speaker Drupal Camp London 2015
* Speaker Drupal Camp Brighton 2015

Deliver omnichannel secure & resilient digital experience with Decoupled Drupal using Kubernetes & Istio

Prerequisites

* Knowledge of Kubernetes or similar tools would be good to have.

* Knowledge of Decoupled Systems would be good to have.

Session details

Abstract

Every organisation wants to deliver exceptional digital experience to wow it’s customers and in the current era this experience is not just limited to websites or apps instead it is an omnichannel experience(wearable tech, voice and IoT). This is where Drupal shines and using API-first Drupal as a central data service as a part of decoupled site, one can deliver the exceptional end user experience to its users.

Kubernetes has evolved into a strategic platform for deploying and scaling applications across a multitude of infrastructure. It’s built-in-abstractions for efficiently deploying, scaling and managing applications makes it a preferred orchestration system. 

To deliver exceptional digital experience at scale using Drupal as a central data services, Kubernetes is indeed a strategic platform. But decoupled systems bring some inherent problems with them like traffic management, security,  authentication, rate limiting and observability and typically all organisation would need these capabilities and Istio solves most of these problems which arise in distributed systems.

Learning Objectives

Decoupled systems add a great values like discrete services which are independent and all other benefits microservices provide but they come up some problems like security, lack of observability/debuggability, traffic management and resilience. Image a case where rouge microservice can put your entire application down. Hence solving these problems are important and we would focus on how these problems can be solved at scale.

Topics

  • Brief introduction to Kubernetes

  • Introduction to Istio and it’s uses

  • How Istio can help where Drupal is used a backend content service with a focus on security, traffic management, resilience and observability and we will answer how Istio can solve some of challenges like

    • How to secure inter-service communication?

    • How to avoid cascading failure where one rogue service might bring everything down?

    • How to debug and trace the bug in case of an issue? Is there a bug in my react app or middleware or Drupal(Backend Service)?

    • How to find and track performance issues?

The session will comprise of a live demo of a decoupled applications comprising of react app, nodeJS middleware and Drupal as a content service.

Target Audience

This session is targeted for:

  • DevOps Engineers: They will learn how they can provide seamless developer experience to developers and reduce their pain :)
  • Developers: They will learn how they can use available tooling for better observability and debuggability and work with operations team without being a pain :)
  • Project Managers
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
* Drupalcon Asia: https://events.drupal.org/asia2016/sessions/how-build-sustainable-contribution-culture-your-organization
* Bad Camp 2015: https://2015.badcamp.net/session/large-scale-distributed-search-using-elasticsearch
* Speaker Drupal Camp London 2015
* Speaker Drupal Camp Brighton 2015

Design a CI and CD workflow for both front-end and the Drupal back-end in a Decoupled Drupal solution

Prerequisites
  • Basic understanding of a CI tool like Jenkins.
  • Basic understanding of the docker containers system.

 

Session details

A typical Drupal website today needs a moderately sized team. In fact, there would most likely be more than one team in case of Decoupled Drupal solutions. A team of any size (even size of one) needs automation and standard workflows. There is probably no developer workflow for automation more ubiquitous than using continuous integration in some fashion.

In the vast landscape of CI/CD tools available today, it is difficult to pick the right tool or even the right workflow for your team. In this session, I will talk about one workflow we adopted for a recent Decoupled Drupal solution with multi-site architecture and multiple front-ends. I will describe how we use Jenkins to run builds and deployments to certain environments for an Acquia Cloud Site Factory hosted Drupal back-end and multiple Angular front-end websites hosted on multiple cloud providers. We will also discuss the testing strategy for the code before deployment.

Further, we will discuss specific methods where we can reuse the Jenkins pipeline definition code in multiple repositories to help maintainability. We will talk about how we would use Docker to run containers with a specific build and test tools rather than installing it on the Jenkins server and using tools like BLT as part of this process.

In this session, you will learn:

  • What components are required in building a build toolchain.

  • Using Jenkins to configure builds and writing a scripted pipeline.

  • Use Docker to run tools without installing it on the Jenkins server.

  • Share pipeline code across multiple repositories for back-end and front-end.

  • Deploying code and even provision infrastructure conditionally and securely.

On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
I have spoken at various DrupalCons, camps, meetups, and internal webinars. I have spoken at the last two DrupalCamps in London as well.

Delivering decoupled Drupal on an enterprise scale for Panasonic

Prerequisites

Attendess will get the most out of this session if they are decoupled-curious. Perhaps they have considered it, but are unsure if it will work for them. Otherwise, anyone with a general interest in decoupled concepts or who fancy a good story of adversity and triumph, should get something out of this talk.

Session details

Decoupled Drupal is a key phrase in the Drupal community at the moment, and you can see why. Having a feature-rich CMS such as Drupal, coupled with a modern frontend framework has the potential to deliver some amazing results. As an agency, we have been considering this approach for a while. In our work for Panasonic, where we had several traditional Drupal 7 monoliths, we knew their migration path to Drupal 8 was going to be painful. A switch to a microservice approach by decoupling Drupal from the frontend promised many benefits.

In this talk we will take you through our appraoch in delivering a Drupal 8 upgrade for Panasonic, incorporating a fully headless Drupal 8 content store and an Angular frontend. We review what worked for us, and what didn't, as well as how Drupal 8 can fit into an enterprise microservice architecture, and why this is important. We will also discuss how this approach, and the distributed nature of Drupal 8 has benefited other Panasonic stakholders with a similar approach.

On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
2019:
- Lunch and learns
-- Software design principals
-- Proper pagination
-- Dependency management with Drupal
-- Gitflow
- Client workshops with Panasonic Enterprise Marketing Division Japan
2018
- Product information management pitch to Panasonic Industrials North America and Japan
- Decoupled Drupal 8 pitch to Panasonic Enterprise Marketing Division Japan
2017
- Microservices presentation to Panasonic Industrials Global Web Conference in Osaka, Japan
2016
- Client workshops with Panasonic North America
- Decoupled Drupal 8 pitch to Panasonic Industrials Europe and North America

Sponsors

Diamond

Gold

Weekend Keynote Speakers

Kevin Bridges

DDEV, CTO

CxO Keynote Speakers

Michel van Velde

One Shoe, CEO

Nick Rhind

CTI Digital, CEO

Greg Harvey

Code Enigma, Director

Rachel Lawson

,

Carrie Lacina

,

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