Unify and manage your data

RDM setup and migration

Learn to configure an RDM tenant and to migrate the data from MDM tenant to the RDM tenant.

Overview

The Lookup Types, canonical values, mapping definitions, source system information, and so on, can be migrated from your MDM tenant to your RDM tenant. Migrating data from MDM to RDM improves the manageability of this data because this data doesn’t change frequently.

This topic provides information on how to activate the new RDM tenant, migrate the configuration from your MDM to RDM, and activate the connection between the two.

Step 1: Get RDM tenant credentials from Reltio

The first step in the RDM setup is to work with Reltio to provision the RDM tenant. Your Customer Success Manager (CSM) will provide an RDM ID and other information you need to work with your RDM.

Step 2: Get source data from the MDM tenant

As part of setting up the RDM tenant, you must manually extract the source and lookup data from the L3 configuration of the MDM tenant configuration.

Use the following endpoint to receive the MDM configuration:
GET: https://{{Environment}}/reltio/api/{{Tenant}}/configuration/_noInheritance
Sample source data extracted from the MDM configuration:

                "sources": [
                {
                "uri":"configuration/sources/XYZ",
                "id":"39",
                "abbreviation":"XYZ",
                "label":"MDM",
                "icon":"source/xyz.png"
                },
                {
                "uri":"configuration/sources/Reltio",
                "id":"40",
                "abbreviation":"Reltio",
                "label":"Reltio source system",
                "icon":"source/reltio.png"
                }
                ]

Step 3: Get lookup data from the MDM tenant

Use the following endpoint to receive lookups from the MDM tenant:
GET: http://{{Environment}}/reltio/api/{{Tenant}}/lookups                
Sample response:
{
   "Gender": {
      "Male": {
         "displayName": "Male",
         "parents": [
            "Phys_Profile.M"
         ]
      },
      "Female": {
         "displayName": "Female",
         "parents": [
            "Phys_Profile.F"
         ]
      }
   },
   "Country": {
      "USA": {
         "displayName": "United States",
         "parents": [
            "Continent.NA"
         ]
      },
      "IRL": {
         "displayName": "Ireland",
         "parents": [
            "Continent.EU"
         ]
      }
   },
   "CLASSIFICATION_NAME_CD": {
      "Eurozone": {
         "displayName": "European Market",
         "parents": [
            "Market_Class.WEST"
         ]
      }
   }
}        

Step 4: Convert MDM sources to RDM source

Prepare the data for the RDM tenant request as follows:

Converting MDM Lookup entries to RDM LookupTypes

Each Lookup code used in MDM and RDM is a specific instance of a LookupType. Each of the Lookup Code examples shown in the above response lists one or more values in the parents section. This is the Lookup Code's LookupType.

To prepare the LookupType section for the RDM request, extract the parent names from the list of MDM Lookup Codes and put each unique name in a lookupType definition structure. This lookup type definition will be inserted in the JSON body of the request that creates the RDM tenant.

In the following table, the left side repeats the lookup codes from the MDM configuration with the parent names highlighted. The right side shows how each parent name shows up as the name of a lookupType in an RDM LookupType definition structure.

Table 1. Extracting LookupTypes
Lookups in MDM Configuration Extracted Data to be used in RDM Request
                
{
   "Gender": {
      "Male": {
         "displayName": "Male",
         "parents": [
            "Phys_Profile.M"
         ]
      },
      "Female": {
         "displayName": "Female",
         "parents": [
            "Phys_Profile.F"
         ]
      }
   },
   "Country": {
      "USA": {
         "displayName": "United States",
         "parents": [
            "Continent.NA"
         ]
      },
      "IRL": {
         "displayName": "Ireland",
         "parents": [
            "Continent.EU"
         ]
      }
   },
   "CLASSIFICATION_NAME_CD": {
      "Eurozone": {
         "displayName": "European Market",
         "parents": [
            "Market_Class.WEST"
         ]
      }
   }
}
  "lookupTypes": [
  {
    "URI": "rdm/lookupTypes/Gender",
    "label": "add label",
    "description": "add description",
    "enabled": true
  },








  {
    "URI": "rdm/lookupTypes/Country",
    "label": "add label",
    "description": "add description",
    "enabled": false
  },








   {
    "URI": "rdm/lookupTypes/CLASSIFICATION_NAME_CD",
    "label": "add label",
    "description": "add description",
    "enabled": true
   }
],
Table 2. LookupTypes section of example RDM request
"lookupTypes": [
  {
    "URI": "rdm/lookupTypes/Gender",
    "label": "add label",
    "description": "add description",
    "enabled": true
  },
  {
    "URI": "rdm/lookupTypes/Country",
    "label": "add label",
    "description": "add description",
    "enabled": false
  },
  {
    "URI": "rdm/lookupTypes/CLASSIFICATION_NAME_CD",
    "label": "add label",
    "description": "add description",
    "enabled": true
   }
],

You’ll use this code in the body of the JSON request that creates the RDM Tenant in Step 5 below.

Converting MDM sources to RDM source

Each of the sources defined in the MDM configuration has an id. This isn’t used in the sources section of the RDM request. Therefore, to convert the MDM sources configuration for use in the RDM creation request, remove the id line from each source definition.

Table 3. Extracting LookupTypes
Sources in MDM configuration Extracted data to be used in RDM request
                {
"sources": [
{
"uri":"configuration/sources/AMS",
"id":"39",
"abbreviation":"AMS",
"label":"AMS",
"icon":"source/source_s.png"
},
{
"uri":"configuration/sources/Reltio",
"id":"40",
"abbreviation":"Reltio",
"label":"Reltio source system",
"icon":"source/reltio.png"
}
]
 {
"sources": [
{
"URI": "rdm/sources/AMS",

"abbreviation": "AMS"
"label": "AMS",
"icon": "images/source/source_s.png",
},
{
"URI": "rdm/sources/Reltio",

"abbreviation": "Reltio"
"label": "Reltio source system",
"icon": "source/reltio.png",
}
]
}

After you extract an MDM configuration information in the RDM configuration format for Lookup Types and Sources, you can add these sections to the body of the request that creates the RDM tenant in the next step.

Step 5: Create the RDM tenant

The body of the API POST command that creates the RDM tenant must contain the following information:

Table 4. Components of RDM tenant request
Parameter (name refers to example below) Source
rdm-service Provided by your Customer Success Manager
tenantId Provided by your Customer Success Manager
label Provide the label
lookupTypes (section) Derived from lookups section of MDM configuration (see below)
sources (section) Derived from sources section of MDM configuration (see below)

The following is an example of the POST request to create a new RDM tenant:

POST: http://{{rdm-service}}/configuration
                BODY:
{
   "tenantId": "<tenantId>",
   "label": "Your RDM Tenant Label",
   "lookupTypes": [
      {
         "URI": "rdm/lookupTypes/Gender",
         "label": "Gender",
         "description": "Gender is the range of characteristics...",
         "enabled": true
      },
      {
         "URI": "rdm/lookupTypes/Country",
         "label": "Country",
         "description": "A country is a region that is identified as a distinct national entity in political geography.",
         "enabled": false
      },
      {
         "URI": "rdm/lookupTypes/CLASSIFICATION_NAME_CD",
         "label": "Communication Classification",
         "description": "The communication classification defines different types of communication channels that can be used for this profile like email, sms etc.",
         "enabled": true
      }
   ],
   "sources": [
      {
         "URI": "rdm/sources/AMS",
         "label": "AMS",
         "icon": "images/source/source_s.png",
         "abbreviation": "AMS"
      },
      {
         "URI": "rdm/sources/Reltio",
         "label": "Reltio",
         "icon": "images/source/reltio.png",
         "abbreviation": "Reltio"
      }
   ]
}

Step 6: Upload lookup codes to the RDM tenant

The MDM configuration that you downloaded in STEP 2 above provides you the MDM's Lookup Codes. You extracted each Code's parent to create the list of LookupTypes.

After you’ve started the new RDM tenant, you can add more lookup codes by using Reltio's REST APIs. The following section focuses on adding a new lookup code to the basic configuration.

RDM stores additional information with each Lookup Code definition, such as:
  • Source Mapping
  • Hierarchy
  • Localization

The Lookup Code creation request for the RDM tenant includes the above-mentioned sections of a Lookup Code definition. The last part of this section shows you how to post the complete request to the RDM tenant.

Note: This section uses an example code to show how these configuration blocks are structured. Work with your Data Steward and your Reltio CSM to populate your RDM databases with the data that works with your MDM tenant.
The request starts with an example of the lookup code POST of Lookup Type CLASSIFICATION_NAME_CD:
"CLASSIFICATION_NAME_CD": {
  "POST": {
    "displayName": "Postal",
    "parents": ["COUNTRY_CD.IT"]
  }
}

The following steps show how to add information about this lookup code to the creation request body.

Create source mapping.

In MDM, the lookup source system isn’t specified, which must be specified in RDM. The following example uses Reltio as the source:

"sourceMappings": [
  {
    "source": "Reltio",
    "values": [
      {
        "code": "POST",
        "value": "Postal",
        "canonicalValue": true,
        "enabled": true,
        "downStreamDefaultValue": true
      },
      {
        "code": "POST.2",
        "value": "Postal (one more value)",
        "canonicalValue": false,
        "enabled": true,
        "downStreamDefaultValue": false
      }
    ]
  }
]

The above example shows how two codes – POST and POST.2 will be mapped to the same source.

Create hierarchy.

The lookup code example is shown above lists COUNTRY_CD.IT as the code's parent. The RDM configuration supports the assignment of multiple parents to the same lookup code if configured. However, there’s a difference as shown below:
  • Enables single parent:"parent": "COUNTRY_CD.IT"
  • Enables multiple parents:"parents": ["COUNTRY_CD.IT"] (supports a comma-separated list of parent IDs)

The entry to be used in this example will enable the POST code to have great than one parent, although only one is defined here. Also, it must be adapted for use in the RDM, as follows:

"parents": [
 "rdm/lookupTypes/COUNTRY_CD/IT"
]

Note the specific format required for RDM lookup types. Use this format for RDM Lookup Types you add to the MDM configuration – see Step 9 for details.

Create localization

Localizations define variations of lookup substitutions for different language codes. An appropriate localization for this example:

"localizations": [
  {
    "languageCode": "it_it",
    "value": "Postale",
    "description": "Italian"
  }
]

For more information on the locales that Reltio platform supports, see Internationalization and Localization.

Upload lookup codes

The mapping, hierarchy, and localization configuration sections combined together provide the basic information the RDM tenant needs to activate the POST lookup code.

To create the lookup code POST of the CLASSIFICATION_NAME_CD LookupType, post the following JSON body to the RDM tenant :

POST: http://{{rdm-service}}/lookups/<PUT_TENANT_NAME_HERE>/CLASSIFICATION_NAME_CD
BODY:
[
  {
    "tenantId": "<PUT_TENANT_NAME_HERE>",
    "type": "rdm/lookupTypes/CLASSIFICATION_NAME_CD",
    "enabled": true,
    "code": "POST",
    "sourceMappings": [
      {
        "source": "Reltio",
        "values": [
          {
            "code": "POST",
            "value": "Postal",
            "canonicalValue": true,
            "enabled": true
          },
          {
            "code": "POST.2",
            "value": "Postal (one more value)",
            "canonicalValue": false,
            "enabled": true,
            "downStreamDefaultValue": false
          }
        ]
      }
    ],
    "localizations": [
      {
        "languageCode": "it_it",
        "value": "Postale",
        "description": "Italian"
      }
    ],
    "parents": [
        "rdm/lookupTypes/COUNTRY_CD/IT"
    ]
  }
]

Step 7: Configure security

Users need to work with the RDM tenant within the regular OAuth2 security setup. To add lookup types, codes, and perform other tasks, you must create a new user account with RDM edit permissions or add RDM permissions to an existing account.

Note: For more information about Reltio's Oauth2 SSO security model, see OAuth 2.0/OpenID Connect (OIDC) Single Sign On (SSO).

Example: To update user exampleRDM on the auth-stg.reltio.com auth server, add the "ROLE_RDM_EDIT" permission, and other roles as required by using a PUT request as follows:

PUT: https://auth.reltio.com/oauth/users/exampleRDM/roles
BODY:
{
  "roles": [
    "ROLE_RDM_EDIT",
   ... other roles
  ]
}