FMR Workbench

From FMR Knowledge Base
Revision as of 05:03, 14 February 2023 by Mnelson (talk | contribs) (Structure Navigation and Export)
Jump to navigation Jump to search

Overview

Fmr wb overview.png

The FMR Workbench is a web application which provides the web user interface to view and maintain structural metadata, the critical difference between the FMR Workbench and the Fusion Metadata Registry is that the FMR Workbench does not have a database - the structures that it views and maintains come from a separate web service.

The FMR Workbench reads a config file on startup which describes one or more 'services'. Each service is an SDMX endpoint with a query API and an optional persistence API. The web user interface of the FMR Workbench enables users to switch between services. The user can then browse the SDMX Structures of the service they are connected to.

The connected service is attached to the user's session, therefore it is possible for multiple users to use the same FMR-Workbench, with each user connecting to a different service.

The FMR-Workbench can be used to edit, and save structures back to the service, if the service supports persistence, and the user is logged in.

Switching Services

Fmr wb service.png

The header bar of the FMR-Workbench contains a button showing the currently connected service, clicking on this button will open a window to allow a different service to be connected. By default the service is connected to anonymously, meaning only browser functionality will be supported.

To authenticate, click on the Login button after connecting to the service.

Authentication

The FMR Workbench supports 2 forms of authentication with the connected service: Basic Authentication and OpenID Connect. The type of authentication is set up in the Config file of the FMR-Workbench.

Basic Authentication

Clicking Login will take the user to the FMR-Workbench login page where the user is invited to enter a username and password. These details are stored in the FMR-Workbench against the user's session, and they are used whenever the user interacts with the target service. An initial check is performed against the target server to ensure the credentials can be used to obtain some structures, if the check fails then the details are deemed to be invalid and will be discarded.

Open ID Connect

Clicking Login will take the user to the OpenID Connect login page (defined in the configuration file of the FMR-Workbench). The user authenticates with the chosen OpenID Connect authentication provider, on success the user is redirected back to the FMR-Workbench with a token. The token is stored against the user's session, and used to authenticate with the target service.

Structure Navigation and Export

The FMR-Workbench front end will display structures in the same way the FMR provides - clicking on a sidebar item (example Codelists) will display the Codelist page and all the Codelists in the connected service. This is achieved by the front end issuing a SDMX web service query to the FMR Workbench for all Codelists as stubs. This query is then forwarded to the connected service, and the response is written back to the client. The FMR-Workbench can receive the query response from the connected service in any SDMX format. The response will be parsed by the FMR-Workbench before being written out in the requested format. This means the FMR-Workbench is able to write the response out in ANY format that the FMR Workbench supports, including Excel, SDMX, and JSON. The user is therefore able to click on a Codelist and export it as Excel, even if the connected service does not support Excel as an output format.

It is possible to automatically link to a page in the Fusion Registry against a specific service by providing the env argument in the URL, for example:


http://localhost:8080/FMR-WB/items/conceptscheme.html?urn=urn:sdmx:org.sdmx.infomodel.conceptscheme.ConceptScheme=OECD:CS_TOURISM(1.0)&env=DOT_STAT

The above link will take the user to a specific Concept Scheme in the User Interface, from the DOT_STAT environment.

http://localhost:8080/items/conceptscheme-wizard.html?urn=urn:sdmx:org.sdmx.infomodel.conceptscheme.ConceptScheme=OECD:CS_TOURISM(1.0)&env=DOT_STAT

The above link will take the user to the Concept Scheme Wizard (the edit pages for a Concept Scheme). The Concept Scheme wizard will be editing the CS_TOURISM concept in the DOT_STAT Environment. As this page is a secure resource, the user will be automatically redirected to the login page if they are not already logged into the service.

SDMX Web Service

It is important to note that the FMR-Workbench has the same web service entry points as the FMR, and whilst these web services work, they are not guaranteed to be fully compliant. The web services of the FMR-Workbench forwards queries onto the connected service. The queries may be modify to reduce the possibility of the target service not supporting the query. If the connected service reports any error in the query, the FMR-Workbench will report 'no structures' for the query.

The recommendation is therefore to not rely on the web services of the FMR-Workbench, instead use the web services provided by the target service directly.

Structure Creation/Modification

If the user has logged into the connected service, they will be able to upload structures from the home page of the FMR-Workbench, or create/edit structures using the standard Wizards in the User Interface.

It is important to note that the FMR-Workbench contains the same User Interface as the FMR, and as such does not provision for the fact that the connected service may not support all the features of the FMR. For example it may be possible in the FMR-Workbench to create a SDMX 3.0 DSD with multiple measures, but the target service may reject the save request.

It is possible to load structures in any format supported by the FMR-Workbench, including Excel - these structures will be converted into a format supported by the connected service on the save request.