specs/models/M_CONN_FUNC

Connector Function

Connector functions are configured requests defined on connectors that apps can utilized for sending and receiving data to the source of the connector. They abstract over the specifics of SQL or HTTP to present a standard input and output signatures composed of known variable types. For example a function 'Get Work Orders' might have a signature such as:

INPUTS:
  1. Status (string)
  2. Customer (string)

OUTPUTS:
  1. Array of work orders
      - Delivery date (date)
      - Part ID (string)
      - Part count (number)

App editors can use these functions in apps without worrying about complex issues such as authentication, networking, how to write queries, HTTP headers, etc. Defining how the inputs are used to retrieve the data, is different for SQL and HTTP connectors.

Response Size Limits

All HTTP and SQL response payloads are limited to:

  • 20mb for Cloud Connector Host
  • 50mb for On-Prem Connector Host

If exceeded, a "400 PayloadSizeLimitReachedError" error will be returned.

Fields for all connector functions:

NameDescription
NameThe name of the connector
Is SavedOnce a connector function is saved the inputs and outputs can be modified only if the connector function is not being used by an App
Where UsedList of apps using a particular connector function
InputsThe composition of variable types an app must provide to call the connector function. Data types include: Text, Integer, Float, Boolean, Datetime.
OutputsThe composition of variable types an app can expect to receive from the connector function. Data types include: Text, Integer, Float, Boolean, Datetime and arrays of these data types.
Activation StatusA boolean that determines whether the connector function is active or deactivated
DescriptionA text description provided by the user who created the function (optional)

Additional fields for SQL connector functions:

FieldDescription
Use multiple rowsA boolean value that indicates whether the expected output is a single object matching the defined outputs, or an array of objects matching the defined ouput.
QueryThe SQL query used to retrieve the data. The query can utilize connector inputs in its definition. More on SQL queries

Additional fields for HTTP connector functions:

FieldDescription
HTTP Request MethodOne of: GET, HEAD, POST, PUT, PATCH, DELETE more info
AuthenticationIf the authentication is unset at the connector level, it can be set at the function level.
Request HeadersA list of request header key/value pairs. These values can utilize input values.
URL PathThe path portion of the HTTP request. The path can utilize input values.
Query ParametersA list of key/value pairs that are added to the query portion of the request URL. These values can utilize input values.
Request BodyThe request body can be one of four types: JSON, form URL-encoded, plain text or XML. The request body can utilize input values.
Response BodyWhether the response body is JSON or XML. This setting determined how extracts are used to determine output values.
Outputs extractorsFor HTTP connectors each output must also define the extractor for retrieiving the data from the body, header or cookie of the HTTP response.
Encoding SettingsFor HTTP connectors, function input for text data type can have a custom encoding schema which allows escaping non reserved characters.

Fields for read-only connector functions:

NameDescription
NameThe name of the connector
Read onlyRead-only connector functions are used by published apps which cannot be modified. Users with the right permissions can test the read only connector function. This states the app and the version of the app using the read-only connector function
InputsThe composition of variable types an app must provide to call the connector function. Data types include: Text, Integer, Float, Boolean, Datetime.
OutputsThe composition of variable types an app can expect to receive from the connector function. Data types include: Text, Integer, Float, Boolean, Datetime and arrays of these data types.
Activation StatusA boolean that determines whether the connector function is active or deactivated
DescriptionA text description provided by the user who created the function (optional)

Tests

IDName
QA-T57Variable Widget : 02 - Record View: Compound variables can be used with triggers
QA-T148SQL Connectors : 02 - Add Function to SQL Connector
QA-T240HTTP Connectors : 02 - Add several functions to HTTP Connector
QA-T725HTTP Connectors : 04 - Extractors for Non-Json Formats and Cookies
QA-T726SQL Connectors : 03 - Verify different SQL Servers
QA-T727HTTP Connectors : 03 - OAuth 2 Admin/Operator
QA-T728HTTP Connectors : 05 - Non-2xx Responses
QA-T729HTTP Connectors : 06 - HTTP Connector Functions perform the same with TLS on/off
QA-T731HTTP Connectors : 07 - OAuth 2 send request data as JSON
QA-T810HTTP Connectors : 03 - OAuth 2 Admin/Operator
QA-T840HTTP Connectors : 08 - URL encoding function

Requirements

IDRequirement
PLAT-8749 (61)Data from connected end-points can be visualized in graphical format such as gauges, indicator, dial, scales, etc.
PLAT-8751 (60)Data from connected end-points can be visualized as simple metrics
PLAT-8768 (438)Ability to define and execute a material transfer order to store material in sample inventory
PLAT-8770 (437)Ability to define and execute a material transfer order to issue material from sample inventory
PLAT-8771 (436)Ability to query from externals system the available material in sample inventory. ie samples stored in freezers, incubators, etc
PLAT-8774 (433)Material transfer orders to external system shall contain sample information (ID, name, description) and location information (room, storage equipment, location in equipment). Ie. room name, floor number, freezer id, location in freezer, etc.
PLAT-8779 (58)Allow integration of advanced IIoT end-points for interaction with equipment and collaboration with devices
PLAT-8781 (57)Allow integration of simple IIoT end-points for data input and capture
PLAT-8782 (63)Data from connected end-points can be sent to other connected end-points
PLAT-8783 (65)Data from connected end-points can be sent to other content
PLAT-8786 (64)Data from connected end-points can be sent to connected core systems (MES, QMS, PLM, LIMS, and Sample Inventory)
PLAT-8791 (844)Ability to transfer or send history records to external system of record. Record can be transferred in their entirety at the completion of a process or in parts as steps in the process are completed
PLAT-8793 (836)Ability to retrieve information from external a system of record so that Apps can get the required information for execution fo a specific process step.
PLAT-8824 (42)Ability to monitor and control data exchange on all interfaces with message and error logging.
PLAT-8828 (149)Ability to provide access to relevant documents such as SOPs at process step
PLAT-8836 (431)Ability to automatically submit sample transfer order to external material system.
PLAT-8845 (371)Ability to control automated equipment state (start, stop, pause, resume, etc.) during the execution of a process step.
PLAT-8868 (101)Ability to use a scale and record scale readings like (but not limited to) Zero, Tare, Gross Weight, Net Weight
PLAT-8870 (100)Ability to retrieve, examine, and view batch/lot and material attributes used in the processing step (e.g. potency), from external source.
PLAT-8912 (153)Ability to configure actions for automaton system or equipment alarms by alarm severity
PLAT-8924 (93)App has to provide navigation between process steps from external input. Ie. scanner, button, switch, I/O triggers, etc.
PLAT-8957 (459)Ability to add additional information about content in the content repository including description, installation instructions, and rating.