Trócaire: Working for a Just World
Trócaire is a leading Irish overseas development agency that works with amazing people to bring about positive and lasting changes in some of the world’s poorest places. Last year, Trócaire spent over €60 million on 124 programmes across 38 countries in Africa, Asia, Latin America and the Middle East. Their programmes are carried out with partner organisations so local people drive the whole process and, in turn, their own development.
The programmes aim to:
- Build a reliable way of life and help people cope with climate change
- Respond to emergencies and disasters
- Tackle injustice and defend human rights
- Address the HIV and AIDS crisis
- Support gender equality
Trócaire's annual 'Lent campaign' is the single largest fundraising campaign in Ireland and enjoys huge support from the Irish public each year. Trócaire's website www.trocaire.org has become a key fundraising tool for the organisation and an essential way to show supporters the impact of its work and increase awareness.
Annertech built the Trócaire site using Drupal 6 and many contributed modules. In general, we used Migrate to pull in the data from the existing CMS, CCK to build the content, Views to list it, and Panels to arrange the items on a page. For example, the home page is a panel page containing several mini-panels, views and other blocks.
Building the Site
Trócaire already had an existing website, built using CMS Made Simple. Despite having decent hardware, and hiring specialized consultants, the site suffered from severe performance issues, and was not as flexible as they would have liked it to be. The decision was taken to switch to Drupal, but there was still the issue of migrating all the existing content, files and users to Drupal. Using the excellent Migrate and Table Wizard modules, created by Mike Ryan and Moshe Weitzman of Cyrve, this task was made much easier. Over 2000 pages, 500+ files, almost 600 taxonomy terms and close to 100 users were successfully migrated across.
There's a total of 12 content types on the website, the main ones being news articles, blog posts and regular pages. For all content on the site, it was necessary to support the addition of a banner image and text to display over it. This was done using an ImageField and a customized node.tpl.php file.
Other content types include "emergencies", which contain a number of View Reference fields to pull in lists of related blog posts and documents; "country profiles" of the countries that Trócaire work in, and "tdr articles" from the annual Trócaire Development Review publication.
As usual, the Views module was used extensively throughout the site. In total 36 views were created which included news listings, recent blog posts, product catalog pages for Ubercart, resource document lists and is also the glue behind the Trócaire Development Review archive.
We used Panels 3 to build a number of non-standard page layouts. For instance, panels is used in two different ways for the front page of the site. The entire page is a panel page, created using the flexible layout option. In addition, each of the blocks in the left hand side column is actually a mini-panel block, containing an image and a snippet of text.
On other panel pages we used contexts, based on the path, to allow the construction of more complicated pages that, for example, affect all nodes of the same type. For instance, the product pages were built in this manner.
A multi-currency shopping cart was created on the site using the Ubercart module with a patched version of the Multi-currency module. Some custom development was also done to integrate Ubercart with the Payonomy payment processing solution.
The ability to accept donations, in Euros and Sterling, is one of the key features of the site. A bespoke module was developed to provide both single donation and regular donation forms. Again the Payonomy payment processing solution was used to handle credit card payments and both forms integrate with Salesforce CRM so donations can be recorded in a central location.
Trócaire organises a large number of campaigns throughout the year encouraging people to help in key causes, such as providing aid to Somalian refugees, and promoting awareness of how climate change is impacting the world's poorest countries. For each cause, Trócaire runs a letter campaign, asking people to contact their local politicians and encourage them to take action. This functionality was added to the website by creating a new sub-module for the Activism module, called Activism Letter.
A vital component of the Trócaire project was to integrate all user facing forms with Salesforce CRM. This included the donation forms, Ubercart's checkout page and a number custom order and contact forms that we created using the Webform module. We used the Salesforce and Salesforce Webform Integration modules to achieve this, and were easily able to extend it using the api and hooks they provided.
Trócaire produces a large number of resources related to education and policies for use in schools. We needed an easy way to browse these documents and used taxonomy terms to categorize them. We then combined the power of Views with the terrific Quick Tabs module to create blocks of tabbed views, each showing different categories of resources.
The Zen starter kit theme was used as the base theme for the site. It uses a 2 column layout as standard throughout, and has a fixed width of 960px. The front page, done using panels, is the only page that breaks from the 2 column layout.
One of the critical areas of the project was to improve the performance of Trócaire's website. By switching to Drupal, enabling caching and optimizing the server configuration, Trócaire saw the number of page requests they could handle per second rise to over 380. This was a staggering 86 times faster than their old site!
Over 100 modules were used in the construction of the site. The most important of these are listed below:
- CCK - for building the custom content types.
- ImageField, FileField, Image API and ImageCache - for adding images, documents and other resources to the site.
- Views - used to build numerous content listings throughout the site, including the latest news, blog posts and also the product catalog pages.
- Panels 3 - used to build a number of non-standard layouts, including the front page and product nodes.
- Ubercart, Multi-currency - for the online shop.
- Salesforce, Salesforce Webform Integration - these were used to integrate all user facing forms with the Salesforce CRM tool.
- Quick Tabs - used in the construction of the resource browsers.
- Activism - to provide the online advocacy campaigns.
- Migrate, Table Wizard and Schema - allowed relatively pain-free migration of all existing content and users to Drupal.
- Services, SOAP Server - needed for Payonomy integration.
- Webform - for building custom order and contact forms.
- Multiblock - for creating multiple versions of the donation blocks, each with a different configuration.
- View Reference - for displaying views listings on node pages.
List of modules and patches contributed
Trócaire were happy to contribute back all custom code and patches developed during the project to Drupal. Here are some of the main ones:
- Activism Letter custom module - #530916
- Ubercart Payonomy module - uc_payonomy
- Migrate - #484404, #551254, #541700, #540908, #411156, #525996, #426824 and #520264.
- Salesforce Webform Integration - #445616
- Quick Tabs - #460092
- Views - #540122
- Panels - #529258, #530104
- Ctools - #522454
(Cross posted on Drupal.org)