|
PmWiki-DITAThis is an effort to investigate how to leverage DITA concepts to make this site (pmwiki.org) better organized (in a topic oriented way) and easier to find information for all audiences (author, reader or admin) and at a detail level of basic, intermediate or advanced. DITA, is the Darwin Information Typing Architecture (DITA). DITA is an XML-based, end-to-end architecture for authoring, producing, and delivering technical information. This architecture consists of a set of design principles for creating "information-typed" modules at a topic level and for using that content in delivery modes such as online help and product support portals on the Web. Q. Why DITA? Even though PmWiki is not XML-based, what does DITA have to do with PmWiki? A. In order to fully understand the strengths and weaknesses of DITA, it is necessary to provide a lot of background material. In order to answer the second part of the question, too, we need some familiarity with DITA and SGML concepts. What we will attempt to do here is to limit ourselves to two "architecture" aspects of DITA.
The above answer is still not satisfactory since it contains terminology such as element, conref etc. Ignoring the terminology for the moment, the first attempt we will make is to structure content on this site into topics and use simple PmWiki markup and page includes and nested includes and trails to organize the content. The next step will be to investigate if additional features of PmWiki can be mapped to DITA so that it becomes possible to select a collection of pages and create a DITA file which can then be processed by other DITA tools. Finally, if it is possible to set up templates that have design patterns built in for creating new PmWiki documentation, it will be possible to save a lot of time in creating documentation. This last requires things such as topic pull, and map pull etc. which may either take too much trouble to realize or may make sense and be possible. Some brainstorming is required here. Since PmWiki mixes content and layout, it is incompatible with the DITA way of thinking where the emphasis is on separation of content and presentation. However, just as there is the PublishPDF plugin for PmWiki, there is no reason why a PublishDITA plugin could not be written. Also, PmWiki allows writing additional markup in order to approximate things like ditamaps, XSLT processing etc. The benefit that we have in using PmWiki is that a lot of the XSLT type of processing will not be required as presentation aspects will already be part of the content. There are two approaches that could be taken. The first approach puts all concepts, tasks and references in three big files which are manually (meaning via include markup entered by a person with no automation or processing by the PmWiki engine to make the markup conform to any map) brought together into a single page or trail containing the content. The concept of hierarchical DITA elements is ignored in this approach. In the second approach, a group is treated as a DITA element. Thus, PmWiki-DITA would be the top most element, topic (Actually, some pages under that would be of infotype topic and others will consist of what would normally be produced by DITA processing which is content pulled in from the other PmWiki-DITA groups.) Normally, under the topic element we would have the PmWiki-Concept, PmWiki-Task, PmWiki-Reference groups but since PmWiki does not have hierarchical groups, they will be at the same URL hierarchy and considered as being under the topic element by convention. Thus, there would be groups PmWiki-Concept, PmWiki-Task, PmWiki-Reference each of which would be topicref elements. Pages under each would thus be of infotype concept, task and reference respectively. More to come...... |