We engineered a Java web service from the ground up to allocate randomly selected, but guaranteed unique, names to users of the CBBC website.
- Written using Java 6 and the Spring framework, interfacing to a MySQL database with JDBCTemplates.
- Provided a fully documented REST API and PHP helper interface for the team to turn into a user-facing web application.
We also worked to ensure that the service would be as perform as well as possible under heavy load.
We spent 3 months embedded in the BBC Search, Navigation and Homepage department, during which we:
- Formalised a testing / QA process that is fluid as possible, ensuring
- Manual test plans: Test plans that walk QA staff through all aspects of the site that will grow as new work is added.
- Prioritised mobile testing: Instead of testing equally on over 20 mobile devices, we used site statistics and research to narrow this down to 5 P1 mobiles and a selection P2 mobiles, as well as other tools such as emulators and desktop equivalents to aid the testing process.
- Tools to automate as much of the release process as possible.
- An automated test suite using Cucumber & Capybara to bootstrap the team into a Behaviour-Driven-Development style of working. This covered all major functionality of the homepage at present
We undertook and documented this work using the BBC's tools of Confluence, Subversion and Jira.
The charity SOS Children's Villages required Plone expertise to help both on their existing site and new projects. Working in sprints within the existing team we:-
- Offered advice on performance and coding standards for their existing site
- CMS design and build for the Our Africa project to build a video heavy site aimed at school children. We used Dexterity and Diazo to create data structures that could then be transformed into the graphical navigation for the site.
Visit the Our Africa site and see what you think.
The BBC Vision department have a Perl-based pipeline system used for transcoding video, amongst other tasks. The service is due to be decommissioned, however memory-consuming inefficiencies in the system meant it could not be collapsed to a single server, to offer a skeleton service. We refactored the pipeline and it's Oracle SQL queries, partitioning their work into smaller chunks. We also removed entire sections of the pipeline, as upon analysis they weren't necessary at this stage in the products life.
The service's memory consumption was solved with minimal effort, allowing the decommissioning to proceed without significant extra cost.
Lime Pictures limited wanted their corporate website redesigned, with a much more modern, stylized look. From designs they provided we were able to:-
- Utilise the latest Diazo & Dexterity developments in Plone to create something quite unlike traditional Plone.
- Create solid HTML markup, styling and animating the site in an accessible manner with CSS and jQuery.
- Configure and deploy Varnish to ensure site can handle peaks in load.
- Advise on and work with the hosting company to set up environment for Plone and the backup strategy.
Visit the Lime Pictures site and see what you think.
The BBC required data to be migrated from a bespoke XML content management tool to the Alfresco WCM, a XSD-driven XML content mangement tool. For this we:-
- Architected a new suite of XSD schemas that all existing data would translate to, removed any annoyances and shortcoming in the exiting schemas. The result being a set of schemas that Alfresco could understand and edit.
- Created a set of XSL transforms that could transform any existing content item to one of the new schemas
- Created an automated pipeline that could take an entire content dump, transform and re-organize the XML files, validating that all complied with the new XSD.
Business Webbing run a number of websites on behalf of a firm offering professional development and coaching services to financial advisors. Wanting to implement Single Sign On between the sites, Business Webbing turned to Shuttle Thread for advice and development because of our Plone and Single Sign On experience. As part of the engagement Shuttle Thread:
- Installed LDAP.
- Migrated and merged user data from the existing sites into LDAP.
- Extended Plone's login functionality to support cross domain single sign on (to be included in Plone 4.1.)
- Backported email login and Single Sign on support to Plone 3.