Planet Drupal

Subscribe to flux Planet Drupal - aggregated feeds in category Planet Drupal
Mis à jour : il y a 8 min 29 sec

Appnovation Technologies: 5 Best Drupal Starter Themes

lun, 16/06/2014 - 16:16

Learning and working on a Drupal starter theme can not only speed up workflows significantly for 'themers', but also enable you to focus solely on building custom layouts without having to worry about browser incompatibilities an

var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Catégories: Elsewhere

Drupal Watchdog: Drupal 7 Content Types from Code

lun, 16/06/2014 - 16:04

One key feature of Drupal 7 that makes it one of the most flexible content management frameworks available, is the ability for administrators to build new types of content – beyond the two built into a standard installation of Drupal 7, “Article” and “Basic page”. Content types are typically created in the administration section of the website, clicking through a series of pages, and manually entering information such as the names of new fields. This is sufficient for most situations, but can become tedious and error-prone. There are several advantages to automating this process: You could define new content types for your own use without having to step through all the screens and mouse clicks. You could define them for use by other people and on other websites without having to document the steps. It would expand your module-writing capabilities, since oftentimes module functionality calls for one or more custom content types. On a related note, this can be valuable in setting up testing harnesses (e.g., in test/modules/node/node.test, the class NodeWebTestCase).

Fortunately, Drupal allows for the programmatic building of content types, using its Fields application programming interface (API). We have already noted two useful examples, "Article" and "Basic page", which we can build upon.

Consult the Core

During a standard installation, Drupal runs the PHP code in the file profiles/standard/standard.install, which consists of a single function, standard_install(). It includes the code to create the two aforesaid content types:

Catégories: Elsewhere

Web Omelette: Drupal 8 Dependency Injection, Service Container And All That Jazz

lun, 16/06/2014 - 09:07

With the move from a mostly procedural to a mostly OOP based architecture in Drupal 8, many Drupal developers have been introduced to new concepts we don't fully understand. I myself was terrified of notions such as dependency injection and service container, making me worry about the future of my Drupal development.

So I took it to Symfony (from where many components have been borrowed) and then Drupal 8 alpha releases and turns out it's not a big deal. All you need in order to understand them is to know basic OOP principles. Check out Larry Garfield's timeless introductory article to Object Oriented Programming on Drupal Watchdog for a good start.

In this article I am going to talk a bit about what dependency injection is and why one would use a container for managing these dependencies. In Symfony and Drupal 8 this is called a service container (because we refer to these global objects as services). Then, we will take a look at how these are applied in Drupal 8. Briefly, because you don't need much to understand them.

So what is dependency injection?

Take the following simple class:

class Car { protected $engine; public function __construct() { $this->engine = new Engine(); } /* ... */ }

When you instantiate a new class Car you go like this:

$car = new Car();

And now you have an object handler ($car) that has an $engine property containing the handler of another object. But what if this car class needs to work with another engine? You'd have to extend the class and overwrite its constructor for each new car with a different engine. Does that make sense? No.

Now consider the following:

class Car { protected $engine; public function __construct($engine) { $this->engine = $engine; } /* ... */ }

To instantiate an object of this class, you go like this:

$engine = new Engine(); $car = new Car($engine);

Much better. So now if you need to create another car using another engine, you can do so easily without caring about the Car class too much since it is supposedly equipped to work with all the engines in your application.

$turbo = new TurboEngine(); $car2 = new Car($turbo);

And that is dependency injection. The Car class depends on an engine to run (dooh), so we inject one into its constructor which then does what it needs to do. Rather than hardcoding the engine into the Car class which would not make the engine swappable. Such constructor injections are the most common but you'll also find other types such as the setter injection by which we would pass in the engine through a setter method.

So what is this container business?

So far we've seen a very simple class example. But imagine (rightfully) that the Car has many other potentially swappable components (dependencies), like a type of gear shift, breaks or wheels. You have to manually instantiate all these dependent objects just so you can pass them to the one you actually need. This is what the container is for, to do all that for you.

Basically it works like this. You first register with the container your classes and their dependencies. And then at various points of your application, you can access the container and request an instance of a particular class (or service as we call them in Symfony and Drupal 8). The container instantiates an object of that class as well as one of each of its dependencies, then returns you that service object. But what is the difference between services that we usually access through the container and other PHP classes?

A very good definition that makes this distinction comes from the Symfony book:

As a rule, a PHP object is a service if it is used globally in your application. A single Mailer service is used globally to send email messages whereas the many Message objects that it delivers are not services. Similarly, a Product object is not a service, but an object that persists Product objects to a database is a service.

Understanding how the container works under the hood is I believe not crucial for using it. It's enough to know how to register classes and how to access them later. There are multiple ways to register services but in Drupal 8 we use YAML files. In Symfony, you can use directly PHP, YAML or even XML. To know more about how to do this in Drupal 8, check out this documentation page. Accessing the services in Drupal 8, on the other hand, is done in one of two ways: statically and using, yet again, dependency injection.

Statically, it's very simple. We use the global \Drupal namespace to access its service() method that returns the service with the name we pass to it.

$service = \Drupal::service('my service');

This approach is mostly used for when we need a service in our .module files where we are still working with procedural code. If we are in a class (such as a form, controller, entity, etc), we should always inject the service as a dependency to the class. Since I covered it elsewhere and the Drupal documentation mentioned provides a good starting point, I won't go into the exact steps you need to take in order to inject dependent services into your Drupal 8 classes. However, you can check out my introductory series on Drupal 8 module development, on, where I covered the process of creating services and injecting them as dependencies (in the third part).


So there you go. Dependency injection is a very simple concept that has to do with the practice of decoupling functionality between classes. By passing dependencies to objects we can isolate their purpose and easily swap them with others. Additionally, it make is much easier to unit test the classes individually by passing mock objects.

The service container is basically there to manage some classes when things get overwhelming. That is, when the number grows and the number of their dependencies also increases. It keeps track of what a certain service needs before getting instantiated, does it for you and all you have to do is access the container to request that service.

Hope its clear.

var switchTo5x = true;stLight.options({"publisher":"dr-8de6c3c4-3462-9715-caaf-ce2c161a50c"});
Catégories: Elsewhere frontpage posts: Modernizing Testbot: Drupalcon Austin Update

dim, 15/06/2014 - 07:08

"Modernizing Testbot" is a Drupal community initiative with the goal of rebuilding's Automated Testing / Continuous Integration infrastructure, leveraging modern practices and tools in order to enhance the capabilities and functionality provided by the platform and better meet the changing needs of the Drupal community. The initiative first took root with the vetting of a potential design and architecture during the DevOps Summit at BADCamp 2013, which then led to the development of a functional Proof of Concept during DevDays Szeged. DrupalCon Austin saw a number of further refinements to the model, and launch of the official project pages/repositories on This post is intended to provide a snapshot of what was accomplished. Project Pages

The week before DrupalCon saw the launch of the 'DrupalCI' project on, which is intended as the umbrella project for related 'Modernizing Testbot' work. The initiative has been broken down into five sub-projects under the same DrupalCI namespace. The initiative is still young, and code in the following repositories is not necessarily ready for use, but this is where you will find things during development and after the platform goes live:

  1. drupalci_drupalorg: Responsible for integration between and the DrupalCI platform
  2. drupalci_jenkins: Responsible for the scripts and configuration files used on the jenkins master/slave servers which serve as the central job dispatcher for the environment
  3. drupalci_testbot: Responsible for the job runners performing the actual work, but also functional as a standalone project for local testing
  4. drupalci_results: Responsible for the long-term archival, storage, and exposure of build artifacts and job results, similar to qa.d.o today
  5. drupalci_puppet: Responsible for the puppet configuration scripts used to build out the various servers which make up the environment.
Development Infrastructure

Also in the weeks leading up to DrupalCon Austin, we set up a full development environment with the help of the Infrastructure Team. This environment has been set up entirely on infrastructure, and is intended to closely mimic that which would be used for a production launch of the platform. A special thanks goes out to nick_shuch (PreviousNext) for his help in setting up the jenkins server and initial drupalci_puppet scripts.

Multiple Environment Support

One of the primary testbot sprint goals for the week was to enhance the proof of concept build, enabling support for testing on multiple database types and php versions. In addition to his contributions as sponsor of the DrupalCon sprints, user jaredsmith (Bluehost) also joined the testbot sprint team; where he started with developing a Docker build which would add support for a Postgres 9.1 test environment to the platform ... and then followed that up with builds for MariaDB 5.5 and 10 as well. With these Docker builds now available in the repository, we are ready to begin integration and testing of these environments with the actual run scripts; and any assistance the community could provide with this task would certainly be welcome.

Initial Integration

While it will be quite some time before the DrupalCI platform is actually integrated with itself, we anticipate the need for some means of triggering tests from a dev site, in order to demonstrate the full end-to-end communications path as envisioned for the final deployment. User Psikik dropped by our table during the Friday sprints in order to express an interest in the project, and looking for some way to chip in. Despite admitting to have never built a drupal module before, Psikik took on the task of developing the initial drupalci_drupalorg implementation, providing the ability to trigger jobs on our remote Jenkins server from a form located on (or, in this case, a D.o dev instance); with his final result ending up committed directly as-is (other than namespace changes) to the drupalci_drupalorg repository.

Test Runner Refinements

Throughout the week, and especially during the Friday/extended sprints, users dasrecht and ricardoamaro (original author of the Szeged proof of concept, sprinting remotely from Portugal) made a number of refinements to the test runner bash scripts; including refactoring to a new directory structure which should better position the project for an expanded set of functionality in the near future. Dasrecht also contributed an initial framework for a future 'drupalci' console command, which will eventually serve as the primary end-user interface for local interaction with the platform.

Jenkins scripts

Also during the Friday sprints, user geerlinguy and I both made progress on the development of jenkins scripts which will be triggered in order to kick off new jobs/test runs.

Where to from here ... What's next?

Starting next week, I intend on establishing a rotating weekly "Modernizing Testbot" call; alternating each week between North/South American and Europe/Asia/Australia-friendly timezones. Progress and updates on the initiative will be shared via the ' Testing Infrastructure' group on, so anyone interested in the ongoing progress of the initiative is encouraged to sign up there. Our immediate priority will be further testing and stablizing the Postgres and MariaDB environment support for local testing purposes, after which we'll turn attention towards the investigation of issue queue/patch workflow improvements which could be supported by the platform.

As always, testing and contributions are welcome; if you would like to get involved, please feel free to contact me via my contact form.

Bonus Points: QA.Drupal.Org "Test Complete" Notifications

While not directly related to the 'Modernizing Testbot' activities, I simply cannot leave without a huge shout out to justafish, who approached me during the extended sprints, asking what it would take to enable json support for qa.d.o test results. After I provided her with an admittedly not-so-helpful answer (i.e. "If someone else was to do the work, I'll deploy it; but it otherwise isn't a priority") and a qa.d.o dev site, she had a working json feed, PIFR patch, and new view definitions completed in no time. This work was deployed live to qa.d.o on Tuesday, so that end users can now access the json view of their test by appending '/json' to the 'view test' URL. This in turn enabled development this week of a chrome extension (also by justafish), which can monitor your tests in progress and notify you as soon as the qa.d.o test run is complete ... a project that I anticipate will very quickly find it's way into the toolset of Drupal core developers everywhere.

Catégories: Elsewhere

Károly Négyesi: Reminder

dim, 15/06/2014 - 00:14

Sticks and stones may break my bones
But words will never harm me.

Catégories: Elsewhere

Bluespark Labs: Thinking outside of the Block: Drupal Layout tools in the Real World

sam, 14/06/2014 - 12:00

 This blog post is an introduction to what will be a multipart series.  Although there is no shortage of posts and discussions of layout solutions for Drupal, there is a lack of a comprehensive overview of the available module options for layouts in Drupal, and we are aiming to remedy that.  We will both outline what the current state of the art is, and discuss what approaches might provide an easier migration path to Drupal 8. In this series, we will draw on our real-world experience building and maintaining sites using each of the major solutions available. We want to present this content in bite-sized chunks, highlighting what you need to know about each system, and discussing how to meet common use cases. 

We have an audience in mind, specifically, Drupal site builders that want to get beyond blocks and regions, and start doing really awesome things with their layouts. This of course, should be without having to ever get into code.

At this point in the Drupal 7 life cycle, there are at least three really solid layout module options available to a site builder.  The three Drupal modules that we will address, with one post per module, are Context, Display Suite, and Panels.  Given that we are focusing this series on site builders, and specifically avoiding solutions that require writing code, we will not get into php templating.  We will also talk about some of the available extra goodies that are out there for panels, such as panels everywhere and panalizer, and wrap up with an overview post that points us forward to Drupal 8, and future proofing your layout choices.

The difficulty that one encounters when embarking on a series like this is the sheer quantity of information that surrounds every level of the topic.  It would not be difficult to come up with a ten part blog series that discussed only panels, in fact the difficulty would lie in keeping it to only ten posts! It can also be really difficult to compare Drupal modules that do similar things, without actually downloading them and learning them all.  Ain't nobody got time for that.  So we've decided to structure the posts as follows:

Part 1. Give as broad an overview as possible of the strengths and weaknesses of the module in question.  Specifically, talk about how easy/difficult it is to get started with, and how flexible/powerful it is with an eye towards meeting more and more complicated use cases.

Part 2. Introduce the module, with some screenshots of how the UI works.  We will use two specific examples of common client requirements, (the same examples for each module), and step through how to fulfill the requirements, with screenshots.

The Examples:

  1. An extremely common requirement is to have a two column layout for the node display of a given content type, with individual fields in separate columns. (screenshot example here)  Seems like a simple request, yes?  It's not possible with regions and blocks.  This is simple enough to do with a node template, but in order to preserve flexibility for site builders and even content editors, we've decided that we don't want a solution that requires writing PHP.  This is something that is (dare I say it) simple to achieve with any of the three modules we are highlighting, and we will step through how to do it.
  2. A more advanced (but still common) use-case is to have layouts that react to various conditions. For instance, you may need to have different layouts for public and private events. The “out of the box” solution might be to make separate content types for each. However, this is not semantically accurate, and creates difficulties when a content editor wishes to turn one into the other. These systems all have the flexibility to meet this requirement.

These two use examples hardly scratch the surface of what can be done with these modules However, we hope that they will get you interested in the possibilities, and an idea of which system will best meet your needs.

Tags: Drupal Planet
Catégories: Elsewhere

Acquia: DrupalCon Austin and a new job - Kris Vanderwater

ven, 13/06/2014 - 23:35

Kris Vanderwater (eclipseGC), and I got together in a Google Hangout plagued with technical difficulties to discuss DrupalCon Austin and Kris's new job as Acquia's Developer Evangelist. In the sections I could save and keep reasonably useable after editing, we talk about Drupal 8 and the incredible energy present in the Drupal community recently; a couple of hot topics DrupalCon Austin; and Kris's new job as "a developer for the community".

Catégories: Elsewhere

Dries Buytaert: About today’s Drupal Association Board resignation

ven, 13/06/2014 - 19:52
Topic: DrupalDrupal Association

Today Morten Hyde-Birch Jørgensen stepped down from his role on the Drupal Association's Board of Directors. The Drupal Association's Board of Directors supports Morten’s decision. The Drupal Association and the Drupal community value inclusivity and diversity, and our leadership must demonstrate those values as well.

We want to thank Morten for his service; he came to the board with a mission to foster improved transparency and communication. He helped both the board and staff embrace those principles in a way that will carry into the future.

Today’s development underscores the need for a broader discussion that we need to have about inclusivity and diversity. Creating and maintaining the right culture and environment is vital to Drupal's success. Therefore, we have asked the Community Working Group to define a process to help our community address these issues and identify positive, proactive, and concrete steps we can take to ensure that everyone feels welcome in Drupal.

Morten is vacating a community elected seat. The Board of Directors will discuss how and when to fill this vacancy at the next board meeting.


Drupal Association Board of Directors

Catégories: Elsewhere

Drupal Association News: About Today's Board Resignation

ven, 13/06/2014 - 19:44

Today Morten Hyde-Birch Jørgensen stepped down from his role on the Drupal Association's Board of Directors. The Drupal Association's Board of Directors supports Morten’s decision. The Drupal Association and the Drupal community value inclusivity and diversity, and our leadership must demonstrate those values as well.

We want to thank Morten for his service; he came to the board with a mission to foster improved transparency and communication. He helped both the board and staff embrace those principles in a way that will carry into the future.

Today’s development underscores the need for a broader discussion that we need to have about inclusivity and diversity. Creating and maintaining the right culture and environment is vital to Drupal's success. Therefore, we have asked the Community Working Group to define a process to help our community address these issues and identify positive, proactive, and concrete steps we can take to ensure that everyone feels welcome in Drupal. In any community, people will make mistakes. The real test of our community is how we respond to these issues.

Morten is vacating a community elected seat. The Board of Directors will discuss how and when to fill this vacancy at the next board meeting.


The Drupal Association Board of Directors

Catégories: Elsewhere

Drupal Watchdog: Caffeinated Drupal

ven, 13/06/2014 - 19:28

Over our last cup of coffee we discussed content delivery networks (CDNs) and how they can dramatically speed up websites. This issue, we’ll take a look at how to swap out the backend storage used by Drupal’s Cache API. So, let’s grab a nice iced latte to toast the end of summer, and we’ll dive right in!

First of all, we should discuss the reasons why one might want to move Drupal’s cache storage out of MySQL. As Drupal sites grow, the amount of cache data will greatly increase. When this happens, the frequent querying of cache items, along with database updates to invalidate caches, can cause a heavy load on your database server. By moving cache data out of the database and into a key-value store such as Memcached or Redis, not only can we reduce load on the database, but we gain the ability to easily scale out the caching layer horizontally (adding more servers) as the need arises. This type of scaling is not something that’s easily accomplished with MySQL.

Memcached is by far the most popular alternate cache storage for Drupal, although Redis – a newer technology with some features not found in Memcached – has been growing in popularity. Both are what are referred to as “key value stores”, meaning when you store a piece of data (the value), you assign it a key so that you can easily retrieve it later. The design of these key value stores is such that they maintain a constant performance no matter how large the dataset grows. Imagine a coffee shop that always had a hot cup of coffee waiting for you in less than five seconds, no matter how much other coffee they were serving at the time.

It is a common misconception that retrieving a single cache item from Memcached or Redis should be faster than retrieving the same cache item from MySQL. This is typically not the case. However, both Memcached and Redis scale much better with large data sets, and moving caches out of MySQL speeds up the database for other queries. For these reasons, swapping the cache backend can still be a great performance win even though the speed for serving a single page to a single client may not improve at all.

Catégories: Elsewhere

Lullabot: Receive Desktop Notifications in Chrome for Tests

ven, 13/06/2014 - 19:00

During the extended weekend sprints at DrupalCon Austin, I discovered what an enthusiastic test refresher I am. When you submit a patch to the Drupal core issue queue, and even some contributed modules, a handy testbot will come along and ensure that your proposed code changes don't break any existing tests. Like most people, I found myself with lots of tabs open, compulsively refreshing each one to see if my test had completed or not.

Catégories: Elsewhere Featured Case Studies: The Official Beatles Website

ven, 13/06/2014 - 15:45
Completed Drupal site or project URL:

Everybody has heard of The Beatles - their music has no doubt become part of the soundtrack of everybody's life and so much of it still sounds as good now as it did then. It's no surprise then that The Beatles have a huge fan base with millions of followers around the world and they expect engagement from the official website and social media channels.

Apple Records and Motherlode Media approached Drupology with a brief to create a new website for the band. The aim is to provide an experience and presentation similar to The Beatles Anthology book, i.e. snippets of text, quotes, never-before-seen imagery and video (ok, so video isn't in books, but you get the idea), and a very personal insight into the band, their music, and ideas at the time. The website also needs to promote new albums, merchandise, and events in a way that engages fans, although revenue conversion isn't a key requirement - it's more about creativity and experience.

Drupology, the technical lead, are a specialist Drupal digital marketing agency based in the UK and service many enterprise-level organisations with high-profile websites at home and around the world. We were delighted to be given the opportunity to work on such an iconic project.

Key modules/theme/distribution used: ViewsEntity APIEntity referenceEntity Reference View WidgetMediaFacebook APIComment blockChaos tool suite (ctools)FeedsCookie ControlCDNOrganizations involved: DrupologyTeam members: Dubs
Catégories: Elsewhere 1000 new translatable strings for Drupal 8 and the future of

ven, 13/06/2014 - 15:24

As we kept following the changes made to Drupal 8 and the dozens of new ways of adding translatable strings to code in the new version, we worked on support for TWIG translation constructs and all kinds of YAML file sources (routing titles, menu items, action links, local tasks, configuration schemas, etc) recently as well as some misc new APIs like TranslationWrapper objects. Huge thanks to the amazing work of @ksenzee, @herom and @hron84 building string extraction support for these in our not very well loved issue queue.

Support for these APIs is now rolled out live on and I sent Drupal 8 alpha12 to be parsed again with the new code. The result is the number of strings made available for translation jumped from 6820 to 7769, making available almost a thousand previously hidden strings. (Also almost 800 new files are considered now for source strings, jumping from 3972 to 4722). For comparison, Drupal 7's latest release only contains 4645 strings to translate. Our advice from last June that this may not be the time to jump on translating it all yet still stands though.

The quest is not over. API changes that affect translatability are still made. The latest one is the logger API that replaces watchdog(). We still need to igure out how to support that in string extraction. Help needed there! I'm not sure how the string extraction based method can sustain itself for Drupal 9, we'll need to take a hard look at this definitely. We are doing out best now in Drupal 8 to cover what is possible.

The largest outstanding item keeps being support for shipped configuration translatables. All the default user roles, filters, views, content types, menus and so on that Drupal 8 itself supports to be translated with sources from, so only the server side part on our side is missing still. There are probably hundreds of translatable strings hidden there still.

That said, it is not only the Drupal 8 API support that is a bit lacking, we need more volunteers to help with the site itself. The site's biggest contributor Sebastien Corbin posted about the state of the site in January and that is still pretty accurate. I submitted a Core conversation proposal for DrupalCon Amsterdam to at least start assembling a working group around the site with people who can devote time in a sustainable fashion. We all rely on this site for so much and it gets so little love!

read more

Catégories: Elsewhere frontpage posts: All the sprints at and around DrupalCon Amsterdam

ven, 13/06/2014 - 14:19
Start:  2014-09-27 09:00 - 2014-10-05 19:00 Europe/Amsterdam Sprint

We have a great tradition of extended sprints around big Drupal events including DrupalCons and Drupal Dev Days. While there is a sprint day included in DrupalCons (usually) on Friday, given that a lot of the Drupal core and contrib developers fly in for these events, it makes a lot of sense to use this opportunity to start sooner and/or extend our stay and work together in one space on the harder problems.

DrupalCon Amsterdam is next up! DrupalCon and the Drupal Association continue to recognize the need for extended sprints as part of the schedule and are providing space on Monday, and helping organize space for the weekends before and after also! We are still looking for additional sponsors for the weekend sprints before/after to help with space, internet, coffee, tea and maybe food. There are already various sprints signed up including Multilingual, and Frontend. We are really friendly and need all kinds of expertise!

Now is the time to consider if you can be available and book your travel and hotel accordingly!

Join the sprinters, signup now! Practical details
Sept 27 to Oct 5 (all week at DrupalCon and weekends both before and after).
We start each day at 9am and plan to have space booked until midnight.
To be booked.
Sponsors Lead sponsor:

Drupal Association @DrupalAssoc

Looking for sponsors

We are looking for more sponsors to be able to pay for extra expenses. If you are interested sponsoring or if you need sponsors to cover expenses, please contact me at

#node-427578 .picture, #node-427578 h3 { display: none; } #node-427578 .field-type-datestamp { margin: 0 0 2em 0; } #node-427578 dl { margin-bottom: 1em; } #node-427578 dd { margin-top: 0.5em; } #node-427578 h3.content { display: block; }
Catégories: Elsewhere

Code Karate: Drupal 7 Calendar Module

ven, 13/06/2014 - 13:25

The Drupal 7 Calendar Module makes it easy to build event calendars in Drupal. It makes use of the Views module to make it all happen.

In this episode you will learn:

Catégories: Elsewhere

CTI Digital: DrupalCon Austin

ven, 13/06/2014 - 13:07

CTI Digital’s Head of Drupal, Paul Johnson has just returned from an intense week at DrupalCon Austin, USA.

It's fair to say DrupalCon Austin was always going to be special for CTI Digital from the outset. Appointed DrupalCon 2014 design partners our team have enjoyed contributing to the overall success of the conference. CTI’s Creative Director, Rik Hopkinson designed the complete conference concept and branding encomassing signage, brochures, guides, stickers, web design, right the way through to the stage design below.

The pre-keynote "Calling all Drupal Super Heros" saw Dries wrapped in a million critical tissues and all 3300 attendees performing the ridiculous Gity Pokey. It was no surprise to see Robert Douglass seizing the opportunity to don a nurses outfit complete with plaits and beard!

On a more serious note the DriesNote was a refreshing departure from the typicial state of Drupal presentation. During his keynote Dries Buytaert illustrated in how photography in the early days was a complex time consuming process with many steps. With innovation came 35mm film, then Polaroid and lately digital cameras. With each generation photography became more streamlined.

Looking at the way the web is evolving he sees a digital convergence and the development of what he coined the "Experience Web". He challenged the audience to consider what Drupal's future role would be and provided some predictions. Watch the Keynote here

Erynn Petersen's keynote approached the issues of diversity and inclusivity in open source and business. Saying "An Open Source Project is as Healthy and Vibrant as its community"  she celebrated the Drupal community as trailblazing the campaign to ensure a well rounded community. Indeed DrupalCon Austin had 20% female attendees which represents a substaintial and consistent uplift. 

As a highly active member of the global community Paul contributed to the global Drupal Community Summit. A rare opportunity to meet many of the leaders we communicate with on a regular basis, the day event allowed thought leaders to share their epic wins and fails so others could learn and improve their local Drupal community, DrupalCamps, solve issues with and general sprint on the human side of Drupal.

CTI Digital commisioned Tom Oakley from Ten Integrated Marketing to design a cartoon/superhero style mask of Drupal creator Dries Buytaert. We encouraged people to tweet themselves wearing the mask to #WheresDries with a chance of winning a Makey Makey.

Before Paul left for DrupalCon he contacted Drupalist around the globe and invited them to join in, in a small way bringing the spirit of DrupalCon to where they lived. We should never lose sight that some people are not able to attend. It was amazing to see what contrasting lives people using Drupal lead. 

Hendrik Martens travelled to Johanesburg to find a special location for his #WheresDries photo.

Timo Teller was the first lucky winner of a Makey Makey which we knew his kids would enjoy!

As DrupalCon social media lead Paul met with the Drupal Latino team who are planning DrupalCon Bogotá. It looks like we are in for quite a party! Follow @DrupalConLatino for news.

During the conference Cathy Theys made Paul aware that the crowdfunding initiative to develop Rules for Drupal 8 was not likely to reach it's funding deadline in just 7 days. As one of the first corporate sponsors of #D8Rules we are pleased to announce after a sustained social media campaign the $15,000 funding goal was smashed. Further phases of funding will follow. You can find out about Drupal8Rules here.

So after the DrupalCon volunteers dinner Paul's work was over and our thoughts are already onto DrupalCon Amsterdam where we again are developing the entrire branding, design and build of the conference marketing collateral and website. We thoroughly enjoyed contributing to helping DrupalCon "Keep Austin Weird" and we hope to meet you in Amsterdam where CTI Digital will be present in much larger numbers! 

Austin Group Photo: Michael Schmidt



Catégories: Elsewhere Language, Twitter, Misunderstanding & Drupal Community

ven, 13/06/2014 - 11:30

At Drupalcon in Austin I took on the mechanical bull. I ended up losing miserably. Not surprisingly, it was recorded and sent out to the world. Because of my epic fail on the bull, one of my friends in Sweden (I’m Danish) afterwards called me out on Twitter with the #drupalcon hashtag and called me a “pussy".

read more

Catégories: Elsewhere

cs_shadow: GSoC is so much fun, now I'm interested in being a GCI mentor

jeu, 12/06/2014 - 23:18

I'm about to complete four weeks with my GSoC project and its been a great experience. I'm working on the Entity Embed module for Drupal 8. Dave Reid (davereid), Janez Urevc (slashrsm) and Shashwat Srivastava (darklrd) are my mentors for this project and all of them are extremely helpful. Besides my mentors, I'm also recieving excellent support from the Drupal community expecially the Drupal Media Initiative.

Dave already had a prototype ready when I started so I didn't have to start from scratch which was really helpful. Janez always helps me to decide on how to implent new features and to tackle the issues. Florian Weber (webflo) demonstrated how this module can be integrated with CKEditor using an example in very early stages which greatly helped me to accomplish the actual integration. Jibran Izaz (jibran) and Boris Gordon (boztek) continuously help with code reviews and provide relevant suggestions. Steve Persch (stevector) had developed a similar module with Twig functionality. Now he has filed an issue to include Twig functionality in this module, and once that issue lands the module will be more flexible. There are many other senior contributors who've helped me while I'm working on this module.

Though the learning curve is not very steep, I always learn something new something new almost everyday. To sum it up, it has been a very fun journey so far and I hope the remaining two months will also be the same. Things are going smooth and I'm pretty confident the project will be finished in due time.

The module is live on Though more recent development can be found on the github repo: Details of all the contributors can be found here: Here's what my contribution history on github looks like.

See that large green chunk in the right side, that is the time period of past 4 weeks for which I've been working on this module. And as you can probably see, those 4 weeks are the times when I've been most active and it feels really great to be working on this module along side some of most experienced Drupal contributors.

Since I've recieved such an excellent support and love from the community, I thought its only fair to I give back some of the love. I hang out on the IRC channels are try to help if I can. In the same spirit, I've applied to be a mentor for GCI. I believe this will be a wonderful opportunity for me to help new contributors get started. I've applied to be a mentor and I've my fingers crossed that I'll be selected as one. Regardless of whether I'm selected or not, I'll try to update the task organization wiki for GCI: as and when I get some interesting ideas.

While I have the chance I want to sum up this post on the future of Drupal 8. Based on my experience with this project, I'll try to comment from a Drupal Media perspective. Firstly, I am firm believer that Drupal is heading towards a "Beyond body field" space. Since, there's an increasing demand of media components by users and users like more media-rich content on their sites. With this kind of a demand, a good set of media modules is really necessary for Drupal 8 and I believe Drupal shuld support better media solutions out of the box. In DrupalCon Austin 2014, there was an excellent talk by Janez and Dave: FILE ENTITY AND MEDIA MODULES | LET'S FIX FILE AND MEDIA HANDLING. (For instance, I should be able to embed this video in my blog using Drupal core out of the box. I hope we'll have such features in core in near future.)

Tags: Google Summer of CodeDrupal PlanetGoogle Code-In
Catégories: Elsewhere

Drupal Association News: Drupal Association Adds Two New Board Members

jeu, 12/06/2014 - 23:01

May 2014 – PORTLAND – The Drupal Association, the nonprofit that helps the Drupal open source project flourish, announced that two new members are joining the organization’s board of directors. The new members are Mike Lamb of Pfizer and Rob Gill of NBCUniversal. They are the first members of the Drupal Association board to bring the perspective of large end users of Drupal.

“I’m thrilled to be part of such an important component of the Drupal community,” said Lamb, who works at Pfizer as the director of Marketing Technology Strategy. “It’s a great opportunity to give back to the project and impact its future in a meaningful way.”

Rob Gill is Vice President of Media Products at NBCUniversal and oversees the digital properties for the company and its various content brands. Gill is a long time advocate of open source solutions.

“I’m looking forward to helping Drupal and the Drupal Association grown within the enterprise,” said Gill. “It’s great to work with a team of people on the Drupal Association board who are passionate about Drupal’s success.”

The board of directors oversees the activities of the Drupal Association, which hosts and maintains and runs programs focused on growing the community and Drupal adoption.

Both Lamb and Gill will participate in board activities at DrupalCon Austin, which kicks off next Monday. DrupalCon is North America’s largest gathering of Drupal experts and features a week of keynotes, learning sessions and social events. DrupalCon comes at an exciting time for the Project, with a Drupal 8 beta version in the works and the Drupal business community seeing unprecedented success through organic growth and investor interest. 

About the Drupal Association
The Drupal Association is dedicated to helping the open source Drupal CMS project flourish. Drupal powers millions of websites and software applications, from personal blogs to the largest enterprises, media publishers, universities and government agencies, including The Economist, and White House websites. Drupal is constantly being improved by a community of people in 228 countries, speaking 181 languages. The Drupal Association provides the support, infrastructure and funding to grow the Drupal community, help with online collaboration at, and produces and hosts DrupalCon events and other events around the world. Funds to support these programs come from memberships, sponsorships and donations. To learn more about the Drupal Association, the Drupal Project, and how to get involved and contribute, visit

‹ 2007-02-26: The Drupal Association - The Drupal Project's New Non-Profit up Drupal Surpasses 1 Million Websites ›
Catégories: Elsewhere