Templates


Templates can be created for the following entities:

A template is a definition in which variables appear in key fields of the definition, enclosed in curly braces, for example {sys}. When a template definition is saved, regular definitions are generated by enumerating all the values defined for each of the variables used by the template.

Variables are fundamental to the templating mechanism. A new folder under Setup allows them to be defined. A variable consists of a code, a description, and a set of values. Each value can optionally have a note associated with it.

A definition generated from a template is called a derivative. Derivatives are listed in a subfolder of the template definition row. They also list as rows in their own right, but are displayed with grey text to indicate that they are not modifiable. Derivatives can be deleted, subject to the usual constraints on deletion of definition entities (e.g. a location cannot be deleted if routes refer to it). However, if a derivative is deleted without also removing either the variable value that produced it or the entire template from which it was derived, then when the template is next saved the deleted derivative will be recreated.

Changing the set of values a variable has does not automatically create, update or delete derivatives of templates that use the variable. To create new derivatives you must open each template and re-save it. To delete obsolete derivatives (i.e. ones previously created by a value that the variable no longer has in its set) you must delete the derivative record explicitly.

In some situations it can be useful for each variable value to be divisible into two or more elements, so that the different elements may be used in different places within templates. For instance a variable named sys might be defined like this:

A template definition of a system could then be:

The presence of one single-quote character at the end of the variable name within the description field indicates that the second single-quote-delimited piece of the variable value is to be used. The variable name here is pronounced "sys prime", by analogy with the prime symbol used in mathematics to decorate variable names and create related variables.

The derived entries are shown in light type in the list:

If necessary the variable values can have further single-quote-delimited piece. Additional single-quotes are suffixed onto the base variable name to access the appropriate piece in templates.