Best Practices Reporting with DITA XML
We hope to do a demonstration use of DITA to structure the reporting of Content Management Best Practices.
We are basing the structured contents of a Best Practice on a Design Patterns model, with the chunks of structure corresponding to well-known elements in Design Patterns, like intent, problems, solutions, trade-offs, rationale, proven uses, etc.
The next step is to come up with a DITA-based design. We need a DITA map for a typical Best Practice. (Or perhaps a specialized DITA map domain? - see Hennum, Hunt, and Schell.)
The DITA map defines a set of relationships for instances of topics, the information architecture of a Best Practice. Many of the topic element types in a Best Practice might simply be the topics, concepts, tasks, and references that are basic to DITA. But we may need more structural elements with richer semantics.
Design Patterns play a very large role in structured analysis of object-oriented programming. We might draft a DITA domain for Design Patterns, based on standard documents such as those of the Gang of Four. A design-patterns-domain (dp-d) would include elements that enhance the semantic support for the important subject area of Design Patterns. All these elements would be specializations of basic DITA topics.
Specializations of topics defined for the programming, software, or user interface DITA domains (pr-d, sw-d, and ui-d), while attractive, may not be possible, since the dp-domain must be specialized from the root structural modules for <topic>, in order for it to be integrated.
Once we have a dp-domain, it's a simple step for Best Practice reporting to use an extension of that domain, specializing it further as the best practices domain (bp-d), since not everything the Gang of Four includes in their O-O Design Patterns has immediate application for Content Management Best Practices (for example, Sample Code).
A still larger DITA map might contain the relationships between many Best Practices in a Design Patterns Library, since they have special elements for referencing other maps.
Concerns:
- There will not likely be a lot of reuse in Best Practices.
-
The amount of text in a Best Practice is very large compared to the target for a DITA topic -
A topic is a unit of information with a title and content, short enough to be specific to a single subject or answer a single question, but long enough to make sense on its own and be authored as a unit.
- If we divide the Best Practice into topics, they will not likely make sense on their own (see the typical sections of a pattern below).
Parts of a classic Design Pattern for O-O Programming (Gang of Four)
- Title
- Intent
- Motivation/Rationale
- Applicability
- Structure
- Participants (other Handlers)
- Collaborations
- Consequences - Tradeoffs (Benefits and Liabilities)
- Implementation
- Sample Code
- Known Uses
- Related Patterns
Design Pattern for Best Practices (closer to Alexander's original patterns)
- Pattern (Number/Title)
- Intent
- Context
- Problem
- Solution (may be a series of steps - a DITA task)
- Tradeoffs
- Rationale
- Proven Uses
- Related Patterns
- Getting Started
- References
- Status
References:
- A Pattern Language, Christopher Alexander, Oxford, 1977.
- Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (The Gang of Four), Addison Wesley, 1995.
- Design Patterns Explained, Alan Shalloway and James Trott, Addison Wesley, 2002.
- Object Oriented Reengineering Patterns, Serge Demeyer, et al., Morgan Kaufmann, 2002
- Common Ground, Jenifer Tidwell.
- Web Design Patterns, Martijn Welie.
- Design Patterns for Information Architecture with DITA Map Domains. Defining a Type for Collections of Topics, Erik Hennum (Advisory Software Engineer, IBM), Don Day (Lead DITA Architect, IBM), John Hunt (User Assistance Architect, IBM), and Dave A. Schell (Chief Strategist and Tools Lead, IBM).
- CM Pros Practices Format Research







