arkadianriver

DITA production development (Perl)

A document production workflow

01 Jun 2007

Roles
Software Developer
Skills
Perl, PHP, Ant, XML, XSL, MySQL, Eclipse, JavaScript, Support

Developing reusable documentation components for large middleware software products requires an effective content management and build workflow. To author and maintain the many thousands of topics, writers depend on the tests and controls of the workflow.

As we all know, when such a workflow lacks automation, the burden of these controls falls on a few people who are subject to human error.

To alleviate that burden, I designed and developed a web application and automation around our existing build tools. I developed the web application with the quality control measures and usability features desired by writers and translators.

The system provided nightly full builds and incremental delta builds, building every few hours and only when the system discovered files had changed in the source control system. A colleague further enhanced the system by adding a build button so that writers could kick off incremental builds on demand.

Despite its many features, it was remarkably easy to maintain because of its thorough documentation and modular design, with a series of Ant macros driving perl routines that interact with the model XML and SQL data through custom perl modules.

An image highlighting some of the features

A screen capture of the front end UI

A chart depicting the build flow

A diagram indicating the flow of delivery branches