Skip to Content
This documentation is provided with the HEAT environment and describes this HEAT instance.

Templates

A session template is the blueprint a session runs. It is a JSON document that names the processing steps, the order they run in and the default settings of each step. Open Workloads, then Templates (/admin/templates).

Every session created in HEAT uses one of these blueprints. A template names each step by its node template, so a template can only be registered when every node template it references already exists on the environment.

A session template is not a .heat manifest. A manifest registers runners and node templates as a feature. A session template uses those node templates in a graph.

The template list

The list shows every template registered on the environment, with its name and description. Templates are registered per environment, not per project, so any project can create a session from any template. Upload registers a template from a JSON file.

Opening a template shows four tabs:

  • Overview with the template metadata, including the authoring tool and version where recorded.
  • DAG, the node graph drawn as a diagram.
  • Nodes, each node with its node template and default configuration.
  • Export, which downloads the template as JSON for backup or to promote it to another environment.

Create or update on import

When a template is uploaded, HEAT compares the name in the file with the templates already registered.

SituationResult
The name is newA new template is created
The name exists and the upload does not ask to updateRejected with “template name already exists”
The name exists, the upload asks to update, and the node graph is unchangedThe existing template is updated. Only the description, the template configuration and each node’s default configuration change
The name exists, the upload asks to update, and the node graph differsRejected with “template structure does not match the existing template”

The node graph is unchanged when the set of node names, each node’s node template and each node’s parent links all match the stored template. An update never adds, removes or rewires nodes.

Revisions

Session templates are runtime artefacts. Sessions that already ran keep pointing at the template they were created from, so a change to the graph must not overwrite that template in place.

When a template needs a new node, loses a node, changes a parent link or swaps a node’s node template, save it under a new name. The convention is a revision suffix, for example fn-shots-basic-r032 becomes fn-shots-basic-r033. Then point the ingests and project defaults that should use the new graph at the new template.

Use an in-place update only when the graph is unchanged and you are changing the description, retention settings or a node’s default configuration. To change the graph, upload under a new name.

Validation errors

An upload is rejected when the file fails one of these checks.

CheckWhat to fix
The file is not valid JSONFix the syntax and upload again
The file is a .heat manifest, not a session templateA manifest registers a feature. It is not uploaded here. See Features
name is not lowercase and hyphenatedNames use lowercase letters, digits and hyphens, and are at most 100 characters. Node names follow the same rule
nodes is emptyA template needs at least one node
A node references an unregistered node templateRegister the feature that provides them first, and confirm it is enabled
A node references a parent not in the fileEvery parent must be the name of another node in the same file
The graph contains a cycleParent links must form a directed acyclic graph (DAG)
Opens your browser's print dialog. Choose "Save as PDF" as the destination.