While many uses of WikiWiki contemplate that any text presented may be edited, in many environments, users are presented with primary source material that they cannot change, but can merely comment upon or annotate. Examples include laws, regulations or other official governmental documents, company policies, publications, and correspondence -- in general, any text whose exact words are the focus of attention and for which any change is a corruption (such a text may be said to be "canonical"). At the same time, users' commentaries upon the primary source material is typically not canonical and can benefit from the collaborative editing facilitated by WikiLike tools.
Several elements would seem to be necessary to support AnnotationsOfPrimarySourceMaterial:
- A "control character" or similar convention for designating text as primary source material.
- A server-side feature of saving the designated primary source material.
- A "control character" or similar convention demarcating either the annotation itself or a WikiLink to the annotation from the primary source material. As an alternative to a WikiLink, perhaps words or phrases from the primary source material could be turned into links themselves (e.g., a defined term linked to a definition), though this is probably more complicated and difficult to integrate with basic WikiWiki conventions.
- In processing the annotated primary source material, the wiki server would compare the annotated primary source material against the saved canonical primary source material, to allow annotations but prohibit corruption of the canonical primary source material. At its simplest, the processing could reject submissions that attempt to alter the canonical primary source material altogether, though with more effort, the canonical text could be "healed" (one could imagine that annotaters may inadvertently change whitespace, etc.).
- Some sort of AccessControlList might be necessary to prevent corruption of the primary source material, while allowing trusted persons to edit it.
Given how straightforward this would seem to be, is anyone aware of any
WikiLike software supporting
AnnotationsOfPrimarySourceMaterial?
See AnnotationEngine and the AppendOnly discussion.