Skip directly to content

Show Your Concern

Award Category 
Drupal Version 
Brief Overview 

Concern Worldwide is a leading international humanitarian organization dedicated to tackling poverty and suffering in the world’s poorest countries. The Show your Concern project is just one of many online fundraising projects that Concern runs. The website enables members of the public to register for events that are organized by Concern. They are provided with their own personal online fundraising pages, enabling them to simply and securely collect sponsorship money through the site, on behalf of Concern.

Events can be anything from trekking across Nepal, to climbing Mt Kilimanjaro, to taking part in a triathlon! As well as all of the incredible events that Concern organizes, users of the site can even set up their own events and use the site as a fundraising portal for these.

Launch or Publication Date 
Saturday, August 11, 2012
Key Modules, Theme, and Distribution Used 
Bean Commerce Commerce Registration Entity API Entity Form Entity reference Entity queue Features Field collection Formflow Media Omega OpenLayers Panelizer Registration Rules Variable Views data export
Why these Modules, Theme, and Distribution were Chosen 


Where possible, solutions have been architected using a strong set of what we consider to be 'core' modules. Modules like Views, Entity Reference, Field Collection, and Panelizer - they are enablers. That is, they enable more specific features to be built on top of them. Drupal Commerce is a prime example of this - it relies heavily on the power of Rules, Views and Entity API and doesn't try to reinvent the wheel within itself.

Specific use cases are satisfied by combining these modules, using Features to 'glue' them together. Where specialized modules have been used, we try to select modules that properly build on these solid foundations such as Core's Entity system, or Views.

Development Company 
Why Drupal Was Chosen 
Concern Worldwide have been using Drupal to power many of their web applications since the days of Drupal 5. We (SystemSeed) are currently in the process of migrating Concern's flagship site,, from Drupal 6 to Drupal 7, and a large part of this work involves building a fundraising platform, tailored to Concern's specific needs. That is, a single common platform that will eventually be able to power all of Concern's Drupal sites, and provide a consistent user experience across their entire suite of sites. The old Show your Concern site (previously known as Concern Challenges) was built on a bespoke PHP-based platform, meaning that support and maintenance efforts were somewhat split – so, consolidating and standardising all of their websites onto one common platform made perfect sense. The flexibility and stability of Drupal core as well as the huge number of top quality contributed projects like Drupal Commerce, combined with some other Drupal-related technologies such as Aegir, and Drush make the Drupal Content Management Framework a very powerful system that can be used to build a fundraising platform such as this.
Describe the Project (Goals, Requirements, and Outcome) 


Project goals

The primary goal of the project was to redevelop an existing website built in a bespoke PHP application, to run on Drupal and integrate with Concern's other Drupal sites. The larger project, which is still under development, is to build a new online fundraising platform, developed from the ground up, making the most of all that Drupal 7 and Drupal Commerce have to offer.

Obviously, Concern’s project objective was to increase public revenue through the new site.


The main requirements for the site were as follows:

Event registration

The primary purpose of the site is to allow users to create and register for events. On the one hand there are 'official' events that Concern organizes. These events typically have a registration fee associated with them which users are required to pay at time of registration. On the other hand, users are able to create their own events. These could be literally anything from a sponsored swim, to a sponsored code sprint. These are free to create, and can be created by anyone.

Techie note: Event registration is primarily handled by Registration Entity, Drupal Commerce, and Commerce Registration. The registration forms are strung together using a combination Formflow and custom Commerce checkout pages and panes.

Personal fundraising pages and profile pages

For each event that a user registers for or creates, they get given a personal fundraising page. This page shows details of the event, along with a personalized message, a summary of any funds raised, and supporter comments. These pages can easily be promoted through Facebook and Twitter in order to tell friends and family about them.

User's individual fundraising pages, and a profile page, essentially pull together and summarize all of their fundraising activities across all events that they are taking part in.. Users are able to customize their profile page with a personal message, specify which events they want to feature on the page. The profile pages can also be easily shared on Facebook and Twitter.

Techie note: Personal fundraising pages are created by Rules, as a result of a user creating or registering an event. Many of the components on the fundraising pages are created as Views content panes, and custom Views field handlers. The components are pulled together using Panels.


Once a user has registered for an event, has their own fundraising pages up and running, and have told all their Facebook and Twitter contacts about them, they are ready to start raising money for Concern! Donations and sponsorships can be collected directly through the site or offline and returned to Concern by other means. If a user collects funds offline, they are able to add these to their fundraising total to ensure that the totals shown are an accurate representation of all funds raised both online and offline. When people donate online, they can leave a comment for the fundraiser, which can optionally be displayed on the user's fundraising page.

Techie note: Drupal Commerce handles the donation process. This checkout flow is somewhat customized from the stock Commerce checkout process - It uses a one page checkout, and users are able to modify the price of the donation product right there on the checkout page. Drupal Commence as a framework is flexible enough to make this possible. For this, there is a custom 'donation' product type and a custom line item type. The comment facility is provided by the Commerce Fieldgroup Panes module. The comments themselves are Field Collections, and Entity Reference fields tie the whole lot together.

Newsletter subscriptions

Users are able to sign up for newsletters through the site which enables Concern to keep their supporters up to date with exciting new events that are being planned! The newsletter subscription process is very specific to Concern's requirements, which is simply to collect the registration data, and export it to another external system where newsletters are managed.

Techie note: Entity Construction Kit was used to create a custom Entity Type, giving the ability to easily create new newsletters, each with their own fieldable sign-up form, and each automatically integrated into the system-wide data export system (see below)

Data exports

All data collected through the site is consolidated in a simple batched download system. Whether the data is for user registrations, event registrations, donations, newsletter or newsletter subscriptions it all feeds through to a central data export control panel. Data is batched up into regional daily downloads and these are exported by staff at Concern and imported into other external systems.

Techie note: Data export requirements are very specific to Concern's requirements. To facilitate this, CTools-based data export plug-in framework was developed to provide a central data export system that other site components can plug into. The actual data exports are generated by Views, and exported using Views Data Export. Several custom Views field handlers allow for the exact data requirements to be easily met by Views.


Concern has its own Aegir and Git servers which we set up some time ago and manage, as well as dedicated development and production servers. We also integrated our Jenkins Continuous Integration system into Concern's Aegir servers to automate deployment and testing. All servers are Rackspace Cloud Servers set up with everything required to power high performance Drupal sites – Nginx, FastCGI Cache, APC, Redis. Much of this is handled by the excellent Barracuda server provisioning system.

Type of Nomination 
Additional developers 
Development Company