Sunday, October 25, 2009

DITA - Reduce, Re-Use, Recycle

In any business you will typically have a set of documents that use common content. This always causes problems. What tends to happen is that content is copied and pasted into multiple documents and as it changes and as the number of documents multiply it becomes harder and harder to keep it up to date.
The nice idea would be to keep that content in a database and only update it at the source and then use it wherever you need it. That's been the holy grail for years, and if you were a large company then you probably had the money and the expertise to do that. The ASX, for instance, had a system like that for some of their publications back in the early 90s. Good but highly technical and very expensive.
Enter DITA. DITA is the Darwin Information Typing Architecture - go and Google it for some background. In short DITA uses XML format documents to create topics - short chunks of information - and uses ditamaps to combine those topics into publications. But there's a whole lot more there than that.
DITA can be output in a number of formats - do you want to use your XML topics to generate a website? DITA can do that. Do you want to use the same content to create a PDF document? DITA can do that. Eclipse Help? Use DITA.
You can use open source tools to run your whole DITA solution - there is a thing called the DITA Open Toolkit that does all the processing and you can use "free" XML editors to create content.
That's OK until you want to have content available over the web or to collaborate on content. Then you need a more complex solution.
That's where XDocs comes in. It is a content management system designed for DITA. It stores content, manages links and generates content output. It's a Java application, runs in Tomcat and uses MySQL as the database. So there's plenty of open source kit in the background.
XDocs runs on Windows, Linux and I just did the first Mac OS X install on Snow Leopard over the last few days.
Why do I use it? Imagine a Pilot Operating Handbook for your favourite aircraft and imagine the downwind checklist. Now imagine the POH for another similar aircraft and the downwind checklist. They're likely to be the same. Why would you write them 2, 3, 4 or more times to keep versions of POHs up to date. In our case the aircraft manufacturer "owns" the content and we manage the publications. Trying to keep multiple POHs up to date using MS Word or something similar is just not possible. Not if you want to stay sane.
Instead we have a library of topics which range from the procedure used to do a weight and balance (the same for all aircraft types) to the CG limits for the aircraft (different for each type). We generate them at runtime into the POH for the appropriate aircraft type. XDocs allow us to utilise publishing profiles so that we can exclude content which meets certain criteria. This allows us to put content into a map but to exclude some of that content for a particular aircraft type. Each aircraft gets a hard copy POH, a CD and we also serve the same content up on a Knowledge Base website that is part of the XDocs product. Very sweet and smooth. If we change content in just one place it changes for each of the uses that it is put to.
XDocs has a number of parts. The server runs in Tomcat and uses MySQL to store content. There is a Java client application that again runs on the three platforms. It allows you to access and manage your content repository, which by the way can also include other types of documents, images or other digital assets. Then there is the editor that is called from the client application. In our case we use XMLMind but you could also use XMetal - XDocs has integrations for either.
In addition there is a content management portal that is accessible via a web browser that allows you to access the repository and to generate content - if you want to build a PDF on the fly at a customer site then the portal allows you to do that. Finally there's the Knowledge Base which allows you to serve a map as a website.
But here's the punchline: XDocs, which is developed and sold by Bluestream, is cost effective for small business and yet scalable for growth. As well it's simple to configure and manage. This is a great product.
So whilst we may not be as big or complex as Airbus Industrie we are using similar technology to manage our documentation. In their case the same content chunks are used for printed publications, EFBs...you name it the content is re-used for it.
If you are interested in DITA and its background then simply hit Google, you'll be surprised how much is out there. If you want to chase down the theoretical background then search for John Carroll and minimalism, you get to stuff like this. It is very relevant to aviation documentation and learning.

No comments:

Post a Comment