Create a custom integration
- Last UpdatedApr 15, 2025
- 5 minute read
To create either a Custom Smart Tag or a Server Integration, refer to the list of variables below in order to edit the following database script as desired. Then, execute it on the AVEVA Mobile Operator database to insert a record to the ISMGT_APP_TYPE table:
insertISMGT_APP_TYPE (APP_TYPE_PK, NAME, APP_TYPE_UI, IsCustomIntegration, IsSchedulable, RequiresServerConfiguration, ProcessingOption)
values(32050, 'DefaultTest', NEWID(), 1, 1, 1, 0)
[app_type_pk]: A unique Integer, greater than 10000, required by the system.
[name]: A description of the Custom Tag / Server Integration.
[app_type_ui]: A GUID used by the system. This value should never change once created.
[IsCustomIntegration]: Indicates whether or not this is a custom Integration. This value should always be set to 1.
[RequiresServerConfiguration]: Indicates whether this Integration requires configuration as a Server Integration. This value should be 0 if a Custom Tag, and 1 if a Custom Server Integration.
[IsSchedulable]: Indicates whether this item can be scheduled. Set this value to 1 if it can be scheduled by iDTS and executed by DTS, or 0 otherwise (e.g., handled by an external schedule / execution handler).
[ProcessingOption]: Defines the processing combo box. Set to 0, 1, 2, 3, or 4 as per the table below.
[PropertyBagDefinition]: The .xml file that determines the display items and input controls of the Detail Panel.
AVEVA Mobile Operator has the ability to process an integration on either the mobile device or on the server. For custom integrations, a new field is added to the ISMGT_APP_TYPE table to control this processing. Figures displayed in this section are primarily used to discuss wording and relative positions. Implementation follows the AVEVA Mobile Operator UI standards.
Property Bag Settings
The property bag definition in the ISMGT_APP_TYPE table determines what the detail panel will display and what controls to use for input. The available attributes for the item element that is used to define each input item are as follows:
Label - Label to be displayed next to the input field. This is a mandatory field.
PropertyBagAttributeName - The name of the attribute used to store the input value in the property bag of the Custom Action. This is a mandatory field.
ControlType - The type of control used to request for information. This is a mandatory field.
- TextBox - A standard text box control.
- Max Length - The maximum length of input data.
- ComboBox - A drop-down list that allows you to select from a displayed list of items.
- Each data item element under ComboBox includes a “Value” attribute in the drop-down list.
- Data item elements must be included in the drop down list.
- Password - The text box that encrypts the data entered.
- MaxLength - The maximum length of input data.
- Numeric
- MinValue - The minimum value accepted.
- MaxValue - The maximum value accepted.
- Mask - The input mask.
The property bag definition is as follows:
<PropertyBag>
<ItemLabel="UserName" ControlType="TextBox" MaxLength="25" PropertyBagAttributeName="CustomTagHostName"/>
<ItemLabel="TrueFalse" ControlType="ComboBox" PropertyBagAttributeName="truefalse">
<DataItemValue="True"/>
<DataItemValue="False"/>
</Item>
<ItemLabel="YesNo" ControlType="ComboBox" PropertyBagAttributeName="yesno">
<DataItemValue="Yes"/>
<DataItemValue="No"/>
</Item>
<ItemLabel="Password" ControlType="Password" MaxLength="25" PropertyBagAttributeName="Password"/>
<ItemLabel="General" ControlType="TextBox" PropertyBagAttributeName="CustomTagGeneral" MaxLength="200"/>
<ItemLabel="Amount" ControlType="Numeric" PropertyBagAttributeName="CustomTagNumeric" MinValue="5" MaxValue="20" Mask="nnnn.nn"/>
</PropertyBag>
An illustration of the Detail Panel created using the above property bag definition is given below:

The field ProcessingMode (int) is an enumeration and is displayed on the Server Configuration screen as shown in the figure below. Default value is ServerOnly as defined in the table below. This value is to be manually added to the ISMGT_APP_TYPE table when the developer registers the application.
The integration configuration screen is configurable like the custom action. The password is encrypted for security. After the processing combo box has been added to the custom server integration screen, the value from the ISMGT_APP_TYPE table is displayed.

The possible values for the processing combo box are as follows:
| Value | Enumeration | Display | Definition |
| 0 | ServerOnly | On Server | No option is displayed when dropping a custom integration onto a procedure. The created ServerIntegration has ProcessOnServer = true and ProcessOnMoble = false. |
| 1 | MobileOnly | On Mobile | No option is displayed when dropping a custom integration onto a procedure. The created ServerIntegration has ProcessOnServer = false and ProcessOnMoble = true. |
| 2 | ServerAndMobile | Both | No option is displayed when dropping a custom integration onto a procedure. The created ServerIntegration has ProcessOnServer = true and ProcessOnMoble = true. |
| 3 | OnlyOne | Only one |
When an integration is dropped onto a procedure, a new option is displayed for a custom integration. Two radio buttons are displayed, which allows the selection of either a server integration or a mobile integration. Server Only is selected by default.
|
| 4 | Either | Either |
When an integration is dropped onto a procedure, a new option is displayed for a custom integration. Three radio buttons are displayed, which allows the selection of a server integration, mobile integration, or both. Server is selected by default.
|
*Validation logic must ensure that at least one value is selected when the integration is put onto a procedure.
