DataPublic - Our Drupal distribution for Open Data

On Friday March 16th, in preparation for the 2012 Drupalcon in Denver, we launched a Beta version of a Drupal distribution called DataPublic on Drupal.org and GitHub. In conjunction with Microsoft, the distribution is the culmination of many months of work. It is the single largest codebase that we've worked on here at Raised Eyebrow and involved the development of over two dozen custom modules/features.

What's a Drupal distribution?

A Drupal distribution is basically an installation profile for Drupal and Drupal.org defines an installation profile as:
Installation profiles provide site features and functions for a specific type of site as a single download containing Drupal core, contributed modules, themes, and pre-defined configuration. They make it possible to quickly set up a complex, use-specific site in fewer steps than if installing and configuring elements individually.

The History

DataPublic is focused on Open Data and allowing the creation of Open Data portal type sites using Drupal. Our involvement in Open Data stems from our work on the Canadian national Open Data portal, Datadotgc.ca. You can read more about that project on David Eaves blog and from part one and part two of a case study on our blog. As part of that project I created the OGDI field module for Drupal. This module was the seed that grew into the idea of building a Drupal distribution that could allow anyone to build their own Open Data portals using Drupal. Nik Garkusha at Microsoft's Open Government Initiative approached us with the idea of building such a Drupal distribution that had Open Data listing functionality and was suitable for a global audience.

The Requirements/Features

We jumped at the idea of building a distribution for a number of reasons:

  • We like working with open data and understand how important it can be.
  • We already had a number of generic features that we had created for use in our own site building process that we could re-use.
  • We wanted to learn more about exporting complex site configuration to code.

 

The distribution contains the following core features:

You can review all of these features on the demonstration site at datapublic.openlab.ca

 

Bells and Whistles

There are a number of elements in this distribution that really shine and that helped to make this distribution an attractive option when thinking of building a Open data portal using Drupal.

Dataset content type and listings

The dataset content type allows the storage and listing of open data in three ways:

  • File attachments (CSV, DWG, KML, KMZ, SHP, XLS, XML)
  • External file links
  • OGDI instance embedding

Simplified Video content

We've always had issues with creating Video content types in Drupal and have used various methods to achieve it. In many cases we try to steer the client towards availing of third party services that specialize in video delivery, such as YouTube. As a result we started using the oEmbed module to allow embedding of external video into content. I also wrote a small module to allow the use of the thumbnail that is passed as part of oEmbed. The results are simple, clean, easy to embed video content right on your Drupal site.

Easy Event management

Event management is almost always a requirement on the Drupal sites that we build. This distribution was no different. We expanded on our existing Events feature to add a full calendar using the FullCalendar module and jQuery plugin. Now site editors can organize events by simply dragging and dropping them on the calendar. Visitors to the site can also see all of the upcoming events in a nicely formatted calendar.

Mobile responsive theme

A few months back we found the Foundation framework, and to say that it changed our lives as developers would be an understatement. For this project we took our base Foundation Drupal theme and kicked it into high gear to create a responsive theme for DataPublic. Look out for a release of that theme for both WordPress, Drupal 6 & 7 in the near future.

Parlez-vous franjáis?, Sprechen Sie Deutsch, ¿Habla usted español?

The distribution is also built to be as multi-language friendly as it can be. We've included translation files (strings) for everything we've built and have done everything we can to ensure that when you enable the multi-language options on your Drupal site that it will function as you expect. We've had some experience in building multi-language websites.

Kick the tires and take it for a spin!

The distribution is in Beta stage, so we want you to take it around the block a few times. Download the installation profile from Drupal.org (which also comes with .make file for those of you that use Drush make) install the site and let us know what you think. We're looking for feedback on everything from the theme to the feature build as well as the coding in the custom modules etc. If you're interested in any of the other feature or custom modules, go have a look on our GitHub account and you can find them all there. They are easy to spot, they all have a datapublic_ prefix.