Root configuration files
The following root Configuration Files are crucial for either an Operator Client (OC) and a Forecasting Shell Server (FSS)
RootConfiguration file | OC | FSS |
---|---|---|
*_clientConfig.xml | required | required |
patch.jar | required | required |
*_global.properties | required | required |
splash_screen.jpg | recommended | not needed |
A * means either "oc" or "fss"
clientConfig.xml file(s)
From Delft-FEWS 2018.02 onwards, the different clientConfig.xml files have an important place in the Delft-FEWS root configuration. Different variants (for different components) of clientConfig.xml files exist and will be explained below.
The clientConfig.xml consist of the following elements:
title
Optional element for setting the title of your application/component
clientType
Required element for defining the type. Enumeration of options includes;
- Forecasting Shell
- Operator Client
- Stand Alone
otherRootConfigFiles
One or more references to the required root configuration files which should always be downloaded when an OC or FSS starts. For an OC the following root configuration files are important to mention here: patch.jar, oc_global.properties, splash-screen reference and oc_clientConfig.xml. See below mentioned image. Important remark is that when the OC starts, it will be checked if these files are present. If not, the will be downloaded. If they are already there, it will be checked it is the correct active version as in the central database. If the files on the file systems are not the active version, they will be downloaded and overwritten.
connection
Optional element to define the connections to the Master Controller. Only required if you have more than 1 Master Controller connections (multi MC environments).
If there is only 1 Master Controller, the connection details are already within the shortcuts (TO DO: INSERT LINK TO EXPLANATION) you have created when deploying/installing the system.
databaseServer (+ url / user / password)
Required elements for setting the details of the database server if you want to specify those in the <connection>. See example below
<?xml version="1.0" encoding="UTF-8"?> <clientConfiguration xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/clientConfig.xsd"> <title>HyFS-RM2018-OC</title> <clientType>Operator Client</clientType> <otherRootConfigFiles> <name>patch.jar</name> <name>fews-splash.jpg</name> <name>oc_delft_global.properties</name> </otherRootConfigFiles> <connection id="mc00_postgresql"> <databaseServer> <url>jdbc:postgresql://dl-081.xtr.deltares.nl:5432/core00</url> <user>username</user> <password>######</password> </databaseServer> </connection> <connection id=" mc01_oracle"> <databaseServer> <url>jdbc:oracle:thin:@pl-or001.xtr.deltares.nl:1521:rm201802</url> <user>rm201802</user> <password>######</password> </databaseServer> </connection> <connection id="mc02_sqlserver"> <databaseServer> <url>jdbc:jtds:sqlserver://dw-ms002.xtr.deltares.nl:1433;DatabaseName=roadmapmc01;useCursors=false;sendStringParametersAsUnicode=false</url> <user>fewsuser</user> <password>######</password> </databaseServer> </connection> <jvmOption>-Xmn1000m</jvmOption> <jvmOption>-Xmx1500m</jvmOption> <autoExportModuleDataSet name="HyFS_Help" exportDir="products"/> <autoExportModuleDataSet name="AUS_Products" exportDir="products"/> <autoExportModuleDataSet name="QLD_Products" exportDir="products"/> <autoExportModuleDataSet name="NSW_Products" exportDir="products"/> <autoExportModuleDataSet name="SA_Products" exportDir="products"/> <autoExportModuleDataSet name="WA_Products" exportDir="products"/> <autoExportModuleDataSet name="NT_Products" exportDir="products"/> <autoExportModuleDataSet name="TAS_Products" exportDir="products"/> <autoExportModuleDataSet name="VIC_Products" exportDir="products"/> </clientConfiguration>
jvmOption
Optional element to specify additional java VM options (which were present in the launcher *ini file in earlier versions of Delft-FEWS). In short: all -D and -Xmx options can be configured in individual jvmOptions, example see below.
autoExportModuleDataSet
Optional element with references to all ModuleDataSet files which should be extracted when an OC or FSS starts. Mostly valid for FSSs since they are running the models. In case of using the new Web Browser Display this option should also be used to distribute the required libraries for an OC.
In fact: the complete structure on an FSS underneath the "/Modules/" folder should (ideally) be stored in one or more ModuleDataSet files. Only in this way, FSSs can be used for scaling up/down since its content is generated automatically. See below mentioned image with a number of references to ModuleDataSet files
++++++++++++ TO DO +++++++++++++++++++
synchProfile
A synchProfile can be defined if you would like to create an OC with LocalDataStore. By default the connection will be Direct Data Access (DDA)
<?xml version="1.0" encoding="UTF-8"?> <clientConfiguration xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/clientConfig.xsd"> <title>HyFS-RM2018-OC</title> <clientType>Operator Client</clientType> <otherRootConfigFiles> <name>patch.jar</name> <name>fews-splash.jpg</name> <name>oc_delft_global.properties</name> </otherRootConfigFiles> <connection id="mc00_postgresql"> <databaseServer> <url>jdbc:postgresql://dl-081.xtr.deltares.nl:5432/core00</url> <user>username</user> <password>######</password> </databaseServer> <synchProfileId>full</synchProfileId> <synchProfileId>minimal</synchProfileId> </connection> <connection id=" mc01_oracle"> <databaseServer> <url>jdbc:oracle:thin:@pl-or001.xtr.deltares.nl:1521:rm201802</url> <user>rm201802</user> <password>######</password> </databaseServer> <synchProfileId>full</synchProfileId> <synchProfileId>minimal</synchProfileId> </connection> <connection id="mc02_sqlserver"> <databaseServer> <url>jdbc:jtds:sqlserver://dw-ms002.xtr.deltares.nl:1433;DatabaseName=roadmapmc01;useCursors=false;sendStringParametersAsUnicode=false</url> <user>fewsuser</user> <password>######</password> </databaseServer> <!-- Uncomment if synchronisation is desired --> <synchProfileId>full</synchProfileId> <synchProfileId>minimal</synchProfileId> </connection> <synchProfile id="full"> <xmlConfig enabled="true" name="Default xml config" synchLevel="11"/> <coldStates enabled="true" name="Default cold states" synchLevel="11"/> <moduleDataSets enabled="true" name="Default module data sets" synchLevel="11"/> <mapLayers enabled="true" name="Default module data sets" synchLevel="11"/> <icons enabled="true" name="Default icons" synchLevel="11"/> <reportTemplates enabled="true" name="Default report templates" synchLevel="11"/> <reportImages enabled="true" name="Default report images" synchLevel="11"/> <continuousTimeSeries enabled="true" name="Telemetry" synchLevel="1" maxAge="10" unit="day"/> <continuousTimeSeries enabled="true" name="Manual" synchLevel="5" maxAge="10" unit="day"/> <continuousTimeSeries enabled="true" name="Astronomical and climatological" synchLevel="4" maxAge="1000" unit="day"/> <continuousTimeSeries enabled="true" name="Small external forecast grids" synchLevel="6" maxAge="10" unit="day"/> <continuousTimeSeries enabled="true" name="Large external forecast grids" synchLevel="16" maxAge="10" unit="day"/> <forecastTriggeredTimeSeries name="Simulated forecast time series" enabled="true" synchLevel="0"/> <warmStates enabled="true" name="Warm states" maxAge="10" unit="day"/> <logEntries enabled="true" name="Log Entries" maxAge="10" unit="day"/> <thresholdEvents enabled="true" name="Threshold Events" maxAge="10" unit="day"/> </synchProfile> <synchProfile id="minimal"> <xmlConfig enabled="true" name="Default xml config" synchLevel="11"/> <coldStates enabled="true" name="Default cold states" synchLevel="11"/> <moduleDataSets enabled="false" name="Default module data sets" synchLevel="11"/> <mapLayers enabled="true" name="Default module data sets" synchLevel="11"/> <icons enabled="true" name="Default icons" synchLevel="11"/> <reportTemplates enabled="false" name="Default report templates" synchLevel="11"/> <reportImages enabled="false" name="Default report images" synchLevel="11"/> <continuousTimeSeries enabled="true" name="Telemetry" synchLevel="1" maxAge="1" unit="day"/> <continuousTimeSeries enabled="true" name="Manual" synchLevel="5" maxAge="1" unit="day"/> <continuousTimeSeries enabled="true" name="Astronomical and climatological" synchLevel="4" maxAge="1000" unit="day"/> <continuousTimeSeries enabled="false" name="Small external forecast grids" synchLevel="6" maxAge="10" unit="day"/> <continuousTimeSeries enabled="false" name="Large external forecast grids" synchLevel="16" maxAge="10" unit="day"/> <forecastTriggeredTimeSeries name="Simulated forecast time series" enabled="true" synchLevel="0"/> <warmStates enabled="false" name="Warm states" maxAge="10" unit="day"/> <logEntries enabled="true" name="Log Entries" maxAge="1" unit="day"/> <thresholdEvents enabled="true" name="Threshold Events" maxAge="1" unit="day"/> </synchProfile> </clientConfiguration>
warmStatesDirectory
proxyAutoConfigScriptContent
localCacheSizeMB
localDataStoreFormat
logging
proxyAutoConfigScriptUrl
externalTables
Example OC_clientConfig.xml
Minimum content for oc_clientConfig.xml + explanation + example
Recommended content for oc_clientConfig.xml + explanation + example
Full content/decription of oc_clientConfig.xml
FSS_clientConfig.xml
Recommendation for creating fss_clientConfig.xml per Operating System type
(fss_linux_clientConfig.xml, fss_windows_clientConfig.xml)
Minimum content for fss_clientConfig.xml + explanation + example
Recommended content for fss_clientConfig.xml + explanation + example
Full content/decription of fss_clientConfig.xml