DocTypes Design
Pages are containers for Typed Objects. Objects are defined within Pages
- by a headline on level two with the name (ID) of the object
- and by the call of a template with the name of the Object´s Type containing all its Property values.
All Objects in a Page shall belong to the same Type (maybe this restriction can be relaxed later). Therefore we could also say the Page has the same Type as the Objects it contains (although this is not really correct).
Relations exist on a logical level between Objects, on a physical level between wiki pages. Objects are referenced by their Page and their name (i.e. pageName#objectId).
A DocType defines a Chapter structure which applies to all Instances of the DocType. Technically you define a DocType by a set of wiki templates. Object Properties correspond technically to the parameters of the Type template.
Objects can contain links to other Objects. If these links are defined as a Property we call them References. A 'normal' wiki link within the text of a given Property, however, is NOT a Reference. A reporting language can be used to create reports on References. With some custimisation one can even produce graphs showing Objects and their References.
For each Type a Help article explains the semantic meaning of the Properties to a human user.
Typre-related templates are used to
- provide an ovierview which Objects exist
- provide nice Wiki formatting for the object
- provide XML formatting for the object
- produce a big Wiki text which contains all Objects of a given Type
- produce a big XML text which contains all Objects of a given Type
Functionality
- Creating new Pages is supported by edit templates and explanations.
- Copying Pages is made easy.
- Objects can be exported as XML
- Objects can be concatenated to one big HTML file (which can be transferred to pdf e.g.)
- There is a customizable overview of all Objects of a given Type
- You can define reports which show Properties and walk along References.