Template Hierarchy
Compose templates with parent-child relationships to model complex assets.
Templates can contain child templates, forming a hierarchy that mirrors the physical structure of your equipment. When you instantiate a parent template, its entire subtree of child templates is created as nested assets.
Example
A pump template for a water treatment facility might have this structure:
Centrifugal Pump (template)
├── Drive Motor (child template, required)
├── Mechanical Seal (child template, required)
├── Bearing Assembly (child template, optional)
└── VFD Controller (child template, optional)When you instantiate the pump template, all required child templates are created as sub-assets. Optional children can be included or excluded during instantiation.
Adding child templates
To add a child template, go to the Hierarchy tab on the template detail page and use the Add Child Template action.
| Field | Required | Description |
|---|---|---|
| Child Template | Yes | Select from existing templates. You cannot add a template as its own child. |
| Default Name | No | A suggested name used when instantiating (e.g., "Main Gearbox"). If not set, the child template's own name is used. |
| Position | No | Display order among siblings (0-based). Controls the order in the hierarchy tree. |
| Required | No | If checked, this child must always be included when instantiating the parent. Optional children can be excluded. |
Viewing the hierarchy
The hierarchy tab shows two sections:
Parent Templates — lists any templates that include this template as a child. Each entry shows the parent's name, category, whether this template is required, and the default name (if set).
Child Templates — displays the full subtree as an expandable tree view. Each node shows:
- Template name (clickable link to the child template's detail page)
- Category badge
- "Required" badge (if applicable)
- Default name (if set)
- Child count
Removing a child template
To remove a child from the hierarchy, open the actions menu on the child node and select Remove from Parent. A confirmation dialog appears.
Removing a child template only removes the parent-child relationship. The child template itself is not deleted and remains available for use elsewhere.
Constraints
- No circular dependencies — a template cannot be an ancestor and a descendant of the same template. The platform detects and prevents circular references.
- No self-references — a template cannot be added as its own child.
- Depth is unlimited — child templates can themselves have children, forming arbitrarily deep hierarchies.
Hierarchy and versioning
Adding or removing a child template is a structural change to the template. These changes are tracked through template versioning and reflected when comparing versions.