One new cool application of DITA in which we’re seeing increased interest is dynamic document assembly. The idea is this: someone (an end user, a sales person, a content publisher) needs to create a custom document. They decide what content is to be assembled based in one of two ways:
- They define some criteria – such as all content in a date range, about this subject, by this author, of this content type, in this language, etc. – and a query returns the topics they need.
- They select the content by browsing a simplified repository of components they can assemble, and they check off the parts they need.
The applications of dynamic document assembly we’ve seen include:
- Custom sales literature – combining information about the particular products and services in which a customer is interested into one document
- Personalized books and course packs assembled from sections of other books (this is big for how-to documentation and training materials, as well as reference manuals)
- Service notes with just the relevant portions assembled for convenience print (this is important when you can’t bring a mobile electronic device to the repair location, like secure environments or cleanrooms)
- Test question sets for e-learning applications, where the questions are drawn from a pool
- Responses to support tickets with attachments of relevant articles from a database
- Sales proposals and RFP responses assembled from previously authored content
In some cases (like a sales proposal), the sequence of content is important to the user (in which case they are effectively building a custom map). In other cases (like the test question set example), it’s the relevance of the set of content that matters, not the sequence.
High quality metadata is really important for dynamic assembly applications – especially when a query is assembling the content, and when the pool of content is quite large. An upcoming feature release of easyDITA will include taxonomy and metadata features that will make dynamic content assembly a breeze. We’ll be adding a term store for managing controlled vocabularies, and features for mapping those vocabularies to CMS metadata fields, prolog metadata, and attributes (for profiling and filtering).
Are you planning or currently delivering dynamic assembly of DITA content? What’s your application? What features matter most to you? Do you use taxonomies today? How do you manage taxonomies and controlled vocabularies? Can you expose them as “pick lists” to users of your authoring and publishing tools (or even batter as facets to search users)? We’re looking for lead customers and beta accounts right now who can help us refine the features based on real-world applications. We’d love to hear from you – please leave a comment here or write us.