Sign inSign up

sdmxio/fwb

Sponsored OSS

By sdmxio

•Updated 3 months ago

Fusion Workbench - SDMX metadata management front-end for .Stat Suite and other tools

Image
Data science
0

3.9K

sdmxio/fwb repository overview

⁠Fusion Metadata Registry Workbench

Fusion Metadata Registry Workbench (FMR Workbench) provides an intiutive SDMX data modelling, metadata management and metadata explorer platform for .Stat Suite⁠ and any other service that implements the SDMX structure REST API⁠. Multiple of these 'environments' can be defined in the FMR Workbench config file allowing users to quickly switch between .Stat spaces and other SDMX metadata sources like the SDMX Global Registry.

FMR Workbench is a special-purpose edition of the Fusion Metadata Registry⁠ SDMX metadata management platform - a free to use SDMX structural metadata registry, data modelling platform and data processing engine for official statistics producers, collectors and reporters.

While FMR and FMR Workbench share the same core structure metadata management features there are a few key differences to be aware of:

FeatureFMRFMR WorkbenchNotes
Structure explorerXX
Structure creation and editionXSupported if the selected environment provides an SDMX structure maintenance API
FMR Excel Reporting TemplatesXSpecial purpose structure not part of the official SDMX specification
FMR Publication TablesXSpecial purpose structure not part of the official SDMX specification
SDMX data validationXWorkbench does not include the data processing engine
SDMX data mappingXWorkbench does not include the data processing engine
SDMX data format conversionXWorkbench does not include the data processing engine

⁠Documentation

Explore the documentation⁠ on the FMR Wiki.

⁠10 minutes quick start

Download the image and start a container called 'fwb'

docker run -p8080:8080 --name fwb -d sdmxio/fwb:latest

Point your browser at http://localhost:8080/fwb⁠

When finished, stop the container

docker stop fwb

To edit the configuration file, use the following command when the container is running. When editing is complete save and the restart the container so the configuration file can be read. The editor is a standard vim editor and uses the vim commands, to edit and save the document.

docker exec -it fwb /usr/bin/vi /root/MetadataTechnology/FusionRegistry/fwb_config.json

Restart the container

docker restart fwb 

Example configuration file

{
    "Properties": {
        server.url: "http://localhost:8080/fwb"
    },
    "Environments": [
        {
            "id": "BIS",
            "name" : "Bank for International Settlements",
            "api": {
                "query": "https://stats.bis.org/api/v1",
                "version": "1.5.0"
            },
            "auth": "NONE",
            "locale": ["en"],
            "format": "fusion"
        },{
            "id": "DOT_STAT",
            "name" : "Dot Stat Test",
            "api": {
                "query": "https://nsi-demo-reset.siscc.org/rest",
                "persist": "https://nsi-demo-reset.siscc.org/rest/structure",
                "delete": "https://nsi-demo-stable.siscc.org/rest/structure",
                "version": "1.5.0"
            },
            "agencies": ["SDMX", "OECD"],
            "auth": "OIDC_PKCE",
            "locale": ["en", "fr"],
            "oidc": {
                "config": "https://keycloak.siscc.org/auth/realms/OECD/.well-known/openid-configuration",
                "clientId": "app"
            },
            "format": "mlv2.1"
        },
        {
            "id": "DOT_STAT_STABLE",
            "name" : "Dot Stat Stable",
            "api": {
                "query": "https://nsi-demo-stable.siscc.org/rest",
                "persist": "https://nsi-demo-stable.siscc.org/rest/structure",
                "delete": "https://nsi-demo-stable.siscc.org/rest/structure",
                "version": "1.5.0"
            },
            "auth": "OIDC_PKCE",
            "oidc": {
                "config": "https://keycloak.siscc.org/auth/realms/OECD/.well-known/openid-configuration",
                "clientId": "app"
            },
            "locale": ["en", "fr"],
            "format": "mlv2.1"
        },
        {
            "id": "ECB",
            "name" : "European Central Bank",
            "api": {
                "query": "https://sdw-wsrest.ecb.europa.eu/service",
                "version": "1.5.0"
            },
            "auth": "NONE",
            "locale": ["en"],
            "format": "mlv2.1"
        },
        {
            "id": "GLOBAL_REGISTRY",
            "name" : "Global Registry",
            "api": {
                "query": "https://registry.sdmx.org/ws/public/sdmxapi/rest",
                "version": "1.5.0"
            },
            "auth": "BASIC",
            "locale": ["en", "fr"],
            "format": "mlv2.1"
        },
        {
            "id": "ILO",
            "api": {
                "query": "https://www.ilo.org/sdmx/rest",
                "version": "1.5.0"
            },
            "auth": "BASIC",
            "locale": ["en", "fr"],
            "format": "mlv2.1"
    }
        ,
        {
            "id": "NSO_TH",
            "name" : "Thailand NSO",
            "api": {
                "query": "https://sdmx.nso.go.th/FusionMetadataRegistry/sdmx/v2",
                "version": "2.0.0"
            },
            "auth": "BASIC",
            "locale": ["en", "th"],
            "format": "fusion"
    },{
            "id": "UNICEF",
            "name" : "Unicef",
            "api": {
                "query": "https://sdmx.data.unicef.org/ws/public/sdmxapi/rest",
                "version": "1.5.0"
            },
            "auth": "NONE",
            "locale": ["en"],
            "format": "fusion"
        },        
    ]
}

To start the Fusion Workbench and persist the properties to a local mounted directory

docker run -p8080:8080 --name fwb -d -v <LOCAL-PATH>:/root/MetadataTechnology/FusionRegistry  sdmxio/fwb:latest

The command above will mount the LOCAL-PATH on the system that starts the docker container, this path will be bound to the location where the Fusion Workbench reads the properties file "fwb_config.json". If there is no file in the LOCAL-PATH called "fwb_config.json", the file will be created and left blank, container won't start. If the "fwb_config.json" file is present it will be read when the container starts.

To examine the log output from the container use the following command

docker logs fwb

⁠About this image

This images contains the FMR Workbench running on Apache Tomcat 9.0 and includes VIM to allow editing of the properties file

⁠Troubleshooting

If the container fails to start or terminates under load when running on Windows, it is likely that insufficient memory resources have been allocated. Open Docker Settings and look for Advanced under Resources. In some circumstances, Docker puts a limit of 2GB on memory which is insufficient. Increase memory to a minimum of 4GB. There's more on configuring Docker Desktop for Windows in the Docker documentation.

⁠License

Web application: Public License Agreement Source code: Apache 2.0 License Agreement Copyright Bank for International Settlements 2024 all rights reserved.

By using the software you agree to the license terms.

Tag summary

Content type

Image

Digest

sha256:561fcc9b9…

Size

225.1 MB

Last updated

3 months ago

docker pull sdmxio/fwb:3.0.0-beta.3

This week's pulls

Pulls:

19

Last week