RDM setup and migration
Learn about configuring an RDM tenant and migrating reference data from an MDM tenant.
The Lookup Types, canonical values, mapping definitions, source system information, 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 you 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.
GET: https://{{Environment}}/reltio/api/{{Tenant}}/configuration/_noInheritance
"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
GET: http://{{Environment}}/reltio/api/{{Tenant}}/lookups {
"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.
| Lookups in MDM Configuration | Extracted Data to be used in RDM Request |
|---|---|
|
|
|
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.
| Sources in MDM configuration | Extracted data to be used in RDM request |
|---|---|
|
|
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:
| 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.
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.
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.
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
]
}
Step 8: Create the link between MDM and RDM tenants
After your RDM tenant is provisioned by Reltio, you'll receive a unique RDM_ID. To link your MDM tenant to the RDM tenant, add this RDM_ID to your MDM tenant's L3 configuration using the rdmTenantId key.
Example L3 configuration
{
"uri":"configuration",
"description":"My tenant configuration",
"schemaVersion":"1",
"label":"",
"abstract":false,
"referenceConfigurationURI":"configuration/_vertical/life-sciences",
"rdmTenantId":"<RDM_ID>"
}
You can also configure multiple RDM tenants for a single MDM tenant.
Enable MDM–RDM integration caching
Reltio supports an in-memory cache to speed up RDM lookup value resolution during MDM operations such as data load, export, and matching. To enable this, add the cache block in your tenant configuration.
cached parameter is deprecated and must not be used in new configurations.Example cache configuration
"cache": {
"enabled": true,
"type": "TranscodeInMemory"
}
Supported cache types:
| Type | Description |
|---|---|
TranscodeInMemory | Stores only lookup transcoding results in memory. Memory is released for unused entries after 5 minutes. Recommended for most use cases. |
AllInMemory | Stores all RDM lookups in memory for faster access. Maximum of 100,000 lookups per MDM tenant. |
AllInMemory if none is specified.For instructions on how to upload the RDM configuration to the MDM tenant, see Set Configuration.
Step 9: Update LookupCode links in the MDM tenant L3 business configuration
The RDM lookupCode definitions in the L3 configuration have a unique format. Update all LookupCode links in this section of the configuration.
| Dependent LookupCode Format | RDM LookupCode Format |
|---|---|
"lookupCode": "SPEC_TYPE" | "lookupCode": "rdm/lookupTypes/SPEC_TYPE" |
Example:
| Original LookupCode Format | Updated RDM LookupCode Format |
|---|---|
|
|