System Properties

From Fusion Registry Wiki
Revision as of 04:21, 13 May 2024 by Lythhishmeh (talk | contribs) (Properties which may be Dynamically changed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

System Properties are generally set when the Java virual machine that is running Fusion Registry is launched. However the Registry provides a way to list all of the System properties and also provides the ability to set their values. Note that setting some of the system properties will have no effect on the running Registry as these must be supplied at startup time . The properties that can be changed and for the change to have an effect are listed below.

Obtaining System Properties

A root or an admin user of Fusion Registry can access the System Properites, returned in JSON form, by performing a GET request to the url:

http://[server]:[port]/FusionRegistry/ws/secure/settings/getSystemProperties

As this is a secure Web Service the user must be logged on, or supply correct credentials. The result is an array of JSON objects, where each object has a Key and a Value For example:

{
  Key: "edi.lenient.enabled",
  Value: "true"
}

Setting System Properties

A root or an admin user of Fusion Registry can set a System Properites by performing a POST request to the url:

http://[server]:[port]/FusionRegistry/ws/secure/settings/setSystemProperty

Appropriate credential must be supplied. The input format is JSON of the form

{
    "Key": "edi.lenient.enabled",
    "Value": "false"
}

If the "value" specified is blank this will have the effect of removing the property. For example the following will remove the property "ENFORCE_STRICT_SDMX_2.1":

{
    "Key": "ENFORCE_STRICT_SDMX_2.1",
    "Value": ""
}

IMPORTANT NOTE: Values set by using the Web Service will not be preserved on a Registry reboot. It is recommended to supply the System properties as part of the Java Server startup process (for example by the use of setenv in Apache Tomcat).

Properties which may be Dynamically changed

Changing a property whilst the Registry is running may not have any effect. The following properties can be changed and their effect will be immediate:


Property Default Value Effect
edi.lenient.enabled false Sets the EDI Leniency of the Registry
edi.enforce.primarymeasure.enabled false Sets whether a Primary Measure should be enforced in EDI
edi.forceTimeFormatSeriesAttr.enabled false Sets whether a series attribute of TIME_FORMAT should be created
edi.skipagencycheck.enabled false When writing an EDI data file, does not check that the Agencies of the Dataflow and DSD match. When writing an EDI structure file, does not check that cross-referenced components are of the same agency as the DSD. This feature is part of EDI Leniency mode.

Ignores the Agency check when evaluating the DSI file

edi.dsi.dataflow.enabled false When reading an EDI file, determines whether the DSI segment should be used to refer to a Dataflow

Switches the DSI from refering to the Datafllow

edi.datagroup.identifier unset Sets how the Registry sets the Group name when reading an EDI data file
ENFORCE_STRICT_SDMX_2.1 false Puts the Registry into Enforcing Strict values for SDMX 2.1


Week data is of the format: YYYY-Www
Monthly data is of the format: YYYY-Mmm
Half-Yearly data is of the format: YYYY-S[1-2]

server.secondary false Sets the Registry into secondary server mode
TF_ALTERNATE_HALF_YEAR false Sets the Registry into Alternate Half Year mode
aggregation.series.threshold 500000 Sets the limit for aggregated series. Keep in mind that increasing this value can have an impact on performance during data load/hierarchy association or hierarchy change.
HCL_OUTPUT_PERMIT_ALIAS_REF false Determine how Hierarchical Codelists should be output.

Fusion Registry version 10 only and since version 10.9.4.

Hierarchical Codelist Output