Difference between revisions of "Fusion Edge Server Properties"

From Fusion Registry Wiki
Jump to navigation Jump to search
(Secret Key)
(Sender Id)
Line 14: Line 14:
 
The above setting would make the SDMX web service entry point: https://myserver.myorg.org/Edge/sdmx
 
The above setting would make the SDMX web service entry point: https://myserver.myorg.org/Edge/sdmx
  
== Sender Id ==
+
= Sender Id =
 
SDMX Messages contain a Header section which includes the identity of the sender.  The identity is mandatory in a SDMX message, and the default ID is set to "UNKNOWN".  To change the Id, set the sender Id property
 
SDMX Messages contain a Header section which includes the identity of the sender.  The identity is mandatory in a SDMX message, and the default ID is set to "UNKNOWN".  To change the Id, set the sender Id property
  

Revision as of 06:41, 26 August 2022


Overview

The Fusion Edge Server provides configuration options on various aspects of the Edge Server. To set these configurations, create a file under the Edge Server Directory with the name: edgeserver.properties.

Public URL

The Edge Server application and web service URL should be defined in the edge server properties file. These URLs are used in responses to structure queries which include links to associated reference metadata, and stub structures which link back to the full artefact.

The URLs are split into two parts, the application URL, which should be a reference to the public application server, and the rest url which is the POSTfix URL to the web service, for example:

app.url=https://myserver.myorg.org/Edge
rest.url=/sdmx

The above setting would make the SDMX web service entry point: https://myserver.myorg.org/Edge/sdmx

Sender Id

SDMX Messages contain a Header section which includes the identity of the sender. The identity is mandatory in a SDMX message, and the default ID is set to "UNKNOWN". To change the Id, set the sender Id property

sender.id=YOUR_ID

Secret Key

The Fusion Edge server must be given a secret key, and it must match that used by the Fusion Edge Compiler in the compilation of the Environment. If the secret key does not match the secret key of the Environment, the Fusion Edge Server will fail to load the Environment.

ledger.secret=MySecret

Disable Audit

The Fusion Edge maintains an audit log of events in its local Edge Server Directory. Auditing can be disabled with the following property

audit.disabled=true

Limiting Series and Observations

To place a limit on the number of series and the number of observations that can be queried via the web service the following two properties are supported:

limit.obs=12345
limit.series=1234

The numeric value indicates the maximum number of series or observations that can be returned from a single data query.

If the limit is exceeded an HTTP status code of 413 (Payload Too Large) will be returned to the client.

Limiting Supported Data Formats

To enforce a restriction on which data formats are supported from the REST API of the Fusion Edge Server, use the format.data property as follows:

format.data=[format1],[format2]

This property defines which formats are supported, if this property is not provided all formats will be supported. If this property is provided, only the formats in this list will be supported.

VND Headers are listed in the Data Formats section.

Example:
format.data=application/vnd.sdmx.generictimeseriesdata+xml;version=2.1,application/vnd.sdmx.data+csv

Limiting Supported Structure Formats

To enforce a restriction on which structure formats are supported from the REST API of the Fusion Edge Server, use the format.structure property as follows:

format.structure=[format1],[format2]

This property defines which formats are supported, if this property is not provided all formats will be supported. If this property is provided, only the formats in this list will be supported.

Each [format] is a VND header the supported formats are:

Structure Format VND Header
SDMX EDI application/vnd.sdmx.structure;version=edi
application/vnd.sdmx.structure+xml;version=1.0 SDMX v1.0
application/vnd.sdmx.structure+xml;version=2.0 SDMX v2.0
application/vnd.sdmx.structure+xml;version=2.1 SDMX v2.1
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Excel
application/vnd.fusion.json Fusion JSON
application/vnd.sdmx.json SDMX JSON

Example:
format.structure=application/vnd.sdmx.structure;version=edi,application/vnd.sdmx.json

Limiting Query Functionality

The extended data query API can have some features disabled by using the following properties:

rest.query.attribute = false
rest.query.aggregate = false
rest.query.interpolate = false
rest.query.calculatemeasure = false
rest.query.normalisefreq = false
rest.query.round = false

Caching

The Fusion Edge Server caches the response to data queries in the tmp folder of the Edge Directory. The response is stored in gzip format, which ensures clients who request data in gzip format recieve a rapid response when the data has been cached due to previous requests for the same data. The cache is cleared when files are imported via the sweep directory. The cache is NOT cleared on application startup. It can be manually cleared by deleting all the files in the tmp directory.

The cache can be disabled by supplying the following property (Fusion Edge Server v2.3.5 an higher):

rest.query.cache=false

CSV Data Format Defaults

To modify the default CSV output is returned, the following properties are supported:

csv.delimiter=comma|tab|space|semicolon
csv.labels=ID|NAME|ID_AND_NAME
csv.showSeries=true|false
csv.includeBom=true|false
csv.keySeparator=:

The delimiter is the value of the character that will be output between the elements (defaults to comma).

The values for 'Labels' must be one of the following: ID; NAME; ID_AND_NAME (defaults to ID_AND_NAME). Show Series defines whether to output the series key in the output (defaults to true).

Cross-Origin Resource Sharing (CORS)

By default the CORS policy of the Fusion Edge server is to reject cross domain requests. To provide CORS policy to certain or all domains the cors.policy property should be set.

cors.policy=[policy 1]@[policy 2]@[policy 3]

Each policy is separated by an '@' symbol, within each policy are the following properties, each separated by a '$' symbol:

  1. Access-Control-Allow-Origin
  2. Access-Control-Allow-Headers (comma separated)
  3. Access-Control-Expose-Headers (comma separated)
  4. Access-Control-Allow-Credentials (true/false)

Example cors.policy=www.metadatatechnology.com$GET,HEAD$*$Content-Disposition$true

Example All Domains cors.policy=*$GET,HEAD,POST$*$Content-Disposition$false

Password Protect Excel Workbooks

Generated Reporting Template data formats can be set to be password protected using the following property

reporttemplate.password=[password]