Skip to main content
Version: 5.6

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.yaml file.
  • Tags are optionally defined in a shared tags.yaml file 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 as REST.
  • Project files are located within the solution in the config directory.
  • Additional program data is located within the solution in the program directory.

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 NameTypeDescriptionDefault Value
DEstringGerman translationUnknown
ENstringEnglish translationUnknown

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 NameTypeDescription
FormatVersionintSpecifies the format version
TagsMapping (Tag Metadata)Mapping with Tag ID as the key and tag metadata as the value

Tag Metadata​

Field NameTypeDescription
DisplayNameTranslatableStringDisplay name of the tag
BackgroundColorstringSpecifies the tag background color (HEX, RGB)
TextColorstringTag text color (HEX, RGB)

Example​

Below is an example of a tags.yaml file.

tags.yaml
FormatVersion: 1
Tags:
example_tag:
DisplayName:
DE: "Beispiel Tag"
EN: "Example Tag"
BackgroundColor: "#52856c"
TextColor: "white"