In the snapshot ZIP file any directories with name starting with '@' have special meaning. They define the structure of snapshot file. Names of other directories (not starting with '@') are part of import data. For example, they may be interpreted as parts of domain elements names or names of profiles, depending on where they are in the directory structure.
The part of the directory tree of the snapshot zip file related to functions has the following structure:
@params/ directory
Located in the top-level zip file directory, it contains the parameter content.
There are two subdirectories of the @params/ directory:
Except for these two subdirectories, the @params/ directory is not supposed to contain any other files or directories.
@global/ directory
Located under @params directory, contains files and directories which define individual parameters.
@profiles/ directory
Located under @params directory, holds content attached to regions. It has further structure, which reflects the structure of profiles, regions, and versions. Each subdirectory of @profiles/ stands for a profile with the same name as the directory name. Except for the profile directories, the @profiles/ directory should not contain any files. Inside each profile directory, there should be a directory called @regions/. Except for the regions/ directory, each profile directory is not supposed to contain any files or directories.
@regions/ directory
It contains only directories. Each subdirectory of @regions/ directory denotes a region (stands for the region with the same name as directory name) with the same name as the directory name. Each region directory should contain a subdirectory for each version of the region, with the same name as the name of the version (for example, version 1 will correspond to subdirecory 1). Each version directory may contain files or directories which define individual parameters.
Structure of files and directories defining individual parameters
The directory structure inside the @global/ directory or inside each individual version directory defines the code of parameter. The path segments correspond to parameter code segments, separated by dot ".". The last segment of the parameter code is the file name without extension. For example, the parameter with code motor.premium.annual corresponds to file annual.def inside directory motor/premium.
If we assume that it is a global parameter, the full path inside the zip file will be:
/@params/@global/motor/premium/annual.def/@params/@global/motor/premium/annual.mat
However, if this parameter were attached to version 2 of region REGION1 of profile PROPERTY, the path would be:
/@parameter/@profiles/PROPERTY/@regions/REGION1/2/motor/premium/annual.def
/@parameter/@profiles/PROPERTY/@regions/REGION1/2/motor/premium/annual.mat
Definition of parameter and his matrix must contains in this same directory.
The name of the file, excluding the extension, is the last segment of the parameter's code. The last segment of the parameter code consists usually of the two files, definition file with extension .def and matrix file with extension .mat. Exists two types of parameters consists of the one file (alias and parameter with external sources). The extension determines the part of the parameter:
The letter case in the extension has a matter. Imported are only files with lowercase extension .def and .mat
Files with different extensions are not imported.
Files with the definition of parameter have the following structure:
The definition of tags (categories) attached to the function has the format:
The name of each category must be surrounded by double-quotes ("..."). If there are no tags attached to the function, the list is empty: [] .
Matrix files have the following structure:
The first line defines the parameter that is the matrix owner.
The second line defines level names. Level names must match the names in parameter definition. The rest of the file contains matrix rows. Matrix types must be a match to parameter definition types.
The number of rows and level names must match a number of levels in parameter definition.
Level names and rows values are separated ";" character.
In this example parameter and matrix have two input levels (coverage, options) and one output level (available). Input levels are Strings, and the output level is a Boolean.
Some values from matrix entries must be encoded before export to .mat file. Encoding is done by replacing the value with a special sequence of characters: <#encoded_value#></#encoded_value#> During import same values are decoded to their normal value. Currently supported values:
He has a classic structure described in Overall file structure. He has two files (definition file and matrix file). Matrix and definition file must have the same path and name. The difference is only in extension. Matrix have .mat extension, and definition have .def extension.
slave (set a false) determines the parameter is the master parameter.
input levels and output levels determine matrix.
Alias is a parameter which does not have its own data matrix but uses data matrix from another parameter (called master).
Files with alias definition have the following structure:
Global alias must be attached to global master parameter.
Alias attached to the concrete profile, region and version must have a master parameter with this same profile, region, and version.
It is not possible to attach global alias to master parameter with profile, region and version and conversely. Also is not possible to attach alias from one profile, region, and version to master parameter from other profile, region, and version.
This type of parameter doesn’t have a matrix file.
This type of parameter is not yet supported in import.
Files with a parameter with external sources definition have the following structure:
To export parameters in Hyperon Studio, go to Tools → Snapshot Export, check Parameter checkbox, choose profiles from which parameter should be exported and click the Export button. A popup window will appear. When the export is finished and no errors occurred, click the Download button to download snapshot in the zip file. If any error during export happens, an error message will be shown and the Download button will be unavailable to click.
Endpoint path, method, response statuses are available here: REST export endpoint
To export parameters via REST, the section below must be present in a REST request