How it Happened

At the end of 2009, we were contracted to do updates to a government web site, including a ‘resource library’ specified with a spreadsheet with one row for each link. I was expected to copy and paste from the spreadsheet in to the content-management system. Worse, updates to items were specified by updating the spreadsheet, leaving me to work out which entries had changed, more or less the definition of an tedious and error-prone activity. My attempts to automate this were made harder by the hoops you have to jump through to appease the CMS. Wouldn’t it be easier, I thought to myself, if we cut out the middleman and run the site from the spreadsheet directly?

So one evening I knocked together a little Django app that loaded a spreadsheet’s worth of links in to memory and served them up as pages with simple drill-down navigation automatically generated from keywords. My first example is a list of Star Trek fan films. Though I originally did kind of a joke, I discovered (despite being someone who normally shuns spreadsheets) that this is a fairly convenient way to maintain a list of links. So that is how the project information section for this project page works.