The Toolbox
The Toolbox holds everything defined once and used everywhere — time schemes, shifts, limits, functions, enumerations, model attributes and palettes.
The Model view holds the things that are unique to one asset. The Toolbox holds everything that is not: the calendar your whole site reports on, the limit definition that applies to forty measures, the function three calculations call. Define it once here, reference it everywhere else.
That division is the point. A time scheme duplicated per production line is four places to fix when the shift pattern changes; a time scheme in the Toolbox is one.
What lives in the Toolbox#
| Object | What it is | Where it is used |
|---|---|---|
| Time schemes | The calendars that define your reporting periods | Every measure has one — see Interval Types and Time Schemes |
| Shift schemes and shifts | Named working periods within a day | Shift-based reporting — see Shifts, Financial Years and Custom Periods |
| Limits | Threshold definitions | Applied to measures — see Measure Limits and Thresholds |
| Functions | Reusable C# for calculations | Called from any expression — see Custom Functions |
| Enumerations and enumeration groups | Named value sets, with colours and ordinals | Event attributes and state measures — see Event Attributes and Enumerations |
| Model attributes and their values | Named properties you attach to model objects | Parameterising queries and charts — see Model Attributes |
| Palettes | Named colour sets | Charts and dashboards — see Colour as Information |
Functions, limits and model attributes can be organised into folders. Time schemes, shift schemes, enumerations and palettes cannot — they sit as flat lists, so their names have to do the organising work. Name them for what they are rather than where they are used, because a name like Line 3 Calendar ages badly the moment Line 4 adopts it.
Defaults#
Two Toolbox object types can be marked as the model's default, with Set as Default on the context menu:
- Time schemes — the calendar a new measure is given when you do not choose one
- Palettes — the colours a new chart uses
Nothing else supports a default. The command is only enabled on an object that is not already the default, which is why it appears greyed out when you right-click the one currently in force.
Set the default time scheme before you build the model. Every measure created without an explicit time scheme takes the default. Setting it first is the difference between a model that is internally consistent and an afternoon spent correcting measures one at a time.
Shared, which means shared#
A Toolbox object is referenced, not copied. Editing a time scheme changes every measure that uses it; editing a limit changes every measure it is applied to. That is the reason to put things here — and the reason to think before editing one.
Two consequences worth knowing:
- Deleting is blocked while something references it. Infohub will not let you remove a time scheme that measures are using. The error tells you it is in use, not which objects use it, so use Search in the Toolbox and the model to find the references first.
- A change is a change everywhere, at once. There is no staged rollout. For functions specifically this is sharper than it sounds, because editing one rebuilds the calculation assembly and affects every calculation that calls it — see Custom Functions.
Working with Toolbox objects#
The same operations available elsewhere in Flow Config apply here — see Object Operations in Flow Config for the full set:
| Operation | Notes in the Toolbox |
|---|---|
| Search | Finds objects by name across the Toolbox |
| Show in Toolbox | Jumps from a reference elsewhere in the model to the object itself |
| Import | Brings Toolbox objects in from an exported model |
| Serialize | Writes the selected object to a file — the basis of moving definitions between instances |
| Set as Default | Time schemes and palettes only |
Templates and the Toolbox#
Toolbox objects are not template members. A template's measures reference a time scheme, and instantiating the template does not create a copy of that time scheme — the instance references the same one. When you move a template between instances, the Toolbox objects it depends on must already exist at the destination, or the import brings them along; a template that instantiates with the wrong calendar almost always means a time scheme of the same purpose but a different name at the destination.
See Templates Across Calendars for how to handle a template that must work against different calendars.
Diagnosing#
| Symptom | Likely cause |
|---|---|
| Delete is refused | Something still references the object; search the model for it first |
| Set as Default is greyed out | The object is already the default, or its type does not support defaults — only time schemes and palettes do |
| New measures get the wrong calendar | The model's default time scheme is not the one you expect |
| A function change did not take effect | The calculation assembly caches; see Custom Functions |
| An imported template reports a missing reference | The Toolbox object it depends on does not exist at the destination |