I’m the newest member of Coldfront Labs Inc. having recently joined the team at the beginning of October. I am by no means a stranger, however, as I was in fact part of the original group that started Coldfront Labs in 2007. Since then, life took me in different directions, but now I am back and I couldn’t be happier.
For the past few weeks, I’ve been spending my time getting familiar with Drupal as well as a plethora of other technologies we use to develop our solutions. I’ve also been learning about some of the cool projects we are working on. One of the first things I had a chance to play with is RedHen CRM for Drupal. In short, RedHen CRM is a set of APIs and Dupal modules that enable CRM functionality like contact engagement tracking, contact and organization membership management, event registration integration, and on top of that, it can even serve as a data source for enterprise CRM tools like Salesforce. You can get more info on RedHenCRM here or visit the RedHen CRM Drupal.org site here.
Yesterday I had the chance to attend my very first Drupal Camp in Montréal. I didn’t quite know what to expect, but it was clear once I arrived that spirits were high despite the dull grey skies and unrelenting autumn rain. Things got off to a bit of a late start (can we have some better signage and direction to the event next year, guys!?) but eventually, things got rolling. There were many sessions to choose from - four going on at any given time - all aimed at exposing various aspects of Drupal.
The first session I attended was called “Le diable est dans les détails: les modules qui font toute la différence” (the devil is in the details: the modules that make all the difference). This session was presented as a scenario where a project manager from a company who hired a development team to build their website using Drupal pointed out a series of issues, concerns and annoyances in the site. The development team would address these by proposing various modules, and explained what these modules do and how they can help anyone building sites for clients avoid these pitfalls before they even come up. The presenters provided a relatively high-level view of the modules, perhaps with less detail than I would have hoped, but the way it was presented in the scenario kept it quite relevant and contextual. Besides, 45 minute sessions don’t give the presenters a lot of time!
The second session titled “Refonte de STM.info en Drupal: défis, avantages et contributions” (remaking STM.info in Drupal: challenges, advantages and contributions” was quite fascinating. The team that remade Montréal’s public transit STM.info website - in Drupal of course - talked about how they took legacy systems that provide transit service data and built a responsive, adaptive and modern website where public transit users can get all the info they need. A core philosophy they described was how they saw their overall goal to be building a service for users, rather than simply building a website. They discussed how they set-up their teams, their development process, and how they interacted with their client, STM. This was a really good presentation that dealt with the logistics around managing a large, high-profile project. Very cool.
The last session I attended before lunch was my least favourite of the day. Called “How to Incrementally Integrate QA in an Agile Development Process”, I was expecting a bit more of a deep dive into how agile processes are adopted and implemented within a team, and specific ways in which QA is applied at various stages of the process. What we got was more of a pie-in-the-sky look at product quality, only going into a tiny bit of detail into how agile teams are populated with various roles, and they seemed to talk more about extreme programming. The presentation ended up feeling a bit like a pitch to work at their company (lunchtime yoga, anyone?) and left me feeling a bit uneasy. Oh well, time for some lunch!
Second post-lunch session: “Drupal 8: Info Hook to Plugin” looked at how Drupal 8 turned hook_info into flexible plugins, and dove into the code that module writers will use to leverage this new functionality. Very in depth and interesting, albeit a bit dry. Some neat things are coming in Drupal 8. Did I hear someone say that the same block can be included in multiple areas now? Hooray for objects.
Next up was Coldfront Labs’s very own David Pascoe-Deslauriers with a session on CTools Panels Contexts. Just so you know, I only know a tiny bit about CTools, and pretty much nothing about Panels and Contexts. Dave started his presentation with flurry of words that had me (and maybe a few other unsuspecting attendees) confused. He quickly started demystifying these concepts, however, and by the midpoint of his presentation, I felt confident enough to start using Contexts and Panels in my own sites. Diving in to some code, Dave went on to make the whole process of creating custom Contexts plugins seem totally doable. Zero to custom plugin in 45 minutes. Great job Dave!
Finally, the last session I attended was called “Druplicon’s Fables: Stories of Mistakes, Morals, and Doing it Right.” This light hearted and entertaining session used a series of fables, stories and anecdotes as a lens through which we can look at the way we deal with development, project management, client engagements and product quality. Highly entertaining, self-reflective and charismatic, the presenter made everyone in the room more aware of the things we deal with everyday, and how we can sometimes get so caught up in our roles that we can lose sight of the big picture. All in all, this was a very poignant presentation and capped-off the day nicely.
That concluded my first Drupal Camp. I have to say, I came home beaming, and I truly had a great time. I had been to a few other conferences and conventions before, but none like this. The impression I was left with was that everyone who attended was there because of their passion for Drupal and its community. The whole thing had a very organic feeling. I heard some people say that they have drank the kool-aid, but I don’t know if that’s an appropriate way to describe what I saw yesterday. I got the impression that kool-aid had nothing to do with it, and that it is simply a case of unbounded passion and pride that drives people from the Drupal community. When you believe in something passionately and harbour an innate hope for the future, and when these things come organically from the bottom-up rather than mechanically from the top-down, then kool-aid simply falls outside the equation.