DrupalCamp Frankfurt 2017


Videos from DrupalCamp Frankfurt 2017.

Video Sponsor(s) / Provided by
Drupal Camp Frankfurt
Curated Videos
Diverse people with many skills have made Drupal what it is today. Drawing on my personal experience - from Biologist to Drupal Usability team – and on that of others, we will see why you too will make a difference. Contributing will help you personally, it will benefit the community, and will get your clients a better website.

Slides: https://ifrik.gitlab.io/why-you-will-contribute


This demonstrates the new media modules, enhancing media metadata, media workflows & management, media browsers, media galleries, media carousels and media crop management. It is demonstrated in conjunction with the Workbench moderation, the Scheduled update and the Panelizer module, in a workflow scenario for a newsroom.


Once we had #slack and everybody seems to love it in the developers world.

But why is it so good, can these processes be improved?

How about not having the 3.8 bilion US$ of capital investment and mixing technical achievement, workflow and marketing funnels just because we can?

Meet Rocket.Chat the #1 open source multi channel multi domain chat, video, teleconference and remote Desktop solution.

Born in Brazil where everything is flavoured with salsa, tasty, passionate and nice. Rocket chat is the open source solution that make all your marketing dreams come true.

No shameless plugs or use cases, just the executive solution overview on how the Meteor and Drupal community collaborate together as one.


Dries' mention about this noble topic just fuelled our excitement about it, as we already have been following it in our small and happy organization.

A lot of talks happen about encouraging the importance of women in tech, however not much reaches the execution level within. I'd like to present our challenges and success with its execution.

Slides: https://2017.drupalcamp-frankfurt.de/node/158

This session will highlight some of the stuff that is currently going on in HTML and CSS. Stuff you are probably not using right now. Some stuff you may have heard about, other stuff will likely be new to you. I hope.We will address some of the changes made in HTML 5.1. We will have a quick look at Flexbox (though you are probably already using it, aren’t you?). Then there’s CSS Grids, which will be quite useful – sooner or later. And we will look at some fancy CSS ideas that the W3C is currently working on.

Which also means that yes, this session will be quite Drupal-free.

If you are already familiar with menu and menuitem position: sticky, @supports, flex-wrap and grid-template-areas this session is not for you.

You can find the slides of the session here: http://textformer.de/slides/2017/dcffm17/

That’s the Director’s Cut aka the commented version.


Basic idea: provide an API to map Git functionality into Drupal to do version control of content with all the benefits of distributed branching models.

Git comes with all the necessary methods to keep control of content and allows us to work with remote repositories. Making this functionality available to the Drupal Entity API and user interface will enable us to maintain content on several branches, same like we do with source code. Of course there are several challenges to solve, but a reliable implementation will allow us to provide further modules to enable automation, deployment and merging of content without loosing track of the history of it - even on distributed sites!

The session will summarize the experience we made so far and introduce the working prototype to the Drupal Camp in Frankfurt! Interested can join us in the code sprints as well! You can find us on Slack: https://drupal.slack.com/messages/gitpal/


What is Thunder?

Thunder (thunder.org) is a Drupal 8 distribution for professional publishers developed by Hubert Burda Media, one of the largest publishing houses in Europe. With the launch of the open-source CMS Thunder one year ago, Burda is creating a worldwide coalition of publishers, industry partners, and developers, which aims at joining forces to develop the best CMS for the media sector.

More information and slides:https://2017.drupalcamp-frankfurt.de/node/174

Have you ever had a very simple feature request that turned into an abolute nightmare? Have you ever had a request from a client asking you to estimate a project which has almost no requirements? Have you ever been told just to build it like Facebook or Google does it? In software development it is sometimes very difficult to make correct estimations in the beginning of a project as it is basically guessing. The more information we have about the requirements, the better the estimation will become. But the secret to nailing estimates is not in perfecting the art of guessing. It's in perfecting the art of definition. When estimates go horribly wrong, it's usually not because the thing took longer than we thought. It's because the thing we thought we were estimating turned into something else entirely. Most likely, it was a lack of clarity on exactly what you were estimating. That might seem really obvious, but as software experts, it's really easy for us to overlook things, or assume clients know what we know. It was clear to you and your team, and it was clear to your client, but "it" was completely different for each of you. In this session I'll review some of my good and bad estimations to arrive at simple strategies for how to result in a better project with a happy team of developers and most important a happy client at the end of the project. This session is aimed at anyone involved with estimating things, whether you're a Project manager, a developer, company owner, or a client who wants to better understand what it is about.


In this session I will demonstrate how we build our latest Drupal 8 project with paragraphs. The website is very content rich website and the requirements from the client was to be as flexible as possible. Around 20 paragraphs were built as well as some reusable entites that the editor can choose from to display around the page.

When a site has many paragraphs it is important that the user interface is simple for the editors of the page. In the session we will show you the backend like the editor sees it.

For full flexibility we also allow the editor to insert both views and nodes into CK-editor. This comes in very handy for content like news and press releases with long text.

Slides: https://2017.drupalcamp-frankfurt.de/sites/default/files/session_slides/2010423-Flexible%20content%20editing%20-%20drupalcamp%20frankfurt.pdf


In 2016 the new Intranet was launched at the City of Reykjavik. The Intranet was developed in Drupal 7 and is being used by 8-9.000 employees of the City The Intranet focuses on knowing who the user is to be able to give him/her the content that matters. It also gives the user the power of choosing its own content.Users are authenticated via Active Directory and imported to Drupal four times per day. The system also has some fun stuff, like complement system and a birthday calender of all employees of the City. In this session we will go through the process from the idea to the launch date. We will also discuss the main obstacles we had during the project and some important learnings from this project, both from the perspective of the client (City of Reykjavik) as well as from the technical lead.


In November 2016 we launched the first version of deGov - a Drupal distribution built on top of the Lightning distribution from Acquia.

At the moment we are working strongly on releasing the first stable fully functioning version of deGov. With the early version we have built two websites, parallel with the new version we are releasing the third website built with deGov.

In this talk I will walk through the details of building a distribution based on Lighning and the impact his has on creating projects. I will also share our experience with creating a distribution for a special audience and the and outline where we observed advantages and drawbacks by working with Lightning.

At the moment deGov is backed by three German Drupal companies. deGov is an open source software and we invite everybody to participate and benefit from the project.

Slides: https://docs.google.com/presentation/d/14DrZR-vOdVi04XFxP56l7VRMD9Bp_2AS5QOImnJC9cU/edit#slide=id.g1ea7e53047_0_220


In Oktober 2016 the first beta version of Drupal 8 / Commerce 2 was released. Beta version means that an upgrade path exists and you can start building onlinehops.

On the first of April 2017 we launched the brand new online shop for the Scandinavian watch company ORLO WATCHES.

ORLO WATCHES was founded by the former brand manager from GEORG JENSEN Skandinavian design company and one of the most well-known Danish watch designers.

The onlineshop starts out with multiple shop instances (Denmark, Norway, Sweden, EU, International), two languages (Danish, English), and 4 currencies (DKK, SEK, NOK, EUR).

The onlineshop was designed by New York based design Agency NR2154 and is fully responsive and uses latest HTML5 technology.

In this session we cover the functionalities of Commerce 2 and show how real e-commerce applications can be built using the example of ORLO WATCHES.

Slides: https://docs.google.com/presentation/d/1I_WRMoKN1az9l_UjYRMiGlTYm7I7p43zxzDIiV-vpbM/edit?usp=sharing


In this session, I will describe my experiences in updating a Drupal module from Drupal 7 to Drupal 8 (the adsense module). The session will describe the lessons learned in this process, including the removal of the previous "sub-module as plugins" system, and it's replacement with a true plugin system based on the infrastructure provided by Drupal 8. It will also advocate for a thorough removal of the .module file as much as possible. Some tools helpful for module development will also be addressed including:

- Composer - to manage external dependencies.
- Drupal Module Upgrader - for automatic update of code from D7 to D8.
- Coder - static checks for coding standards.

Main points to discuss on the subject of module development for Drupal 8:

- module.info.yml and the other YAML files
- Object Oriented Programming
- PHP's PSR-4 and the module file structure
- PHP Annotations
- The Drupal 8 plugin system
- Forms
- Blocks
- Twig templates
- Page controllers and the routing system


Media-handling in Drupal has never been easy. As Drupal core only includes basic file and image support, you had (and still have) to install lots of contrib modules to achieve tasks, which seem to be standard in other content-Management-Systems. The Media Initiative is one of several Drupal 8 Initiatives, which wants to make Media in Drupal easier to use, both for developers, site builders, as well as content editors and other end users.This session is about the Drupal 8 Media Initiative and you will see, what has been achieved until now, and what is planned for future Drupal releases.


Search API 8.x is nearly a complete re-write compared to its 7.x branch, driven by the fundamental changes in the Drupal core.Now - after more than 3 years of development - the various modules of the Search API family are close to their first offcial 8.x release.

As the maintainer of the Solr backend(s) within the Search API family I'll talk about the current state and the upcoming releases and share some insights of the development. Even if the session won't be a "Get started with Search API" workshop, there'll be some demos and time to answer some questions.


Tired of syncing database dumps between site instances and sharing them with your co-workers? Make this a thing of the past with default content!

Default content avoids the necessity of obtaining a database dump to get a running site and with it a number of problems - security and otherwise. Find out how you can you use it to improve your development process and kickstart your testing/CI setup!

In this session we will explore the different approaches to providing default content in Drupal and put you in a position to start using default content in your everyday work.

Slides: https://github.com/tstoeckler/presentation-default-content


This session covers Configuration Management in D8. We will take a look at the functionally in Drupal Core and Contrib modules for more advanced workflows.

Modules covered
- Config Split & Filter
- Config Intaller
- Drush and Console Integration


Not everything really wants to be shoehorned into a new content type or vocabulary. Not everything even wants to be content, it may be configuration that can be controlled with config management. Creating custom entities allows you to make a more logical data model. They give you much more direct flexibility without having to make alterations to routes, forms, events... Your code becomes collected together more logically, and easier for others to read.

Building custom entities is also a great way to learn your way round the Entity API. As you are inheriting classes, you really don't need to know it all before you start. Better still: there are tools to do all the basics for you. If you knew creating entities in Drupal 7, this is a completely different, and much much easier, world.

​This session will: Introduce you to creating custom entities and why you might want to create them; Point out some common additional features you may need to implement for them; Showing practical examples we'll look, and possibly introduce you to, parts of the Entity API that you can use for customised functionality. There will be code, there will be annotations, so some understanding of PHP is helpful here, however the steps on the way will be explained.


Drupal 8 is nearly 1 year and a half old, soon the third minor version of Drupal 8 will be released. Maybe one of the most important advances provided by drupal 8 are the improvements in view modes and the new form modes. Now, we can make use of them have our entities forms and views under control.

During this session we will see how display modes can help us to model the most common client requirements in a clean and profesional way. On the other hand, we will get used to their configuration and administration, and later we will get the most from them in different common situations.

More in details, this talk will go through the following points:

- Introduction: View modes in Drupal 7, why are them useful ? what are their limits?
- Display modes in Drupal 8
- Form modes in Drupal 8: Administration and configuration.
- Form modes in Drupal 8: In a real case!
- View modes in Drupal 8: Administration and configuration.
- View modes in Drupal 8: In a real case!
- Extra fields: where can we find them in Drupal 8?
- Extra fields: In a real case!

Finally, the target audience for this talk is site builders and developers but it is open to everyone that is interested on this topic.

Slides: http://slides.com/jlbellido/display-modes-drupal-8#/

Code example: https://github.com/jlbellido/display_modes_example


This session will simply present the autosave module for Drupal 8 - autosave_form. During the presentation of the module I will talk about its current stable state, how it was built and the different ways that were attempted to make it fast and stable as it currently is. Additionally I will address the future plans for the module.


H5P ist ein großartiges und freies Framework zum Erstellen und Bearbeiten von interaktiven HTML5-Inhalten (https://h5p.org/). Mögliche Anwendungen umfassen Quizzes, Lernkarten, Umfragen, Präsentationsfolien, Video Chat und vieles mehr.

In dieser Session wollen wir über unsere Erfahrungen beim Einbinden von H5P in Drupal7 berichten. H5P kommt in unserem Fall zum Zwecke der Erstellung von interaktiven Übungsaufgaben im schulischen Kontext bei learnattack.de zum Einsatz.

Eine grobe Liste der Tagesordnungspunkte ist:

- Technische Vorstellung | Wie funktioniert H5P?
- Unsere Anforderungen
- Probleme und ihre Lösungen
- Ansätze für Weiterentwicklung


A short talk about what is dependency injection and why you really need to learn and use it. After wards we should talk about it why you really need to learn and use it and con't chicken out...

Read about it:

Oh look there are free videos on youtube:


Drupal offers many ways to implement Marketing Automation on your website. The overall goal is to engage and onboard users in the sales funnel, scale traffic without scaling human resources.

This session will cover tools, modules, processes and integration scenarios with Drupal. In particular the following topics will be covered:

- general requirements for marketing automation
- personalization for 1 to 1 customer engagement
- content architecture in Drupal as a base for marketing automation
- processes & workflows to plan your marketing automation strategy
- different communication channels integrated with Drupal
- external tools & services Drupal integrates with
- modules for marketing automation & lead nurturing
- metrics to measure your marketing success automatically

This session is especially for marketers of all Drupal skill levels, who want to discover the possibilities and features Drupal offers to implement a mostly automated and measurable marketing machine with Drupal - and everyone else, of course!


In dieser Session erkläre ich die wichtigsten Begriffe und Konzepte von Drupal.

Was benötige ich, um eine Webseite mit Drupal zu betreiben?Wie kann ich Inhalte erstellen und bearbeiten?... und was ist eigentliche ein(e) Node, ein Block und ein Theme?

Die Session ist ideal für alle, die gerade anfangen, sich mit Drupal zu beschäftigen oder es vorhaben.


Doing two projects about Drupal 8 at the Stuttgart Media University this session includes the experiences I gained.

From “Where the hell do I start” till theming and templating with TWIG will be covered.

So how to build a site that doesn’t look like any other Bootstrap Theme (or alike) site. I show you how easy it can be to get some eye-catching features on your site for not being one of many but stick out of the mass in an astonishing way.


A search page with a map is something required on lots of websites. Depending on the nature of the data, adding facets can improve the user experience in a search page.

Once you know how to implement such a page, you realize that devloping a nice solution doesn't need much effort. The tricky part is the choice of modules you are going to use, how they work together and how to configure them properly.

In this session I am going to use the modules Search API, Facets, Search API Solr Search and Geolocation Field and I will present step by step instructions on how to create the search page with a map including the difficulties that I found and how I solved them.



Drupal is a registered trademark of Dries Buytaert.