Data Export Configuration
Overview
As the Fusion Data Browser talks directly to the web services of the Fusion server it is connected to (Fusion Registry / Fusion Edge Server / other) - the supported export formats are defined by the product. As these can change over time, and as there are so many export formats and parameters, the desired exports and parameters for these are controlled in the Fusion Data Browsers export configuration file.
The configuration file is named exportconfig.json and is located under the properties folder, and will look something like this:
{ "Parameters" : { "DimAtObs" : { "Label": "data.export.param.dimatobs", "Parameter": "dimensionAtObservation", "DimensionOptions" : { "IncludeTime" : true, "Required" : true } }, "Slice" : { "Label": "data.export.param.slice", "Parameter": "slice", "DimensionOptions" : { "IncludeTime" : false, "Required" : false }, } "Detail" : { "Label": "Attributes", "Parameter": "detail", "Options" : [ { "Label" : "Include", "Value" : "full" },{ "Label" : "Exclude", "SubText" : "Exclude series and observation attributes", "Value" : "dataonly" } ] }, }, "ExportFormats" : [ { "Label" : "CSV", "Format" : "csv", "FixedParameters" : { "labels" : "both" } }, { "Label" : "Excel Series", "Format" : "excel-series", "Parameters" : ["Slice", "DimAtObs"], "FixedParameters" : { "labels" : "both" } } ] }
The file is broken into two main sections: Parameters and ExportFormats.
Parameters
The parameters section enable export parameters to be defined once, and re-used by any number of exports that require them. An export parameter is always a choice which is presented to the user when they opt to export the data in any ExportFormat that makes use of the parameter.
Each parameter has:
- Alias. Used by the ExportFormat in order to reference the parameter.
- Label. Presented to the user in the export data form. This can be a Locale label in the language file, for example data.export.param.slice will resolve to the label Slice in the English language file
- Parameter. This is the REST query parameter that is used when it transmits the parameter in the data query to the server.
Example:
"Detail" : { "Label": "Attributes", "Parameter": "detail", "Options" : [ ... ]
In the above example Detail is the alias, Attributes is the label shown to the user on the export data form. The REST query parameter sent to the server will be detail. If, for example the user selects an option with the Value full then the server will receive the query parameter detail=full
To present the user with a list of values they can choose for the Parameter, there are 2 choices:
- a fixed list of options
- a dynamic list of options taken which are derived from the available Dimensions for the dataset being exported.
Fixed List Parameters
Fixed list parameters are defined in the Options array. Each Option has the following properties:
- Label - required, this is the label in the drop down
- SubText - optional property, if provided it will appear in the select option next to the label as a smaller sub-text label
- Value - the value that will be passed to the server if this option is selected, an empty string is used to indicate do not pass this parameter
Labels may be defined as properties in the language file.
"Detail" : { "Label": "Attributes", "Parameter": "detail", "Options" : [ { "Label" : "Include", "Value" : "full" }, { "Label" : "Exclude", "SubText" : "Exclude series and observation attributes", "Value" : "dataonly" } ] }
Dynamic Dimension Parameters
These parameters are based on the Dimensions in the dataset. For example if the user can slice the data by a Dimension to create multiple datasets, then the list of available Dimensions can not be described as a fixed list in the export configuration file, it is expressed as a DimensionOption.
DimensionOptions have 2 properties:
- IncludeTime - if true, and the Data Structure Definition has a Time Dimension, this will be included in the choice of Dimensions
- Required - if true, then the select will only include the Dimensions as a choice, defaulting to the first in the list. If false, then the first item in the list is a "-" to indicate that no Dimension was selected for this property
"Slice" : { "Label": "data.export.param.slice", "Parameter": "slice", "DimensionOptions" : { "IncludeTime" : false, "Required" : false }