Edit on GitHub

Substep Schema

A schema that is used to validate a part of Laboperator workflow templates.

A substep is a single instruction of a step and can both content and actions attached to it.

Substep Schema
primaryrequired
string (Primary Instruction) <= 200 characters

The primary line of instructions. Field values can be embedded by enclosing a field identifier in double curly braces.

Examples:
Place {{sample}} on {{balance}}.
secondary
string (Secondary Instruction) <= 100 characters
The secondary line of instructions.
Examples:
Caution! {{sample}} is super expensive...
description
reference (Description)
Markdown Formatted Content

The description fields can be used to add details to the substep. As it supports markdown, you can use basic formatting, links, tables and even images.

expandDescription
boolean (Initially expand the description?)
default: false

A flag to indicate whether or not to show the entire description for this substep right away.

The default is false, which will cause only the first line of the description to be visible. Of course the user can always decide to expand the description when required.

Not expanding the description by default keeps your workflow interface clean and the user can get a good overview of the substeps, while an expanded descriptoin will make sure an important notes or images you might have put in the description will be shown.

confirm
boolean (Show manual confirmation button?)
default: false
Display a manual confirmation button to complete the substep.
inputs
array of reference (Substep Inputs)
Member Name

A list of fields to show inputs for on the substep. For each field the substep will display an appropriate input component.

Use the title and description properties of the field schema to control the label and help text of an input.

buttons
array of reference (Substep Buttons)
Button
A list of buttons on the substep.
devices
array of reference or reference (Substep Devices)

A list of fields to display as devices on the substep. For each device the substep will display general information, status and activities such as invoked commands.

Array
one of
  • Member Name
  • Device Object
reference
Member Name

The identifier of a field that is a device or channel relation.

elements
array of reference (Substep Data Elements)
Element Schema

Data elements allow to render data from device channels on the substep.

timer
reference or reference (Substep Timer)

A timer to display on the substep. The timer can be started using displayed buttons or using actions. With no default_duration given or duration set to 00:00 it can be used as a stop watch.

For full flexibility the timer can either implicitly define a field and behaviors to handle the manual buttons or you can a define timer field in the /fields section of the step or the workflow manually and reference it here.

Behaviors to handle the buttons on the timer are automatically created for you. To skip creation of these behaviors, pass the skipBehavior flag to the timer definition.

Examples:
myTimer
type: timer
defaultDuration: 2000
one of
  • Member Name
  • Timer
reference
Member Name

A member name that is used as a reference elsewhere. Allowed characters are lower "a" to "z", capital "A" to "Z", "0" to "9" and "-" , "_". We recommend to consistently use either lowerCamelCase or kebab-case. While snake_case is allowed, it has a chance of name collisions with internal values.

behaviors
reference
Behaviors Schema

Behaviors provide means to define the behavior of a step. They can be used to control devices, record results, wait for device responses, control flow within a step and much more. The general scheme of a behavior is trigger => action.

selector
reference
Selector Schema

The schema of a selector. The options defined will be available for selection in the substep during a workflow run. A selector can be customized with different layouts, currently list or cards. They support both multi- and single-selection. By overwriting the default behaviors they can be completely customized.

Where is this used?
Other schemas that have a reference ($ref) to this schema.