Question
Scenario 1
The state of record before Address Line1 update.
4X Jonspin Rd is the OV value contributed from ReltioCleanser crosswalk
Now, if I make an update from the profile view on this attribute and changed 4X Jonspin Rd to 4X Jonspin Road, even after this update 4X Jonspin Rd survives from ReltioCleanser crosswalk and none of the values are ignored. The value 4X Jonspin Road from Reltio source system sits as non-OV
Scenario 2
The state of record before Address Line1 update:
45XX Medical Center Dr is the OV value contributed from ReltioCleanser and Salesforce crosswalks
Now, if I make an update from the profile view on this attribute and changed 45XX Medical Center Dr to 4502 Medical Center Drive, after this update 45XX Medical Center Drive survives from Reltio crosswalk and other values are ignored.
- Why is there a difference in behavior between scenario 1 and scenario 2?
- In scenario 2 the Reltio crosswalk value survives and ignores all other values, while that doesn't happen in scenario 1.
Answer
The cleanser is working as expected.
Attributes update on the UI profile screen has 3 cases:
- When a user updates a value from the Reltio crosswalk, in this case, UI sends
/_update
request withUPDATE_ATTRIBUTE
. - When a user updates a value with the Reltio crosswalk and non-Reltio crosswalk, in this case, UI sends
/_update
request withUPDATE_ATTRIBUTE
for the Reltiocrosswalk andIGNORE_ATTRIBUTE
for the non-Reltio crosswalk. - When a user updates a value from the non-Reltio crosswalk, in this case, UI sends
/_update
request withINSERT_ATTRIBUTE
with the Reltio crosswalk andIGNORE_ATTRIBUTE
for the non-Reltio crosswalk.
The described problem happens in case 3 when we already have another sibling value from the Reltio crosswalk, but that value is not equal to the one we are updating. In that case, we are updating the value from the ReltioCleanser crosswalk and already have another value from Reltio. Therefore, after such an update, we have different 2 values from the Reltio crosswalk.
To fix it, we need to process case 4: When a user updates a value from theReltioCleansercrosswalk, and there is another value from theReltiocrosswalk. In this case, UI should send/_update
request withUPDATE_ATTRIBUTE
for the value from theReltiocrosswalk, andIGNORE_ATTRIBUTE
for the ReltioCleanser crosswalk.
The scenario is when we have multiple crosswalks with the same value.
{
"type": "configuration/entityTypes/Location/attributes/AddressLine1",
"ov": *true*,
"value": "45XX Medical Center Drive",
"uri": "entities/06m84ys/attributes/AddressLine1/1tIOruMm1"
},
Reltio Cleanser and salesforce crosswalk with the same value “45XX Medical Center Dr“ and you want to update the value from Dr to Drive.
The solution is to use either the ignore / unignore or pin / unpin for the attribute values. This will define whether pinned/ignored or unpinned/unignored statuses (flags) should survive when two attributes with the same value but with different flags get merged.
Comments
Please sign in to leave a comment.