Schedule

Enjoy our programme! Please observe our code of conduct throughout the whole event.

Thursday

  Brainsum Drupalaton Sprint room
13:00 - 13:30 Opening words   Sprint
13:30 - 16:30 Floris van Geel , Ruben Teijeiro: Business Brainstorm Jon Bamgboye: Drupal in the physical world Sprint

Friday

  Brainsum Drupalaton Sprint room
8:00 - 9:00 Good morning runners!
10:30 - 12:00 Balazs Dianiska: Build all the things!   Sprint
12:00 - 13:30 Lunch (90 min) Sprint
13:30 - 15:00 Áron Novák: Travis - your movie producer Alex Andrei Stanciu, Daniel Pop: REST API and Headless design Sprint
15:00 - 16:30 Dankó Márton, Peter Pónya: Easy automated visual regression testing Sprint (room until 20:00)
18:45 - 21:00 CRUISE PARTY!

Saturday

  Brainsum Drupalaton Sprint room
8:00 - 9:00 Good morning runners!
10:30 - 12:00 Kristof Van Tomme: Bringing back abundance, why Drupal should be Teal Tamás Hajas: What's new in CSS? Introduction to CSS Grid and CSS Custom Properties Sprint
12:00 - 12:10 Group photo!
12:10 - 13:30 Lunch (80 min) Sprint
13:30 - 16:30 Peter Ponya, Balu Ertl, Tamás Szanyi, Balázs Kántor: One page site factory with A/B testing built with the Parade module Bene Lóránt: Custom Entity Crash Course Sprint (room until 20:00)
19:00  

Sunday

  Brainsum Drupalaton Sprint room
10:00 - 20:00 No workshops No workshops Sprint

Sessions

  • Business Brainstorm

    Business, Beginner (180 minutes)
    Drupal Entrepreneur
    040Lab BV
    by Floris van Geel, Ruben Teijeiro

    After the awesome CxO of ironcamp @rteijeiro and @040lab are making a new challenge for you: In this series the mc's will take on Design Thinking and beat with some agile and lean thinking. Your input is more then welcome in order to make this workshop great. Take your best practices and leave your pre-judgements at home.

    If you are joining the workshop, please fill out this form help the speakers.

  • Drupal in the physical world

    Development, Intermediate (180 minutes)
    Developer
    NDP
    by Jon Bamgboye

    We'll look at:

    • Physical devices
    • Drupal Service
    • Custom modules and Event Subscribers to 'mashup' integrations
    • Amazon Alexa Skills
    • A game

    The goal will be to setup a local website exposing a RESTful API to internet of things devices - and then to test it. We'll also discuss useful tools and look at custom modules to extend functionality. Then the session will wrap up with a practical demonstration (if all goes to plan) - a gamified example of communication between Drupal and devices in the physical world.

    Prerequisites:

    • Yes please: A local running copy of Drupal 8
    • Recommended: Google Chrome installed, with the Postman extension
    • Optional: Be prepared to move around a bit!

     

  • Build all the things!

    Development, Intermediate (90 minutes)
    CTO
    Cheppers
    by Balazs Dianiska

    We've come a long way since committing our sites into CVS, didn't we? Drush Make and git came along, we've started to see a spike in our ability to collaborate, in productivity and developer happiness as we no longer had to manually upgrade a bunch of code that we didn't even write. But life did not stop there.

    Composer and Drupal 8 has come along, and with them the necessity to be able to build our site as opposed to storing huge amounts of third party code in our repositories. Build tools and third party build services came a long way as well, ranging from free, open-source tools to ones integrated into enterprise hosting platforms. Building, and building often allows us to increase the quality of our product, to ship our products much more predictably, and benefits us all.

    During this session you will learn you about:

    • the concept of application builds and their benefit;
    • common build tools, such as Phing, Robo;
    • commonly used build platforms, such as Gitlab Pipelines, Atlassian Pipelines, Travis CI, Acquia Pipelines;
    • continuous integration, and the benefits of testing as part of it.

    By the end you should be able to assess the value of continuous integration, the effort and the things to learn to effectively utilise it, and an oversight of the build platforms, so that you can choose the best tool for you, or your organisation.

  • Travis - your movie producer

    Development, Intermediate (90 minutes)
    developer
    Gizra
    by Áron Novák

    Target audience:

    • who write browser-based automated tests
    • who do not have in-depth experience with Travis
       

    Prepare with:

     

    What we will do together:

    • a very basic browser-based test with WebdriverI/O (or with Mink if you opt-out from Node.js)
    • recording the first video of a test
    • creating a simple Drupal module at a GitHub repository with a .travis.yml that utilizes Zalenium
    • understanding the Travis encryption and matrix system

     

    Homework:

    • breaking out of the black box, upload your video anywhere

     

  • Easy automated visual regression testing

    Development, Intermediate (90 minutes)
    Drupal developer
    BRAINSUM
    by Dankó Márton, Peter Pónya

    There are a lot tools for automated testing, but most of them are targeted for coders or devops people. I’d like to show a solution for visual regression testing which is targeted to project managers, product owners and QA team members who don’t understand code. Typical use cases: compare your site’s appearance before and after a release / update. Is everything still in place? Did something break the layout? These people typically test these cases manually, but they can easily go “blind” after repeated tests for instance missing minute changes. This fully open source solution will never miss a pixel.

    Even non-technical people will be able to follow the majority of this session, but there will be some parts regarding the API which are targeted mostly to devops or developers mostly.

    We call this package of open source tools QAShot ( https://github.com/brainsum/qashot ) and I will talk about the components we use:

    • Headless browsers - currently phantomjs and slimerjs are supported; so Chrome, Safari and Firefox can be covered by the tests.
    • Backstop js for comparing the screenshots.
    • Drupal 8 for the administration and queueing of the tests.
    • A REST API for integration to any continuous integration solution or to a custom UI.

    A short live demo will also be included and if we will have time we will help you to install and try out the tool on your localhost as the hands on part of the workshop
    Key takeaways:

    • Getting started with QAShot is easy, it’s dockerized!
    • Visual regression can be done easily by non-technical people.
    • QAShot can be integrated to any CI.

    We've used this tool in production for months now and it has reduced regression errors significantly; thus, gave us great confidence. I’d like to convince devops and developers to set it up and try it out in their companies and also to start a discussion about similar solutions.

    Prerequirements

    Detailed install guide: https://goo.gl/UT7CjR

    git clone https://github.com/brainsum/qashot qashot

    Traditional installation

    1. Working composer, drush and npm
    2. Web server with PHP 7.0
    3. DB server: Mariadb or Mysql
    4. BackstopJs installed
    5. PhantomJS or SlimerJS installed
    6. cd qashot && composer install

    Docker based installation

    1. Working composer
    2. PHP 7.0 (command line)
    3. docker, docker-compose
    4. cd qashot && composer install
    5. docker-compose up -d
  • What's new in CSS? Introduction to CSS Grid and CSS Custom Properties

    Frontend / UX, Beginner (90 minutes)
    Drupal / web PM & Frontend Dev.
    Integral Vision Ltd.
    by Tamás Hajas (thamas)

    CSS Grid is the most exciting layout feature which became part of our available CSS toolset since Flexbox. It allows us to get rid of the hacks and workarounds we used to use in the past. It brings simplicity to declaring layouts. And while I mentioned it with Flexbox you do not have to choose one or the other! You can use them together (if you want).

    CSS Grid gives us powerful new abilities: it is bidirectional so the layout can be aware of both horizontal and vertical space at the same time. It also lets adapt to the available space without the need for media queries.

    And how about CSS Custom Properties? I'm sure that you are familiar with variables in CSS preprocessors eg. in Sass. Custom Properties are a similar but more dynamic thing available directly in CSS. And they can be used in any preprocessor too if it is needed. And you can reuse preprocessor variables in the native ones.

    And… and if you are interested, you may want to come to this presentation… I will introduce you the new syntaxes, I will show you some basic and some little bit more complex examples which you can adapt to your own tasks. I'll show you too how to use these new things without worrying if they will work in the targeted browser.

    Concerns?

    You may say, ok-ok, but how about browser compatibility? Good news! CSS Grid has arrived in Safari 10.1, Firefox 52, Opera 44, Chrome 57. And it is available in MS Edge behind a flag (currently). CSS Custom Properties are supported by all modern browsers too.

    You may also afraid of learning a lot of new syntax. But you only need a fraction to get started. And it is not so complicated.

    Well, you have a lot to win and nothing to lose. Do you need anything more?

  • REST API and Headless design

    Development, Intermediate (180 minutes)
    Web Developer
    PitechPlus
    by Alex Andrei Stanciu, Daniel Pop

    The workshop will try to link an existing front application to a Drupal backend. 
    We will start with a classic front-end implementation and explain the advantages and disadvantages of switching over to a headless implementation.
    We will demonstrate how we can use the pre-existing rest services provided by Drupal and how can a developer create his own, custom REST endpoints to fetch data from Drupal.
    Permissions and authentication will be demonstrated with regard to REST services.
    We will also talk about Cross-Origin requests and how the CORS module can help in this regard.
    By the end of the workshop, the atendees should have a better understanding of the headless development process and will be able to better determine if this approach would help them on their individual projects.

  • Bringing back abundance, why Drupal should be Teal

    Business, Intermediate (90 minutes)
    CEO/co-founder
    Pronovix
    by Kristof Van Tomme
    • What happened to the feeling of abundance in our community and how do we bring it back?
    • What should be the role of consultancies in the Drupal community?
    • Why are distributions failing commercially and what can we do about it?

    At the end of the Drupal 7 cycle, the Drupal community had its first big scarcity event. For the first time since we started our business, projects suddenly no longer just flowed in... The scariest part, was that we were not alone, even well recognised brand names in the Drupal community were suddenly dealing with similar problems. Three years later I am still looking for answers, trying to design a better business that will be able to withstand future shocks and be able to guaranty a safe and healthy workplace, where I can have a meaningful and productive life of personal abundance together with my colleagues.

    In this talk I will share what I've learned about company design and how it interacts with the community. I will talk about a set of language patterns that can help you identify the health of a team or community. Talk about how we discovered Teal (a.k.a. Holacracy) and how the book "Reinventing organisations" helped me understand why I've always felt uncomfortable having to choose to develop our business as a traditional hierarchical company or an ideal driven organisation as the template for our business.

    Finally I will look at bacterial ecosystems as an example for complex adaptive ecologies, and how bacteria handle collaboration and code sharing. Sharing a set of practices that can help us create a large number of niche markets that will bring us abundance through hyper-specialisation.

    What you will learn

    • How language indicates the mindset of a group of people
    • Different types of organisations - and their strengths and weaknesses
    • Why you shouldn’t blindly adopt industry best practices
    • Why traditional business hierarchies are destroying our community
    • Finding the right balance between open and closed

    Who is this for

    With this session I would

    What you need to know before attending this session

    This session will go through a number of social science and organisational design subjects. I will assume no prior knowledge and explain the concepts starting from basic organisational concepts, we are familiar with in our day to day lives.

  • One page site factory with A/B testing built with the Parade module

    Sitebuilding, Intermediate (180 minutes)
    CTO, co-owner
    BRAINSUM
    by Peter Ponya, Balu Ertl, Tamás Szanyi, Balázs Kántor

    We’d like to show how we built a one page site factory for Tieto, a large IT enterprise with a fully open source mindset which led us to releasing the Parade module, the A/B test UI module and multiple other contributions listed in the session. In the second part of the session we will try these tools out together in practice.
    The Parade module allows to use pre-designed sections to safely build pages with unique layout, navigation and effects. It’s built on top of the great Paragraphs module with our philosophy to build and maintain a module close to a market ready product.
    Our latest related achievement is the A/B test UI module which helps overcome the barrier of setting up and tracking A/B testing for non-technical people.
    Even outsiders to Drupal will be able to follow the concept of this session. Drupal people will get an up-to-date overview of the tools for building pages with custom layout.
    A short live demo will also be included.
    Key takeaways:

    • It’s worth going fully open source.
    • It’s time to build products instead of new frameworks or toolsets.  
    • Use cases for the Parade module.
    • Drupal 8 is the best open source enterprise CMS :)

    PREREQUIREMENTS

    To participate in the workshop you will need preinstalled:

  • Custom Entity Crash Course (Workshop)

    Development, Intermediate (180 minutes)
    PHP Developer
    PITECHPLUS
    by Bene Lóránt

    The workshop will propose the scenario of having to display content with a complex structure from a web service and saving that content in the Drupal database to act as a cache for the service. At the start of the workshop the exact requirements will be presented and broken down into individual and smaller chunks, and these will represent each step in the presentation. Each step will require the attendees to write code and to slowly complete their entity type definition. During these steps, other topics will be presented, such as: designing the model layer, using custom fields, widgets, formatters, constraints in order to have a S.O.L.I.D. approach, namespacing best practices and comparison to how core does it and why it does it wrong sometimes. The design of the model layer will feature use-cases for the usage of base fields versus fields added from the Drupal BO and the Adapter and Data Access Object design patterns, which serve for designing an implementation that can handle any data repository(web service, database, etc) in an extendable and more readable way. At the end, a similar entity type will generated with the help of Drupal Console and we will investigate the differences and best practices used by both approaches(manual code and code generation). The objective of the workshop is to inspire developers to use Custom Entity types and incorporate them in their estimations and their workflow, as it leads to better code quality and projects that can be maintained more easily.

Sponsors

You can also follow us on Twitter @Drupalaton and #Drupalaton

Share drupalaton on on Twitter or on on Facebook

Drupal community hosting powered by Acquia Cloud