Skip to main content

Overview

Purpose

To provide a graphical way to map data from a source schema to a target schema using direct mappings and functions, handling any translation between supported schema types in the backend

Data Flow

From a fresh start, the data flow is as follows:

  1. The GET schemaTree API translates supported schema files into a common JSON format. Additionally, an existing map definition may be loaded in at this step which will deserialize into connections
  2. Connections between source schema, target schema, and function nodes are managed internally
  3. The data map definition (YAML) is continuously serialized based on the above connections
  4. On saving, the map definition is both outputted itself, and sent to the generateXslt API to generate the data map XSLT file

Backend

Test data

Test data (XSLTs, map definitions, schemas, etc.) to be utilized within Data Mapper can be found in the following repo: https://msazure.visualstudio.com/One/_git/AzureUX-BPM?path=/src/DataMapper&version=GBmaster

API

Schema Translation - GET schemaTree

Translates any supported schema format into JSON consumed by the Data Mapper frontend

Endpoint: http://{localhost:7071}/runtime/webhooks/workflow/api/management/schemas/CBRSourceSchema/contents/schemaTree?api-version=2019-10-01-edge-preview

Function Manifest - GET mapTransformations

Responds with the list of available Functions and their metadata

Endpoint: http://{localhost:7071}/runtime/webhooks/workflow/api/management/mapTransformations?api-version=2019-10-01-edge-preview

Data Map XSLT generation - POST generateXslt

Formats a data map with all of its connections into the XSLT (.xslt) Formats

Endpoint: http://{localhost:7071}/runtime/webhooks/workflow/api/management/generateXslt

Test Mappings/Connections - POST testMap

Tests data map and its connections to ensure that a specified input schema value produces the expected output schema value

Endpoint: http://{localhost:7071}/runtime/webhooks/workflow/api/management/maps/{mapXsltFilename}/testMap