Drupal Iron Camp will hold its first event in Prague, Czech Republic in November 24–27, 2016. It is the kick-off event for an annual conference that will change location each year, and it’s organized by joint Drupal forces from all around Central and Eastern Europe.

Friday 25th November 2016

10:00
0
The Future of Drupal
Keynote by Michael Schmid in Švejk (45 minutes)

As technology changes, we must change along with it. Adapting to the rate of change is a challenge, along with learning new habits, and embracing new ways of working. We are at a tipping point. We are changing how websites are built, used and hosted. We’re even changing our perception of what a website is and does. Fortunately for all of us, Drupal is at the forefront of these changes. With the release of Drupal 8, which was built using global PHP coding standards and other modern technologies, it’s also the best time to work with Drupal. Let me show you what the Future of Drupal will bring, which technologies are on the horizon, how they will change us, and why our future is looking so bright.

11:00
0
Drupal 8 entity storage and real time notification
Talk by Roy Segall in Krteček (45 minutes)

Real time is knocking at our door ant this time to invite him in to our community. Real time activity feeds? Pushed notification in your site? Now it's easy than ever! You will be introduced to a new DB - RethinkDB - and will see how Drupal can be used as a dashboard for your NodeJS/Electron app.

0
Slovak WordPress community
Talk by Peter Nemcok in Cimrman (45 minutes)

A story about the very beginnings of Slovak WordPress community. About how I helped to grow the community from a few hundred users to a ten of thousands with hundreds of active commiters and how WordCamp Europe is changing the community from a bunch of local communities to one European community.

12:00
0
Drupal stocks
Talk by Kristijan Lukacin in Krteček (45 minutes)

I'm CIO of small but prominent company (IMHO). We are Drupal born company, created for one purpose: Drupal. We've started company based on knowledge gained on Drupal camps and cons sessions and talks spiced with love for open source and development in general. So what will this be about; well instructions based on our errors, and greatest challenges we've overcome while having 100% growth (so far), so how to buy and invest in Drupal stocks.

0
Drupal 8's Multilingual APIs: Building for the Entire World
Talk by Christian López Espínola in Švejk (45 minutes)

Description Are you interested in writing contributed modules, themes or distributions for Drupal 8? Then this is the session for you. In this session, we'll look at the most important APIs you would use to integrate with and best practices to use to ensure that your project is fully multilingual-ready. This session will be valuable to all contributors even those whose projects are not inherently multilingual. Even if your project is not immediately intended to be multilingual, having a multilingual-capable module, theme or distribution makes your solution appealing to a much broader audience and is likely to provide value to global users. Drupal 8 is a great platform to work with not only because it is so multilingual capable out-of-the-box, but also because you can easily expand while maintaining the translatability of your data. Drupal 8’s multilingual core offers a robust multilingual foundation, making the integration process much more seamless. The majority of Drupal 8's APIs are designed to support multilingual by default and make sane assumptions about common scenarios. As a result, there are several important things to keep in mind to build the best integration possible. In this session, we will walk through: Working with language APIs, and the language your data is in. Making your output strings translatable: t() and its friends, but also in twig templates Why you should and how to code translatable content entities. Customizing your field properties translatability so site builders can choose. Configuration translation: translating your configuration entities Intended Audience Drupal developers working with contrib or custom modules that are designed for multilingual or non-English sites would benefit from this session (that means nearly every Drupal developer out there). Drupal themers intending to make their theme templates translation ready. Attendees will walk away with knowledge to add Drupal 8 multilingual support to your modules, themes and distributions. Skill Levels This session is suitable for beginners or intermediate Drupal users. It is best if you come to the session with some exposure to OOP, Drupal 8 code and twig templates, but even if you don’t have that foundation I’m sure you can catch up.

0
Automatization in development and testing - within budget
Talk by David Lukac in Cimrman (45 minutes)

Working on client projects with very strict budget and resource restrictions, tight deadlines and pressure, many times does not allow for full blown Test Driven Development, Continuous Delivery and other software engineering goodness we would love to have. We will show you easily accessible and quickly implementable options, that allow you to automate your development and testing process, or at least the most painful parts, without blowing the budget. Finally you can relax during deployments of the code to production! :)

14:00
0
Drupal Contribution: Embrace the Community
Keynote by Emma Maria Karayiannis in Švejk (45 minutes)

Everyone agrees that open source contribution is a good thing to do. We are lucky to have so many types of contribution available to us through the Drupal codebase and within the community itself. But how can we each succeed with our own contribution journey? How do we get started? How do we keep it going? How do we balance the rewards, the expectations and have time to look after ourselves? This is so much to take on alone. You need to embrace the community! This session aims to explore how you can : - Succeed at getting started with contribution. - Find your place within the community. - Maintain your contributions in a healthy way.

15:00
0
Burnout at Scale
Talk by Alina Mackenzie in Krteček (45 minutes)

Scalability is the ability of a system to handle a growing amount of work, or its ability to be enlarged to accommodate that growth. What then, is burnout at scale? Many of the current discussions about burnout focus on solutions aimed at the individual. Can burnout be approached as a structural issue, instead of an individual one? And, can we find solutions to prevent or mitigate burnout that can scale to meet organizational needs? The aim of this talk is to encourage you to think about systemic approaches to burnout. Identify mismatches between a job and a person that can lead to burnout Understand the dimensions of burnout Learn about the processes that organizations can take to address burnout

0
Javascript testing cookbook
Talk by Artem Miroshnyk in Švejk (45 minutes)

I will go through different types of javascript code: from Drupal behaviours with just couple of jQuery handlers to complex Drupal ajax cases and then to js unit testing of ES6/JSX code.

0
PHP-FIG: how the PHP world got off their islands
Talk by Bart Feenstra in Cimrman (25 minutes)

For the longest time PHP projects were isolated initiatives, or islands as many popular non-fiction authors have been calling them. Each project employed its own rules and best-practices, and developers who were experienced at one project, would often feel like novices when looking at the other projects. The work of the PHP Framework Interoperability Group, or FIG for short, has laid the foundations for collaboration between many popular PHP projects, including Drupal. Its portfolio of specifications (PSRs), made and used by the PHP community at large, is so ridiculously simple that most of it was and still is adopted rapidly. This in turn led to many small PHP packages being published and used by completely unrelated projects, a revolution in which Composer has played a pivotal role. This session will put FIG in the spotlight and explain how the group works. It will also discuss the available PSRs and the ones that are currently under development. After attending this session, you’ll know much more about the worldwide PHP community and know everything you need to work with or develop framework-interoperable PHP packages.

15:30
0
VersionPress – how WordPress guys do database version control
Talk by Borek Bernard in Cimrman (25 minutes)

Database version control is hard but opens up a whole lot of opportunities, from user-friendly Undo to powerful site cloning & merging. VersionPress is a project that tries to do that for WordPress but many lessons can be learnt for other open source CMS's as well. Borek is a co-founder and developer of VersionPress and will share the technical details, some of the hardest challenges to overcome as well as experiences from trying to bring this project to life during the past three years.

16:00
0
Usability for site builders and site administrators
Talk by ifrik in Krteček (45 minutes)

The administration interface should allow users to build sites ranging form simple storefronts to ambitious digital experiences - but currently it's not up to the job. Usability improvements often focus on introducing exciting new modules, or on making the UI less confusing for new users - but there is also lot of room to improve the usability for the site builders and advanced administrators. I'll give concrete examples of bad usability for site builders - and some of the underlying reasons - and then discuss how we can improve the User interface for core and contrib modules. How can we decide on UI standards, without getting lost in a bikeshed conversation? How can we write them so any developer can easily follow them?

0
Configuration Management: theory and practice
Talk by Fabian Bircher in Švejk (45 minutes)

Configuration Management is one of the revolutionary features in Drupal 8. It is a life-changing opportunity for site builders, who can get rid of the database-based workflow at last. But it has significant implications for developers too. Developers often want to use Configuration Management outside its intended use case. New workflows and practices have to be established. We'll see some examples from real projects, and outline a list of possible future improvements that can make Configuration Management better suitable for the developers' needs. Attendees are expected to be familiar with basic site-building processes, and they will walk away with a gallery of real examples where Configuration Management shows its limits and additional modules or best practices step in for a smooth development experience.

0
Spatial Drupal
Talk by Floris van Geel in Cimrman (45 minutes)

Mapping is a very powerful yet neglected aspect of Drupal site building. In most applications we see plotted flags on a map to the nearest restaurant or beer place. The contributed landscape of Drupal modules offers a broad variety of tools, with a few patches we are able to produce rich data applications. For the past two years we've been collaborating with the open source GIS and Building information community. Utilising the potential of Open Source and Open Standards. Where Geography meets infrastructural works, city planning and individual building architecture to utilise Drupal as a collaboration platform. Building Information Model, this project emerged from a research paper committed to the DDSS conference 2014 Organised by the Technical University of Eindhoven. It contributes to the development of IFC based web applications in practice and demonstrates a way of linking machine to human readable data, thus making the data accessible to people without the knowledge of Computer Aided Design (CAD) software. Open semantic web Exposing the collected data of GeoJSON, RDFx and SPARQL to visualisation-, search- and other web systems. This way, the world of the CMS meets 3D visualisation and gets integrated with real-time monitoring. Drupal will facilitate documents, discussions, calculations, calendars, workflows and other non geometry specific data. Other services are to exposed in the same user interface. The Internet of everyThing Next is to integrate real time sensors in urban- and building infrastructure so the model and the reality can match and strengthen one another. This will not be a showcase session, it will focus on the site building and architecture. Democratising complex information structures and next generation Drupal Systems. What level of knowledge should attendees have before walking into your session? Understand English What will your session accomplish and what will attendees walk away having learned? Use of Drupal in different contexts

17:00
0
How to create content layouts in Drupal 8
Talk by Josef Dabernig in Krteček (45 minutes)

Creating layouts in Drupal is easy right? As site builders we can pick from variety of tools to do the job - Panels, Panelizer, Display suite, Ckeditor styles & templates or Paragraphs to name a few. Join Inky & dasjo for a run-down of the considerations we have taken in 3 years of experience building real-world projects based on Drupal 8. We’ll do a comparison of the existing tools to implement content layouts in Drupal 8, explain what has changed from Drupal 7 and for which task you wanna choose which of the tools. This session is for you, if you want to - Take informed decisions when creating content layouts in Drupal 8 - Find out if your best-practice from Drupal 7 still applies to Drupal 8 - Know when to use which tools when creating content layouts - Compare Panels, Panelizer, Display suite, Ckeditor styles & templates + Paragraphs - Take a look behind the scenes of real-world Drupal 8 content layout implementations - Understand implications like multilingual, workflows & the level of freedom you want to allow your content editors to have This session will be suitable for anyone interested in the architectural decisions behind setting up content layout workflows for Drupal 8. While site builders are the main audience, we are happy to invite coders better understand the content workflows, front-enders to get an understanding of what kind of content-structure they can ask for and content editors/clients get a feeling of which tools they might wanna use once their site has been built.

0
Beginner’s Guide to Single Page Applications with Drupal 8 + AngularJS
Talk by Daniel Kanchev in Švejk (45 minutes)

The purpose of this presentation is to provide an overview of what are Single Page Applications, why they are becoming so popular and how Drupal 8 REST API could be used together with AngularJS to create SPAs. The talk contains three main sections: 1. Single Page Applications - overview, history, architecture considerations, why using SPAs 2. AngularJS - what is AngularJS and why people like it so much 3. Drupal 8 REST API + AngularJS - capabilities, short overview and demo of a simple SPA based on Drupal 8 + AngularJS At the end of the talk people will know the following: - What is a single page application and what are the advantages of using SPAs - What is AngularJS and how it can be used together with Drupal 8 and the REST API - During the talk a simple Drupal 8 + AngularJS app will be presented and code samples will be provided

Saturday 26th November 2016

10:00
0
Software management lessons from the 1960s
Keynote by Larry Garfield in Švejk (45 minutes)

"The Mythical Man-month" is one of the seminal books in the field of software project management. It was written in 1975, based on experience from the 1960s. Is it even still relevant? Turns out, it is. Technology may have changed dramatically but people have not. Managing software projects is about managing people, not bits, and creative people engaged in intellectual endeavors are notoriously hard to predict and manage (just ask my project manager). Fortunately, many of the lessons-learned Brooks' presents are still relevant today. Some are directly applicable ("adding people to a late project makes it later") while others are valid with a little interpretation. Still, others fly in the face of conventional wisdom. What can we learn from that? This session will present a modern overview of the ideas presented by Brooks and a look at what we can still learn from them even today. Although not Drupal specific, we will keep an eye toward Drupal and Open Source along the way.

11:00
0
Create Drupal content by sending an email
Talk by Miloš Bovan in Krteček (25 minutes)

Wouldn’t it be nice to create content in Drupal 8 just by sending an email? You might wonder why we need emails in 2016? The users can just do it by logging on a Drupal site or via a mobile app? Even though there is a new communication tool around almost every week, the statistics says there are over 4,353M email accounts available in 2015. The number of business emails sent and received per user per day totals 122 emails per day (Radicati Group). They predict steady growth of around ~6% new emails accounts per year until 2019. Based on this data, we can make a conclusion that users are still okay with emails. The Mailhandler module for Drupal 8 allows you to create Drupal content using your favorite email client. In case you are in hurry, on mobile or don't have time to update your website in a traditional way, this is the right module for you. The module ships with default support for PGP-signed emails which guarantees 3 main principles: authentication, integrity and non-repudiation. The module was developed during Google Summer of Code 2016 program as one of the 11 selected student Drupal projects. Besides the content (node) creation, Mailhandler enables you to create comments via email as well. It is a quite useful feature in case you want to reply to the comment notification you received. The presentation will describe the architecture of Mailhandler and Inmail modules, explain the identified use cases, show the current features via demo and reveal the future ideas.

0
Offline Drupal
Talk by Theodore Biadala, Mathieu Spillebeen in Švejk (45 minutes)

This session will be consisting of 4 parts: 1) A overview of offline technologies and Drupal's place in it. We will quickly cover all the emerging offline / instant / fast technologies with simple examples. Showing their strengths, weaknesses and for which type of clients you can use them. (Google's AMP, Facebook's instant articles, the failed Appcache & Serviceworkers) Compared to what native apps give you, and what is this Progressive Web App everyone talks about 2) Frontend United's example: live demo of an offline webapp built in Appcache. 3) The technical explanation of the JavaScript prerequisites for using serviceworkers such as: Promises, fetch, Response/Request and Cache objects. Mobile functionalities PWA enables such as: background sync and push notification will be explained. 4) The final part will be a live demo from what PWA is able to do on an existing big project. This session will be a merged session from nod_'s Drupalaton-talk and Swentel & MathieuSpil's talk in Drupal Dev Days mixed up with some new examples.

0
How DrupalCI works
Talk by Levi Govaerts in Cimrman (25 minutes)

Everyone who has ever submitted a patch has been working with DrupalCI. The project itself is maintained by the Drupal Association and has a very detailed roadmap on where they want to go with the project. During DrupalCon in Dublin, I have been talking with a lot of engineers from Drupal Association* in order to get a clear understanding on how DrupalCI has been build. It will take some time to learn the way of working of all the different components, so therefore I want to give you a small introduction on the architecture of DrupalCI. I will also have a look together with you on what fancy stuff you can expect in the near future. * I am not a part of Drupal Association, but I'm just making sure that everyone knows what they're working on. They do an amazing job on improving Drupal.

11:30
0
My Drupal 8 learnings as a site builder: Media, Paragraphs, Configuration Management & Display Suite
Talk by Chandeep Khosa in Krteček (25 minutes)

I have worked as a freelance Site Builder & Front End developer on a few Drupal 8 projects and have learned a lot. In this session I'd like to share these learnings with you! I will guide you through the differences I found in site-building modules (Media & slideshows), which ones weren’t usable and what was used instead. I will also demonstrate how I used Media, Paragraphs, Configuration Manager & Display Suite. Specifically I will give an intro to the various Media modules and demonstrate how to configure the ability to add re-usable images and add new media bundles for documents with tagging for use in views. I will give live demonstrations of how I've imported and exported configuration, adding new paragraph types and adding block fields via display suite. I will show you how I improved the user experience nicer for content editors. I have given draft versions of this talk at the Budapest Drupal User Group & London Drupal Show and Tell.

0
How to mantain D7 & D8 versions of your modules concurrently
Talk by Calin Marian in Cimrman (25 minutes)

You have some Drupal 7 modules on drupal.org. You want to port them to Drupal 8, that's where the most exciting things are happening today. But at the same time you don't want to leave your Drupal 7 users with an unmaintained module. They may be your past clients, current clients, or even future clients, as Drupal 7 will be around for a few years at least. How do you handle multiple core versions of the modules wile limiting future consumption of time & resources? The session attempts to answer this question, by utilizing some strategies: - Decouple the logic from the drupal integration. - Release library/libraries if the logic could apply to other projects. - Prefer external libraries over writing your own implementations. - Use composer for managing the dependencies.

12:00
0
Querying and manipulating Drupal 8 via core REST and Waterwheel
Talk by Dalibor Stojakovic in Krteček (45 minutes)

Configure REST resources, customize a REST resource's formats, customize a REST resource's authentication mechanism, GET,POST,PATCH,DELETE in Drupal 8 core, using waterwheel library to query and manipulate Drupal 8 via core REST, adding resources to waterwheel, getting resources within waterwheel, using methods for resources, getting and setting values on resources, using JSON API for getting resources

0
The perfect task - There in no such animal!
Talk by Amir Taiar in Švejk (45 minutes)

A journey to the perfect task - Spend a perfect day on the beach! Is there a perfect task? Lets go on a journey to find out.. From the small simple task to a complicated one, from a single developer asignee to a complex task which involves large team members, dependencies , budget considerations, tight deadline and more... A journey from the developer all the way to the CFO & CEO.

0
Docker for Drupal
Talk by Mladen Đurić in Cimrman (45 minutes)

Local development is always a challenge. First of all there are a lot of components that should be matched to reflect the actual production server and then there are also versions of PHP, MySQL, MariaDB that are needed to be matched. And on top of that all, some configurations are really hard to set up on local machine. And after all is set up and working there comes another project with different setup and versions. Not to mention if there is a need to revert briefly for some bug fix of a previous one. And then, when you update your system, some things return to their defaults and you have to do it again. And so does any collaborator as you need to replicate environment to everyone. One of the solutions was to use Vagrant, VirtualBox but for that you needed a very good one DevOps engineer who will set that up. And Vagrant and VirutalBox did use some serious resources, both memory and CPU. Then came Docker for Mac and Docker for Windows. OK, I know that Linux had that before but this time the setup can be EASILY shared between platforms and collaborators. My plan with this session is to show how easy it is to use Docker4Drupal project which offers very easy entry point to customized local development using Docker on all three platforms, how to effectively structure your folders and customize to match the needs of your project. I will explain the installation of Docker on all three platforms, introduce Docekr4Drupal project with docker-compose.yml control file tailored specifically for Drupal development and how to use PHPStorm IDE with Xdebug for full control of the application development.

14:00
0
Content creation UX wonderland Ask not what the community can do for you, ask what you can do for the community
Keynote by Janez Urevc in Švejk (45 minutes)

Being a company or an individual that depends on Drupal to accomplish every day’s work makes you very sensitive for the decisions that the community will make. Depending one’s entire business model on a free software project is very different from basing it on an internally-build, proprietary solution. It comes with many advantages but also some challenges. If your destiny depends on a software that you don’t exclusively control your destiny depends on people that do control it. If you are just a spectator you basically give away the control over your own future (which is something no open source user wants, right?). Of course there is a solution to that. Step up, get involved and make sure your voice is heard. But this is sometimes hard to do... With the daily routine, clients and deadlines there is barely enough time to read the daily newspaper. Don’t even think about the more active involvement in the community! At MD Systems we managed to get over those limitations and thus became one of the biggest contributors to Drupal while being one of the smallest companies in the community. We will share our experience and suggest some easy steps to start following our footsteps.

15:00
0
Short Twig recipes for Drupalers
Talk by Tamás Hajas in Krteček (45 minutes)

So you hopped on the Drupal 8 bandwagon and know the general concepts of Twig. But a general documentation can't give answer to all the specific problems you face when you work on a concrete project. Fear no more: here I am! The man who neither able to answer all your specific questions… ;) But the man who faced with his own Twig riddles too and found solutions here and there. Who will be glad to share the Twig recipes he collected with you. Eg.: - How to add custom CSS classes to menu items based on menu name? - How to add "bundle" CSS classes to nodes? - How to add "bundle" CSS classes to fields? - How to add "bundle" CSS classes to blocks? - Why and how to use twig extends? - How to display custom dates in a localize-able way? - How to add "first" / "last" CSS classes and item count to lists? - etc.

0
Efficient development workflows with Composer
Talk by Wolfgang Ziegler in Švejk (45 minutes)

Composer is a great tool for managing a project's dependencies - however, as with many tools there are various ways to use it. That's why this session will provide you an overview of possible workflows and shows practical solutions for building and deploying composer-managed projects. It covers experiences with handling Drupal projects and focus on approaches that can be shared across projects and team members. Topics: - Introduction: What is composer and how to use it with Drupal - Build & deployment workflows for composer-managed projects - Composer & Drupal: Challenges & solutions - Creating re-usable packages

0
Websites you should build to understand Drupal better
Talk by Aram Boyajyan in Cimrman (45 minutes)

A very wide range of websites can be built with Drupal: from content based sites and APIs, to e-commerce and intranet portals. However this flexibility comes with a price: it also means that it might take long time for an individual to acquire well rounded knowledge of site building practices and contrib modules. This presentation is aimed towards people looking to expand their Drupal knowledge. I will talk about specific types of websites you can build as an exercise, that will help you understand key aspects of Drupal site building and important contrib modules. For each example I will highlight experiences you should get.

16:00
0
Search API ecosystem in Drupal 8
Talk by Joris Vercammen in Krteček (45 minutes)

In this session I'll give you an overview what changed so far in Drupal 8 in regards to the Search eco-system. We will talk about Search API, Apache Solr, Facet API and other related modules. Over the course of the last years I've been heavily involved in how Search in Drupal 8 should take form and what needed to change to use the new API's and best practices in the revised Search API module. In this presentation I hope to give you some guidance what is still pending and what already was done. I will also try to explain what effort it takes to push and move such projects. It'll be useful for attendees to know / have used the Search API or Apachesolr modules in drupal 7, no prior knowledge of the modules in Drupal 8 is needed.

0
Community Collaborations 101
Talk by Floris van Geel, Ruben Teijeiro in Švejk (45 minutes)

Drupal 8 is ready and it’s awesome! A lot companies have started to use it for small projects and customers love it. Problems arise when specific contributed modules are needed to fulfill special requirements. Questions like “When will this module be ready?” or “Are you planning to port this module to Drupal 8?” are appear constantly in Drupal.org issue queues and on social media. Even with great initiatives like module accelerator programs (https://www.acquia.com/blog/acquia-blog/accelerating-drupal-8-adoption/2...) there is still a lot work to do so the community needs your help. In this session we will tell you a real story about how, from one need of porting a module to Drupal 8, a great relationship has born and how this collaboration have benefited not only both parts but the whole Drupal community. The session is intended to show a real scenario of all the examples and ideas proposed during the Business Day so if you plan to attend the CxO you shouldn’t miss it! Also if you are enthusiastic about our Drupal community, regardless of the role you play in it or your company, this session will be a big asset to community collaboration. It provides a non technical answer the question: How do we get stuff done?

0
XSS PHP CSP ETC OMG WTF BBQ
Talk by Michal Špaček in Cimrman (45 minutes)

The name Cross-Site Scripting (XSS) was coined in January 2000 by a small group of Microsoft security engineers. Today, almost 17 years later, it's still widely used to attack web apps, users, and browsers. Let's go beyond alert(1) and let's see what else we can do to stop the attack. You'll fall in love with Content Security Policy (CSP) after seeing this talk, guaranteed*. (* Terms and Conditions may apply)