Introduction
Every year, over 500 attendees gather in London for one of the most energetic DrupalCamps across the world. It’s a great opportunity for Drupalers and users of Drupal to meet and share their learnings and experiences with Drupal.
This year is no different. Between 13-15 March 2020, DrupalCamp London will be held at City, University of London. We’re excited!
Here’s what we’re planning to do at the event.
Day 1 of the event, Friday the 13th of March, is a dedicated CxO Day. Over 100 business leaders will be attending the networking event to share their Drupal challenges and successes, and discuss the future of Drupal.
In the evening, C-level attendees can join us at the latest edition of the Agency Leaders Dinner. Now in its third year, the dinner will be co-hosted by Piyush Poddar (Axelerant), Paul Johnson (CTI Digital), and Michel Van Velde (One Shoe) at the intimate Death + Victory Cocktail Bar at the ‘SMITHS’ of Smithfield.
Save your seat!
The weekend event at DrupalCamp London, held on the 14th and 15th of March, features 3 keynote speakers as well as over 40 sessions, BoFs (Birds of a Feather) talks, contribution, lunch, and a Saturday social. Over 400 people attend each year to network, recruit, market their services, learn, and contribute to the community.
Sessions by our team members
Kunal Kursija,
|
Decoupling Entity-validations from Entity-formsSession track: Backend Coding & Dev |
Prerequisites
Knowledge about the following topics will help you better understand the session:
- Form API
- Custom Module Development
Session details: Decoupling Entity-validations from Entity-forms
Entities are an integral part of the Drupal ecosystem and almost every entity in Drupal is linked with forms. Thus Drupal provides a beautiful Form API that helps in building, validating and submission of forms. All three stages are very important and have their own significance. But our focus throughout the session will be the form validation aspect.
To perform custom server-side validations on forms we often write #validate functions in Drupal which always do the job. But there are some negatives to it, Example: Validations don’t run when you try creating/editing the entity via means other than entity form. Perhaps this problem was assessed and tackled in Drupal 8 by the introduction of Entity validation constraints.
In this session we will be learning about the following:
-
Problem with form API validation
-
Creating custom validation constraint
-
Applying validation constraint to the entity field
-
Applying validation constraint to the entity
-
Running validations for REST API requests
-
The Demo
At the end of this session, users will have a clear understanding of how decoupling entity validation from entity forms allows validations to be independent of form submissions.
Hussain Abbas,
|
Design a CI and CD workflow for both front-end and the Drupal back-end in a Decoupled Drupal solutionSession track: DevOps & Infrastructure
|
Prerequisites
- Basic understanding of a CI tool like Jenkins.
- Basic understanding of the docker containers system.
Session details: Design a CI and CD workflow for both front-end and the Drupal back-end in a Decoupled Drupal solution
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.
Hussain Abbas,
|
Build infrastructure for a multi-site Decoupled Drupal solution using TerraformSession track: DevOps & Infrastructure
|
Prerequisites
- Basic understanding of decoupling a Drupal website
- Basic understanding of JavaScript and front-end stack
- Good understanding of server infrastructure, CDNs, and cloud infrastructure.
Session details: Build infrastructure for a multi-site Decoupled Drupal solution using Terraform
While hosting a Drupal website can be a challenge, it is largely a solved problem with several PaaS providers providing optimized Drupal hosting. Even if we didn’t want to use that, there is extensive documentation around best practices in hosting a PHP application or Drupal specifically.
In a Decoupled Drupal setup, we would need to even host the front-end application separately somewhere apart from Drupal. In this session, we will discuss how we hosted a “serverless” front-end application with multiple cloud providers available via a CDN while allowing it to access Drupal’s API endpoints on the edge (again with FaaS computing paradigm). We will also discuss developer constraints, security considerations, and website performance.
Further, we will also see how such an application can be provisioned multiple times in different regions of more than one cloud providers using Terraform. We will talk about using Terraform and writing wrapper scripts for Terraform to make it easier and more consistent to deploy infrastructure. Further, we will discuss how much of this setup can be automated considering enterprise security regulations, developer effectiveness, and customizations.
In this session, you will learn:
- Plan your API contract across multiple websites in a multi-site Drupal setup.
- Architect a “serverless” solution to serve the front-end with data retrieved via an API from Drupal.
- Use Terraform to build this setup.
- Run Terraform modules using a wrapper script or even via a CI tool.
- Enterprise level security considerations such as IP whitelisting the access to Drupal server, firewall, granular access to cloud resources, etc.
Akanksha Singh,
|
Your Drupal site personalized like NetflixSession track: Backend Coding & Dev
|
Prerequisites
Basic Drupal site-building knowledge.
Session details: Your Drupal site personalized like Netflix
In this session, we will try to explain how Netflix’s personalization approaches to display tailored content to each user can be implemented in Drupal using existing modules and technologies.
Drupal is the CMS of choice when it comes to creating content rich sites. However, it is no longer enough to display the same content to all users. In a world where diversity is increasingly obvious and celebrated, websites have to step up their game and adapt to a wide range of users and their preferences. This is where Personalisation comes in. While Netflix personalization is complex and composed of thousands of algorithms, it can be broken down into distinct use cases which can then be solved independently.
Presentation Flow:
- Why Personalize
- Understanding Netflix personalization use-cases
- Getting started with Personalization your Drupal solution
- Comparison of existing modules/technologies
- Solving Netflix like personalized use-cases in Drupal
- Applying modules to different use-cases
- Comparing different Drupal personalisation modules for solving the same use-case.
We're looking forward to meeting your there! And if you haven't registered yet, get your tickets here.
Leave us a comment