Solution Gallery Structure
For a solution to be processed in the Solution Gallery, it must follow a fixed file and data structure. This structure defines
- where individual solutions are located
- which files are allowed at the root level
- where configuration and program data are stored
The structure is independent of the solutionβs business content. It serves as the technical foundation that enables the OPC Router to recognize, describe, and import the solution.
File Structureβ
The following rules apply to the file structure:
- Each solution is located in its own directory at the root level.
- Each solution directory contains a
solution.yamlfile. - Tags are optionally defined in a shared
tags.yamlfile at the root level. They serve as search and filter aids in the Solution Gallery to help users find solutions by topic more quickly, for example, for content such asREST. - Project files are located within the solution in the
configdirectory. - Additional program data is located within the solution in the
programdirectory.
Example of a file structure:
π Solution Gallery Root
β£ π tags.yaml
β π Example Solution 1
β£ π solution.yaml
β£ π description_de.md
β£ π description_en.md
β£ π config
β β π versioned
β β£ π ConnectionGroups
β β β π Connections
β β β π example_connection.yaml
β β π Plugins
β β π RestApi
β β π example_rest_plugin.yaml
β π program
β π devices
β π example.dll
Format Versionβ
The format version must be specified in all Solution Gallery-relevant metadata files, such as solution.yaml or tags.yaml. Project and program data are excluded from this requirement.
Currently, the value 1 is expected.
For more information, see the definitions below and the Solution Structure.
Definitionsβ
TranslatableStringβ
A translatable string allows text to be translated automatically.
It is not necessary to specify individual fields. A value without a specified language is automatically used for all languages.
| Field Name | Type | Description | Default Value |
|---|---|---|---|
| DE | string | German translation | Unknown |
| EN | string | English translation | Unknown |
tags.yamlβ
You can use tags to categorize solutions in the Solution Gallery by topic. This allows users to search specifically for solutions based on subject matter or technical focus, such as solutions related to REST.
| Field Name | Type | Description |
|---|---|---|
| FormatVersion | int | Specifies the format version |
| Tags | Mapping (Tag Metadata) | Mapping with Tag ID as the key and tag metadata as the value |
Tag Metadataβ
| Field Name | Type | Description |
|---|---|---|
| DisplayName | TranslatableString | Display name of the tag |
| BackgroundColor | string | Specifies the tag background color (HEX, RGB) |
| TextColor | string | Tag text color (HEX, RGB) |
Exampleβ
Below is an example of a tags.yaml file.
FormatVersion: 1
Tags:
example_tag:
DisplayName:
DE: "Beispiel Tag"
EN: "Example Tag"
BackgroundColor: "#52856c"
TextColor: "white"