UI
Web UI
Object Properties
Objects use property generation functions to create the json response required by the flowProperties API call made by the web interface.
API Call:
/conduct/<conductID>/flowProperties/<flowID>/
Generation function selection occurs as follows:
-
Object has a manifest file and for the given object it has a property called classGeneration set to
True
. In this instance the class object will be loaded and will either usecore.webui._properties().generate()
or if the class object contains a property called _properties then this will be used rather thanobject._properties().generate()
-
Object has a manifest file and for the given object it has a property called classGeneration set to
False
. In this instancecore.webui._properties().generate()
is used -
The object does not have a manifest file or it does and the property called classGeneration does not exist. In this instance it will follow option 1 and the class object will be loaded and will either use
core.webui._properties().generate()
or if the class object contains a property called _properties then this will be used rather thanobject._properties().generate()
NOTES
When classGeneration is True
the entire integration code will be downloaded onto the Web component and not just the manifest file. It will also execute requirements-web.txt or if not present requirements.txt.
Manifest
Basic structure:
{
"name" : "",
"author" : "",
"version" : 0.0,
"categories" : [],
"description" : "",
"icon" : "",
"requirements" : {
"system_min_version": null,
"system_max_version": null,
"required_integrations": []
},
"collections" : {},
"triggers" : {},
"actions" : {},
"data_out": {}
}
Collections, Triggers, and Actions
"<object_name>" : {
"display_name" : "",
"className" : "",
"class_location" : "",
"classGeneration" : true|false,
"icon": "",
"description" : "",
"advanced": true|false,
"fields" : [
]
}
Fields
Required Field Properties
Property | Type | Description |
---|---|---|
schema_item | str | Name of the class property |
schema_value | str | Name of the class property to load the value from. Normally this will match schema_item |
type | str | Type of field |
description | str | Description used for generating embedded help |
required | bool | Mark if the field is required or not |
replacement_syntax | bool | Mark if the field supports %% replacement syntax |
Optional Field Properties
Property | Type | Description |
---|---|---|
default | all | Allows you to set a default value for when none are present |
read_only | bool | Marks if the field is writeable or just readable |
tab | str | Name of the tab the field should be shown on |
Input:
{
"schema_item": "",
"schema_value": "",
"type": "input",
"input" : "str|int|float",
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Password:
{
"schema_item": "",
"schema_value": "",
"type": "password-input",
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Json:
{
"schema_item": "",
"schema_value": "",
"type": "json-input",
"input" : "dict|list",
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Checkbox:
{
"schema_item": "",
"schema_value": "",
"type": "checkbox",
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Group:
{
"schema_item": "",
"schema_value": "",
"groupReverse" : true|false,
"type": "group-checkbox",
"group" : 1,
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Dropdown:
{
"schema_item": "",
"schema_value": "",
"type": "dropdown",
"dropdown" : [
{
"label" : "",
"value" : ""
}
],
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Script:
{
"schema_item": "",
"schema_value": "",
"type": "script",
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Variables:
{
"schema_item": "",
"schema_value": "",
"type": "var",
"label": "",
"description": "",
"required": true|false,
"replacement_syntax": true|false,
}
Break:
{
"schema_item": "break",
"type": "break",
"start": true|false,
"label" : ""
}