Validation of a Configuration
The validation of a configuration is carried out on two levels:
- Primary Validation: validation of a configuration file according to the associated schema
- Secondary Validation: validation of the internal dependencies between configuration files
The Configuration Manager will not import or upload any configuration which violates the validation rules that have been set in the Configuration Manager configuration file.
Primary validation of an XML configuration file means that the content of the XML file is in accordance with the xml schema for that type of configuration file. There are two possibilities to carry out a primary validation: direct or indirect validation.
Any other configuration files that are not XML, ie HTML and binary files, cannot be validated.
Direct validation involves a direct check of the configuration file against the schema as defined in the configuration file. The schema that is referenced in the xml file may or may not refer to the latest schema. Future releases of DELFT-FEWS should however have schemas that are backwards compatible. The latest schema is the schema that is posted on the Delft Hydraulics website.
Direct validation is the most robust validation method and is recommended to be used. The Configuration Manager has been configured to use Direct Validation.
When indirect validation is used, the configuration file is read with the code that has been created based on the latest schema at the time the code was compiled. The file is valid if it can be successfully read.
This validation method is less robust than the direct method and should only be used when direct access to the schemas is not available.
There are a number of distinct differences in the use of either direct or indirect validation:
- Direct validation ensures that a configuration file is in accordance with the latest schema. To use this option the latest version of the Delft-FEWS code is required. Direct validation requires access to the Delft Hydraulics web site. An alternative could be to have all schemas available locally, but this requires that the configuration files are edited to reflect the change in schema location.
- Indirect validation ensures that the configuration file will always be accepted by the system in use. No connection to the internet is required.
Secondary Validation (internal dependencies validation)
The internal dependencies of a regional configuration follows the rules of a relational database.
When a violation is found, the Configuration Manager will provide an appropriate message indication which violation has been found, together with the file or files that have been found to cause the violation.
The validation of internal dependencies is only be carried out on the set of Active configuration files