The Toolchain: First Pass

Today I’ve been kicking around the ICT office with Alex, figuring out how to make Jenkins (our wonderful CI server) build and publish the latest version of the CWD with all the bells and whistles like compilation of CSS using LESS, minification, validation of code and so-on. As part of this we managed to fix a couple of bits and pieces which had been bugging me for a while, namely the fact that GitHub commit notifications weren’t working properly (fixed by changing the repository URI in the configuration) and the fact that Campfire integration wasn’t working (fixed by hitting it repeatedly with a hammer).

This brought me to thinking about how our various things tie in together, so I set about charting a few of them up. After a while I realised the chart had basically expanded into a complete flowchart of the various tools and processes that hang together to keep the code flowing in a steady stream from my brain – via my fingers – into an actual deployment on the development server. Since it may be of interest to some of you, here’s a pretty picture:

This is (approximately) the toolchain I currently use for Orbital, including rough details of what is being passed around

The beauty of this is that the vast majority of the lines happen completely by themselves — I get to spend my days living in the small bubble of my local development server and dipping in and out of Pivotal Tracker to update stories. The rest is magically happening as I work, and the constant feedback through all our monitoring and planning systems (take a look at SplendidBacon for an epic high-level overview) means that the rest of the project team and any project clients can see what’s going on at any time.

Directory Data

If you haven’t guessed it already, we love data in open formats. Good quality, easily accessible data makes our lives easier, and causes children across the nation to beam with joy at the idea that they won’t have to copy a table from a Word document buried in a Zip file attached to an email.

In a continued drive to making all our data 5-star quality, I’m pleased to announce that we’ve made a few improvements to our Staff Directory beta. In addition to getting hold of people’s profiles in HTML using your browser (for example, see mine) you can now request them in three other delicious formats: JSON, RDF/XML and vCard.

The first two, JSON and RDF/XML will make the developers amongst you über happy. You can request them either by slinging appropriate http-accept headers to the usual URI for a person (http://lncn.eu/me/{account_name} is the canonical one), where application/json or application/rdf+xml will get you what you desire. Alternatively, you can hit up http://lncn.eu/me/{account_name}.json or http://lncn.eu/me/{account_name}.xml for the same thing.

The vCard format is of more interest to all, and provides a stupidly easy way to get a person’s details into your address book. By visiting http://lncn.eu/me/{account_name}.vcf (or by clicking the link at the bottom of any Directory profile) you’ll be given that person’s vCard, presenting their name, job title and contact details all in the industry standard machine readable format. It’s literally a matter of one or two clicks (or taps) to get information from the Directory into your computer’s (or phone’s) address book. If you want, you can download mine to see what I mean.

Continue reading “Directory Data”