Toggle menu

Configuration Manager

The Configuration Manager administers settings for other products. It presents a series of forms to users which are used to create and update product configurations.

The tool itself is made up of one form, one workflow process and a set of End Points. The actual forms and End Points used to manage a given product's settings are provided by that product. These are plugged into the Configuration Manager when a product is installed.

All configuration settings are written to the platform's history service, from where they are retrieved by the products that need to use them.

Installation and Configuration

Configuration Manager itself has a single configuration End Point. This End Point holds a list of the products that have been set up to use Configuration Manager and the location of their own configuration End Points.

For example, on this system, three products have been plugged into Configuration Manager:

function(params, credentials) {
    // Config Manager supported products
    return {
        "Case Management": "goss.CaseManagement.v1.configuration.getCoreConfig",
        "Map Providers": "goss.MapProviders.configuration.getCoreConfig",
        "Report It": "goss.ReportIt.v1.configuration.getCoreConfig"
    };
}

They appear as a list on the first page of the Configuration Manager:

Installed Products

Configuring a Product

Most products have multiple categories of configurations. Case Management has configuration for each case type, Report It (in the screenshot below) has configuration for each type of thing that can be reported.

Configuring a Product

You can then drill-down into a configuration to update the settings:

Core Settings

Exporting and Importing

Most products support exporting and importing configurations from one installation to another.

Pressing export generates a JSON copy of the relevant configuration:

Export Config

Copy the export code and paste it into the product's configuration importer:

Import Config

Take care when importing. The export is an exact copy of the configuration, which may include settings specific to the location that the configuration was exported from. For example, your configuration might include URLs, email "from" addresses, user groups and API keys which will all be different in the environment where you are importing.

History Format

A configuration history has the following format:

{
    "result": [{
        "labela": "Configuration Manager",
        "labelb": "allotmentenquiries",
        "labelc": "configs",
        "labeld": "Case Management",
        "labele": null,
        "created": {},
        "lastupdated": {},
        "sealed": false,
        "subject": null,
        "events": [{...},{...}]
    }]
}

Labela is always "Configuration Manager" and labelc "configs". Labelb is a unique identifier for the thing that is being configured. In the example above, allotmentenquiries is the ID of the case type.

As settings are updated, new events are added to the configuration history. Each event holds a complete copy of the configuration, with products reading the most recent event when retrieving their settings.

Last modified on 21 June 2022

Share this page

Facebook icon Twitter icon email icon

Print

print icon