Configuring Custom Blocks

For custom blocks to function properly within Configuration Hub, two supporting files are required.
  • block-name.gov
  • block-name_details.json

In the above examples, block-name is the name of the custom block (e.g., for the D16 block, the files would be named D16.gov and D16_details.json).

When using the block tool kit to create custom blocks, the utility creates the .gov file; it is up to the user to create the .json file and save it in the C:\Program Files (x86)\Proficy\iFIX\PDB\ folder.

The basic structure of the .json file is:
  • type_name: the name of the custom block (e.g., "type_name": "D16")
  • Category elements outline the logical groupings of items in the details display. Using the D16 block as an example, its categories are General, IO_Addressing, Device_States, Alarms_Options, E-Signature, and Advanced_Options. Within each of these elements, there is a Rank entry that specifies the display order. For example:
    • “rank”: 1 will display at the top of the details pane
    • "rank": 2 will display next, etc.
Within each of the categories are individual listings of the block fields to be displayed under that heading. For example, the fields listed under the General heading of the D16 block are:
"General": [
    {
        "A_TAG": {
            "default": "",
            "enum": "",
            "datatype": "string",
            "validators": [
                "TagCommonValidators.maxLength",
                "TagCommonValidators.tagName"
            ]
        }
    },
    {
        "A_DESC": {
            "default": "",
            "enum": "",
            "datatype": "string",
            "validators": [
                "TagCommonValidators.maxLength"
            ]
        }
    },
    {
        "rank": 2
    }

The behavior of display and input is controlled by these entries. In this example, the tag name (“A_TAG”) and description (“A_DESC”) are listed in the General category. These must correspond to actual field names available in the block. A complete list of field names and their descriptions can be obtained by creating the custom blocks in the iFIX Database Manager and exporting the resulting PDB file to a CSV file, which can be opened (e.g., using Excel) to list the field names and their corresponding descriptions.

Elements are assigned a “datatype”, such as “string” or “number”, and can be given an enumeration set to limit the values entered to those defined in the enumeration set. The possible values will display as a drop-down list for the field. A sample of this is demonstrated in the E-Signature section of the D16_details.json file (at the bottom of this page).
"enum": [
                                "YES",
                                "NO"
                    ]
  • Additionally, validation criteria can be provided to stipulate allowable entries for each field. This behavior is controlled by the “validators” section for the tag field. Some commonly used validators are:
    • TagCommonValidators.maxLength: Verifies that the value does not exceed the field’s maximum length, which is obtained from the .gov file. For example, field_length is used to determine the length (for tagname it will be 256).
    • TagCommonValidators.tagName: Checks for the tag name characters and matches the validation to that in the iFIX Database Manager. It also checks for duplicates in the current database. For example, the following special characters cannot be in the iFIX tag name - ~ ` + ^ : ? " * = { } . , ; ? @
    • TagCommonValidators.ioAddress: This validator applies only to the SIM driver. The value cannot be more than 2000; if a bit value is used, it cannot be more than 15.
    • TagCommonValidators.isIntegerValidation: Checks if it is a numeric value, otherwise the input is rejected.
    • TagCommonValidators.minValue: Based on the value of field_min in the .gov file.
    • TagCommonValidators.maxValue: Based on the value of field_max in the .gov file.
    • TagCommonValidators.isEmpty: Checks if the value is empty.
    • TagCommonValidators.scanTime: Matches to the iFIX Database Manager input for scan time.
    • TagCommonValidators.blockName: Similar to tagName, but does not check for a duplicate tag name in the database.
    • TagCommonValidators.maxPrecision: Based on the value of field_precision in the .gov file.
    • TagCommonValidators.eguValuesNotEqual: This validator checks if the value is within EGU limits. If the value matches EGU limit values, it is rejected.
    • TagCommonValidators.inValidNumericFormat: Confirms that the number format matches the locale. Only default number formats for a given locale are supported.
Note: Depending on the complexity of your custom block, it is recommended to use the TXT_details.json (simpler) or D16_details.json (more complex) as a template.

TXT_details.json

{
    "tag_type": [
        {
            "type_name": "TXT",
            "category": {
                "General": [
                    {
                        "A_TAG": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.tagName"
                            ]
                        }
                    },
                    {
                        "A_DESC": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "rank": 1
                    }
                ],
                "IO_Addressing": [
                    {
                        "A_IODV": {
                            "default": "SIM",
                            "enum": [
                                ""
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_IOAD": {
                            "default": "0",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.ioAddress"
                            ]
                        }
                    },
                    {
                        "A_IOSC": {
                            "default": "None",
                            "drivers": [],
                            "enum": [
                                ""
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_IOHT": {
                            "default": "None",
                            "enum": [
                                "None"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "rank": 2
                    }
                ],
                "Limits_and_Scaling": [
                    {
                        "A_ELO": {
                            "default": "0.00",
                            "field_min": "-3.4E+38",
                            "field_max": "3.4E+38",
                            "field_precision": "16",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue",
                                "TagCommonValidators.maxPrecision",
                                "TagCommonValidators.isEmpty",
                                "TagCommonValidators.eguValuesNotEqual"
                            ]
                        }
                    },
                    {
                        "A_EHI": {
                            "default": "100.00",
                            "field_min": "-3.4E+38",
                            "field_max": "3.4E+38",
                            "field_precision": "16",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue",
                                "TagCommonValidators.maxPrecision",
                                "TagCommonValidators.isEmpty",
                                "TagCommonValidators.eguValuesNotEqual"
                            ]
                        }
                    },
                    {
                        "A_EGUDESC": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "rank": 3
                    }
                ],
                "Text Strings": [
                    {
                        "TR0": {
                            "default": "1",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS0": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR1": {
                            "default": "2",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS1": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR2": {
                            "default": "4",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS2": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR3": {
                            "default": "8",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS3": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR4": {
                            "default": "16",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS4": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR5": {
                            "default": "32",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS5": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR6": {
                            "default": "64",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS6": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR7": {
                            "default": "128",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS7": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR8": {
                            "default": "256",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS8": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR9": {
                            "default": "512",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS9": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR10": {
                            "default": "1024",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS10": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR11": {
                            "default": "2048",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS11": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR12": {
                            "default": "4096",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS12": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR13": {
                            "default": "8192",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS13": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR14": {
                            "default": "16384",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS14": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "TR15": {
                            "default": "32768",
                            "field_min": "1",
                            "field_max": "65535",
                            "enum": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue"
                            ]
                        }
                    },
                    {
                        "A_TS15": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_TS16": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "rank": 4
                    }
                ],
                "E-Signature": [
                    {
                        "A_ESIGTYPE": {
                            "default": "NONE",
                            "enum": [
                                "NONE",
                                "PERFONLY",
                                "PERFVERI"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGCONT": {
                            "default": "YES",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGACK": {
                            "default": "NO",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGREQ_COMMENT": {
                            "default": "NO",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGTRAP": {
                            "default": "REJECT",
                            "enum": [
                                "REJECT",
                                "ACCEPT",
                                "LOG"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "rank": 5
                    }
                ],
                "Advanced_Options": [
                    {
                        "A_OUT": {
                            "default": "NO",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_CASE": {
                            "default": "NO",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "Security_Areas": {
                            "default": "NONE",
                            "enum": [
                                ""
                            ],
                            "datatype": "string",
                            "applies_to": [
                                "A_SA1",
                                "A_SA2",
                                "A_SA3"
                            ]
                        }
                    },
                    {
                        "A_SA1": {
                            "default": "NONE",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_SA2": {
                            "default": "NONE",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_SA3": {
                            "default": "NONE",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_ALMEXT1": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_ALMEXT2": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "rank": 6
                    }
                ]
            }
        }
    ]
}

D16_details.json

{
    "tag_type": [
        {
            "type_name": "D16",
            "category": {
                "General": [
                    {
                        "A_TAG": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.tagName"
                            ]
                        }
                    },
                    {
                        "A_DESC": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "rank": 1
                    }
                ],
                "IO_Addressing": [
                    {
                        "A_MODE": {
                            "default": "A",
                            "enum": [
                                "A",
                                "D"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_IODV": {
                            "default": "SIM",
                            "enum": [
                                ""
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_IOAD": {
                            "default": "0",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.ioAddress"
                            ]
                        }
                    },
                    {
                        "A_COUNT": {
                            "default": "16",
                            "enum": "",
                            "datatype": "string",
                            "field_min": "1",
                            "field_max": "16",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.isIntegerValidation",
                                "TagCommonValidators.minValue",
                                "TagCommonValidators.maxValue",
                                "TagCommonValidators.isEmpty"
                            ]
                        }
                    },
                    {
                        "A_IOHT": {
                            "default": "None",
                            "enum": [
                                "None"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_SCANT": {
                            "default": "1",
                            "enum": "",
                            "ProcessByException": "",
                            "PhaseAt": "",
                            "datatype": "number",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.scanTime"
                            ]
                        }
                    },
                    {
                        "rank": 2
                    }
                ],
                "Device_States": [
                    {
                        "A_LABEL[00]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[00]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[00]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[01]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[01]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[01]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[02]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[02]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[02]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[03]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[03]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[03]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[04]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[04]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[04]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[05]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[05]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[05]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[06]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[06]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[06]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[07]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[07]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[07]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[08]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[08]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[08]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[09]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[09]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[09]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[10]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[10]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[10]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[11]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[11]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[11]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[12]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[12]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[12]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[13]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[13]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[13]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[14]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[14]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[14]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_LABEL[15]": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AE[15]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_INVERT[15]": {
                            "default": "N",
                            "enum": [
                                "Y",
                                "N"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "rank": 3
                    }
                ],
                "Alarms_Options": [
                    {
                        "Alarm_Areas": {
                            "default": "ALL",
                            "enum": [
                                ""
                            ],
                            "datatype": "string",
                            "applies_to": [
                                "A_AREA1",
                                "A_AREA2",
                                "A_AREA3",
                                "A_AREA4",
                                "A_AREA5",
                                "A_AREA6",
                                "A_AREA7",
                                "A_AREA8",
                                "A_AREA9",
                                "A_AREA10",
                                "A_AREA11",
                                "A_AREA12",
                                "A_AREA13",
                                "A_AREA14",
                                "A_AREA15"
                            ]
                        }
                    },
                    {
                        "A_IENAB": {
                            "default": "ENABLE",
                            "enum": [
                                "DISABLE",
                                "ENABLE"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_PRI": {
                            "default": "LOW",
                            "enum": [
                                "INFO",
                                "LOW",
                                "LOLO",
                                "MEDIUM",
                                "HIGH",
                                "HIHI",
                                "CRITICAL"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_AREA1": {
                            "default": "ALL",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA2": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA3": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA4": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA5": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA6": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA7": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA8": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA9": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA10": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA11": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA12": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA13": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA14": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_AREA15": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_IALMSHLVENAB": {
                            "default": "DISABLE",
                            "enum": [
                                "ENABLE",
                                "DISABLE"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ALMSHELVEPOLICY": {
                            "default": "",
                            "enum": [
                                ""
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "rank": 4
                    }
                ],
                "E-Signature": [
                    {
                        "A_ESIGTYPE": {
                            "default": "NONE",
                            "enum": [
                                "NONE",
                                "PERFONLY",
                                "PERFVERI"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGCONT": {
                            "default": "YES",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGACK": {
                            "default": "NO",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGREQ_COMMENT": {
                            "default": "NO",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_ESIGTRAP": {
                            "default": "REJECT",
                            "enum": [
                                "REJECT",
                                "ACCEPT",
                                "LOG"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "rank": 5
                    }
                ],
                "Advanced_Options": [
                    {
                        "A_ISCAN": {
                            "default": "ON",
                            "enum": [
                                "ON",
                                "OFF"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "A_REALM": {
                            "default": "YES",
                            "enum": [
                                "YES",
                                "NO"
                            ],
                            "datatype": "string"
                        }
                    },
                    {
                        "Security_Areas": {
                            "default": "NONE",
                            "enum": [
                                ""
                            ],
                            "datatype": "string",
                            "applies_to": [
                                "A_SA1",
                                "A_SA2",
                                "A_SA3"
                            ]
                        }
                    },
                    {
                        "A_SA1": {
                            "default": "NONE",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_SA2": {
                            "default": "NONE",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_SA3": {
                            "default": "NONE",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_PREV": {
                            "default": "",
                            "enum": "",
                            "validators": []
                        }
                    },
                    {
                        "A_NEXT": {
                            "default": "",
                            "enum": "",
                            "validators": [
                                "TagCommonValidators.maxLength",
                                "TagCommonValidators.blockName"
                            ]
                        }
                    },
                    {
                        "A_ALMEXT1": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "A_ALMEXT2": {
                            "default": "",
                            "enum": "",
                            "datatype": "string",
                            "validators": [
                                "TagCommonValidators.maxLength"
                            ]
                        }
                    },
                    {
                        "rank": 6
                    }
                ]
            }
        }
    ]
}