Fusion Edge Server Properties
Contents
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
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 REST API supports extensions beyond the SDMX Web Service Specification, these can be disabled by using the following properties:
rest.query.advanced=false
rest.query.calculation=false
rest.query.aggregate=false
From version 2.3.5 the following web services are supported and can be disabled
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 suppluing 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:
- Access-Control-Allow-Origin
- Access-Control-Allow-Headers (comma separated)
- Access-Control-Expose-Headers (comma separated)
- 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]
Legacy Mode
The Fusion Edge Server can be set to support the following deprecated APIs:
json.legacy.enabled=[true|false]
The above converts the query parameter sdmx-json to fusion-json
api.version.availability=1.0
The above uses the deprecated data availability API