Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

Mobile Operator Extensibility SDK On-Premises

Create a custom integration

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.

In This Topic
TitleResults for “How to create a CRG?”Also Available in