Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough

Hello World from DrupalCamp Essen

Parent Feed: 

What makes a memorable Drupalcamp

A group of us Cocomore Drupal developers and themers have taken a weekend trip to attend DrupalCamp Essen, 2012. The venue is the Unperfekthaus, an interesting, artsy building which feels like a hip café spread across several stories of a building — but is also part hotel, part restaurant, part art studio/gallery, and part club. Some rooms are furnished with sofas and there is a top-floor room illuminated by natural sunlight, at least during the daytime, with a translucent glass ceiling, like a greenhouse, covering most of the room. Mirrored disco balls and lighting offer proof that hosting a couple hundred geeks is not the most glamorous use the room gets. This is our primary session room. The other “second track” room is a “performance hall” with a stage area and no windows; the presentation slides are easier to see, but people are less likely to hang out and socialize. And there are other rooms where community discussions and BoFs are being held. All in all, it’s a comfortable, cosy environment — a good choice for an event with a bit fewer than 200 people — and lends a unique atmosphere to the event with plenty of space for more intimate conversations rather than simply presentations. morning-greeting-drupalcamp-essen-2012_img7063.jpg

With the Drupal community growing as large as it is, the irony of the success of this event, in part due to the pleasant venue, is that had the event been promoted much at all, especially to regions outside Germany, there would have been too many attendees to support such a venue. Even the larger DrupalCamps are still able to use less “corporate” locations, often at universities or similar sites, and can be more flexible about scheduling and run with a bit less rigorous planning — all of which is not to say that a lot of work didn’t go into the organization of this event; it clearly did and is much appreciated by the whole local community, many of whom are also currently actively involved in all the lengthy steps of organizing the fast-approaching European DrupalCon 2012, coming to Munich in less than 6 months now, with attendance likely to be at least an order of magnitude greater than this DrupalCamp’s, many more “tracks”, and a duration more than double that of this weekend-long DrupalCamp.

Using cTools plugins to enrich a ‘Hello World’ module

The first session I attended (in German) was presented by Ricardo Kelling, of Comm-Press, about developing modules which leverage the power of cTools. Of course I was aware of cTools since Views and Panels, both of the popular modules written by the prolific Earl Miles (aka merlinofchaos on Drupal.org), have now been abstracted to move common functions into it, so cTools is now a requirement for their use. And of course I knew cTools offered a developer API to allow others to take advantage of these useful functions. But I’m still a relative n00b when it comes to the coding behind Drupal, so it was good to just get an overview of what is available in cTools (a lot!). Of course a 45-minute session is not enough to cover more than the most basic of concepts (Ricardo demonstrated using cTools plugins to create a simple “Hello world” block which had multiple language versions, each of which could be independently selected and edited), but it’s left me inspired to take some time to explore the API in greater depth.

Flexible session scheduling

Drupal Camps are much less formal than a DrupalCon, so if someone falls ill and a session isn't being held, often things will get completely changed around. Karsten Frohwein (Kars-T on Drupal.org), CEO and senior developer at Comm-Press, was scheduled to present his session, about Drupal 7 Fields and Entities, in English, but not only was the original time rescheduled due to rearrangements from one session being canceled, but the language also magically got changed to German (when I didn’t protest… it did make most sense for the rest of the audience). I stayed for long enough to take a few photos and get some idea of his topic, which I had at least a basic knowledge of already) but as the pace picked up and a rapid discussion, without visual aids, was underway, I realized my German comprehension wasn’t quite up to the task, so decided to look in on another, previously-unscheduled session taking place in the main room. I didn’t know anything about it before going, but at least that one was in English.

mojzis_about_drupal_commerce_challenges_in_case_study-drupalcamp-essen-2012-img7077.jpgThis nearly-impromptu session was related to Drupal Commerce and involved a case study by Mojzis Stupka one of the few non-German in attendance, who joined us from the Czech Republic. He related his experience developing a website designed for a photography service which had images of children which their parents could order. He discussed various obstacles he had had to overcome: dealing with watermarking sample images (public/free), with other un-watermarked versions of the same image which were “private” (i.e. they had to be purchased), and then the further hurdle, to ensure that only parents could access the images of their own children (meaning the watermarked “public” versions had to actually be private and could only be viewed after proof was provided that they really were the parents of the child), then tracking which images had already been purchased so that parents would not be made to pay for the same images twice. It was an interesting case study which gave good insight into the incremental development of custom functionality to serve a unique use case and the flexibility one has to demonstrate when the requirements change several times during the course of development (examples of difficulties faced in this project included: only after parents protested their children’s images being visible to the general public did the restrictions come into play on the “public” copies of the images and the photographer decided he wanted a different watermark on the “public” copies of the images; and so the project evolved. These kind of changes are typical of ambitious development projects and is a big reason that many projects run over-budget and past deadline… grace when dealing with such situations is a necessary part of the human processes of software development, but it also illustrates the importance of ensuring that all stakeholders are involved, or at least their needs anticipated, in the process of eliciting requirements for a project.)

A peek at XHProf in action

karsten_frohwein-xhprof_demo-drupalcamp-essen-2012_img7089.jpgKarsten Frohwein provided another session about using XHProf and Devel to profile a Drupal installation. The presentation is related to a German-language blog article about installing and configuring xhprof which he recently wrote, but he took a deeper look under the hood of XHProf to show what’s possible, how it works, and what kind of problems it can resolve. I found it particularly interesting to see the map of all processes involved in a node request, with highlighted areas of greatest resource consumption. He stressed the importance of experimenting with different caching systems and finding ways to resolve sub-optimal performance.

Original Post: 

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web