CMS-driven website based on the corporate sites framework we built (XML content documents delivered by an Atompub webservice and transformed using XSLT within a Zend Framework PHP web application) with some extensions for this site packaged as a Zend Module. The additional functionality includes additional content document types modelled in XSD and programme information searches implemented using a solr webservice and algorithms to convert between the BBC's week numbering system and the Gregorian calendar. The CMS is regularly used by more than 100 users with several hundred new publications each week.
Employed to add support for Google Video Sitemap and Bing Video feeds to the BBC Learning Zone Broadband Class Clips site. This involved reverse-engineering a MySQL schema and extending SQL queries, output generation with inhouse perl-based templating system and URL manipulation using Apache mod_rewrite.
Interface redesign and test-driven code refactoring of a PHP library for fetching image metadata. The work included: abstraction rationalisation; an API documentation overhaul; raising unit test coverage; implementation of a caching mechanism with collision-safe hashing; implementing a mechanism for active deprecation of obsolete methods whilst maintaining backward compatibility; desiging and implementing classes to interoperate with a number of image repositories; code + docs walkthroughs with other developers to spread knowledge through the team.
Employed by the BBC as a technical consultant to assist a company developing a website for the BBC in order to get them up to speed quickly with the platform. This involved: explaining the web infrastructure, software and release processes; getting a prototype PHP web application running with a developer; proposing strategies for caching, error handling, application monitoring; reviewing application design, code, unit tests and documentation.
Dynamic website generated via XSLT from XML documents in an atom store. A CMS was implemented using Alfresco Web Publisher (content modelling in W3C Xml Schema). The web application was implemented in PHP using the Zend Framework using libxslt and memcache. A page caching strategy (based on the Varnish HTTP accelerator) was designed to minimise load on the page assembly infrastructure and maximise responsiveness for end-users.
Technical design, project management and implementation of the website based on an xml content authoring process and content generation via XSLT. The site was prelaunched as a thin technology version (using XSLT run in the back office) and the page layouts and content models were honed based on audience feedback and user testing to minimise the round-trip time whilst the site was evolving rapidly, before building the dynamically-served site. The dynamic version of the site has a carefully-designed caching strategy to minimise the load on the page assembly infrastructure and optimise responsiveness to end users whilst keeping software complexity as low as possible to ease debugging and maintainability. The traffic to the site doubled after the new version was launched.
Responsible for overseeing and reviewing the design, build and documentation of PHP client libraries to fetch data from wikipedia and a media asset web service.
Coaching software developers in OO design, programming and testing in PHP and Actionscript.