Action Trees
Route: Admin → OEE → Action trees (/admin/oee/action_trees)
An action tree is a hierarchy of the corrective actions an operator can record against a downtime event. Where a reason tree answers why did it stop?, an action tree answers what did we do about it? — and the two are configured the same way, bound to the same equipment, and filled in on the same operator screen.
Permission
perm:oee-config:write — the same permission that guards every screen under Admin → OEE. There is no admin bypass: without it the route renders Access Denied, and every create, edit, duplicate and delete on the API is refused.
How it relates to a reason tree
The structures are deliberately parallel:
| Reason tree | Action tree | |
|---|---|---|
| Answers | Why did the equipment stop? | What was done about it? |
| Leaf refers to | A reason | An action |
| Bound to equipment on | Admin → Equipment → OEE, Reason tree | Admin → Equipment → OEE, Action tree |
| Operator fills it in on | The Reason tab of the downtime justification | The Actions tab of the same dialog |
Both are optional per equipment, and they are independent: equipment can have a reason tree and no action tree. The Actions tab only appears for an operator when an action tree is bound to that equipment.
Managing action trees
The grid lists every action tree by name and status. Search filters by name, and Show inactive brings deactivated trees back into view; both are mirrored into the URL so a filtered view can be bookmarked.
Each row offers:
| Control | Effect |
|---|---|
| View action tree | Opens the tree visualiser (read/edit of the nodes) |
| Edit | Renames the tree or toggles its active flag |
| Duplicate action tree | Copies the tree with all of its nodes and their hierarchy, named <name> (Copy) — the usual way to start a variant for another line |
| Deactivate / Activate | Takes the tree out of, or back into, the list offered when binding equipment |
| Delete | Permanent, and removes every node in the tree |
Creating or editing a tree asks for two things only: a description (the tree's name, required) and an active switch.
Building the tree
Open a tree with View action tree to edit its nodes. An empty tree offers Add root node; from then on each node can take children, be edited, or be deleted — deleting a node removes its children with it.
A node is defined by:
| Field | Required | Notes |
|---|---|---|
| Parent node | — | Shown read-only when you add a child; blank for a root node |
| Action | Yes | Picked from the list on the Actions screen. The action is the node's label — a node cannot exist without one. |
| Loss type | No | Inherited from the parent when left blank; the form shows which parent value it is inheriting |
| Code | No | Optional short code. It must be unique — a duplicate is rejected and the form names the node already using it. |
| Colour | No | Chosen from a fixed palette, for visual identification in the tree |
Because every leaf points at an action, build the Actions list first and then arrange those actions into a tree here. The same action can appear at more than one place in the tree, and in more than one tree.
Putting a tree to work
- Create the actions on Actions.
- Build the tree here.
- Go to Admin → Equipment → OEE and set the equipment's Action tree. The tooltip on that field states its purpose: the tree used to record the corrective actions taken in response to downtime events.
- Optionally switch on Action mandatory on the same form. It is disabled until an action tree is chosen, and when on, an operator cannot save a justification until at least one action has been recorded.
Once bound, the operator's downtime justification dialog grows an Actions tab. Each recorded action is a path down the tree (up to four levels deep), plus an optional comment and the operators involved.
:::note Deactivating is not deleting Deactivating a tree only removes it from the list you can bind to equipment. Existing bindings and everything already recorded against them are untouched. :::
Related
- Actions — the flat list of actions the tree's nodes point at
- Reason Trees — the same idea for downtime causes
- Loss Types — what a node's loss type refers to
- Downtime Screen — where operators justify a stop