A history of the project

This section provides a chronological record of the project, why and how it started, from beginning to end. Some material in this section is duplicated in other parts of the documentation manual, but this section is designed as a readable, user-friendly narrative.

The story up to June 2007

In mid 2002, IofC decided to take forward its web development strategy in a major way. Up to this point, its internet presence had been patchy. There was a global website consisting of just a few static pages, in four or five languages. Some IofC national bodies had websites, but they were on the whole minimal and there was no branding consistency. This was not through any fault on the part of the technicians and editors who did their best to produce quality sites - but there was a lack of priority given by IofC to the internet, and inadequate resources invested.

In September 2002 a small team started work in Oxford: Jit-Mun Chong, a brilliant technician from Malaysia, took a year of unpaid leave to base in Oxford and do the programming; Eve Wojciechowska, a graphic designer from Canada already living in Britain, took on the visual work; Edward Peters, a jack-of-all-trades-and-master-of-none, undertook the team leadership.

In retrospect, we achieved the impossible! Jit-Mun worked far too long hours and produced our first website in less than three months - a standalone 'Extranet' (login) website to serve the needs of IofC's worldwide network. This site was programmed from scratch, and included some high-end features. We had started with a vision of a fully integrated content management system and this was the first step.

By the middle of 2003, we had a public global website in seven languages, and a few other public sites for national bodies. It was a heroic effort!

Jit-Mun returned to Malaysia after his year out, and was succeeded by Vitalie Cracan from Moldova. Vitalie had little programming experience but being a brilliant mathematician he quickly became an expert programmer - and stood at the heart of our web team for the next four years.

The second iteration of our sites (achieved in 2005) was the integration of all the public websites into one database infrastructure – with major benefits in content sharing and in speed of new site development.

The third iteration (on which we were working since 2005) involved a migration to a new, more solid architecture to carry the weight of an integrated Extranet (with its more specialised functionality) as well as the public sites, all in one system.

In mid 2007, however, it became apparent that our little team was too small, and not skilled enough by itself, to complete the third iteration in the way we had envisaged. Eve had moved on in 2006. And although John Freebury (Canadian, with considerable technical and community experience) had joined us in 2005, we were having to face the fact that the retirement of Vitalie was presenting major challenges to the sustainability of our whole web project.

We came to the conclusion that we could not continue as we were going, and needed to take stock.

After initial dismay at this reality check, we came to see it not as a failure, but as an opportunity to embrace a new vision of how IofC’s web needs were to be met.

Clarifying the direction

After some weeks of research we reached the preliminary recommendation that we should change our approach completely. Having been attempting to build a proprietary system, using our own dedicated personnel, we decided that the way forward involved engaging with an Open Source CMS project and community. Advantages of this approach includes:

  1. Access to much completed programming which would save us time.
  2. Access to a worldwide network of technicians who share learning.
  3. Future sustainability more assured.
  4. An opportunity to contribute to this online community, offering to others the benefits of our own experience of the past five years.
  5. A faster way to network with other NGOs which are creating similar systems to meet their needs.
  6. ‘Open Source’ fits well with IofC’s ethos of sharing and community-building.

Drupal was recommended to us as one of the best CMS projects available. Our initial look at it confirmed that it might have most of what we needed. But there were other CMS fameworks to consider....

After some research, it narrowed down to a choice between Drupal and Joomla. Each had their advantages. If you want to read some details of our assessment read our article Assessing and choosing Drupal.

It was a difficult choice: firstly to abandon our proprietary system after so much effort, and then to choose Drupal. We knew it would place limitations on us, mean sacrificing some of our ideas, and involve compromises. But going with Drupal also mean embracing many good new ideas, and would give us significant advantages in terms of adherence to standards, access to core functionality which is time-consuming to programme, participation in a worldwide community of developers, and the capacity to stay close to the leading edge of web development.

Getting started on the Drupal project

At its AGM in August 2007, IofC's International Association agreed to increase the 2008 web budget to make possible a one-year project to move IofC's web infrastructure into the Drupal framework. Nevertheless, the available budget was small for a project of this size: around $US30,000 plus 60% of the project leaders time.

To understand the scale of what was being attempted, you need to review where we stood at mid 2007:

  • 15 or so 'public' websites, all sharing a codebase and and run off the same two mysql databases, and grouped into
  • One 'private' site for IofC activists (the 'Extranet'), with its own codebase and database - though a good deal content shared with the public sites.
  • Integrated email lists running off the main Extranet contact database (one email address per person, kept up to date!) synchronised with the Mailman mailing application for multiple lists.
  • Full CMS system for management of content on all sites.
  • Etc etc

Reconstructing all this - and adding desired new functionality too! - in Drupal was going to be a big task. And we soon realised that the learning curve for Drupal is very steep.

John Freebury began the autumn in Moldova, where he had been based for half a year, but moved to Oxford in late September to work more closely with Edward. We were fortunate, meanwhile, to find a systems analyst in Moldova, Pavel Capcanari, who was able to commit up to 20 or so hours per week to work on the project with us. He brought to the team some important skills which others of us lacked, and we began to design the project.

Having spent five years previously developing a web application with little advance planning or documentation - working things out as went along - we were determined to do it differently this time. We recognised that the first months would need to be spent in careful preparation.

Where have we got to?

We are now well into the planning process. We have drafts of the requirements documents, including the long outline of 'Functional Requirements'. The next stage is to prepare the 'use cases' which detail exactly what users need to achieve through the steps they go through on our sites. I am getting started on this, and it may take between now and Christmas to get these all ready.

Meanwhile, Pavel and Vitalie are researching solutions for our multiple-sites-and-groups needs. This is the biggest issue we need to crack, as we are attempting a complex configuration, with many sites and groups and languages all working off one codebase and one database. There are no ready-made solutions yet in Drupal which meet our needs, but there is a new module 'Domain Access' which, together with its extension modules, might take us a long way - even if we end up having to programme our own module(s) to get all the way there.

John is deep into planning the process of data migration which is a huge and complex task. Fortunately, a Drupal expert who gave us some training ten days ago, shared a brilliant way of migrating data. Instead of mapping old database fields to new database fields, you use the Drupal form API as an intermediary. Thus we do not have to understand the Drupal database structure entirely, so long as our old fields are correctly mapped to the right fields in Drupal forms - and the Drupal execute function writes the data to the new db structure.

It is far too early to say, yet, exactly when we will be able to roll out the new system. We envisage a Phase One release next summer or autumn...

At times I get discouraged, as the planning takes so much time. But I think it is wise to plan carefully. It will save time in the long run. And we must remember that we are building an infrastructure which we hope will serve the needs of IofC for many years to come.