Many aspects of Tinderbox are set and stored by using attributes, such as a note's name, the colour of its icon in a Map view, etc. Attributes apply to every note (including special notes like separators and adornments) and agents.
An Attribute has a case-sensitive name, a value type, a value and an optional default value. Some attributes are read-only, meaning they cannot be modified by the user. If no default value is set the attribute is empty/zero/false/etc., according to data type. There are two primary types of attributes:
- System attributes: information built into all Tinderbox documents, such as the color of the note, or its width and height. Tinderbox keeps this information about every note, and you may view, use, and change it.
- User attributes: you may add your own attributes that every note will have. For instance, you could add the attribute "Priority" and give every note a priority level from one to five. Or, in a bibliography create the attribute "Type" and tag the note for each source as either "Primary" or "Secondary". More on naming attributes.
Additionally, system attributes may be:
- Read-only attributes: information such as the date and time the note was created, or the date and time it was last modified. Tinderbox keeps this information about every note, and you may view and use it, but you cannot change it.
The two primary attribute listings, General and User, and their data types, etc., are covered in more detail in the Attributes section and all General attributes are described system attribute list. Values used by attributes are often inherited. The are also naming rules for attributes.
System attributes will generally have a default value which may be set via Preferences or - at document level - by editing the default value.
In Tinderbox all attributes are global in the sense that they exist and can be given a value for any note or agent, even if it might not be useful in a particular case. Just ignore attributes when they don't make sense. Put in database terms, Tinderbox implements one big table (flat file style), rather than a set of related tables.
Note that whilst a TBX document itself does not have a text property, it does have attributes enabling you to set some document level preferences. Thus you can set the Map view's background color by opening the document's Info view and changing the $MapBackgroundColor attribute; be aware changing this attribute only affects the document only if the current 'item' is the document and not a note, i.e. no note is currently selected.
Attributes are referred to in Tinderbox attribute coding by using a '$' prefix, as in $Name.
Give consideration to naming attributes in a manner that matches Tinderbox's assumptions. If attribute names are wrong, either due to import or because they were created before reading the notes on naming styles, attributes can be renamed.
Attributes all have one of a number of data types.