My first 2 days experience at DrupalCon LA 2015

June 18, 2021

SuperdrupliconDrupalCon entrance

Hi, in this special post I'll talk about of some of the things that have happened here at DrupalCon LA 2015, the most important Drupal event, organized by Drupal Association and sponsored by various big companies like Acquia, FFW (Pro-people + Blink reaction), Pantheon, Black Mesh, Lullabot, Phase 2 and many more. Drupalers from all around the world come to this event to share they knowledge, know potential clients, get in time with all Drupal-related events and the most important I think: the development of Drupal 8, which has a lot of great new features and it's getting closer to its first release candidate! It's only missing 28 critical issues to be fixed to achieve this milestone and this week some of them could be solved. So here is what has been happening at the DrupalCon.

Day 1 - Monday

Community summit

  • Summit got started by presenting main issues at the community and some people were presenting each of them and recruiting members to build a team to solve issues described by the leader, the topics chosen by the leaders were the following:
    • Community police
    • Non profit
    • Education
    • Development and documentation of COD
  • I stayed at the last mentioned table, its about solving issues for the COD project https://www.drupal.org/project/cod: this table got split into 2 teams: a documentation team and development team. COD is a Drupal installation profile to create a conference website, like the DrupalCon website itself
  • It can register events, schedules, sessions, summits, paid sessions, rooms, sponsors timeslots (events that would happen at some lapse of time) and actually every item and functionality you've seen at DrupalCon site

Community sprint

The teams formed at the community summit

The issues that are being taken by the dev team so far are jquery and UX issues with a sort function at a dynamic schedule table to let admin to build an schedule for his event. The other one is a simpler issue to develop a formatter that allows session owner label to be displayed with user's last name rather than its username

After 4 hours of hard work and asking guys on the team every 4 second, I finally finished the issue, Matthew Connerton (mrconnerton), from Aspiring Web will review it later and luckily, merge it into drupal.org! Now let's rock and roll for another issue

The COD project development team

The COD project development team

At the end of the summit, every team talked about its results and the way this summit helped not only the teams but also to drupal itself, mentioning groups, solving common community problems, documentation issues and sent patches ready for review. The community policy group sketched a workflow to handle conflicts at discussions around the community, and it has been uploaded here.

As the summit is over, all left for me is the extended sprints, groups of people that join together to achieve a goal, being in most cases solving issues for the future drupal 8 core.

Day 2 - Tuesday

Keynote: Dries Buytaert

Community sprint

Keynote: Dries Buytaert speaking about the state of Drupal 8

This was the opening made by the founder of Drupal Project. Dries spoke about the history of Drupal and the lessons he learned on the path, these lessons where the following:

  • Everyone lives by selling something: In this point, Dries wanted to show us that if we have an product, service, idea, talent or opportunity that we can offer to another and they can benefit from, then we need to be able to sell. He mentioned how this philosophy made him to develop Drupal in a faster way that it had 4 releases in a year to be able to make Drupal a profitable product.
  • Improving user results results in more users: He makes emphasys on what important is what user receives from a product, this is the way Dries tried to guide the Drupal development, and it still does.
  • If you attract amazing people, prepare to be amazed: At Drupal's path of making it a better CMS, Dries known a lot of awesome people that also created interesting stuff like Tim Bray, co-creator of XML. Drupal's growing up was so rapid that lots of amazing people started to join efforts to give life to the first DrupalCon, at his home city: Antwerp, at Belgium.
  • Recognize trends early and embrace them: Trends help define which needs have to be satisfied, so with that way of thinking, Dries shows how Drupal's platform was able to get some important clients looking for the most common current needs defined by trends.
  • If you want to go far, go together: This way of thinking took Dries to build up a community to make developers work together and build a better software that benefits all of them, he also mentioned some trends on open source communities, mentioning that when there is more people involved in contributing the project, it makes harder for new developers to contribute, and later contributions become less important because there is now a big worldwide team with thousands of people working little pieces of code.
  • Honest disagreement is often a good sign of progress
  • Obstacles don't block the path, they are the path

Sponsors section

Just a nice place where lots of companies and organizations have an spot to talk about what they offer, there are also contests for winning nice stuff, these companies weren't only Drupal companies but also found open source software representatives like MySQL, companies working with open source projects like Sensio Labs (creators of Symfony and Sylex), training companies like Lullabot, etc.

Drupal 8 : The crash course

This workshop shows some of the goodies that Drupal 8 brings for new developers and how not to be scared if coming from Drupal 7. Larry Garfield mentioned which items are taken from Symfony to make Drupal 8 to work and what do you need to learn to ramp up at Drupal 8 development. He explained everything about Drupal 8 using a basic project to throw up a page, a theme, a configuration form, a page form, etc. Stuff is here.

Learning from or launched Drupal 8 Core customer projects

Michael Schmid from AmazeeLabs tries to show us that Drupal 8 at this point is ready to be used on some kind of projects, and they proof it showing sites made by them with Drupal 8:

They have work even using multilingual sites, and it seems to work awesome, they just mentioned some caveats trying to use Entity translation alongside the Revision module, they still can't be used together. However, translation out of core worked without problems for them.

Some stuff he suggest us is to be creative, since there are lots of important contrib modules that still needs to be ported, as they aren't, the way Drupal 8 is built allows it to be more extendable and can achieve at least in a basic form some functionalities of those missing modules, for example: Nodequeue module is not ready for Drupal 8, however this functionality can be achieved using entity references and order and filter by a field's weight.

Drupal 7 site builders pick it up in 2 hours: if already know about d7, there are only some stuff that actually changes, but those little changes allows drupal to be even more customizable

Site building

  • Fields now can be put whenever you want, because everything is an entity, therefore everything is fieldable
  • Blocks instances and custom block library are confusing if coming from Drupal 7
  • Features doesn't exist anymore, all modules carries with configuration files because of Symfony way of describing settings for bundles, and there is still no graphical UI to handle this for site builders.
  • Upgrading modules since beta9 works with a much better handling with update scripts and code thanks to this project

SEO

  • This is a really important caveat, since there is no functionality at all made for SEO for Drupal 8, since none of the modules made to achieve SEO were ported, in this case if the site to be developed has to work strongly with SEO, it's not recommended to work it with Drupal 8 yet.

Development

  • A simple text editor for Drupal 8 doesn't work well for programming anymore, a PHP IDE must be used, using Devel module isn't enough to debug either, a debugging tool must be used as well, like xdebug.
  • Everything now is OOP, as it takes some way of working from Symfony.
  • Entity API feels much more complete than in Drupal 7
  • Services are not attached to a module anymore, as they are OOP, they can be overridden or modified
  • Drupal 8 is more like a dialect of PHP using components of Symfony, that means that it's not needed for new talent to already know Drupal anymore, knowing about OOP with PHP is enough to ramp up and develop Drupal 8.
  • As taken stuff from Symfony, Drupal doesn't need more hooks anymore, there are still some hooks that needs to be ported.
  • All theming layer is being progressively replaced by twig, this gives more empowerment to front end developers and allows front end developers to work separately from back end developers.
  • Some important issues to be fixed for Drupal 8
  • Documentation gets deprecated too often because core get changes all time.
  • Examples module has a Drupal 8 version, so it can be used to get all necessary knowledge for it, and contributors often update this module

Michael says us to don't be afraid to use Drupal 8, it's ready to be used, however it's better to use if site is new or if project is being migrated from another project, if you are already working on a Drupal 7 site and would like to port it to Drupal 8, or if you need strongly the use of a heavy contrib module like Panels or Organic groups, it's better to wait until the release.

One important note: security team doesn't carry up any issue for Drupal 8, so it's recommended that you provide infrastructure security before you start working with Drupal 8, so if site gets hacked, it would just affect the site itself.

Sylex: the mini-symfony

Its a microframework based on symfony's very basic components. This was a very technical workshop to show how in 1 hour develop a Web app that serves a basic webpage with users, caching, error handling, and HAL responses (an extended JSON format). The speaker was Larry Garfield and was hosted by Sensio Labs.

The entire tutorial used to explain Sylex is here.

Drupal 8 Theme system, moving to Twig

Scott Reeves and Joel Pittet not only explains how to work on this, but also shows what's the status on theming, actually on the current beta of Drupal 8 (beta 10) there are only 12 theme functions remaining, they are meant to disappear, the phptemplate engine is still there but is being progressively unused, maybe on future Drupal versions it would disappear completely.

Some of the differences shown between Drupal 7 and Drupal 8 theming

Some of the differences shown between Drupal 7 and Drupal 8 theming

Lots of stuff changed its way to work at theming, Theme suggestions still work, but those are there only to let twig to act depending on what s defined on a render array, which are still be used but they doesn't need to be wrapped around a theme() function. Now render arrays directly use #theme as an item to recognize the twig template to be used, hook_theme is used to define where to build render array and generate it with twig.