As has been the pattern of many recent DrupalCons and Camps, DrupalCon Amsterdam 2014 was all about Drupal 8 and the changes that it’s bringing to the platform and community.
This has coincided with an increase in attendance at Drupal events (2300 in Amsterdam) and an increasing professionalism to DrupalCons. Drupal 8 has pulled us (sometimes forcibly) from out of our comfort zone and into the wider PHP and developer community. This has resulted in more talks covering a variety of non-Drupal topics, which, in my opinion, is a great thing.
The big news of the conference came on day 2, with Drupal 8 finally making it into beta. You can now effectively build basic sites in Drupal 8. In fact, a few brave souls already have, and I intend to do so too with my next site.
The regular ‘Driesnote’ was a thought provoking academic discussion on a current hot topic in the Open Source world, sustainability of projects and funding models. He started by stating that there are actually few good Open Source examples we could be following. In Dries’ opinion, the prevalent model of one company funding development is not a good one. Instead he suggested we look to other models, especially the concept of how Open Source software could be treated as a public good, or to coin a British term, ‘The Commons’. He used the example of public roads to show how community desire and amateur implementation can grow. Firstly via business investment (and sometimes privatization) and often resulting in Government control and management. To summarize:
Invention -> Product -> Utility
As a project grows, its reach widens, but so does its complexity and cost of maintenance and management. He then discussed the reasons that people get involved with Open Source projects in the first place, what they ‘get out of it’ and why.
Dries then aired some of his ideas for encouraging Drupal users to become contributors and for contributors to contribute more. A lot of his ideas involved methods of rewarding contributors in better ways. View his keynote here for more detail, it is worthwhile watching for anyone involved with Open Source, not just Drupal fans. In his words:
“An imperfect solution beats no solution”
In typical style, Cory delivered the other side of the open source world, the political and activist attitudes and it complemented the Dries Keynote well. I would imagine that many non-English speakers struggled to keep up with Cory’s speed of speaking. I was hoping he would inject more Drupal specific content, but his general point was that making software isn’t enough. Alongside this we need to be pushing for change, lobbying and fighting against issues such as DRM, surveillance and net neutrality.
Replacing the day 3 keynote were lightning talks, which, being in the main auditorium, must have been quite nerve racking for the participants. Lightning talks always throw up a myriad of ideas and this was no exception – you can view them here. They included:
* Drupal & Bitcoin
* The Drupal 8 Console
* Druphpet (A Drupal implementation of Puphpet)
* Creating a Drupal 8 site
* Healthy attitudes to managing a project
There were many talks and there’s no possibility of covering them all. What follows is a summary of some of those that I feel may appeal to you or that contained particularly interesting information or resources.
Models & Service Layers; Hemoglobin & Hobgoblins
As Drupal 8 pushes Drupal developers into fully object orientated programming, we open ourselves to a new world of design patterns and possibilities. This talk covered slimming down models in MVC code and instead utilizing services of common code that can be shared between models. This starts to create ‘JQuery-like events’ that ‘listen’ and are triggered by occurrences in code such as sending an email. There are many pros and cons to this approach and for more in-depth coverage, watch the video of the session here.
Object Oriented programming for Drupal developers
For any Drupal developer starting down the path of object-oriented PHP, this was an invaluable introductory session. It was devoid of jargon and complex phrases and Lorna Jane explained concepts clearly and concisely, probably why she is also a popular PHP book author. She started by setting everyone at ease, describing many OOP concepts as:
“Perfectly simple concepts dressed up”
Much of this talk will be familiar to SitePoint readers, but some points made that are worthy of mention were: treating exceptions as an opportunity, not an error, the power of traits and a clear explanation of Interfaces.
If you’re a beginner PHP programmer or are in need of a refresher, this session is required viewing.
Open Source design
We often forget that the interfaces, icons, imagery and layouts used in open source software were designed by someone. This was a session on getting involved and working as an open source designer from Jan, a designer with OwnCloud. Jan stated that to attract designers to your project you will need some good initial designs in the first place. Aim to create a consistent design credibility and culture and provide a starting point for those who want to get involved. He cited the Gnome design wiki as a great example. Your project should not be afraid of presenting rough mockups of what you are aiming for, even if you don’t have any designers on board yet. This was a presentation packed full of tips and resources, I suggest you watch the presentation here or take a look at the Open Source Designers Github account.
One of the frequent issues with extensible projects such as Drupal is duplication of functionality, as developers often like to outdo each other. Utilizing external APIs is a classic example of this, with many options that present the ‘best’ way to integrate with a service, and yet there will be other API integrations that are unavailable. Enter API hub a sandbox Drupal module that aims to create a method for defining your own API endpoints and allows you to pull them into the Drupal ecosystem, leveraging other modules such as views and rules. It’s a great idea that I hope makes a full release soon.
Building a tasty Backend
We often forget that admin and editorial users are important users of our web apps, too. Their experience needs to be as clear and user friendly as possible so they can create and curate the site for their users. This session was a tour through tips and resources to help make your content admin and edit screens as usable as possible to a non-developer audience. This included:
- Field Groups
- Hiding unnecessary fields with sensible defaults
- Views Bulk Operations
- Contextual Administration for creating custom admin pages
- Admin Menu Source for creating menus specific to user roles
The best approach is to strip everything to what is only necessary and slowly add back what users need. Jeni has created a ‘Tasty Backend’ install profile that sets up the above – find out more about that and view the session here.
Elastic Search in Drupal
For large scale search functions, Elastic Search is the new cool kid on the block. Drupal is used in Enterprise web apps that often require complex and reliable search infrastructures, so they are a perfect pairing. Unsurprisingly, “There’s a module for that” and it’s the Elastic Search Connector module. It brings full integration to your Drupal site with sub modules for views, Search API, Views and more. This is a complex topic, so it’s best you follow the expert and view Skek’s presentation here.
EmberJS and Drupal
PHPStorm has fast become the IDE of choice for Drupal developers, thanks to JetBrains fantastic job with Drupal related integrations. This was a fast summary of some of the goodies in PHPStorm such as coding standards, Drush, API reference and much, much more. View the session here.
From sessions to the social activities and beyond, this was a great DrupalCon, the best I’ve attended. It might have been due to the relief that the release of Drupal 8 was in sight. Or maybe because the Drupal community seems to be figuring out how to balance it’s increasing interest from the corporate world with a community project. Whatever the reason, I had a fantastic time and I would like to thank the organizers for all the (mainly voluntary) work they do to get an event like this to happen.
Have you been? What impressed you most?