The templates are organised around three aspects: permission, mode and appType:
| edit | view | list | |
| C.G.A | C.G.A | C.G.A | |
| admin | x.x.x | x.x.x | x.x.x |
| private | .x.x | .x.x | .x.x |
| public | . . | .x.x | . .x |
| The templated content can be categorized as |
| * Property snippets, |
| * Attribute snippets, |
| * Slot templets, |
| * Grove templets, |
| * Aggregate templates, |
| * Application templates. |
| And application templates can be categorised as |
| * permission based, as in public, private, admin |
| * crude triggered, as in list, edit, view |
| * entities, based on the ontonomy (binder) |
| * categories, based on the taxonomy (trait) |
| * widgets, as in filter, whatsnew, ..... |
Templates are organised in a hierarchy: snippet -> templet -> template
Templates based on permissions are found in tRoot/public, tRoot/private and tRoot/admin. Crude functions are triggered by templates in these directories. Their names start with '_' (underscore); like _editor, _viewer and _list.
Crude functions however, may use node based templates to render the properties of these nodes (vertex, edge). These templates reside in tRoot/@canvas/#<crude>.
Apps will use templates for known entities and/or known categories. These are centralised in tRoot/@canvas/public where each node has its own directory. Some apps can gather semantic content from complex ontonomy / taxonomy queries, like a graph structure. These templates are found in ./patterns/groves. Basic rendering of slots use closures found in ./patterns/slots
Finally, the manifests contain snippets with template functionality.