Over 2000 people attended DrupalCon Europe 2015 last September at the Barcelona International Convention Center. Five days sharing about Drupal and its new version coming soon with developers, contributors, site builders, themers, project managers, well all the Drupal community ! Let's talk about this big event !
Photo group of the attendees (Photo: (link: https://www.flickr.com/photos/drupalassoc/ text: Drupal Association))
We were 11 Liipers gathered to learn more about Drupal 8 and all its related topics. Three of us held sessions: if you want to learn more about testing, serialization with Symfony or self-managing organizations, check out the videos online !
The sessions started with an awesome prenote given by Jeff McGuire a.k.a. “Jam” and Robert Douglass, both respectively dressed up with fancy traditional Spanish clothes and cow-suit. This prenote was a really good way to start the sessions with learning a bit of Catalan culture, traditions, architecture and its similarities with the Drupal community. We also learned the most useful sentence in Catalan of the week “Si us plau pots revisar el meu pegat?” which could be translated by “Please review my patch.”. Even if you have to wake up early, it's worth it !
Then, the Driesnote started. Dries chose to face uncomfortable questions like “Is Drupal losing momentum?” or “Why is Drupal 8 not released?”.
Based on the lessons learned during the long development cycle of Drupal 8, he is proposing that the development process changes with time-based releases. Whenever a feature is shippable, it will be merged to finally get a shippable main branch. He announced that the first release candidate should be ready on the 7th of October 2015 and we now know that it is ready !
Then he tackled the market position of Drupal compared to other CMS such as WordPress. In reality, Drupal is the dominant platform for large and complex websites due to its scalability and flexibility. But Drupal has to improve user experience for non coders to get realized its full potential.
Finally, he talked about progressive decoupling that can achieve both traditional CMS and client-side apps advantages. Drupal 8 will offer the option of progressive decoupling through page-building tools and decoupled by feeding Drupal data to client-side apps.
The three-day sessions covered various topics such as business and strategy, development, core conversations, devops, content strategy, site building, front-end, project management etc. and about ten sessions were held at the same time. It was sometimes hard to pick one among all of these interesting subjects ! And the day always started with keynotes about web psychology, mental health and community contribution. DrupalCon is not only for developers but relies on all the fields related to Drupal projects. I made a selection of talks for you… Don't hesitate to watch the videos of the sessions to learn more about each subject !
Drupal 8 multilingual site building hacks
Gábor Hojtsy and Vijayachandran Mani demonstrated how the translation system works now in Drupal 8. They took all the contrib modules that handled translation from Drupal 7 such as entity translation, i18n, title, localization update etc. and included them into core.
English is now available for interface translation as an option and blocks are translatable so we can have different menu blocks depending on language. We also learned that every listing from the administration interface is built with the views module and can be overridden.
Drupal 8 theming
The class soup and div soup are features in Drupal. This is one of the statements Drupal 8 theming system is going to kill (and all the theme functions with it) by introducing Twig, a modern template language used in Symfony framework.
Morten Birch Heide-Jørgensen, maintainer of the “ classy” theme, showed how we have complete control over the markup with several demonstrations on how to edit templates. For instance, there are now template files for menus and pagers ! We also can extend templates and override individual blocks easily avoiding duplicating markup. On the topic of theming debugging, there is a cool feature where the names of the templates used for the page are mentioned as HTML comments.
Making Drupal fly
Fabian Franz and Wim Leers told us a little bit more about the caching system built in Drupal 8. It is all about tracking dependencies to know how we can invalidate cache and Drupal 8 manages to do this with cache tags (data dependencies), cache contexts (context dependencies) and cache max-age (time dependencies). But the cacheability was still not good enough as a page can contain static parts as also dynamic parts and these dynamic parts slow the page down. The solution that Drupal 8 core provides is placeholders and auto-placeholdering. Each dynamic block can automatically be a placeholder that has an independent lazy builder which is able to render elements in isolation. Auto-placeholdering allows to defer rendering to a later time and it is configurable. You can also define your own placeholder render strategy.
Self management organisations : teal is the new orange
Business and strategy – video
Our two Liipers, Lukas and Tonio presented what are self-managing organizations and how Liip is getting closer to become a teal company. According to Frederic Laloux, author of Reinventing organizations book, there are different organization color-levels from impulsive-red which represents an organization driven by one authority and division of labour, to evolutionary-teal which represents complete self-management without any hierarchy.
Liip is coming closer to teal as we have currently no middle management, partners are willing to let it go and every Liiper can easily take initiatives to empower business and technology. Plus, each team are cross-functional and self-organized: it produces its projects, maintains them, does innovation and is able to hire new people. In fact, each team takes responsibilities for its decisions. But there are still some missing points to reach teal… For instance, we still need management for big budget decisions, dealing with conflicts or salary topics. To become teal, we can find our own solutions or using existing ones such as “ holocracy” which is a framework to implement self-management. We don't know yet which solution to choose but teal is definitely going to happen within the next months !
How changing our estimation process took our project endgame from WTF? to FTW!
Project management – video
It is really rare that a client comes to you to build a project with endless budget. So how to deal with a client that requests for proposals but only has a fixed budget?
Ashleigh Thevenet's solution is to integrate two estimate revisions in the project during discovery phase and design phase. It is very important to explain this process to the client and be transparent during all the phases: kickoff meeting, early technical planning (first rough estimation), UX sketches, wireframes and final technical planning (second revised and accurate estimation). And the results are deliverables shared with the client that include links to wireframes, implementation notes and a full feature list with estimates.
If there is over budget, some options are to de-scope items to a later phase, ask for more budget or divide work between your team and the client's one.
Even if some budget has already burnt for doing the whole estimation process, this is time well spent to avoid rabbit holes with technical plannings and valuable deliverables. In fact, the project has already started during the estimation process.
There are still some disadvantages: the client has to understand the whole process and has to buy in. It also can be difficult to schedule meetings as a lot of people within the team are involved but this is still work in progress with a lot to improve.
Defense in Depth: Lessons learned securing 100,000 Drupal sites
Starting with the statement that every online website can be hacked, David Strauss, Chris Teitzel and Luke Probasco showed us how to secure websites today from the hosting to the team. As the typical breach comes from human errors and bigger breaches are often built on smaller ones, you really have to build a security consciousness. You have to think about security when building a module, deploying a website and accessing emails… And be aware of all of the aspects of it: confidentiality, integrity of data and availability.
Then you need to have procedures within the company to limit your exposure. It is useless to have a secure Drupal website and a secure hosting environment while you're emailing your server's passwords. You also have to know if you're vulnerable thanks to security announcements ( Cert-EU, drupal.org/security, Twitter security groups etc.).
Keeping a backup, using version control to know if the code has changed, using secure passwords and two-factor authentications are some of the keys to ensure essential security. Keep in mind that the whole stack has to be secured: the hosting, the operating system, the web server, the database, the Drupal sources and the team.
Building semantic content models in Drupal 8
First of all, schema.org standard was adopted by Drupal in 2012 and it provides schemas for structured data on the internet. Its vocabulary can be used with different formats including RDFa that simply adds HTML attributes to describe content and these are really useful for search engines such as Google to understand and reuse these values.
Currently, there are existing contrib modules in Drupal 8 (and 7) dealing with semantic content strategy. RDF UI enables to map each field with an RDF property using the regular field UI. RDF UI Builder go further by generating “ready-to-use” content types with existing fields built from the schema.org models. In the future, we could imagine content models bundled as shareable features and also have a UI with a content modelling tool. Plus, we could imagine connect the content with third-party APIs: for instance, we could use echonest to get a list of musical genres that is constantly updated instead of creating taxonomies for that.
There is also a WYSIWYG plugin for TinyIMCE called RDFaCE which enables to create semantic content. In that way, you can annotate words to avoid ambiguity, for instance using “London” for the city in Canada and not the one in the United Kingdom.
Using linked data tool module, you can map a node or a term to a particular ID from external sources of wikidata or freebase. And the idea behind this is to be able later to search related contents (videos, audio etc.) and pull them directly into the content edition page.
But the the whole work about semantic is still in progress and feedbacks are very welcomed.
The third day of conferences finished with the closing session where Holly Ross and Amanda Gonser from the Drupal association announced the next Drupal big events: DrupalCon Asia, DrupalCon New Orleans and DrupalCon Dublin ! The Indian community members warmly promoted their event as they prepared a traditional and colorful dancing for it.
On the last day, I attended the first-time sprinter workshop where you can learn about all the tools needed to have a computer ready-to-sprint. For more information, you can go to: Drupal.org/tools and also check out the page about mentoring: Drupal.org/core-office-hours.
It is important to say that everybody can be part of sprints as all skills are needed and of course mentors do a great job to push people in the right direction. During this DrupalCon, 70 mentors were there to help and there were about 200 sprinters working on the Drupal 8 issues.
There are also many social events organized at night where you can exchange with the community around a beer or some tapas like the Welcome party or the Women in Drupal meetup. Even if there are few, I could met some women in the community including site builders, themers, back-end developers and project managers and it was a pleasure to exchange with them about Drupal !
There is actually a really good spirit all around the Drupal community and we could feel it during the whole DrupalCon event.