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.

Fields for all connector functions:

NameDescription
NameThe name of the connector
Is SavedOnce a connector is saved the inputs and outputs can no longer be modified
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 person 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.

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

Requirements

IDRequirement
42Ability to monitor and control data exchange on all interfaces with message and error logging.
57Allow integration of simple IIoT end-points for data input and capture
58Allow integration of advanced IIoT end-points for interaction with equipment and collaboration with devices
60Data from connected end-points can be visualized as simple metrics
61Data from connected end-points can be visualized in graphical format such as gauges, indicator, dial, scales, etc.
63Data from connected end-points can be sent to other connected end-points
64Data from connected end-points can be sent to connected core systems (MES, QMS, PLM, LIMS, and Sample Inventory)
65Data from connected end-points can be sent to other content
93App has to provide navigation between process steps from external input. Ie. scanner, button, switch, I/O triggers, etc.
100Ability to retrieve, examine, and view batch/lot and material attributes used in the processing step (e.g. potency), from external source.
101Ability to use a scale and record scale readings like (but not limited to) Zero, Tare, Gross Weight, Net Weight
149Ability to provide access to relevant documents such as SOPs at process step
153Ability to configure actions for automaton system or equipment alarms by alarm severity
371Ability to control automated equipment state (start, stop, pause, resume, etc.) during the execution of a process step.
431Ability to automatically submit sample transfer order to external material system.
433Material 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.
436Ability to query from externals system the available material in sample inventory. ie samples stored in freezers, incubators, etc
437Ability to define and execute a material transfer order to issue material from sample inventory
438Ability to define and execute a material transfer order to store material in sample inventory
459Ability to add additional information about content in the content repository including description, installation instructions, and rating.
836Ability to retrieve information from external a system of record so that Apps can get the required information for execution fo a specific process step.
844Ability 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