The manifest
With this JSON, you can specify what fields are required to configure your connector, what type of fields, etc...
- id: The id of your manifest (must not be used by another manifest)
- name: The name used for display
- category: The type of manifest. Existing categories are:
iot
,api
,database
,file
. - description: What your connector does, briefly summarized.
- modes: How your connector will integrate with OIBus.
- For South
- subscription: Can your connector subscribe ? If so, it must implements
QueriesSubscription
class. - lastPoint: Can your connector request a point ? If so the value will be retrieved as JSON payload and the connector must implement the
QueriesLastPoint
interface. - lastFile: Can your connector request a file ? If so, the connector must implement the
QueriesFile
interface. - history: Can your connector request a history ? If so, the connector must implement the
QueriesHistory
interface. - If true, it will be possible to create history queries from your connector type.
- subscription: Can your connector subscribe ? If so, it must implements
- For North
- files: Can manage files. If so, the connector must implement the
HandlesFile
interface. - points: Can manage JSON payload. If so, the connector must implement the
HandlesValues
interface.
- files: Can manage files. If so, the connector must implement the
- For South
- settings: An array of settings which represents the inputs to configure your connector. See the settings section
- items (South only): A section to describe how to configure the items to query
- scanMode:
- acceptSubscription: Is it possible to use subscription for an item? Example: OPCUA
- subscriptionOnly: Is subscription the only choice for each item? Example: MQTT
- settings: An array of settings which represents the inputs to configure your item. See the settings section
- scanMode:
Settings
All settings have common fields, used for display or validation. These common fields are:
- Main fields
- key: The field, written in
camelCase
- type: One of the type described below, starting with the
Oib
prefix - defaultValue (optional): must match the type (string, number, boolean...)
- key: The field, written in
- Display settings
- label: What to display in the form
- pipe (optional): A pipe to translate the options
- unitLabel (optional): The unit of the value
- newRow: Should this input start a new row?
- class: Bootstrap compatible CSS classes, mainly used to display each input in the row with
col-4
,col
, etc. - displayInViewMode: Should this input be shown on the display page of a connector
- Validation
- conditionalDisplay: The other field to monitor according to which the current field is displayed or not. The validators apply only if the current field is displayed. See example below.
- validators: An array of Angular validators. See example below
Conditional display example
{
"field": "authentication", "values": ["basic"]
}
Validator example
[{
"key": "required"
},
{
"key": "maxLength",
"params": {
"maxLength": 50
}
}]