====Configuration Files for Utiliser====
The Utiliser system need at least one configuration file that describes a type of [[resource|resource]] that is being utilised.
It also describes the assets that will be analysed, the types of possible [[State|state]], the [[state rules|rules]] behind the states, and the patterns that define your //[[Cycles|cycles]]//.
It's a JSON file, so it can be created in your preferred text editor.
===Basic Setup===
First, you'll need the basic setup. This defines which resources you want to analyse and how the system should display them.
^Property^Meaning^
|resources|An AQL query that defines the assets to be analysed|
|resourcesingular|The singular name of the assets type (ie, 'vehicle' or 'machine)|
|resourceplural|The plural name of the assets type (ie. 'vehicles', 'machines')|
{
"resources": "'Truck 1' ASSET 'Sequence' RELATIONSHIP 'downi' RELATED",
"resourcesingular": "Vehicle",
"resourceplural": "Vehicles",
}
===States===
The next section describes each of the [[state|states]] your assets can be in.
Each possible state has a **name**, a **colour**, a **quality** and a **secondary name**.
The 'secondary name' is the name us used when the system refers to the [[secondary state|secondary state]]. For example, you might have 'Driving', with a secondary state that represents a //location// (ie. 'Driving:Front Entrance' and 'Driving:Loading Bay'). But you might also have a state such as 'Delayed' that has a different secondary state - a //condition// instead of a location (ie. 'Delayed:Engine Trouble' or 'Delayed:Fuel Low').
"values": [
{
"name": "Working",
"colour": "green",
"quality": "ok",
"secondary": "Locations"
},
{
"name": "Loading",
"colour": "blue",
"quality": "ok",
"secondary": "Locations"
},
{
"name": "Unloading",
"colour": "purple",
"quality": "ok",
"secondary": "Locations"
},
{
"name": "Delay",
"colour": "silver",
"quality": "bad",
"secondary": "Causes"
}
} ]
===Rules===
The next section defines the //rules// that tell the system how to calculate the status of each of your assets.
Each rule is applied in-order, the system stopping as soon as a particular rules is met (so if an asset fulfils two different rules, the **first** one will be used).
There are a number of different properties for rules, that are discussed in more detail in the section on [[creating rules|creating rules]].
"statuses": [
{
"name": "Delay",
"method": "ValueMatch",
"property": "Location",
"regex": "Delay_(.*)"
},
{
"name": "Status",
"method": "ValueMatch",
"property": "State",
"subtype": "Location",
"regex": "*"
}
]
===Cycles===
These are similar to the rules above, but this time define how to measure your systems [[cycles|cycles]].
A single utilisation file may contain more than one type of cycle.
"cycles": [
{
"name": "Full Cycle",
"points": [
{
"type": "start",
"primary": "State",
"value": "Unloading",
"trigger": "end"
},
{
"type": "milestone",
"primary": "State",
"value": "Loading",
"capture": "Location",
"as": "Destination",
"trigger": "start"
},
{
"type": "ignore",
"primary": "Location",
"value": "Delay_*"
}
]
}
]
Cycles are made up of at least one of the [[cycle rules|cycle rules]].