Visiting 2013 is a conference in the center of Copenhagen.

My blog from 2012.

Sessions are:

Friday 8. November:

12:30 Välkomst bavl / Welcome to DrupalHagen!
12:45 Introduction to new technologies in Drupal 8
13:45 Editing Experience
15:00 Lightning talks

– Extending Google Drive to Drupal
– Destructible Developer Environments
– More to come.
16:00 Plugins into D8
17:00 – 17.45 Content strategy and platform architecture

Saturday 9. November:

11:00 Migrating to Drupal 7
12:00 Frokost
13:00 Front-end Automated Testing
14:00 Phone is ringing, oh my god! Give your clients support they need…
15:00  The Amazing Jeffrey A. McGuire a.k.a. jam
16:00 TWIG it

F12:45 Introduction to new technologies in Drupal 8

Camilla Krag Jensen @naxoc

External lib = not druapl
– in /vendor
– js: jQuery
– js: farbtastic – a wheel color picker
– PHP: Archive
– js: jQuery UI
– js: other
– PHP: Symfony – helper functions
– PHP: Composer – js dependancy/package manager
– PHP: PHPUnit – testing OOP classes, mocking – fast
– Assetic – a way to find and preprocess assets and libs, including Twig
– Guzzle – a wrapper for cURL – does http requests
– Doctrine commen – like symfony – helpers – passing code in comments
– Js: CKEditor
– Twig
– Js: Backbone – MVC
– Js: Underscore – utilities
– Js: Modernizr – detect browser capabilies

F13:45 Editing Experience

Rasmus Typo3 Neos – User experience lead –

“Neos” is new code – old code is trashed
In bootom is “flow”

CMS is a hub that interfaces a lot.

Karen McGrane: Wysiwtf

We need preview
– but not possible in multichannel envir (mobile, desktop)

Preview templates: Desktop, Mobile, English, Deutch

F15:00 Lightning talks

Extending Google Drive to Drupal

Antan Stonor anton (at)

A module – a feeds module plugin – “feeds gdrive”
What: A gDrive is imported into Taxonomy and into a content type.
How: Map tax and content with feeds importer

Vagrant – Destructible Developer Environments
Lars Linnet @ Adapt

What: Reproduce/kill envirs – a farm can be made in one go.
Uses images – any type like VirtualBox, VMWare, Amazone deployment etc.
Sample setup:
Based on: computerpeoples work:
Controlled by: puppet – could also be by shift

Base setups: Provisia, Parrot, Quickstart, others
The setups includes images called *.box

Bower, Grunt and Yeoman

Mikkel Høgh @mikl

Bower – dependancy downloader
Create bower.json includes dependancies
> bower install

Grunt – taks automation tool
Sample script does:
compile handlebars file

Several script can be found on the net

Yeoman – scaffolding tool

Example script for generating presentations:

Example script Armadillo for generating websites

More generators on:

Search for e.g. Drupal



Wish meetups

F16:00 Plugins into D8

Mikke Schirén @mikkdroid works@ Wunderkraut

autoloader psr-0
event dispatcher
dependency injection

.info is dead.
Now: .info.yml
/lib/Drupal/wunder_fine/Plugin/Field/FieldFormatter/WunderlinkFormatter.php :

namespace Drupal/wunder_fine/Plugin/Field/FieldFormatter
use Drupal/core/Field/FieldFormatter;
use Drupal/core/Field/FieldItemListInterface;

* Plugin implementation of the ‘module_plain’ formatter.
* @FieldFormatter(
* id = “module_plain”,
* module = “module”,
* label = @Translation(“Plain”),
* field_types = {
* “module_field”
* }
* )

… and more

Almost all functions are plugins – like blocks
A few advance modules still needs to be modules
The modules is needed to structure the plugins

F17:00 – 17.45 Content strategy and platform architecture

Kaja Jacobsen works @

Librarians / Editors needs to learn to think digital and be concerned about:
Comunication …

– Primary: for pages
– Secondary: For concepts
– PanelPages with IPE
– Dynamic pages
– Views

New Node tabs – for linking content

Taxonomy – for navigation

S11:00 Migrating to Drupal 7

Søren Vibjerg svi (at) @hrfriborg
Martin Møller mmj (at) @hrmoller – currently old site – the coming site
What: search and make reservations
Why Drupal: TING Collaboration (in DK)

Uses Drupal
– permissions
– custom modules
– almost not for database

Lots of external webservices

changed logging from watchdog to syslog


github /
-> jenkins
–> betablocker –>
–> dib.ding –>
–> ? –>
–> ? –>

Git branches: Feature branches       ->          Develop     ->      master
                      |                             |                   |
                      v                             v                   v
Servers:         betablocker                     bib.ding            content  ->    prod

Translation: Drush node copy

Test frameworks
– Simpletest – does not behave same on MySQL and PostGres
– Selenium test
– Behat ? not yet tried

Unit testing
– should have decoupled PHP code from features

D8 would have helped
– PHPUnit – instead of simpletest
– Configuration
– Framework

Would have liked
– Workflow tools (wf)
– Aegir

S13:00 Front-end Automated Testing

Ruben @rteijeiro Teijeiro
Tag: #drupal-fat

FAT is a Testrunner – you could instead use
– Selenium

TestRunner is in Drupal

Two modules

UnitTests with
– QUnit or
– CasperJS or
– PhantomJS or
– Jasmine

– Implement hook_testswarm_tests to define all your tests.
including jQuery.simulate for simulating user actions. uses timeout function set to 1000 ms.
– Create a javascript file containing QUnit code e.g. tests/bacon.tests.js
in modules/fat/tests
– Navigate to /testswarm-browser-tests.

S14:00 Phone is ringing, oh my god! Give your clients support they need…

Marek Sotak @sotak

Enduser documentation
– Workshops – lots of prep
– Phone support – most expensive
– Support Chat – requires 1 person
– Web ticketing
– Knowledge base
30% Screenshots – update screens, when system is changed
23% Screencasts – has to re-record all

Personal best:
– Knowledge base – self help support

Not good:
– Manuals: never updated, never read

read more:,

Better UX – gives feel good and positive users


– A chrome extension

UCD: User Centered Design

You need to interview customer to understand what he needs instead of building what he tells he wants.

Search box example:
Users typed blank or only one keyword
Action: Added text: Ask a question
Action: Added popular questions – links

S15:00  The Amazing Jeffrey A. McGuire a.k.a. jam

Works at:
– Drupal support

Acquia Cloud:
– Amazon EC2

Acquia Dev Desktop: (free download)

Acquia Network:
– Insight, Search, Mollom

S16:00 TWIG it


Twig is a preprocessed PHP Template engine
irc: #drupal-twig

Mortens example Theme:

The End.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: