Skip to main content

xSuite Interface Windows Prism 5.x – Online Help

General Properties

Property

Description

General.IncludeConfig[]

Values from one or more secondary data sources can be added to the values read from a primary configuration data source.

The JSON contents of multiple configuration files are merged into a single overall configuration. This can be used, for example, to avoid redundant configurations and/or partial configurations when content that is repetitive occurs in multiple primary configuration files.

To avoid having to maintain the same content multiple times, this content can be stored in a shared "include" file. This include file is referenced from the primary files. No more include files can be integrated into an include file.

.IncludeConfig[] is where to specify the secondary configuration files in URI syntax (see Data Format and Data Sources). The specification can be an absolute path or a relative path, relating to the path of the primary file. Each file can contain an incomplete partial configuration, because only the totality of all partial configurations composes a consistent state.

The assembly of the overall configuration from these parts is the first step before interpretation and content validation of the data. The prerequisite for this is that each part is available in valid JSON syntax. The following generic logic is used to connect JSON data:

Data is inserted from the secondary files into the primary file, in the order in which it is defined. Configuration properties that already exist in the primary file are overwritten with the values from the secondary file. However, data is overwritten only if the properties are elementary properties and the values of those properties in the secondary file are not empty. Values are considered empty if they are "null." An empty string "" does not represent an empty value in this context and thus overwrites a value in the primary file. Array elements are joined together to form a new array if the array of the same name exists in the primary and secondary files. The exception is elements with the same content, which are added just once instead of twice.

In terms of the work content handled, this handling of array elements is not always desirable. In some cases, for example, fields from a secondary file should be added to an existing field catalog in the primary file instead of adding a separate field catalog. For certain elements that are structured as an array, content-based post-processing of the configuration file therefore takes place. The order of the array elements resulting from the intermediate step is relevant for the final result. These elements contain arrays with sub-elements (e.g., field listings, which are to be combined into a common array). This combination is achieved by successively appending additional elements to the first array. The order of the elements is retained.

  • Constants are structured in blocks whose elements are tenant-specific or globally valid (empty tenant entry). All elements that have the same tenant or an empty tenant are combined to form a common block.

  • Field catalogs that have the same name are combined to form a common catalog. Only the basic properties of the first catalog are retained. The properties of the other catalogs are discarded. A common field list is created from the fields of the catalogs. If there is a name conflict at field level, the field will overwrite the existing field with the same name. Field catalogs without an explicit name are adopted unchanged.

  • Index data readers are grouped together if they are of the same type and use the same .FileFilter. The type alone is not unique, as it can be applied multiple times to different index files. The basic properties are taken from the first index data reader. The properties of the other index data readers are discarded. A common list is created from the individual lists of field assignments. If there is a name conflict with regard to the target field (property .Name of an element), the element will overwrite the existing element.

  • Output formats and output systems are combined if they are of the same type and have the same order number (property .Order). Output formats and output systems without an explicitly set order number are adopted unchanged. The basic properties are taken from the first output format or output system. The properties of the other formats/systems are discarded. A common list is created from the individual lists of field assignments. If there is a name conflict with regard to the output field (property .OutputName of an element), the element will overwrite the existing element.

The global property General.DebugWriteMergedConfig can be used to output the final result of the program-internal file merge in file form for control purposes.

General.DebugWriteMergedConfig

Boolean value determining whether a result file is to be created when secondary configuration data is included or constant values are inserted into the existing configuration

Default value: TRUE

By default, the result of the file merge is only available in the main memory. In the event of a problem, the result file can be used to perform a visual check. The generated file has the folder path and base name of the primary configuration file, supplemented by the suffix .merged.

For database-based configurations, the technical name is used as the base file name and the folder of the global launch-configuration file.