From April 13 to 19, 2015, the Drupal Developer Days took place in Montpellier. It was a fantastic and very enriching experience, both as a co-organizer and as a participant.
Sprints
I helped release the first D8 version of the Search API Attachments module, as well as clean up the D7 issue queue.
It was also interesting to hear the structure of the future facet API D8 being discussed right next to us.
Sessions
A brief summary of the sessions I attended, each with the key takeaway from that session.
The new Display Suite API's
This session was a 2-hour workshop. We got to write Display Suite plugins to take full control over page rendering.
Having never written one for Drupal 7, I can't compare except to say that it is extremely easy in Drupal 8.
Drupal development practices with drush, Vagrant, Ansible, & Docker
Presentation of various source management and deployment solutions; for example, whether to deploy with git, whether to version contributed modules, etc. The best approach: don't version community code, and do a build with a make file before deployment.
Then a presentation and comparison of current virtualization solutions, Vagrant and Docker, as well as other programs that make them easier to use.
An interesting presentation, consistent with what we do at Smile regarding deployment and source management. For virtualization, we use Linux containers (lxc).
Accessibility is not for screenreaders
We don't think about accessibility often enough, and above all we forget that it's not only about people with visual impairments. It is recommended to build a matrix with user input interfaces on one side (keyboard, mouse, joystick, etc.) and machine output methods on the other (screen, speakers), and to assess ease of access for each combination.
Furthermore, accessibility is not only about visitors, there are also accessibility standards for content contribution and site administration.
Drupal 8 Theming Deep Dive
A presentation of the new organization and purpose of files within a theme, the new Twig template engine, and its associated functions.
Be a lazy front-end developer with kick-ass page performance
BANANA! (Having a speaker in a banana costume puts you in a good mood :) )
Presentation of gulp as a task management and automation tool for CSS/JS optimization. Also a presentation of the gulpifier module to easily generate gulp configuration files.
Meet Commerce 2.x
Presentation of the Drupal Commerce rewrite for Drupal 8, with a large amount of logic extracted into reusable PHP libraries regardless of the PHP project (showing that Drupal 8's "getting off the island" philosophy works both ways).
Address management, taxes, prices, and price discounts are all externalized for better reusability.
Cracking Drupal
The security talk, a review of best practices and mistakes to avoid that can still be encountered.
Writing plug-ins with #d8rules
Fundamentally, Rules hasn't changed, events fire, and based on conditions, actions execute. However, the internal mechanics have been rebuilt to follow Drupal 8's architecture.
A first commit for the Rules UI was merged live during the session. The interface is still in its early stages, but mockups of what it should eventually look like suggest it will be far more intuitive for beginners and clients than the Drupal 7 version.
Composer in Drupal world
Presentation of Composer and the possibility of replacing drush make files with it.
Caching in Drupal 8
Caching is enabled by default at installation and has been moved into its own dedicated module. It cannot be disabled via the interface.
Presentation of the new cache-tag system for fine-grained cache generation and invalidation.
Configuration Management in Drupal 8
THE key takeaway: CMI (Configuration Management Initiative) does not and will not replace Features. Its purpose is different from Features. Just as Features + Strongarm are used in Drupal 7 for deployment, that role will be filled in Drupal 8 by CMI and Features will exist solely for packaging functionality that can be reused across sites.
Developing with components for cross-version Drupal code
Just like Drupal Commerce having externalized as much non-Drupal-specific logic as possible, this presentation demonstrates the benefits of that kind of externalization, how to do it, and the percentage of code that can be reused.
Keynotes
Happiness is coming
A wonderful way to kick off the day, the talk opened with a request for us to stand up, smile at our neighbour, and look them straight in the eyes.
Stay positive and help those around you, it will lift your spirits, preserve your health, bring happiness, and many other good things.
Are human institutions obsoletes?
A thought-provoking talk about the future. Both pessimistic and optimistic at once. It reminds us that anything is possible, and that it is up to us to shape the world closer to what we want it to be.
Conclusion and acknowledgements
A first experience with the international Drupal community, it was truly wonderful to have helped organize such an event and to be surrounded by so many passionate people.
Thanks to all the other organizers without whom this event would not have been possible, it was memorable :).
Thanks to the volunteers from the Terra Ludis association for cooking excellent meals throughout the week.
Thanks to the participants and volunteers for giving it their all.
Thanks to the event sponsors for their support, including individual sponsors.
And thanks to Smile (royal sponsor) for allowing me to be present for the entire week.