The File menu has a sub-menu listing built-in prototypes. These are a series of prototypes pre-configured for quick use. On first addition of one or more of these predefined prototypes to a TBX, Tinderbox adds a root-level container called 'Prototypes'. After the first addition, any other built-in prototypes added are put in the same container.
The built-in types only use system attributes for their customisations, though the user can further customise the basic prototype with user attribute once added to a TBX. The sub-menu is disabled in read-only documents.
The offered prototypes are:
- Person. The main items here are to add all the 'People' group of system attributes as key attributes. The $Badge is set to 'person' and $Color is 'green'. From v5.10.2, a $HoverExpression is set to show $Company, $Email, and $Telephone values.
- Event. This has $StartDate and $EndDate as key attributes; from v5.9.2, $DueDate and $TimelineBand are also included. The $Badge is set to 'clock' and $Color is 'muted red'. From v5.10.2, a $HoverExpression is set to show $StartDate (and $EndDate if set). From v5.10.3, no data is shown if $StartDate is not set.
- Task. This has $DueDate and $Checked as key attributes. The $Badge is set to 'calendar' and $Color is 'cool grey'. $Shape is 'left tag'. The $DisplayExpression displays the number of child items (if any).
- HTML Template. This has a $Badge 'tools' and $Color of 'lighter black'. HTML paragraph and first/indented paragraph start/end values are set to nothing, paragraph spacing is off, $IsTemplate is true. $TextFont is set to a monospaced font 'Andale Mono'. $TextSidebar is set to false. $AutomaticIndent is set to false. $NoSpelling is set to true.
- Code. New from v5.0.2, the setting same as HTML Template except that $IsTemplate remains as the default false. Use for things like storing long actions such as deeply nested if() statements, or for command line code for use with runCommand. From v5.10.2, $NoSpelling is set to true.
- Dashboard. New from v5.10.0, preconfigured for map dashboard use. The prototype configures the 3 subtitle attributes and $TitleOpacity. $NameAlignment is set to "center". $Subtitle is given a specimen value of '42' to aid initial subtitle display/configuration.
- Reference. New from v5.11.0, and added to support Bookends integration this adds a number of key attributes mainly from the References group of system attributes.
There is nothing stopping the user from further modifying these prototypes once they are in a TBX, for instance by adding user attributes to the key attributes, etc.
The TB-default-created "Prototypes" container is set with $OnAdd of
$IsPrototype=true to ensure that any child notes added by the user as automatically set as prototypes. From v5.5.1, the container is also set with $HTMLDontExport as
true and $HTMLExportChildren as
false. That change ensures that neither the container or its content get exported as this is usually the desired condition.
To store user defined prototypes for easy re-use, the best method is to make a TBX holding just the prototypes (and any necessary user attributes). Place this file in the Templates folder. From there the document can easily be opened to copy across individual prototype notes. Note however, that if the prototype uses any user attributes these must exist in the file to which the note is being copied (the built-in prototypes use only system attributes in their customisation).
From v5.10.0, adding a built-in Template will cause this container to be added, in order to hold the HTML Template prototype needed for the templates.