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:

  1. 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 use core.webui._properties().generate() or if the class object contains a property called _properties then this will be used rather than object._properties().generate()

  2. Object has a manifest file and for the given object it has a property called classGeneration set to False. In this instance core.webui._properties().generate() is used

  3. 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 than object._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" : ""
}