Introduction

This paper presents a case study on the development of a set of standard tools to support and enhance XML based development practices in a content delivery team in a major publisher of digital information. Originally the team used Microsoft’s Team Foundation Server (TFS) as a code repository and Apache Ant as a build tool to perform a variety of XML related tasks, principally XSLT and Schematron development for a wide variety of types of content with numerous internal end users. While TFS is a functional tool it does have certain limitations (branching, for example, among others) but was not being used in an optimal fashion: the entire code base for all projects in all the content teams was included in a single repository. Build processes were also poorly documented—as was the code and the build files themselves. Deliverable XSLT code was built using a complex web of Ant includes with temporary changes being made to certain of these build files by individual developers to build the code they needed to deploy at that time. Another developer would then make similar modifications to their copy for their work. Even worse, the transformation pipelines that converted content often ran the code directly from this repository so there was no separation between code in a development state and code being used in a production environment.

In summary then the team was having to work around a number of issues:

Although it was not referred to within the team in these terms, these seem to be fairly standard DevOps issues, and it was becoming increasingly clear that improvements would have to be made.