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.
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, Reltio will provide a unique RDM ID
of the RDM tenant. You must link your MDM tenant to the RDM tenant by adding the RDM
ID as the value of the rdm TenantId:
key in your L3 tenant
configuration.
The following example shows that the RDM ID is added at the top of your tenant 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.
Also enable the RDM tenant to work with the MDM tenant's security system. Contact your Reltio CSM for all security-related configuration for your RDM tenant.
MDM cache (deprecated)
MDM cache ensures that the MDM tenant stores RDM lookups in memory to allow for faster transcoding of lookups. However, there’s a limit of 100K lookups per MDM tenant. The cache checks for updates every 10 minutes and updates the RDM lookups in memory.
Example: MDM cache (turn off)
...
"cached": false
...
Property | Required | Description |
---|---|---|
enabled
|
Yes | This is a boolean value and to use the cache, you must set it
to true . |
type |
Yes | The cache can be of the following types:
|
The TranscodeInMemory
cache is set as follows:
"cache": {
"enabled": true,
"type": "TranscodeInMemory"
}
AllInMemory
, which is
the same as the deprecated version. Therefore, the following configurations are same:...
"cached": true
...
"cache": {
"enabled": true,
"type": "AllInMemory"
}
The MDM cache is available in the physical configuration of your tenant. To set the
relevant value, contact Reltio Customer Support.For instructions 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 |
---|---|
|
|