Reflections Drupal Munich, Part II
As this is the first time I went to a Drupalcon, I was amazed about the entire convention. The people of the community, the sessions, the location, the food, the after sessions evening/night life, … it all matched perfectly together. An amazingly well organised event, that's what it was.
Wunderkraut Day
By a lake in the Englischer Garten... 4 great European Drupal companies joined forces.
And I must say, wow! Seeing the 130 Wunderkraut people together, that does something to you. Especially considering the knowledge sharing, getting to know each other, open discussions. In the baking heat, we joined our new 130+ colleagues and were then split up in focus groups like Deployment, Sales and Front-End development. We discussed modules, processes, infrastructure, support and every other aspect of Drupal. It's heart warming how much talent and expertise the new Wunderkraut combines, which is evidently the whole point of the merger.
The merger was mentioned in the Program Guide, so everybody who registered on Monday knew what was going down. Twitter feeds lit up with the news, and once it's on Twitter, there's no turning back. Gimme that T-shirt. Let's turn Kraut.
Drupal development insights
During the open discussion I joined a group of developers. We discussed if we had install profiles and how we passed on our sites from developer to developer to frontender... For instance, the people of former NodeOne almost always use Nodestream (which uses Features, demo data, ...), where-as we use drush and Ctex, sometimes we use features. Mearra also uses features from the beginning, because it's good to enable and disable chunks of content. But features can get quite heavy when you have a big website.
Context, Panels, Display Suite and Panelizer
Then we went into a discussion about Context vs Panels (and Page Manager). We all agreed that we like using Panels more. We compared quite a few modules with each other. And things got really interesting when we started comparing Display Suite and Panelizer. Certain members don't use DS because it separates the logic of field structure and the display entirely, which makes it quite difficult to use in certain cases. Seeing as Swentel was part of our discussion group, he immediately responded and he said he'd get it fixed. Which made the 'getting together' even more great. Some threw problems on the table while others jumped up and gave their piece of mind about it. I think everybody learned from the whole experience./>
Caching
The caching preferences were quite clear. We all use Varnish to store cache. We load in the users and use cache actions. And the user specific caching per role is done before bootstraps by Varnish. For smaller sites entity caching is quite good, but it is too heavy for bigger websites. Boost together with Domain Access was frowned upon though.
Development environment
Development environments were a 'hard to get it right' issue for many. Getting all parties (developers and frontenders and ...) to have the same environment is a big issue. There were those who use VM (sharing + mounting tools), Vagerant (with puppet/chef) which controls a Virtual box, Debian virtual box together with whim, steel environment, the same laptop environment with shared databases with update scripts, ... A whole bunch of tools and use cases came to light here, yet no real 'winner' was chosen, everything has it's ups and downs.
Testing
Testing can also be a big scare/hard thing to do. The best thing to do probably is test driven development, yet it is not always done like it should. What really should be done is testing the code by peers before the site is set up for the client or before DOM.
You can reinstall a basic install profile using Simple Test, but bigger install profiles should be tested with SimpleTest Clone. A big plus to use is Features, it already tests the code while it is being made/adjusted. Unit testing is also a way to go. And there was a suggestion to use the browser called Zombie, it is good for testing javascript (in stead of selenium).
Multilingual
Multilingual websites can best use Entity translation (has views integration) and it handles fields and terms with the hook node/edit. While using taxonomy it is advised to use the module Title for translating the label and the description, entity translation can take care of the custom fields implemented here.
And now, back to the main event, Drupalcon Munich!
Security and Return on Investment
There is so much information that goes 'round during a Drupalcon. The first thing I was intrigued by was an item about Security. Drupal security is something that some analysts, PO's, themers and sometimes even developers forget about. Because everything is so straight forward in Drupal core, most things are considered as 'very safe' already. It is timeconsuming (at first) to implement this in the existing processes (if you haven't already) but considering the ROI, it is totally worth it.
Just think about the Linkedin password breach and nobody will argue with you about 'how time-consuming and yet worth it' it actually is. For instance, did you know that checkboxes don't have a security check but selectboxes do? So put this into consideration dear dev friends.
Drupal 8
The future is nay.. within a year or so. But today is the day that matters!
The thing about these Open Source gatherings is that they inspire you to start coding, they dare normal people to do big things and get them started on contributing and sharing with the masses.
Dries' keynote was in fact introduced by Captain Drupal and the announcement of the Wunderkraut merger, which was the biggest news at DrupalCon this year. Right next to Drupal 8 of course as laid out by Dries. There were lots of ooohs and aaahs, accompanied by vigorous applause.
For instance, Reflections DrupalCon Munich, Part I, talked about Drupal 8 and Symfony, which is a huge step forward. Drupal also has other items that makes the future even brighter, for example it's going to be integrating Twig, a template engine for PHP. Which makes it easier for themers to focus on the job at hand, instead of having to also focus on several php, security issues and whatnot.
Inspiring was the fact that quite a few modules are looking into the client satisfaction as well as the developer/site builder side of things. If modules take the 'easy to use for editors' into consideration, the step towards using Drupal is even smaller. Which makes it more appealing to all kinds of companies and thus creating a larger pool of contributors in the long run. That's something that the session about Commerce was all about, easy to use and out of the box functionalities.
An other highly appreciated item is the Multilingual features in D8. Even though they're still in search for contributors, the entire plan behind it is very promising. All entities will have a language setting, changing the default language of the installation shouldn't be a problem, uploaded documents and the search option will be subjected to language settings.
Also, a big cheer goes out to the block configuration settings. One block can be copied and changed to have different properties. Thus being able to have a sidebar block, containing 'Bars' and 'Foos', and having the same block in the footer, containing 'Bars', 'Pirates' and 'Ninjas'.
Seeing that Drupal is quite a stable and much used CMS, it now has time to focus on growth. It can focus on getting better, having more reusable features and overall known standards. That is what makes Open Source so great. Seeing a good working item, tearing it apart and making it into a new and better whole.
One of the best DrupalCons
The Drupal Association did an amazing job organising Drupalcon. It's incredible how fluid things went and how easy it was to get a cup of coffee when you desperately needed it. They deserve our support, so if you're not a member, become one today: https://association.drupal.org/membership
All in all, the program was solid, the venue was exquisite and the atmosphere was awesome! Until next year!