Planet Drupal

Syndicate content
drupal.org - aggregated feeds in category Planet Drupal
Updated: 6 hours 48 sec ago

CivicActions: A Primer: DrupalCon Presentation Training

14 hours 14 min ago


I am incredibly honored to have been selected to speak at the upcoming DrupalCon Denver on the topic of International NGOs Leveraging Drupal for Social Change

As part of the amazing support in the Drupal Community, all presenters have been requested to attend (or watch recordings of) webinars on how to give good presentations, led by Emma Jane Hogbin of Design to Theme.

Below is a summary of the two hour-long videos, which I initially intended as personal notes, but later realized others might find useful as well.

read more

Categories: FLOSS Project Planets

Earl Miles: Training at DrupalCon!

Tue, 02/07/2012 - 23:26

Last year I officially went independent, turning Logrus into a boutique consulting shop specializing in the skills and knowledge I have to offer big players in the Drupal world. So far, things have gone fantastically well and it has allowed me to branch out a little more in the things I do, and has also helped fund several awesome projects that will benefit the community. Notably the Panelizer, Fieldable Panel Panes and ERS modules are completely funded by clients, as well as improvements to Panels such as the pane locking features.

BlogDrupal · DrupalCon
Categories: FLOSS Project Planets

mcdruid.co.uk: git commit author - give credit where credit is due

Tue, 02/07/2012 - 23:14

Quite some time ago I wrote a post about how patching makes you feel good in which I talked about the motivations for, and benefits of submitting patches on drupal.org (d.o). I concluded by suggesting that project maintainers should be generous in recognising the efforts of those who submit patches.

Well, now that d.o has its magnificent git infrastructure, project maintainers have even better tools for giving credit to contributors who help fix or improve the code. There is still the well-established convention for commit messages which encourages that "others [who] have contributed to the change you are committing" are credited by name. e.g.

Issue #123456 by dww, Dries: Added project release tracking.

Similar messages are often added to the project's changelog too.

The new tool that perhaps not everyone knows about yet is the ability to assign the authorship of the commit to another user e.g.

git commit --author=[username]@[uid].no-reply.drupal.org

This is appropriate when committing a patch that is entirely somebody else's work. Perhaps some maintainers will be generous and attribute authorship even if they've had to make a few tweaks to the patch, but somebody else did the majority of the work to identify and fix a bug, for example.

When a user is credited as the author in this way, the commit will show up on their drupal.org profile page, which I think many people will feel is a great reward for the time they spent putting a patch together.

There are however some limitations and drawbacks to the system. The committer of the patch is not rewarded by seeing their commit count incremented, which some may find a disincentive for generosity in attributing authorship.

Where the maintainer might split the credit in a commit message for a fix where a user was helpful by giving a detailed bug report in the issue queue, but where they themselves had to actually fix the problem, for example, they're probably justified in leaving themselves as the author of the commit. Of course they can still mention the helpful user in the commit message and changelog.

There will surely also be less monochrome cases where authorship of the code being committed should be split between multiple users. As far as I'm aware, the git infrastructure on d.o doesn't cater for this situation, and messy workarounds such as breaking the commit up to split authorship have been suggested.

There are undoubtedly some limitations, and project maintainers will occasionally find themselves with tricky decisions to make. However, for the reasons I detailed in my patching makes you feel good post, I really encourage maintainers to be generous with the credit when it comes to patches which have been submitted in issue queues, and the option to set an author for a commit in git is a great way of doing so.

Categories: FLOSS Project Planets

Four Kitchens: Node.js and Drupal

Tue, 02/07/2012 - 20:45

Drupal is a great platform, but it can’t do everything. As your site grows, you’ll likely encounter use cases that Drupal can’t or shouldn’t do. Some examples include interacting with third-party APIs while preserving good page loads, or performing repeated actions (polling, etc) that result in site updates. Fortunately, separating these kinds of problems from Drupal and moving them to specialized “sub-stacks” within or near your Drupal stack is easy to do.

Enter Node.js. If you’re unfamiliar with it, Node.js is described as follows:

[…] a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

- From nodejs.org

The relevant part of this description that I’ll be focusing on is node’s “event-driven, non-blocking” model.

Third-party API communication

It’s becoming more common to integrate Drupal sites with third-party APIs. API integration is a great way of making your site more powerful without having to build a lot of functionality yourself. The problem is that a lot of third-party APIs are slow. A normal Drupal session runs in a single thread and blocks until all code finishes executing. If you are communicating with a third party during a user session, you can end up degrading user experience through slow page loads, confusing error messages, etc.

Handling this problem with Drupal queues is becoming more popular, and for good reason. Queueing API requests takes the transport out of the user session and shouldn’t affect user experience, but it also means your requests have to tolerate some delay (until the next time the queue is processed). We’re starting to see this more frequently on large Drupal sites and the trade off between user experience and immediate data propagation isn’t always an easy one to balance with clients.

So in this example, Node.js’s “event-driven, non-blocking” model means that you don’t need to wait for the API to respond before you can respond to Drupal. Node.js accomplishes this using callbacks, which if you’ve used jQuery before you should be fairly familiar with. The program will make a call and continue working, and when a response comes back, the callback will be executed. When written correctly, you can achieve nearly parallel execution of tasks — something that’s very difficult, and often impossible, to do in Drupal.

So how about an example of doing this? Consider a case where you want to update a third-party API with user information when the user’s profile is saved. Normally you would wait for the API to respond during the page request, but if you use Node.js as an API relay, the node server will immediately respond that it received the request, allowing the page load to finish quickly. The node server will then relay the request to the API. When a response is received it will call back Drupal with the results. Conceptually, it looks like this:

Moving the API communication out of Drupal allows you to speed up page requests and split off functionality that’s not well suited to a blocking model. There are many places you can typically do this with Drupal, not solely limited to API communication.

Repetitive jobs in Node.js

Another area that’s a good candidate for a Node.js-Drupal marriage is in repetitive jobs that need to be run very frequently. Again, Drupal queues can fulfill some of this need, but if you need to repeat the job very frequently, Drupal-based solutions are not usually ideal due to their high overhead (having to bootstrap Drupal every time you need to repeat the job). It would be better to bootstrap Drupal only when there’s work that actually needs to be done.

An example of this could be polling an external API for data that needs to be added to your site. Thanks to node’s event driven model in relatively few lines of code it can perform this action without generating a lot of overhead on the server while it’s waiting to repeat:

var http = require('http'); var options = { host: 'localhost', path: '/poll' }; var interval = setInterval( function pollSomething() { http.get(options, function onGet(res) { res.on('end', function onEnd() { // Do something! }); }); }, 1000 );

This code will repeat a get request to http://localhost/poll every one second. When the response is complete you can add some logic to determine if Drupal needs to do any work, then make another call to Drupal with the payload from localhost. Any site-specific business logic still remains in Drupal, you’re just offloading the grunt work to an engine that’s more efficient at doing it.

Proof of concept

To see some real-world examples of the two use cases I’ve described here, check out the following code:

The key as a developer is to remember that Drupal is great at a lot of things — just not everything. If there’s another tool that’s better suited to the job you’re trying to do, use it! Just because Drupal is usually flexible enough for you to get it to do what you want doesn’t mean that you should bend it that way.

Categories: FLOSS Project Planets

groups.drupal.org frontpage posts: Barcelona Drupal Developer Days Call for Speakers & Registration

Tue, 02/07/2012 - 19:32
Start:  2012-06-15 (All day) - 2012-06-17 (All day) Europe/Madrid Drupalcamp or Regional Summit Organizers:  pcambra rvilar

You can now register for the European Drupal Developer Days that take place from June 15th to 17th, 2012 at the Citilab training & research center in Barcelona.

At the Drupal Developer Days we are offering sessions, trainings, ad-hoc meetings, code sprints and practical workshops about the latest developments and techniques in the world of Drupal 8.

We are now also accepting session submissions. If you want to present in Barcelona, you should start thinking now about a good subject that will capture the attention of a crowd of mainly programmers.
The conference is targeted at Drupal developers with varying skill sets: from the beginners who just discovered Drupal to the experts that push the Certified to Rock meter into the red. The sessions should focus on technical topics.

Please have a look at the speaker's guidelines that we assembled.

If you have any questions, please use our forum, contact form or ping @drupaldaysbcn on Twitter

Keep a close eye on our website and follow the Drupal Developer Days Barcelona on Twitter @drupaldaysbcn, to stay informed on the latest details.

Drupalcamps Europe [international & english]
Categories: FLOSS Project Planets

EmmaJane: From PSD to Drupal Theme Workshop

Tue, 02/07/2012 - 17:34

In 2011, Acquia hosted my very popular session From PSD to Theme as a webinar. 1800 people registered. Eighteen HUNDRED people. And in one of the best response rates I've ever seen for a free webinar, over nine HUNDRED people signed on and watched the session live. An early draft of the slide deck received over twenty nine THOUSAND views on slideshare. And now? There are FOUR. 1..2..3..4.. seats left in my DrupalCon workshop, From PSD to Drupal Theme: A step-by-step approach to creating your first Drupal theme.

This workshop takes place on March 19 in Denver, Colorado and is part of the pre-con training offered by the Drupal Association at DrupalCon Denver. It will be taught by me (Emma Jane).

I am very excited to be extending this incredibly popular one-hour presentation into a full day workshop. Unlike the one-hour presentation version of this workshop where hundreds of people can attend, seating in this one-day workshop is very limited. You will get individualized support on the day of the class, and an additional 30 days of support after DrupalCon. No more feeling frustrated that your questions weren't answered. Together, we'll work through two PSD to theme conversions. You can even bring one of your own designs to the workshop!

If you can't attend, but really wish you could, check out the themes Vert and Domicile. Attendees will also get a free copy of the step-by-step workbooks and PSD files for the designs (also available here and here). These are the designs we'll be working on during the day. What you'll be missing if you can't attend is the experience of working with me one-on-one to solve your Drupal theming obstacles. In the workshop you'll also get to meet others who've been frustrated by Drupal theming (or maybe have just been too scared to even try). It will be a fun day (promise!) and you'll come away from the workshop ready to take control and make Drupal look as good as your imagination.

Got questions before you register? Get in touch. Remember though: only FOUR seats remain for the workshop on March 19. Register now and I look forward to seeing you in class!

Categories: FLOSS Project Planets

Metal Toad: Boilerplate 1.0 for Drupal 7: Responsive HTML5 & SASS

Tue, 02/07/2012 - 16:54


Our new theme has just been released!

This theme was developed with a few goals. Great HTML5 support based on the excellent Boilerplate HMTL5 template, full SASS support, and a base fixed/flexible responsive layout similar to Zen but with built in mobile support, all while keeping the code base small. Like Basic, the stripped down version of Zen, this is designed to run alone, not to run as a master theme with sub themes.

Categories: FLOSS Project Planets

Nuvole: Hard and Soft configuration in Drupal Distributions

Tue, 02/07/2012 - 15:30
Features, taxonomy and other beasts

An extract from the new teaching materials we are preparing for our DrupalCon Denver 2012 pre-conference training, Code-Driven Development: Use Features Effectively.

By now the advantages of a clean Code-Driven Development workflow are clear to the majority of Drupal developers; things like separation between configuration and content, packaging and deployment of new site functionalities or sharing changes in a distributed team don't look that scary anymore.

Still not everything in Drupal can be clearly classified into configuration or content, such as Taxonomy terms. Taxonomy terms are mostly used to categorize our content so, naturally, they are often used in site configuration: a context that reacts to a given taxonomy term is a fairly common scenario. Taxonomy terms can be generated by users (think about free-tagging), which makes them fall into the "Content realm". Drupal, in fact, considers them as such, assigning to each term a unique numeric identifier, and that's the problem.

Each component has its own name

One of the turning points in making configuration exportable in code was the introduction of a unique string identifier for each component: this way it's easy to share configuration and to avoid conflicts. So what happens with taxonomy terms? If they appear in our context conditions then we'd better bundle them together: no matter where we are going to deploy our feature, they will always have to have the same values. That's simply not possible: they have numeric IDs, forget about easy life here.

Various attempts have been made to export numerically identified components, such as UUID Features Integration or the handy Default Content module, but they only solve part of the problem: we want other components to know the unique name of our terms.

Hard and Soft configuration

At Nuvole we adopted the following terminology to classify the two kind of settings that we need to deal with everyday:

  • Hard configuration includes the settings under the distribution developer's control (e.g., Views or Contexts); it has a machine name, it is easy to export, it gives no headache. We store it in Features.
  • Soft configuration includes the settings that are meant to be overridden by the site administrator (e.g., the default theme, or the initial terms of a vocabulary); it often gets a unique numeric ID from Drupal, it is impossible to export safely, it is painful to handle. We store it in the Installation profile.

This distinction becomes fundamental when the configuration is altered or (if you are dealing with a distribution) when the underlying distribution is upgraded. In the case of Hard configuration, altering it results in an overridden feature, which is upgrade-unsafe. In the case of Soft configuration, altering it does not change the Features state, since the corresponding settings are stored in the Installation profile, and changes are upgrade-safe.

Not only taxonomy terms

The distinction between Hard and Soft configuration goes beyond how to conveniently export taxonomy terms: it is more a design decision, especially important when dealing with distributions. We consider everything that the site builder might be entitled to change as Soft configuration. The place where to usually store Soft configuration is your hook_install(); this guarantees a safe upgrade path to the next version of the distribution. An example could be the default theme: you may ship your distribution with a specific theme but the site owner might want to change it and subsequent updates shouldn't alter it.

Here is how our profile hook_install() might look like in a Drupal 7 distribution:

<?php

/**

* Implements hook_install()
*/
function example_install() {
 
   $terms = array();  
 
   $vocabulary = taxonomy_vocabulary_machine_name_load('category');

 
   $terms[] = 'Solution';
 
   $terms[] = 'Client';
 
   $terms[] = 'Use case';

 
   foreach ($terms as $name) {
     $term = new stdClass();
     $term->vid = $vocabulary->vid;
     $term->name = $name;
     taxonomy_term_save($term);
   }
  
  // Enable custom theme
 
  theme_enable(array('example_theme'));
  variable_set('theme_default', 'example_theme');  
}

?> Reference for site builders

If you are customizing a distribution and you need to override some of its default Hard configuration you might want to have a look at the Features Override module and at these two related articles from Phase2 Technology:

Categories: FLOSS Project Planets

Commerce Guys: Commerce Module Tuesday: Commerce Customizable Products (Screencast)

Tue, 02/07/2012 - 15:28

Commerce Customizable Products is another module that provides custom line item types like Commerce Custom Line Items, which I've shown before.

Our goal here is to sell a T-shirt with a customizable slogan on it. This could be any customization, and there could be more than one field. Here's how we do it:

  1. Enable Commerce Customizable Products.
  2. Create a custom line item type which will have the extra field. (We wouldn't have to do this if all products in our store had this customization.)
  3. Add the field to the new line item type. In this case it's a text field called "slogan".
  4. Create a special product display content type (with a product reference field) so that we can configure the display settings on the product reference field.
  5. Configure the display settings to use our custom line item type (and tell it not to try to combine like items in the cart).
  6. Create product and product display node to try it out.

For extra credit in the video we add the new field to the cart view, and even give the customer the option to edit it in the cart view by using the excellent Editable Fields module.

Here's the screencast:

Categories: FLOSS Project Planets

KatteKrab: DA election... time is running out to vote

Tue, 02/07/2012 - 14:02

If you want to vote in the Drupal Association election you have less than 10 hours left to do so!

Where to vote?

https://association.drupal.org/voting

Who can vote?

Voting is open to all individuals who registered an account on drupal.org prior to January 18, 2012 and who have logged into that account at least once in the one-year period prior to February 3, 2012. There is no need to register to vote. The voting system has been set up and prepopulated with the list of eligible voters.

How to vote?

Rank the candidates in order of your preference for them to win. You don't have to rank all the candidates, but should at least choose 2, because we are electing 2 "At Large" members to sit on the DA board.

For all the details...

Go to https://association.drupal.org/2012-elections-voting

 

Why Vote? This election is the community's chance to appoint someone to the board of the Drupal Association. The DA does NOT govern the Drupal project, it supports the project by providing the legal framework to run DrupalCon in North America, and Europe. Over the coming year it will be looking to add a third DrupalCon to the calendar, in either South America, or the AsiaPacific region. The DA also oversees the Drupal infrastructure that runs Drupal.org, Groups.Drupal.Org and Association.Drupal.Org. See the FAQ on the Drupal Assocation website for more info: https://association.drupal.org/about/faq
Categories: FLOSS Project Planets

Chris Shattuck: Mentored Drupal trainings happening around the world (and how to conduct one of your own)

Tue, 02/07/2012 - 00:35
Feb 6, 2012

Several months ago I wrote about a unique method of training based on replacing live lecturing with pre-recorded videos. For the uninitiated, this frees up trainers to assist students the whole time, cuts way down on preparation time, and allows students to move at their own pace which increases focus and engagement (see the short video here for a bit more info). Back then it was a theory, but now it's been tested in several different environments and proven as an incredibly effective way to both teach and learn Drupal. Plus, it's way more fun than traditional training.

This is a quick outline of what's been happening so far, what's coming up, and how to get started if you want to organize or participate in a Mentored Training for your community or organization.

How to offer a free, effective Drupal training in your area

Nearly every Drupal community sees the need for training in their area, but it's a headache to either develop a curriculum, get access to existing curriculum or get an experienced trainer in at the right time. But never fear! You (yes, you!) can conduct a effective, proven training in your area with very little effort and awesome results.

You don't have to get up in front of a class, you don't have to memorize anything. Just leverage your experience in Drupal to help students as they work through a proven set of video lectures. If it sounds odd or lame - it's not. Students work at their own pace, they have a great time, and mentors also enjoy being able to simply show up and help students without extensive and exhausting preparation.

Setting up a Mentored Training is simple. It has a basic structure that you can follow exactly or adjust to meet the needs of you and your students. Build a Module.com will also give you free access to our entire video library for you and your students for a full 8 days so students have the chance to ramp up before the training, or wrap up what they were working on after the training is complete.

If you're interested in mentoring or participating in a Mentored Training in your area, a great place to start is by posting a suggestion on groups.drupal.org (see here and here for examples).

Learn more about how to conduct a Mentored Training on the Build a Module.com resources page.

Mentored Trainings so far

There's been a few mentored trainings so far, with quite a few more coming down the pikes. If you're considering organizing one in your area or for your organization, please leverage those of us that have had some experience as resources to answer questions and help wrap your mind around the logistics.

San Francisco, BADCamp 2011 - Our first Mentored Training was at the Bay Area Drupal Camp in San Francisco. We had 6 mentors and 55 students at the full-day training. During a feedback session after the training, what we heard from students was unanimously positive. One thing they really appreciated was the extensive one-on-one time they got with the trainers. We discovered that a full third of the students came over-qualified for the training, which worked perfectly in an environment where there was more advanced material available. The mentors unanimously felt the same way. Two of the mentors quickly began the process of organizing trainings in their own in Portland and Denver.

Minnesota, Advantage Labs Client Training - Advantage Labs in Minnesota piloted their first Mentored Training for 15 clients, specifically around learning about Views. The video base allowed less experienced clients work through Drupal basics, and they created a virtual snapshot of the example site partway through the "Build Your First Drupal 7 Web Site" video collection to allow more advanced users to hit the ground running.

Edinburgh, Scotland - A Mentored Training event was put on in Edinburgh for would-be mentors to evaluate the Build a Module.com material for a future pre-camp training. The event was small, but it sounded like it went very smoothly and the consensus was that it would be a great format for the upcoming camp.

Upcoming Mentored Trainings (and trainings in planning)

If you're in the planning stages for conducting a Mentored Training and don't see it listed here, please let us know so we can add it to our calendar.

DrupalCon, Denver, March 19 - We have a great line-up of talent for the DrupalCon training. With 10+ mentors with experience in site building, theming, coding, Information Architecture, it's a great opportunity to take a flying leap up the learning curve and get some great one-on-one help. Learn more or sign up.

Denver Community Training, February 18 - The Denver Drupal community is conducting a full-day mentored training with some great mentors in an awesome community. Donations are welcome, but attendance is free. This can be a great way to ramp up for the DrupalCon event as well. Learn more or sign up.

DrupalCamp Florida, February 12 - While 50 or so talented Drupalists build amazing free sites for a few non-profits, the future site owners will be working on their Drupal chops by using the Build a Module.com videos to train. The videos will also be available to the 50+ coders and themers making the sites happen (because even ninjas need help sometimes). For more information, contact Kendall.

Phoenix, Arizona (in planning) - Several community members in Phoenix are in the process of organizing a Mentored Training for the community. If you're interested in mentoring or being a student, please contact Matt at Ashday Interactive.

Portland (in planning) - Another great community is planning a mentored training. If you're interested in contributing, go ahead and post to the discussion page.

Glasgow, Scotland (suggested) - As a follow up to the Edinburgh training, there is some discussion about another Scotland. See this comment for more for who to contact about participating or helping to plan.

Australia (in planning) - We don't have the exact details, but there's been some training plans at an upcoming conference. Please feel free to send us an e-mail and we'll forward your info to the organizers.

India (in planning) - We're collaborating with an organization to provide mentored trainings in India. If you are interested in participating or contributing, please send us an e-mail and we'll pass it on to the organizers.

Mentored Drupal trainings happening around the world (and how to conduct one of your own)
Categories: FLOSS Project Planets

ComputerMinds.co.uk: Entity Token

Tue, 02/07/2012 - 00:01

The Entity token module is part of the Entity package of modules, it provides lots of new tokens to use everywhere that tokens are currently available. It does this by being aware of the structure of fields on entities and exposing extra options for fields that reference entities. For example, it allows you to use many more tokens about taxonomy terms added to content.

Pathauto

To see this in action we'll consider a simple example.

Say that we have articles about birds on our site, suppose further that each article is about a specific species of bird. We make the simplification that each species is part of a single family of species. All that boils down to us having a 'Species' vocabulary that looks like this:

We then add a taxonomy term reference field to our article content type, field_species and we set it up to use our vocabulary. We ensure that our content editors only create articles about a specific species and not a family of species.

What we'd like to do is have nice URLs like the following:

articles/crow-family/rook/eating-habits-rooks

For an article about Rooks.

We can use the Pathauto to set up nicer URLs, but Drupal core doesn't provide the tokens that we need. We need to get the root term (top level parent) of the selected species (which is the family) and add that to our path. Enter Entity Token, it knows that the field_species field contains a taxonomy term, and that taxonomy terms have a root term.

You can explore the tokens that Entity token provides:

And we can see that we have all the tokens we need. So we can set up Pathauto using the following pattern:

articles/[node:field-species:root]/[node:field-species]/[node:title]

Then if you create an article, you will see that the URL path generated is like the one we wanted above. Cool!

Categories: FLOSS Project Planets

Károly Négyesi: Eating my words on github

Mon, 02/06/2012 - 23:36

Two years ago I wrote a blog post about why not to use github. I simply was wrong. As jQuery won the JS framework war so did git won the DVCS war and one of the reasons is actually github. I have been using github to host private projects for my clients and the service / workflow is really top notch -- fork from the UI, hack, send a pull request, comment the diff line-by-line, do the minor fixes in the online editor on spot, click the merge button, done. Nicely done.

Categories: FLOSS Project Planets

Rowlands Group: Ryan Cross (rcross) on his Drupal Story

Mon, 02/06/2012 - 21:35

In this episode of Drupal Yarns we catch up with one of Australia's two nominees for the Drupal Association at-large Directors - Ryan Cross (rcross) (view the nomination).

Categories: FLOSS Project Planets

Urban Insight: How to Un-Cache a Drupal Page

Mon, 02/06/2012 - 17:17

Normally caching pages for anonymous users is a good thing. There are times however, when a page or two needs to be excluded from the cache. Just such a situation recently occurred while I was working on the website for the Southern California Linux Expo.

As a conference website, there were the usual lists of speakers, sessions and a schedule page listing all the sessions in grid ordered by room and time. With over 100 sessions, that page was expensive to generate and since it didn't change much was a great candidate for page caching.

Categories: FLOSS Project Planets

Mixel Kiemen: Radical innovation in education: an academic experiment

Mon, 02/06/2012 - 16:01
Topic:

I've been burning to tell you about an educational experiment. The challenge of the experiment was to deal with a problem of reduced support (teachers) and increase number of students (over 300). The solution: add some community spirit. I've been using my Drupal experience to guide this challenge and did some development along the way. We extended the issue queue to work with peer-evaluations and make learning part of the solution instead of the problem.

In this blog I will only give a sneak preview about the Drupal interface. With Prof. K. Lombaerts, I will work on an academic paper in an educational journal to elaborate the strategic policy for self-regulative education. The educational experiment was done with Prof. F. Plastria course Software for Management, which is an advanced spreadsheet course that Master-level business students have to learn to understand how they can model, analyze and simulate datasets to deal with uncertainty. The magnitude of this experiment was huge. I've spend over 650 hours spread over 4 months. Let me throw some more numbers at you to grasp the magnitude of the project.

The experiment involves 410 subscribed students, where 330 actually posting something, however 30 of them barely did any work, so lets say 300 students. In total, these students posted 4276 nodes and 7980 comments. Two content types were more important then others: issues and evaluations. In the end 767 issues across 209 projects got evaluated by 1709 evaluations created by students and 223 evaluations created by two teachers. So each issue had more then 2 evaluations and average 2,5 issues per student got created. Considering that a student would spend around 10 hours for an issue and around 3 hours for an evaluation, I'm hoping your appreciate the magnitude of the educational experiment.

The setup

I've been working with this Drupal site for master-level education ever since 2006. Each year never more then 40 people, so this one experiment was as intensive as the past 6 years together. As learned from previous experimentation, we turned the classroom exercises and the homework inside out. The prior classroom exercises got replaced by videos (see http://www.youtube.com/mixelkiemen) and projects were brought to the classroom. However the amount of students wouldn't allow for much direct contact. The classroom was indented to be a workspace for students to collaborate by informal interaction. Most actual activities happened via formal interaction with the issue-queue and other structures of the course site.

A project got broken down into issues; three categories existed (model, analysis and simulations) that had three possible levels (basic, normal and advanced). Each issue would upload an Excel file, but the spreadsheet is only the base, it’s the data modeling, sensitivity analyzing and (Monte Carlo) simulations that are truly important. Each issue required at least two evaluations by another student. Of course you're not sure if an evaluation is correct, therefore a meta-evaluation on each evaluation was needed.

While I first had to bootstrap the course and so focus on developing projects, I soon find myself shifting to developing evaluations, meta-evaluation and lastly supervise my meta-evaluation team. In the end we had 60 students creating meta-evaluations. Considering that evaluators corrected some of the mistakes made by the first student and that meta-evaluators corrected mistakes in the evaluation, we reduced the required feedback significantly. Thus the teacher's focus was to correct the quality and elaborate the exceptions.

Now the real data-analysis is only starting, but we have learned how to significantly improve this process (so we think) and already consider the innovation experiment worth the effort.

The simplified conclusion is that "gamification" mediates autonomy and collaboration. Still this is oversimplified; some specific problems have to be addressed. The gamification does allowed an instantly calculated of the score (see the calculation example http://mosi.vub.ac.be/webdev/?q=node/2170), which lead to faster feedback for students, but also a reduction of the administration.

The development

From a technical point the site was pretty simple. Considering technical limits at our university I had to work with Drupal 6. I've first hacked the project module, for some minor changes, like changing "category" to "level". Then I've used 5-stars-CCK to create the evaluation type and some basic stuff like node reference. Still as time passed I would find myself programming more, in the end I've created three interfaces, one for the students, one for the evaluators and one for the teachers. The student interface was the first we developed. It was to give students feedback on their work. The total score would show the total point earned on issues and evaluations and we created some simple system of bonus points. This would lead to a score on 20:

The total score is an abstraction. On the one hand students could earn point for each of the three types (model, sensitivity analysis and MC simulations), leading to an issue score table (on 10):

Similarly a table for evaluations existed. For each issue a student uploaded 2 evaluations were needed, leading to individual criteria for all students. Students could do more evaluations then needed, which would increase their score. For example SvenM needs 8 evaluations and did 10, so the system would look at the average of the 8 best evaluations, which is 0.6 higher then his normal average. At the moment 1 evaluation is still pending, meaning it did not get meta-evaluated. Students would get 0.1 bonus-points for each meta-evaluation they do. Both the meta-points or any penalties would get calculated into the evaluation score.

By the end of the semester 60 students got selected after showing some good evaluation skills. They became part of the meta-evaluators team, in next table you see students with more then 20 meta-evaluations. Considering all the pressure and work, we got surprised how much good meta-evaluation these students did:

Still we got equally surprised of the continuing spamming of some of the worst students. It seems as the classroom setting would hardly have any influence on community dynamics, with the exception that some of my meta-evaluations got phoned up by bad students and became threaten …. not something we had anticipated at all !

With the evaluations in full progress we saw the need to create different interfaces. The meta-evaluators would be in constant email traffic with me and other students mailed too. During the evaluation period (January 2012) I would get to 477 emails that need instant reply, that is over 15 mails a day! Next to my daly quotum of 20 issues and the programming, this lead to very long working hours. One of the conflicts led to creating a table for meta-evaluators to get a holistic view on some of the students' behavior:

We also created some extra views for students so they could get a selective list with all issues that needed review or all issues that required dummy evaluations (issues that only had bad/poor evaluations).

Finally I also created some interface for the teacher, with some general info, but also a list of meta-evaluated issues and a list of candidate evaluators:

The most work was all the calculations and the terrible complicated mysql queries to create this. This probably could have been programed easier, but I was on time pressure and so created some ugly solutions that worked. I didn't upload the code; it could be implemented a lot better. It was just to run the experiment. The goal is to use this experience to design some good software architectures. Still I'm only interested in designing, not build them. I wish there was a way to collaborate with some developers on this or maybe some shops as an R&D project, however I lost my fait that such a thing will happen … let me elaborate.

Drupal & Academics, closure, finally.

Drupal is fast, compared to any development. Academic development is often slow, but can be significant even for fast projects like Drupal. With Drupalcon Brussels (2006) I understood the challenge for education and got the opportunity to apply this almost instantly While I took on the challenge only days after Drupalcon, it took me 5 year to run experiments and I've only been able to express it properly some months ago: see my presentation @ DrupalGovDays.

Still, this has not been relevant for Drupal, none of my students became part of the community as far as I can tell. In contract Summer of Code (SOC) students have been vital to Drupal's core. I've been trying to have a debate on getting from SOC to something more sustainable, but the discussion has never lead to strong plans. Today I understand the magnitude of such efforts and now I understand this can't be solved easily. It will be doable, but a big investor would be needed.

In Drupalcon Szeged (2008), I've tried to organize a BoF on research, but it got mixed up with another BoF lead to no follow up. In Drupalcon Copenhagen (2010) & Chicago (2011) I did several interviews to get an overview of founding companies that pioneered Drupal's business ecosystem. This fit my research on "self-organizing innovation", which I relate to open innovation, as I'm elaborating in my papers. While I made a first working paper in 2011 and have been publishing in some conference proceeeding, the actual academic paper for a journal is still work in progress. In fact it has been split up as a case for two papers, the first journal publication is plan to appear in 2013. So it is better then 5 years that was needed for the first experiment, but still 3 years after the event took place. Inside the Drupal community 3 years is long, so I see the bought in peoples eyes when they talk to me. In all the years fighting for this mixture of R&D development, I'm loosing fait. I will finish the papers and they probably will have no impact for the Drupal community, just as 5 year teaching a Drupal course had zero impact. I'm getting more and more convinced my energy is directed wrongly.

For London I did more effort to organize an open space "DrupalEdu", while the open space was successful, the follow up was not. As expressed in my last blog, I'm tired of tilting at windmills. I see a problem of "architectural failure", which is ironically, as it is something that shows up in my radical innovation research all the time. I feel lost, burnout and becoming an outcast in respect to Drupal community. I've made some friends along the way, but I've seen good friend leave too. I've got plans to go to Munich, but I'm not exactly sure why. One thing is sure, I don't intent to push anything without serious support.

About serious support, I'm proud to announce that Yuri Milner has taken a fast interest in the research of my advisor and he has just co-founded the "Global Brain Institute" (GBI) as our main sponsor. The first target of the GBI, which we call the first pillar, is a mathematical model. 4 PhD students have just been assigned to work on this research for the next 5 years. This first pillar of the GBI has little to do with my own interest on radical innovation, but with my advisor we designed a second pillar related to self-regulating education. This second pillar is important to us, but we don't have any investment for it yet. We are allowed to attract co-financing for the GBI.

My first focus during 2012 will be to finish my PhD, but if I can find any opportunity for the second GBI pillar, I won't be neglecting it. In fact there are some discussions going on, but talking is cheap. Research plans are only real once the contract is signed, past disappointments have made me grim and skeptical, they taught me not to get my hopes up high. Patience is a blessing I've still got to learn. Still this month GBI first pillar is founded, so let' s think positive and try to smile to the future.

Categories: FLOSS Project Planets

Modules Unraveled: 006 Khalid Baheyeldin and More Drupal Performance - Modules Unraveled Podcast

Sun, 02/05/2012 - 23:00
Submitted on Sun, 02/05/2012 - 17:00

Last week brought two episodes with Mike Carper talking about Drupal Performance. This week brings one more performance episode, this time with Khalid, then another special Wednesday episode to talk about the User Points module. (Don't get used to two episodes a week... It's just a fluke that it happened twice in a row! ;-p)

Khalid works for 2bits consulting on Drupal performance.
Some things he talks about include:

Categories: FLOSS Project Planets

orkjerns blogg: Creating nodes with images using phonegap and services

Sat, 02/04/2012 - 20:13

A lot of different people has started experimenting with Phonegap and Drupal. You have Jeff Linwood and his Drupal plugin for Phonegap for iOS, and I just discovered Drupalgap as I was planning this post the last weeks, which does more or less (actually it does more, but not all) some of the same things I will try to do in this post.

If you want to get up and running real quick, Drupalgap seems great. If you want to learn the code behind it, and extend it yourself (this was my motivation), keep reading.

Tags: planet drupalappsjavascriptphonegapservicesdrupal 7
Categories: FLOSS Project Planets

Steve Purkiss: Drupal Association Opens its doors to the community At Large - and I'm running for election!

Sat, 02/04/2012 - 19:34
Saturday, 4th February 2012Drupal Association Opens its doors to the community At Large - and I'm running for election!

The Drupal Association is, for the first time in history, opening up two spaces on the Board for "At Large" members. Voting is open now only for a few days until Feb 7. I decided to nominate myself after hearing further about the elections during the Drupal CxO event in Amsterdam last weekend, so instead of writing up all the interesting stuff that's been going on recently at the CxO event and Drupal ScienceCamp the week before where I gave my first session and videod many others, I find myself caught up in election fever and spending the weekend answering questions which were posed during two conference calls we had on Thursday - one at 1am and one at 5pm. It was great being part of these discussions with a group of passionate people from around the world, an inspiring moment in my life I shall remember for a long time!

I'm reposting my answers here as the wiki page is a bit messy, plus I want to reach out to my own community at large as they may not even know elections are on, it seems shouting about this sort of stuff in the Drupal community is not the norm, a shame as we have so much wonderful stuff to shout about!

The Drupal Association, for those who don't know, is "an educational non-profit organization that tasks itself with fostering and supporting the Drupal software project, the community and its growth". It has no control over the software itself, and states its 2012 goals as:

  • Improve the collaboration tools on drupal.org and make it rock for developers
  • Organize "Drupal in a day" global trainings to solve talent issue
  • Drupal as a career choice through University Programs
  • Directory of all trainings to solve talent issue
  • Regional events targeted at developers organized by DA staff
  • Make d.o awesome for site builders (vs. developers) - module reviews, docs, etc.

I am already involved in a number of these efforts and through the events I've been to I see there are many people who want to help out and contribute but simply do not have a mechanism or the knowledge to do so. Rather than go into a big speech now, here's the answers I gave - if you like my ideas please vote before Feb 7! My core process is "fostering connections" - a skill I believe is perfect for the DA.

Candidate intros

Steve Purkiss (stevepurkiss), United Kingdom

Hi, I'm Steve Purkiss and I'm here representing the "normal guy". I've been running the Drupal group in the UK's digital media hub of Brighton for the three years that I've lived here but it was only in 2010 when I went to my first DrupalCon in Copenhagen that I *got* Drupal - it's all about the community and not just software. Since then I've been helping people understand what Drupal is, including organising a 'Drupal Discovery Day' during Brighton's Digital Festival last year where we trained over 30 people in the morning and had over 40 attendees at our conference in the afternoon. I've now been to three DrupalCons, two Drupal CxO days, devdays, and did my first session at a DrupalCamp a couple of weeks back in Cambridge entitled 'From Flip Charts to Features and beyond' building on the work I've been doing with organisations including Brighton & Hove City Council in order to help them quickly and easily understand how to build projects in an agile way using Drupal and its plethora of modules. I also video many of the sessions and upload them to archive.org - I believe we should do much more videoing of events!

My first experience of the Drupal Association was in DrupalCon Copenhagen when I asked if they'd ever heard of a 'Virtual Enterprise Network' and explained it was a structure for enabling organisations including businesses, universities, and government instititions, to work together in order to deliver larger projects - similar to how the film industry works when coming together to produce a film. I asked if there was anyone in the Association who I could talk to about it because I believe strongly we have built a wonderful modular piece of software however we are yet to build a modular business model on top. The answer I received was a point-blank "No, they're all incredibly busy working for very large corporations." This is why I decided to nominated myself and hence why I feel I stand for the "normal guy" wanting to bring back some balance to the board.

Questions and answers

Harley (hyperglide) Regarding emerging markets in asia. Do any of the candidates have an idea on how to handle outreach to those markets to solve the talent shortage?

A: Steve Purkiss (stevepurkiss) The Association is in an ideal position to help pool and funnel resources to those on the ground in order to help them grow their communities wherever they are in the world. Being a focal point for the community, the Association can help the community to speak from one voice and spread knowledge sharing, education and community values wherever it is needed, and not only to those who can afford it.

(tsvenson) Q to each candidate: What do you see as the biggest obstacles for new Drupal users, especially non coders with small or no budgets, often leading to them quickly going elsewhere? And what will you do to change that?

A: Steve Purkiss (stevepurkiss) In Brighton I was going to run a week of Drupal training at £149 per day but was told I couldn't call it "affordable" training as it made other offerings sound expensive. If we only focus on the commercial side of things we have a big problem - and vice versa. I would rather see a focus on creating more sustainable forms of business than focusing on just one sector. To not view Wordpress as a threat here is IMHO a mistake.

I entered professional programming through a government-funded course and I am keen to ensure those opportunities are ongoing for people so I am talking to local colleges, universities and business networks about training students, graduates, unemployed, and career changers in Drupal. I am finding it hard by myself and my local network, if in the Association I would reach out to those around the world who can help on a more focused, local basis and assist in the construction of more support networks IRL.

(webchick) For those who want to promote international diversity, explain how a position on the DA helps you do that more effectively.

A: Steve Purkiss (stevepurkiss) Finding out what resources are needed and how they need to be tailored for particular cultures. At the recent Drupal CxO days in Amsterdam the hosts Microsoft explained a little into the process of how they do this and have offered us some time to help us - I would ensure we follow up on this very generous offer. As was mentioned, we are great technicians but not so great marketers - so why not take some tips from the best and help spread the Drupal community wider?

(Crell) Currently Drupal's face in the world is a mix of face-less Drupal.org and Acquia. Acquia is the face of Drupal, rightly or wrongly, in many eyes, moreso with the new Office of the CTO. Drupal of course is far far more than Acquia. What if anything do you feel the DA can or should do to counter-balance that, or is that even an appropriate role for the DA?

A: Steve Purkiss (stevepurkiss) The two At Large positions are a step in the right direction as we don't necessarily know who's out there in our community now as opposed to years ago when it was relatively small and why most members are from the more established companies. By bringing in outside perspectives with complementary knowledge and networks we enrich the community and move towards a more balanced, sustainable solution for democratised governance.

(tsvenson) Q to all: We just had a live usability test that showed we have still very much to do. How do you propose we can put more efforts into making Drupal, including contib projects, more user friendly and intuitive?

A: Steve Purkiss (stevepurkiss) There are some things as a community we do not do well at the moment, one of those is eat our own dogfood. I hear of many other tools people use running their Drupal business but we should work together to invest time, and funds, in fostering existing efforts such as the open app initiative. We should also develop new methods of people being able to contribute easier to the community - one such concept I've had is http://dropfund.org (hey, I bought the domain name so it's all built and ready, right?!) where people could post their project ideas much like a kickstarter for Drupal. Everything from marketing material through to module development sponsorship could be posted and funded easier than trawling through drupal.org and gdo just stumbling across stuff and trying to figure out what's going on and how to help.

(Slurpee) How many candidates have been to Drupal events outside of their own continent? And can you speak more than 1 language fluently?

A: Steve Purkiss (stevepurkiss) Since DrupalCon Copenhagen I have been to DrupalCon Chicago and London, Developer Days Brussels, CxO Days Brussels and last weekend's CxO event in Amsterdam, and the weekend before that I gave my first session at Drupal ScienceCamp Cambridge. I'm better with software languages than spoken, having spent from age 9 to now 39 learning how to talk in various software languages, from BASIC, through Pascal, ADA, Java, PHP, and now Drupal.

(Crell) Several of you listed things yo want to do or accomplish. The DA, however, has shifted from a staff board to a policy board, so board members are not directly doing anything, but managing, strategizing, coordinating, etc. Those of you who want to "do", isn't the board the wrong place for what you're describing?

A: Steve Purkiss (stevepurkiss) I want to work towards a more level playing field for everyone in the community - at the moment it seems as if the more well-funded operations build their own tools, workflow, and methods of dealing with inefficiencies in tools we have such as drupal.org whereas I believe it's the role of the DA to encourage contribution of these tools back to the community, and pool as many of these resources as possible so they are of benefit to all and not just competitive advantage for a few. Managing, strategizing, and coordinating are the ways in which I will achieve this!

(rfay) In 30 seconds or less, what are the roles of the DA and what are not the roles?

A: Steve Purkiss (stevepurkiss) The DA plays an important role supporting the development and growth of the Drupal community and should take a more active role in enabling those who want to contribute to be able to do so. It is not the DA's role to be involved in the decision-making process when it comes to the software itself, however it should be there to support ongoing efforts by being able to connect funders and those wanting funding, whether for hardware or software development. In terms of funding development then I believe the community and not the DA should be the decision-makers as to what gets funded - the DA should just help with the organisation of these initiatives.

(Crell) Q: Several candidates said they want to better represent or be a voice for "small shops" and independents. In what way does the DA currently not adequately serve small shops, and what would a better service for small players mean in practice? Be as specific as possible.

A: Steve Purkiss (stevepurkiss) It is more that relationships are currently built and maintained around a relatively few number of shops - ones who are either ingrained in the community, or who have the funds to "buy" their way into the community. Mostly I believe this is due to the fact we are not utilising our own software to the best effect to help connect, also because we are still thinking in terms of old-IT top-down big consultancy approach in some ways - perhaps because the biggest businesses involved currently still work that way.

We have built wonderful modular software and we are currently seeming to try and mash that into an old, out-of-date business model. Many large IT failures will still happen if the business models don't change - it's just they'll fail with Open Source Software resulting in harming its reputation. There are other ways, one of which is Virtual Enterprise Networks ('VEN')* where one body represents its members in a commercial environment, enabling sharing of costs such as marketing, and enabling larger projects to be delivered than could be done by any one member organisation alone.

Many smaller shops and independents are technically very capable but not so good at marketing - will a skills shortage and the fact that specific expertise is not geographically specific we should embrace new ways of working together on larger projects than just giving them to to the larger companies. As I discovered at the recent Drupal CxO event in Amsterdam *every* Drupal company there had issues with being too small - whether they were 2, 20, or 50 people. With a VEN a structure would be there for easier collaboration between these companies and individuals.

I believe the DA is in an ideal position to help to work towards the creation of a Drupal VEN, and spearhead not only a modular piece of software but a complementary business model to boot. I see some worrying similarities between what is happening in the Drupal world and what happened in the dotcom days when the company I was working at received $7m investment and immediately went out and hired lots of ex-IBM people. We have a small window of opportunity here to do something different and innovative - we should take full advantage of before balance is lost and we end up repeating old business mistakes simply because we are only listening to those who have too much interest in a particular model, or who simple do not know any other way is possible. A VEN is just one potential structure which should be investigated further in order to see which would be most complementary to the Drupal community in order to utilise the network more efficiently.

* http://www.bioteams.com/2005/07/11/virtual_enterprise_networks.html

(tsvenson) When do you think the first Asian DrupalCon should be held? Also, should that mean 3 cons/year or should they alternate with 2/year?

A: Steve Purkiss (stevepurkiss) I would need to investigate the current situation and any research done so far before suggesting any answer to this. At the moment, I feel if the community is big enough to support it then sure, if not then we should see how we can build or connect the community more so that it is in a position to put on a Con.

(jredding) In 30 seconds or less, what would you say is the most important skillset, expertise, or experience that a board member should bring to the Association.

A: Steve Purkiss (stevepurkiss) Experience, passion, ideas, ears, mouth when needed, sympathy, empathy, commitment, independence, and a willingness to question and challenge the status quo.

(carsonblack) What are some (or one) way that DA can help the small user groups throughout the world better serve their local markets?

A: Steve Purkiss (stevepurkiss) At the recent Drupal CxO event in Amsterdam I spoke to a number of companies who want to join forces in order to help create more marketing materials for Drupal. We should help these companies to contribute as the result will be more material available for everyone to use, including local user groups. We should also make it easier to start and maintain local groups by providing more up-to-date resources of information gathered from existing groups, and continue to provide funding where possible. I won one of the first Community Cultivation Grants with which I created a short video "What is Drupal?" (http://bad-ass.org.uk/what-is-drupal) which helped a little but we need more ongoing support too so we can develop the great work people are doing out there "in the field". Guilds are great, however we should ensure these do not go the way of the guilds of old, which ended up being cartels. There was a similar issue in the Open Source Consortium of which I was a founding member but left soon after as I felt it would go this way. It was set up by Mark Taylor from Sirius IT who has spoken at Drupal CxO events, he confirmed to me it did end up being a cartel so he too left. Not saying Drupal Guilds will, we just have to be aware they potentially could.

(Crell) The DA is officially banned from "directing the development of Drupal". What does that mean to you? Are there ways the DA could "support" development without "directing" development? What would you want to do in that regard? Again, be specific as possible.

A: Steve Purkiss (stevepurkiss) To me this means the DA should be supporting the development of Drupal whatever that development is. For example, if the community decided to rewrite the entire of Drupal using .NET technologies, although it would be a completely ridiculous concept, the DA should support the community's decision. The DA is ideally positioned to be a connector of resources to support the development of Drupal, by working with the community to ascertain what resources are needed the DA can help ensure access to those resources are provided, whether in terms of hardware, funding, or whatever is necessary for the community to continue to grow and flourish.

(tsvenson) Should the DA take a more proactive role about the d.o infrastructure and its improvement needs. Especially in regards to for example content management tools for doumentation and giving better cred/visibility to all those that puts in amazing work that is not project/code related? If so how and what is needed?

A: Steve Purkiss (stevepurkiss) Yes, I believe it is the responsiblity of the DA to support the infrastructure used by the community. I think there is a lot that can be done here in terms of working more closely with companies using Drupal to help them contribute more back to the community in order to help sustain and grow. At the moment it seems as if there's a high barrier in terms of both expertise and time to be able to change much, with a little more communication and connection of existing efforts I believe we can provide much better tools for the community to use, which will in turn show off more of what Drupal can do to the wider world and hopefully make it a little easier to understand for all.

Candidate summary statements

My first job was selling computers to small businesses, and whilst I have also worked with many large corporations, it is the small business person I have most affinity with. As we move into an age of more interdependance as many are laid off from work I believe we need to bring back some balance on the board and provide more assistance to those who have the passion and expertise but not necessarily the cash and connect them with those who have the cash but not necessarily the expertise (or indeed passion!). We need to foster the growth of more tools using our own software to help collaboration and start to build a world based on the ways we work together now, not 10, 20 or 30 years ago. By coming onto the board from this side, I bring fresh new ideas and energy, and a network which provides further reach than the board currently possesses in order to help the Association achieve and exceed the initiatives set out for 2012. I am already involved in many of the areas such as talking to universities and organising free training events, I could do this more effectively and to a greater degree if I were to be on the DA board, thus having easier access to more resources and connections.

ENDS

Feel free to ask me any questions you may have here, on my nomination profile, or on twitter, I'd be happy to answer!

One last thing - don't forget to vote by Feb7! Voting is open to all who have a Drupal account longer than about three weeks old and who have logged at least once in the previous year -  that's around 270,000 people of which at time of writing only 280 have voted.

Make sure your voice is heard and vote today!

tags: drupalDrupal PlanetDrupal AssociationDrupal Association At Large
Categories: FLOSS Project Planets

Deeson Group: Designing a responsive conference schedule for DrupalCon Denver

Sat, 02/04/2012 - 18:05

One of the most important and complex aspects of a DrupalCon is the schedule. An enormous amount of work goes into getting it right – from the huge number of session submissions, which have to be reviewed and selected by the track chairs and their teams, to the people whose job it is to carefully consider and decide time slots for all of them.

Once all of this work has taken place, the schedule then needs to be presented, in print, on meter boards, posters and in the delegate guide, as well as on the website and mobile app.

With around 70-80 sessions over three days and eight tracks, with three possible skill levels and multiple presenters, all split up into different time slots, and sometimes sub-time slots, presenting this lot is not a simple task. I had some great people working with me on the London schedule and I think we did a pretty good job.

For Denver, the plan was to take the schedule a bit further, making it responsive so that the layout adjusts to the size of the screen you are viewing it on. This is particularly useful for mobile phones and tablets, on which the user experience would be very poor if the design wasn't responsive. Initially the Denver team were looking at a table format for the schedule, similar to the Chicago approach: http://chicago2011.drupal.org/schedule. This layout is really good, but tables don't do well with responsive design. Tables have no way of rearranging themselves – if the width of the table shrinks, the cells just squash horizontally until they are stopped by the longest word in each. This looks pretty horrible and usually breaks a website's layout on smaller screens.

DrupalCamp Austin did use a semi-table layout, and importantly, it doesn't actually use table markup, meaning it can collapse. This worked well because the number of sessions in a given time slot was limited. Denver's maximum is seven sessions in a single time slot, which even in a 960 set up, would be really squashing them in on a single row and force them to collapse almost immediately on the slightest resize.

So a different method was needed. Initially taking the approach of a mobile web app, I put together an example schedule using Denver's branding to help demonstrate how it could collapse on smaller screens. The main difference in this layout is that instead of side by side, the sessions are stacked, divided by the time slots. The track icons were produced for Drupalcon Chicago and it felt really right to pick them up again for Denver.

The Denver team then adapted the prototype to fit the website and extended the icon set to cover the new tracks. While implementing, they made some subtle improvements to my prototype, like the track title on hover: http://denver2012.drupal.org/program/schedule

There are definitely more improvements to be made. The hit area isn't very large on the sessions (only the title), so it's not always easy to press with your finger; wrapping everything in an a tag would resolve this. The rooms aren't displayed yet, which would be pretty useful to help you find your way around and some of the sessions don't fall into specific time slots, so we are working on adding these soon. Also the filters are yet to be implemented on the Denver site, but it is worth looking at the prototype on a mobile device to see how I envisaged them working.

This is of course, just one example of a schedule for one event format, but if you are reading this from inside or outside the 'Drupalsphere', I hope you found some of the ideas useful.

@graemeblackwood

Categories: FLOSS Project Planets