This general help desk is designed to give attendees the chance to:
This 1-on-1 workshop is to designed to give attendees the chance to:
This lab offers attendees a chance to:
Composer is an essential part of the Drupal developer toolbox. Like it or not, it’s here to stay. First we will build a “vanilla” Drupal site, followed by lightning. I’ll then go into the basics of Composer and some challenges you might face.
Have you dreamed of embracing "automated testing", having heard that it's the solution to all of your problems, and helps you sleep at night?
Are you overwhelmed at all the terminology and tools associated with CI/CD, testing, and automation in general?
This session provides a practical view of Test Driven Development when implemented in the real world.
The Aegir Hosting System has been used for hosting thousands of Drupal sites for over 11 years, using Drupal as a web interface for managing your servers and sites.
In classic Aegir 3.x and earlier, you still need root shell access to install and configure a few things before Aegir can work.
in 2016 I set out to solve this by creating server configuration tools in Ansible and integrating with Cloud server providers like DigitalOcean, Packet, and SoftLayer.
The Migrate API from Drupal 8 core provides services for migrating data from a source system to Drupal 8. In this hands-on session we will import content from a data source (i.e. CSV file) into a Drupal 8 site. In the process we will learn how to implement hook_migration_plugins_alter() to tell Drupal where to find the data files and images from a custom module. All of this will be done in a custom module scaffolded using Drupal console and we will also look at how Migrate Tools and Migrate Plus modules make it easier to manage migrations.
Your ready to make that new release. You've tested it all in Docker locally, so you hit that commit button and push it all to production, confident that your CI will deploy it perfectly every time. Then, disaster strikes: A minor difference between prod and your local brings your site down. If only you could use the same containers locally as in production!
Now you can, with Kubernetes.
Accessibility is not just a hot topic, but an essential consideration of any web development project.
In this session, we will cover:
Using drupal-test-traits you can run tests in an existing Drupal site, with all necessary configurations installed. This leads to better integration tests. Unlike default Drupal test framework, you only install all the config once, and this leads to faster integration tests.
I have used that test framework in a project at Axelerant. I would like to share the knowledge and experience in the session.
In this session i will focus on the Jenkins CICD pipeline setup done for D8 project, which can be reused by majority of D8 project with minor to no tweak. The talk with touch upon
“There are only two hard things in Computer Science: cache invalidation and naming things.” - Phil Karlton
Approaching accessibility from the start of a project can greatly impact usability. From initial wireframing to entering content in a CMS, there are many ways to plan for and implement a fully inclusive website: color contrast can be measured before any CSS is written, heading structures can be mapped before any markup is created. Messy navigation patterns can be reconsidered before a menu structure is built. When accessibility is valued as an essential part of the user experience, everyone can help make it easier to implement.
As a member of the security team I have seen a lot of code and what can go wrong with it. This talk aims to educate you about the OWASP top 10 and share some experience about web application security including about:
- XSS, CSRF, Access Bypass, SQL injection, DOS explained
- Secure configuration (web server, file permissions, etc.)
- Tools and Modules to improve security on your site
I will show you a few common mistakes that Drupal Developers make when they write code and how they can be avoided
GraphQL has quickly become a data API alternative to REST due to its flexible query structure, and the community has developed a mature
Backend configuration is one of the most time-consuming aspects of building a site with Drupal. Too often we figure out the optimal structure for content after some trial-and-error, and it can be difficult to go back and reconfigure content types and fields in time to meet deadlines.
We’ll cover some lessons learned on some of our larger CMS builds and show how we started developing our own tools and methods to speed up our initial site builds. Some of those tools include:
CI and automation is all the rage right now, and rightfully so. The ability to have automated testing and rapid feedback on the quality of your code is invaluable. We will share our agencies first experiences with CI as we have tried to integrate it into our process one step at a time, how we feel it has helped our teams and some of the pitfalls.
For real-time notifications, we now have another alternative to websockets and third-party services like Amazon SNS and Urban Airship to name a few. By combining the Notification and Push APIs with Service Workers, you can send users OS-level notifications, or even send data to your web app. With browser support steadily improving, push notifications are becoming an effective way to re-engage users, even when the webpage is closed.
A fully decoupled architecture can provide many benefits: more specialized front-end and back-end developers, easier project management with less dependencies, and more reusable front-end code. However, this solution is not right for every project: Hosting and deployment becomes more complicated, JS apps don’t have access to powerful Drupal functionality, and some clients don’t love the idea of also maintaining a separate JS stack.