Top Banner
clearMDM® is a registered trademark of Audit9 Ltd a company registered in the United Kingdom with company number 08088394. 1 clearMDM – Installation Guide v1.6 (product version 2.9) Date: 9 th September 2017 Product support can be contacted directly ([email protected]) for specific questions not addressed by content of this document or for additional information or feedback. Table of Contents clearMDM – Installation Guide v1.6 (product version 2.9) ................................................. 1 Product Introduction .................................................................................................................. 2 Key Concepts.............................................................................................................................. 3 Pre-requisites ............................................................................................................................. 5 Permissions .................................................................................................................................... 5 MDM Fields.................................................................................................................................... 5 Step 1 - Install the clearMDM managed package ........................................................................ 6 Step 2 - Product Activation ........................................................................................................ 7 Step 3 - Target Objects ............................................................................................................... 8 3.1 Normalisation Settings ............................................................................................................ 9 3.3 Matching Settings .................................................................................................................. 11 3.4 Matching Rules ...................................................................................................................... 12 3.5 Merge Settings ....................................................................................................................... 13 3.6 Synchronisation Settings ....................................................................................................... 13 Step 4 - Data Sources................................................................................................................ 14 4.1 Data Source Settings.............................................................................................................. 15 4.2 Matching Settings .................................................................................................................. 16 4.3 Merge Settings ....................................................................................................................... 17 4.4 Field Settings.......................................................................................................................... 17 4.5 Child Object Relationships ..................................................................................................... 18 Step 5 - Validate Matching Settings .......................................................................................... 19 5.1 Matching Test Step 1 (Search) ............................................................................................... 19 5.2 Matching Test Step 2 (Compare) ........................................................................................... 20 5.3 Find Matches (Optional) ........................................................................................................ 21 Step 6 - Run Batch Jobs ............................................................................................................ 22 6.1 Job Chaining ........................................................................................................................... 23 6.2 Custom Action Support .......................................................................................................... 23 Reference Materials ................................................................................................................. 24
25

clearMDM - Installation Guide v1.6

Mar 22, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 1

clearMDM–InstallationGuidev1.6(productversion2.9)Date:9thSeptember2017Productsupportcanbecontacteddirectly([email protected])forspecificquestionsnotaddressedbycontentofthisdocumentorforadditionalinformationorfeedback.

TableofContents

clearMDM–InstallationGuidev1.6(productversion2.9).................................................1ProductIntroduction..................................................................................................................2KeyConcepts..............................................................................................................................3Pre-requisites.............................................................................................................................5

Permissions....................................................................................................................................5MDMFields....................................................................................................................................5

Step1-InstalltheclearMDMmanagedpackage........................................................................6Step2-ProductActivation........................................................................................................7Step3-TargetObjects...............................................................................................................8

3.1NormalisationSettings............................................................................................................93.3MatchingSettings..................................................................................................................113.4MatchingRules......................................................................................................................123.5MergeSettings.......................................................................................................................133.6SynchronisationSettings.......................................................................................................13

Step4-DataSources................................................................................................................144.1DataSourceSettings..............................................................................................................154.2MatchingSettings..................................................................................................................164.3MergeSettings.......................................................................................................................174.4FieldSettings..........................................................................................................................174.5ChildObjectRelationships.....................................................................................................18

Step5-ValidateMatchingSettings..........................................................................................195.1MatchingTestStep1(Search)...............................................................................................195.2MatchingTestStep2(Compare)...........................................................................................205.3FindMatches(Optional)........................................................................................................21

Step6-RunBatchJobs............................................................................................................226.1JobChaining...........................................................................................................................236.2CustomActionSupport..........................................................................................................23

ReferenceMaterials.................................................................................................................24

Page 2: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 2

ProductIntroductionTheclearMDMproductisanativeapplicationprovidedasamanagedpackagedthatdeliversamasterdatamanagementsolutionfortheSalesforceplatform.Therearenooff-platformcomponentstothesolutionanddataisnottransitedoff-platformforprocessingbyexternalservices.TheproductUIisLightningReadyandsupportsSalesforce1formobileaccess.TheclearMDMproductsupportstheMDMoperationsoutlinedbelowintheirlogicalsequence.FurtherdetailsforeachMDMoperationisprovidedintheproductQuickStartdocumentation.(BT)Normalisation.StandardisationoffieldvaluesusinglistCustomSettinglookups(Countrycodes,Root FirstNames etc.) or predefined transformation formats (email domain,URL, Title case etc.).NormalisationgeneratesBlockingKeys(ormatchkeys)usedasthefirstpassinrecordmatching.(BTU)Matching.Cross-objectmatchingofrecordsusingkey,deterministicandprobabilistic(fuzzy)matchingrules.(B)InternalMatching.Singleobjectlargedatavolumematchingoperation.(BU)Merge. Custommerge functionality compatible with Standard and Custom objects and alsoportal enabled accounts, person accounts and contacts. There is no dependency on the standardplatformmergecapability.(B)Synchronisation.MasterRecordsareupdateddirectlytoreflectfieldmodificationsontheirSourceRecord. Synchronisation adds efficiency as the 2-stepmatch andmerge cycle is avoided; existingSourceRecordtoMasterRecordrelationshipsareutilised.(B)Conversion.MasterRecordcreationonaone-to-onebasisforunmatchedrecordsorexternaldatawhere matching is not required. Once paired Master Records updated directly to reflect fieldmodificationsontheirSourceRecords.(B)Re-parenting.ChildRecordsrelatedtoaSourceRecordcanbere-parentedtotherelatedMasterRecordvialookuprelationship.(B)CustomRollups.Numeric fieldsonChildRecordscanbeaggregated to theMasterRecord (vialookuprelationship).Prefixesindicateentrypoints:B=Batch(ScheduledJoborCustomAction–RESTAPI/ProcessBuilder)T=ApexTriggerU=UserInterface/Manual

Page 3: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 3

KeyConceptsConcept DefinitionTargetObjects AcompatibleobjectthatisdefinedasthetargetforMatchingoperations

andwhereMasterRecordswillbecreatedorupdated.Account,Contact,LeadStandardObjectsaretypicallyconfiguredasTargetObjects,whereduplicaterecordsmayexistdirectlyintheobjectorindirectlyinaseparateobject.AbroadrangeofStandardObjects(includingPersonAccounts)aresupportedasbothTargetObjectsandDataSources.CustomObjectsarealsosupported.

DataSources AcompatibleobjectthatprovidesdatatoMDMoperations.EachDataSourcehasaSourceObjectandaTargetObjectsetting.InternalDataSourcesexposedataheldintheTargetObject.DataSource(Account)>TargetObject(Account)ExternalDataSourcesexposedataheldinadifferentobject.DataSource(ERPCompanies)>TargetObject(Account)Partition Data Sources enable a single object to support multiple DataSourceswith distinct settings. Partition Data Sources are typically used togrouprecordsrelatingtoanexternalsystem(e.g.SAP,SageX3)ortoisolaterecordsatdifferentqualitygrades(e.g.High,MediumandLow).MasterRecordDataSourcesallowMasterRecordstobeexposedtoMDMoperations via a distinct Data Source with appropriate settings such aselevated merge field priorities. A Master Record Partition data source isimplemented as a partition data source that references the record MDMstatusvalue.Check-onlyDataSources support cross-objectmatchingbetween standardobjects. The primary use case for Check Only Data Sources is duplicatecheckingacrossLeads,Contactsand/orPersonAccounts.Forexample,Leadcreation (file import, UI data entry etc.) can be blocked where the LeadmatchestoanexistingContact.

MasterRecords TheMasterRecordistheoutputofMDMprocessingandisoptionallyrelatedtotheunderlyingSourceRecords(orduplicates)viarelationshipfieldorsimplythroughtheconcatenationofrecordidentifiersintoafieldontheMasterRecord.MosttypicallyaMasterRecordisade-duplicatedAccount,PersonAccount,ContactorLeadrecordenrichedwithdatafromitsrelatedSourceRecords.WhereSourceRecords(orduplicates)arenotremoved,itistypicaltousetheSalesforcesharingmodeltopresentSalesforceend-userswithaccesstoMasterRecordsonly–therebyremovingthevisibilityofduplicates.

Page 4: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 4

SourceRecords SourceRecordsaretheinputtoMDMoperationsandmayberelatedtoa

MasterRecord.SourceRecordscanberetainedordeleted.SourceRecordscanbeconsideredastheunderlyingduplicatesthatareoftenhiddenfromviewforSalesforceend-usersordeletedentirelyonceprocessed.

MasterRecordUpdateLogic-AttributeGroup

AttributeGroupsarecollectionsoffieldsonaTargetObjectthatmustbemergedtogetherfromasingleSourceRecordonly.IndetermininghowtheMasterRecordfields(intheAttributeGroup)arepopulatedeachrelatedSourceRecordisevaluatedforvalidity(typicallycompleteness)andpriority.AttributeGroupprioritycanbedefinedonaNewest,OldestorDynamicPrioritybasisallowingcustombusinessrulestodirectwhichSourceRecordthefieldvaluesaretakenfrom.AttributeGroupprocessingperformsafullre-evaluationofallSourceRecordsforagivenMasterRecordwheneveraneworexistingSourceRecordmodificationisidentified.MergeandSynchronisationMDMoperationsperformAttributeGroupprocessing.

MasterRecordUpdateLogic–FieldPriority

FieldsthatarenotmappedtoanAttributeGroupareprocessedusingDataSourcespecificMergePriorities.MasterRecordsretainamemoryoftheSourceRecord(andDataSource)thatlastupdatedeachfield.SubsequentMergeandSynchronisationoperationswillonlyupdatefieldsfromaSourceRecordwithahighermergepriorityforthefield,orwheretherecordismorerecentlyupdatedshouldtheprioritybeequal.Manualupdates,whereMasterRecordfieldsaredirectlyupdatedviatheSalesforceUIorAPIs,areassignedamergeprioritythatcanbeusedintherelativescaleevaluationappliedtoeachfield.ThisallowsmanualupdatestoberetainedirrespectiveoftheoccurrenceofSourceRecordupdatesonaper-fieldselectivebasis.

Page 5: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 5

Pre-requisitesPermissionsTheclearMDMpackageinstallswithdefaultpermissionsfortwodistinctuserroles;DataStewardandMDMUser. The default permissions serve as starting point fromwhich the required permissionsstructurecanbedefinedbyaSalesforceAdministrator.TheDataStewardroleisintendedforusersthatareresponsiblefordatamanagementgenerallyandMDMprocessingspecifically.DataStewardswilltakeadministrativeownershipoftheclearMDMproduct,defineandimplementrequisiterecordlifecycles, steward candidate matches and generally take responsibility for the applicationconfiguration of the clearMDM product and the outcomes achieved. The objective of the DataSteward should be to implement optimal data management processes, supported by MDMoperations,thatabstractdataduplicationfromend-usersanddeliveraclear360-degreeviewforallmasterrecords.TheMDMUserroleis intendedforanySalesforceuserthatmaycreaterecordsorbenefitfromviewingdynamichierarchyvisualisationsrelatedtorecordstowhichtheyhaveaccess.Thedefaultpermissions,forthetworolesdescribedabove,arepackagedasProfilePermissionsandPermission Sets. In the former case the installation process allows the Profile Permissions to beoverlayedontoselectedprofileswithinthesubscriberorg.InthelattercaseuserscanbeassignedtoPermissionSetsasrequired,withnoimpactontheircurrentUserProfileassignment.TherecommendedbestpracticeapproachtopermissionsisassignmentviaPermissionSet.MDMFieldsTheclearMDMproductrequiresthateachobjectdefinedasaTargetObjectand/orDataSource isconfiguredwith a set of custom fields that complywith theMDMFields requirement outlined inAppendix A. The complete set ofMDM Fields for Account, Contact and Lead are installed by thepackagebydefault. Foradditionalobjects, theMDMfieldsmustbeconfigureddirectlywithin thesubscriberorg.

Page 6: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 6

Step1-InstalltheclearMDMmanagedpackage

Figure1.1–AppExchangeListingTheclearMDMmanagedpackageisinstalledfromtheSalesforceAppExchangeviathe“GetItNow”link on the product listing page. The standard package installation process prompts for usercredentials (either sandbox or production) for the target Salesforce org. The first step of theinstallationprocess enablespackagedprofile settings tobeoverlayedontoexistingprofiles in thesubscriber org. Note, it is a best practice to install the package with the default settings; userpermissionsshouldbeprovidedthroughuserassignmenttothepackagedpermissionsets.Itisnotrecommendedtoinstallthepackagewiththe“installthisappforeveryuser”option.clearMDM licensing isappliedat theorg-level,notper-individualuser.Thepackage installswithadefaulttriallicensewhichexpires5daysafterinstallation.Pleasecontactusathello@clearmdm.comtopurchaseanannualsubscriptionlicense,ortodiscussspecificimplementationrequirements.PleasecontactclearMDMbeforeimplementationinaproductionSalesforceorg.Pleasenote;theproducteditionlinkedtotheAppExchangelistingistheBasicEdition.ForMidandEnterpriseeditionpackageinstallationlinkspleasecontactsupport@clearmdm.com.

Page 7: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 7

Allsubsequentstepsrequirealoginuserthathasbeenassignedthe[MDMDataSteward]permissionset,orhasaprofilethatwasassignedthe[MDMDataSteward]permissionsduringinstallation.Note,thestandardpermission(CustomizeApplication)isalsorequired.Pleasenote; the“Get ItNow” linkreferencedaboveallows installationofclearMDMBasicEdition to a selected sandbox or production org with a 5-day trial license. It is notrecommendedthataproductionorgisused.Thetrialperiodcanbeextendeduponrequest.TocreateanewdedicatedtrialorgwithclearMDMEnterpriseEditionpre-configuredandasampledata-set,pleasevisittheTrialpageontheclearMDMwebsite.Step2-ProductActivationTheclearMDMmanagedpackageinstallsinaninactivestateandmustbeexplicitlyactivatedbeforechanges aremade to the application configuration. The screenshot below shows the Settings tabwhichcanbeaccessedviatheMDMcustomapplication.The[IsActive?]checkboxmustbecheckedandtheSavebuttonclickedtoactivatethepackagefunctionality.Upondoingso,additionalsubtabs,withintheSettingstab,willappeartoenableconfigurationoftheclearMDMpackagefunctionality.

Figure2.1–ApplicationSettingsTab

Page 8: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 8

Step3-TargetObjectsATargetObjectisthedirecttargetforallMDMoperations.Dataisnormalised,matchedandmergedorsynchronisedintoexistingornewMasterRecordsheldinaTargetObject.ATargetObjectcouldbeacompatiblestandardobjectoracustomobject.Forexample,theMatchingMDMoperationrunsforaspecificTargetObject;SourceRecordsaregatheredacrossallDataSourcesthatreferencetheTargetObjectandmatchedasacombineddataset.AllobjectsforwhichDataSourceswillbedefinedmustbeconfiguredasaTargetObjectwithNormalisationSettings.ThisisnecessaryastheNormalisationMDMoperationpopulatestheBlockingKeyfieldvaluesrequiredbytheMatchingMDMOperation.

Figure3.1–TargetObjectSettingsNote,onlyactiveandconfiguredMDMOperationsarelistedontheJobspagewhenaTargetObjectisselected.

Page 9: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 9

Note,forobjectsnotlistedontheTargetObjectstab(Settingspage)thefollowingstepsmustbecompleted.

ü ClicktheAddbutton.ü SelecttheTargetObjectfromthelist.ü ConfiguretheTargetObjectsettingsasdescribedbelow.

3.1NormalisationSettingsTheNormalisationMDMoperationstandardisesfieldvaluesandpopulatesblockingkeyvalueswhichsupporttheinitialblocking(ormatching)passesappliedbytheMatchingMDMoperation.SettingArea UsageAutoNormalisation TheNormalisationMDMoperationcanbeappliedtoallSourceRecords

heldwithintheTargetObject[AutoNormaliseRecords?]=True,oronaselectivebasiswherethe[IsNormalisedFieldName?]fieldisemployed.WhenAutoNormalisationisactiveitispossibletolimittherecordprocessedtothosethathavebeenmodifiedsincethepreviousdayonaninclusivebasisviathe[AutoNormaliseRecentlyModified?]setting.WhenAutoNormalisationisnotactive,SourceRecordsprocessedbytheNormalisationMDMOperationhavethe[IsNormalisedFieldName?]fieldsettoTrue.clearMDMcandetectwhenfieldchangesoccurthatinvalidatetheNormalisationstateandsetthe[IsNormalisedFieldName?]fieldtoFalsetoensurethatthenextNormalisationMDMoperationwillre-normalisetherecord.Thisbehaviourissetviathe[CheckNormalisationStateonSave?]setting.

BlockingKeyOutputFields TheNormalisationMDMoperationpopulatesthespecified[BlockingKeyGroupFieldName]and[BlockingKeyFieldName]fieldswithmatchingtokensusedinthefirstmatching(orblocking)passesappliedbytheMatchingMDMOperation.Normalisationalsosetsthe[IsBlockingKeyComplete?]fieldtoTruewhereacompleteblockingkeycouldbegeneratedfromthefieldspopulatedontheSourceRecord.SourceRecordswithoutthisflagsetareexcludedfromtheMatchingMDMoperation.

BlockingKeyInputFields Upto3inputfieldscanbeselectedfortheblockingkeypopulation;foreachfieldaninputlengthcanbespecified.Determinationofanappropriateblockingkeystrategy,groundedinthecharacteristicsofthespecificdataset,isimperativetosuccessfulrecordmatching.BlockingKeyInput1ismandatory,2and3areoptional.StrictBlockingKeyPopulation.InStrictmodeblockingkeysarepopulatedonlywhereeachinputisofsufficientlengthtomatchtherequiredinputlength.Thisfeatureavoidsunusableblockingkeysbeingcreatedandenablesearlyreporting.BlockingKeyPadding.Whereablockingkeyinputhasavaluethatisnotofthespecifiedinputlength–paddingcanbeappliedtoallowconstructionofacompleteblockingkey.ItistypicalforinputfieldstobeselectedthataretheTargetFieldsspecifiedinNormalisationRules.

Page 10: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 10

3.2NormalisationRulesNormalisationRulesstandardisefieldvaluesusingtemplateruletypesorcustomreferencedata.RuleType OutputLookup CustomSettingvaluescanbereferencedtomatchaninputfieldvalue

againstaMatchListheldagainstaStandardisedValue.Forexample,theCountryCodessettingholdsISOCountryCodevaluesagainstcommonlyusedcountrynamesandabbreviations.TheclearMDMpackageinstallsanumberofexemplarsettingswithexamplevaluepopulations.AdditionalCustomSettingscanbeaddedtothesubscriberorgandreferencedinNormalisationRulestoapplylookupnormalisationagainstanylistofdata.

RemoveEnd TheRemoveEndruletypereferencesaCustomSettingforcommonsuffixes,anymatchesfoundinthesettingareremovedfromtheendoftheinputfieldvalue.Thisruletypeisintendedtoremovecommonsuffixesappliedtocompanynamesorsurnames.ExemplarCustomSettingsareprovidedwithexamplevaluepopulations;suchsettingsshouldbefullypopulatedbeforeuse.AswiththelookupruletypeadditionalCustomSettingscanbeaddedtothesubscriberorg.

EmailDomain Iftheinputfieldvaluematchesanemailaddressformat,[email protected]=>hotmail.com

URL Iftheinputfieldvaluematchesawebaddress(orURL)formatthentheprotocolprefix(httporhttps)isremoved.

Format Allwhitespaceisremovedandandtheinputfieldvalueisconvertedtouppercase.

Title EachwordintheinputfieldvalueissettoTitlecase.

TitleHyphen EachwordintheinputfieldvalueissettoTitlecaseandspacesarereplacedbyhyphencharacters.

Page 11: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 11

3.3MatchingSettingsTheMatchingMDMoperationgroupsSourceRecordsbyBlockingKeyValuesandappliesconfiguredmatchingrules.IdentifiedrecordmatchesarerecordedintheMatchedRecordPairobject.SettingArea UsageMatchingThresholds The[BlockingKeyMatchLength]settingenablesspecificationofhow

manycharactersfromtheblockingkeyareusedinmatching;alowervaluecansignificantlyincreaseprocessingtime.Thisfieldenablesexperimentationwithblockingkeylengthswithoutthenecessitytore-normaliserecords.BlockingKeyAuto-adjustment.Withlargerdatasetsitispossibleforblockingkeymatchvaluestocoverlargevolumesofrecords.TheMatchingMDMoperationcanbeconfiguredtodynamicallyadjustthelengthoftheoverallblockingkeyusedincreatingmatchinggroups.Thisfine-tuningpreventsblockingkeymatchvaluesbeingskippedduetothesizeofrecords(MaxRecordsperGroupsetting).Animplementationbestpracticeistoaimforablockingkeylengthof10charactersandtouseashortermatchlengthvalue.Thisapproachprovidesflexibilitytoaccommodatelargermatchinggroups.TheFuzzyMatchthresholdspecifiesthescore%abovewhicharecordpairisconsideredacandidatematch.

AutoAccept The[AutoAcceptMatches?]settingenablesDataStewardstospecifyascore%abovewhichrecordpairsareconsideredadefinitematchandstewardingwillnotberequired;thestatuswillbesettoAcceptedautomatically.Candidaterecordpairswithascore%betweenthematchthresholdandautoacceptthresholdwillrequirestewardingandwillretaintheCandidatestatus.AnimplementationbestpracticeistoimplementreportingnotificationsthatproactivelynotifyDataStewardsthatcandidatematchesexistforstewarding.

MatchingCheckOverride Wherethe[CheckforMatchesonRecordCreation?]flagisset,clearMDMappliesastrictMatchingCheckthatpreventsrecordcreationwherematchesarefound.The[MatchingCheckOverrideFieldName]settingallowsacheckboxformulafieldtobespecifiedthatoverridesthisbehaviourbasedonrecord-levelconditions.SuchconditionscanincludeProfileorUserreferencesandfieldvalueconditions.Forexampleitmaybenecessarytobypasscheckingforauserthatrepresentsanexternalsystemintegration,oraparticularcategorisationofrecord.

MatchingManagerApexClass clearMDMimplementstheLevenshteindistance(oreditdistance)fuzzymatchingalgorithmbydefault.TheclearMDMproductexposesaprogrammaticinterfacethatenablesadditionalmatchingalgorithmstobeencodedinanApexclasswithinthesubscriberorgandconfiguredwithintheMatchingsettings.

Page 12: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 12

3.4MatchingRulesSourceRecordsareinitiallygroupedbyblockingkeyvalues;thenextstepsappliedbytheMatchingMDMoperationistoprocesstheconfiguredfield-levelrulesacrosstherecordscontainedwithineachrecordgroup.RuleType(inorder) LogicKey AKeymatchruleindicatesthatifthe2SourceRecordsbeingcompared

havethesamefieldvaluethenthematchscoreis100%(i.e.anExactMatch)andnofurthermatchinglogicisapplied.Thisruletypeisintendedforuniqueidentifiersandwillmatchindividualvalueswithinapipedelimitedtextfieldvalue.Keymatchingisthemostefficientmatchingruletype;formulafieldscanbeusedtoreturncustommatchingtokensthatenablehighlyefficientmatchingprocesses;i.e.EmailplusMobilePhonecombination=ExactMatch.

Deterministic ADeterministicruleindicatesthatifthe2SourceRecordsbeingcompareddonothavethesamefieldvaluethenano-matchoutcomeisrecordedandnofuzzymatchinglogicisapplied.

Exact ExactmatchingisappliedwhereKeyruleshavefailedandDeterministicruleshavepassed.ForeachconfiguredExactmatchingfield,themaxfieldscoreisaddedtotherecordlevelmatchingscoreifthefieldvaluesarenotblankandmatchexactly.Ifoneormorefieldvalueisblankthenullfieldscoreisadded,otherwiseazerovalueisapplied.

Fuzzy FuzzymatchingisappliedwhereKeyruleshavefailedandDeterministicruleshavepassed.ForeachconfiguredFuzzymatchingfield,ascoreiscalculatedandanoverallmatchscorereturned.Thefieldscoreequatestotheactualeditdistanceasapercentageofthemaximumpossibleeditdistancethenappliedtothemaxfieldscore.Ifeitherfieldvalueisblankthenthenullfieldscoreisapplied.

Ignore TheIgnorematchingtypeindicatesthatthefieldisrequiredfortheMergeMDMOperation(andthereforeamappingisrequiredacrossdatasources)buttheMatchingMDMOperationwillignorethefield.TheIgnoretypeisnotmandatoryforallDataSourcesandisthereforeusefulforcopyingDataSourcespecificfieldvaluestotheMasterRecord.

RulePrecedence MatchingRulesareprocessedintheorderbelow.1-Key2-Deterministic3-Exact4-Fuzzy

Page 13: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 13

3.5MergeSettingsMatched RecordGroups produced by theMatchingMDMoperation are processed by theMergeMDMoperation intoMaster Record create or update events. TheMatched Record Pair object iswherematchinggroupsarecreated,the[RecordGroupId]fieldindicatesthegroupingofrecords.SettingArea UsageMasterFieldMap ACustomFieldof[LongText,5000size]canbespecifiedtoholdthefield

mappingforaMasterRecord.Thefieldmappingrecordsthepopulationlogicforeach(MDMactive)field.Theinformationrecordedincludesthesourcerecordthevaluecamefrom,thedatasourceforthesourcerecord(oraManualUpdateflag)andalastupdatedtimestamp.ThefieldmapisusedbytheMergeandSynchronisationMDMoperationswhenevaluatingwhethertoupdatefieldsonaMasterRecordinresponsetoSourceRecordupdates.

IgnorePartialGroups ThissettingenablesMatchedRecordGroupsthatcontainrecordsatboththeAcceptedandCandidatestatustobeskipped.Instricttermsonlygroupsthatarefullyaccepted,eitherviaauto-acceptlogicorviadatastewarding,shouldbemerged.

MergeDefaults MergeOverrideValuescanbeaddedperfield(thatisactiveformatching)andenabledefaultvaluestobespecifiedincaseswherethemasterrecordfieldvaluewouldotherwisebeblank.

3.6SynchronisationSettingsIn cases where Source Record to Master Record relationships do not require full re-evaluationwhenever the Source Record is updated, the Synchronisation MDM operation can be used tosynchronisechange(selectivelyappliedbasedonAttributeGroupsorfieldpriorityrules)totheMasterRecordinone-step.Synchronisation is enabled at the Target Object and Data Source level and requires that MasterRecordshaveavalidblockingkeyandaresetwiththe“MergeMaster”MDMStatus.SourceRecordsmustbesetfor[IsActiveforMatching?]=Trueattherecord-level–SynchronisationdoesnotworkwithAutoMatching.The Synchronisation MDM operation provides a highly efficient mechanism for the controlledpromotionofSourceRecordchangestotheMasterRecordwithoutincurringtheseparatestepsofmatchandmerge.A typical implementationapproach is to synchronise recordupdatesandapplymatchandmergetonewrecords.

Page 14: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 14

Step4-DataSourcesA Data Source is configured to expose Source Records to the Matching and Conversion MDMoperations.EachDataSourcehasdistinct configuration that includesadefinedSourceObjectandTarget Object. Where the objects are different (i.e. an External Data Source) a field mapping isrequiredtoenablecross-objectprocessing.MultipleDataSourcescanbeconfiguredforbothSourceObjectsandTargetObjects.

Figure4.1–DataSourceSettingsNote,MatchingrequiresthataTargetObjectwithNormalisationsettingsisconfiguredforallobjectsexposedviaDataSources.Note,forDataSourcesnotlistedontheDataSourcestab(Settingspage)thefollowingstepsmustbecompleted.

ü ClicktheAddbutton.ü ConfiguretheDataSourcesettingsasdescribedbelow.

Page 15: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 15

4.1DataSourceSettings.SettingArea UsageInternal/ExternalDataSources

The[IsExternal?]settingisusedtospecifyanExternalDataSource,whereaSourceObjectmustbespecified.InternalDataSourcesarethosewheretheSourceRecordsareexposedfromtheTargetObjectdirectly.AnExternalDataSourcemustspecifyfieldmappingsfromtheSourceObjectdatastructuretothefieldsmarkedasactiveformatchinginTargetObjectsettingdefinition.

PartitionDataSources PartitionDataSourcesenableasingleSourceObjecttobehorizontallypartitionedthroughvaluesinasinglepartitionfield.Allpartitionsforthesameobjectmustshareacommondesignatedfieldandprovideadistinctpartitionvalue.Beforepartitionscanbecreatedanon-partitionDataSourcemustbeconfigured;thisDataSourcecoversallrecordsoutsideofthefieldvalueconditionsspecifiedinpartitions.The[IsPartition?],[PartitionField]and[PartitionValue]fieldsareusedtoconfigureaPartitionDataSource.PartitionDataSourceusecasesincludepartitionsthatprovideahigh-levelgroupingofrecordsforcontrolledmatchingandpartitionsthatrepresentdifferentqualitygradestowhichspecificconfigurationsareapplied.

CheckOnlyDataSources Check-onlyDataSourcessupportcross-objectmatchingbetweenstandardobjects.TheprimaryusecaseforCheckOnlyDataSourcesisduplicatecheckingacrossLeads,Contactsand/orPersonAccounts.Forexample,Leadcreation(fileimport,UIdataentryetc.)canbeblockedwheretheLeadmatchestoanexistingContact.

Page 16: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 16

4.2MatchingSettingsTheMatchingMDMoperationprocessesSourceRecordsexposedbyDataSourcesviaauto-matchorselectivematchingconfigurations.SettingArea UsageAutoMatching TheMatchingMDMoperationcanbeappliedtoallSourceRecords

exposedbytheDataSource[AutoMatchRecords?]=True,oronaselectivebasiswhererecord-level[IsActiveforMatchingFieldName?]fieldisemployed.WhereSourceRecordmodificationsareintegratedfromanexternalsource,fine-grainedcontrolcanbeachievedbyusingtheETLprocesstosetthe[IsActiveforMatchingFieldName?]fieldtoTrueformodifiedrecords.Insuchamodelthe[MasterRecordsActiveforMatching?]flagshouldbesettoTruetoensurethatnew/changedSourceRecordsarematchedagainstexistingMasterRecords.The[ResetSourceRecordMatching?]flaginstructstheMatchingMDMoperationtosettherecord-levelflagtofalsepost-processing.Itisimperativethatthissettingisappliedforincrementalprocessingtoavoidcontinualre-matchingofSourceRecords.clearMDMcandetectwhenfieldchangesoccurthatinvalidatetherecordmatchedstateandsetthe[IsActiveforMatchingFieldName?]fieldtoTruetoensurethatthenextMatchingorSynchronisationMDMoperationwillprocesstherecord.Thisbehaviourissetviathe[CheckMatchingStateonSave?]setting.

MasterRecordInclusion MasterRecordinclusionallowsMasterRecordstobeselectivelyexposedtotheMatchingMDMoperationforblockingkeysfoundwithintheSourceRecorddataset.MatchesbetweenMasterRecordsexposedbythislogicareprevented;onlySourceRecordtoMasterRecordmatchingpathsaresupported.ThedeterminationofwhichrecordsaredeemedtobeMasterRecordscanbestatusbased(MergeMaster,ConversionMaster)orcontrolledbyanominatedCheckboxformulafieldwhichevaluatestoTrueonlyonMasterRecords.ThislatterapproachenablesstandalonerecordstobehandledasMasterRecordsinrespecttoSourceRecordmatching.MasterRecordinclusionisconfigurableforInternal-typeDataSourcesonly,wherethesourceobjectisthesameasthetargetobject.

Page 17: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 17

4.3MergeSettingsTheMergeMDMoperationmergesmatchesSourceRecordswith flexible configurationoptions inrespecttotraceabilitybetweenSourceRecordsandMasterRecords.SettingArea UsageTransientMode The[IsTransientModeEnabled?]flagenablesSourceRecords,thatare

notdesignatedMasterRecordstatus,tobeautomaticallydeletedbytheMergeMDMoperation.ThismodeissupportedbytheMergeUIonly.

IdentifierCopy The[MasterRecordIdSourceFieldName]settingcanbeusedtospecifyalookupfieldontheSourceObjectthatreferencestheTargetObject.TheMergeMDMoperationwillpopulatethislookupfieldonSourceRecordswithareferencetotheMasterRecord,therebyestablishingapersistent,traversableparent-childrelationship.SourceRecordrelatedlistscanthereforebeaddedtoMasterRecordpagelayouts.The[IdentifierSourceFieldName]settingcanbeusedtospecifyafieldontheSourceObjectforwhichvalueswillbepopulatedonthespecified[IdentifierTargetFieldName]fieldontheTargetObject.Identifiersareconcatenatedintoapipecharacterdelimitedstring.IdentifiercopyenablesSourceRecordstobedeleted,withidentifiertraceabilitymaintainedattheMasterRecordlevel.

4.4FieldSettingsSettingArea UsageFieldMappings ExternalDataSourceswheretheSourceObjectisnotthesameobjectas

theTargetObjectrequireaFieldMappingtobedefined.ForeachTargetObjectfieldthatisactiveformatchingaSourceObjectfieldofthesamedatatypemustbespecified.Cross-objectMDMoperationsapplydynamicfieldtranslationsinordertomatchorconvertrecordswithdifferentdatastructures.

MergePriorities ForeachDataSourcearelativemergeprioritycanbespecifiedperfieldtoenablefine-grainedcontroloverthefieldpopulationoftheMasterRecord.Onaper-fieldbasistheMergeMDMoperationwillpopulatetheMasterRecordusingtheSourceRecordvaluethathasthehighestrelativepriority;takenfromtheDataSourcetowhichtheSourceRecordisassociated.Note,thelogicaboveisskippedwherefieldsareprocessedbytheMergeorSynchronisationMDMoperationsduringAttributeGroupevaluation.

Page 18: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 18

4.5ChildObjectRelationshipsTheRe-parentingMDMoperation re-parentsChildRecordsusingsettingvaluesspecifiedperDataSource.SettingArea UsageInternalDataSources ForInternalDataSources(wheretheSourceobjectandTargetobjectare

thesame)compatibleChildRelationshipscanbere-parentedbyselectingtheRe-parentoption.ThisapproachupdatestheparentfieldontheChildRecordreplacingtheSourceRecordIdwiththeMasterRecordId.

ExternalDataSources ForExternalDataSources(wheretheSourceobjectandTargetobjectarenotthesame)compatibleChildRelationshipscanbere-parentedbyspecifyingalookupfieldontheChildObjectthatreferencestheTargetObject.ThisapproachdoesnotimpactontheexistingparentfieldontheChildRecordthatreferencestheSourceRecord;theonlyactiontakenistoupdatethespecifiedlookupfieldwiththerelevantMasterRecordId.

Note,ChildRecordsthatarenotincompliancewiththecurrentsetofValidationRulesappliedtotheobjectcannotbere-parented(thedataintegrityissuemustbecorrectedmanuallybeforeupdatescanbeappliedirrespectiveofsource(UI,APIetc.).TomitigatethisscenarioaclausecanbeaddedtotheValidation Rule logic to allow updates to occur where the parent field is changing only (e.g.IF(ISCHANGED(parentField),FALSE,[logichere]).

Page 19: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 19

Step5-ValidateMatchingSettingsTheMatchingTestfunction,accessedviaatabaccessibleintheMDMcustomapplication,enablestheapplicationconfiguration(TargetObjectsandDataSources)tobevalidatedandmatchingrulestoberefinedthroughexploratorytesting.

Figure5.1–MatchingTest-Search5.1MatchingTestStep1(Search)Step1requiresasearchtobeperformedacrossSourceRecordsusingasimplefilterorcompoundfilter conditions applied with and/or logic. The search performed does not apply the configuredmatchingrules, insteadatext-basedsearchisemployedtogatherrecordswithcommonattributesthatmaynot otherwisematch.As the screenshot above shows, records are returned across datasources. The filter fieldoptions are limited to thosedefinedas active formatching for the TargetObject; as Data Sourcesmust provide fieldmappings filter conditions can be applied consistentlyacrossobjects.Thedefaultsearchfieldcanbesetviathe“Default?”optionwithintheTargetObjectSettingsFieldssection.

Page 20: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 20

Onceasearchhasreturnedresults,exactly2recordsshouldbeselectedforcomparison.Selectiontakesplace via theSelect checkbox in the leftmost column.Once2 recordsare selected theNextbuttonwillbepresented;thisbuttontakestheusertoMatchingTestStep2(Compare).

Figure5.2–MatchingTest–Compare5.2MatchingTestStep2(Compare)Step2enablescomparisonof2candidatesourcerecordsusingthematchinglogicconfiguredfortheTargetObject(PersonAccountintheexampleabove).Foreachrecordtheactualfieldvaluesforeachmatchingactivefieldisdisplayednexttotheconfiguredmatchingsettingsforthefield.TheComparebutton invokes amatching operationwhich calculates thematching score for the 2 records. Theprimarypurposeofthisfunctionistoenableexperimentationwiththeconfiguredfield-levelmatchingsettings.OnceasatisfactoryresultisachievedtheApplytoSettingsbuttoncanbeusedtoupdatetheTargetObjectmatchingsettingsbasedonthecurrentsettingvalues.Note,the2recordsselectedforcomparisoncanalsobedirectlymergedviathe“Merge”button,thiscapabilityallowsduplicaterecordsthatmaynotshareablockingkeytobematchedandmergedonanad-hocbasis.

Page 21: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 21

5.3FindMatches(Optional)TheFindMatchesfeatureisaccessiblefromacustombuttonaddedtothepackagedpagelayouts.Forcustom objects (or standard objects without packaged layouts) a custom button can be createddirectlywithinthesubscribedorgusingtheformatbelow./apex/clearmdm__FindMatches?id=[Merge Expression for Record Id – REPLACEME]

TheFindMatchesfeatureenablesreal-timematchingforanindividualrecord.“Find”:MatchesarereturnedfortherecordBlockingKey,thatrelatetotheSourceRecordonly.“FindAll”:MatchesarereturnedfortherecordBlockingKey,thatmaynotrelatetotheSourceRecord.

Figure5.3–FindMatchesNote,theApplicationSetting[SelectiveUIMatchingEnabled?]allowsSourceRecordstobeexposedtoUIfunctionssuchas“FindMatches”withouttherequirementthattherecordis[IsActiveforMatching?]=True.

Page 22: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 22

Step6-RunBatchJobsTheBatchJobManagementfunction,accessedviaatabaccessibleintheMDMcustomapplication,enablesMDMoperationstobeinvokedimmediatelyoronascheduledbasis.AJobisaninstanceofaMDMoperationforaspecifiedTargetObject,i.e.MatchingforAccount.Theobjectsthatarelistedforselectionforanoperationarelimitedtothosethatareconfiguredandactiveforthatoperation.

Figure6.1–JobsPageNote,Jobswillnotrunconcurrentlyforthesametargetobject.AsthescreenshotaboveshowsaJobcanbescheduledonarecurringbasistoaspecifiedrecurrencepattern;Daily,Weeklyetc.ItisalsopossibletofiltertheDataSourcesreferencedbyanindividualjob;this option allows selective processing to be applied across larger data sets thatmay have beenpartitionedusingPartitionDataSources.

Page 23: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 23

6.1JobChainingMDM operations have a logical sequence of application; normalisation precedes matching andmatching precedes merge for example. To enable efficient automation of MDM processing it ispossible to chain jobs together in a seamlessmanner. Job chaining is specified via Target Objectsettings;thesupportedjobrelationshipsarelistedbelow.ChildJob ParentJob(s)Synchronisation NormalisationMatching Normalisation,SynchronisationMerge MatchingConversion Matching,MergeRe-parenting Conversion,MergeCustomRollup Re-parenting

6.2CustomActionSupportMDMOperationscanbeinvokedviaProcessBuilderortheRESTAPI. IntheformercaseaProcessmust be declaratively defined with an Apex action that references the class[clearmdm__BatchJobRunAction];theMDMOperationandTargetObjectparametersarerequired,theDataSourcesandProcessCountparametersareoptional.CustomActionsupportenablesMDMprocessing to be incorporated into any process automation logic implemented through ProcessBuilder. The same Custom Action referenced above is exposed via the REST API enabling MDMprocessingtobeinvokedbyoff-platformprocessing.AtypicalusecaseforthiscapabilityiswheredataintegrationtasksrequireamechanismtoinitiateMDMprocessingoncompletion.ForexampleonceanETLtoolhasfinishedloadingrecordsintoSalesforceobjectstheNormalisationMDMoperationcanbeinvoked,whichmaybechainedtotheMatchingMDMoperationtodeliverfullyautomatedend-to-enddataprocessing.

Page 24: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 24

ReferenceMaterialsReference ContextImplementationModel1-ExternalDataConsolidation

[email protected]

ImplementationModel2-InternalDataManagement

Inproduction

QuickStartGuides Availableatclearmdm.com/resourcesOverviewNormalisationMatchingMergeDataConsolidationDataQuality

Page 25: clearMDM - Installation Guide v1.6

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 25

AppendixA–MDMFieldsLabel(illustrative) APIName(illustrative) Type(mandatory) AreaBlockingKey BlockingKey__c Text(100)(External

ID)Normalisation

BlockingKeyGroup BlockingKeyGroup__c Text(10)(ExternalID)

Normalisation

IsActiveForConversion? IsActiveForConversion__c Checkbox ConversionIsActiveForMatching? IsActiveForMatching__c Checkbox MatchingIsActiveforReparenting? IsActiveForReparenting__c Checkbox Re-parentingIsBlockingKeyComplete? IsBlockingKeyComplete__c Checkbox NormalisationIsConversionMaster? IsConversionMaster__c Checkbox ConversionIsNormalised? IsNormalised__c Checkbox NormalisationLastConversionDate LastConversionDate__c Date/Time ConversionLastMatchingDate LastMatchingDate__c Date/Time MatchingLastMergedDate LastMergedDate__c Date/Time MergeLastNormalisedDate LastNormalisedDate__c Date/Time NormalisationLastSynchronisationDate LastSynchronisationDate__c Date/Time SynchronisationMatchingonSave? MatchingOnSave__c Checkbox MatchingMDMStatus MDMStatus__c Text(25) AllNormaliseonSave? NormaliseOnSave__c Checkbox NormalisationMasterFieldMap SystemMasterFieldMap__c LongText(5000) Merge

Synchronisation TargetObjectOnly DataSourceObjectOnlyOtherTypesofFields:MasterRecordLookups RelationshipfieldsthatenableSourceRecordstoberelatedtotheMaster

Record–e.g.MasterContact.NormalisationOutputFields CustomfieldsaddedasthetargetforNormalisationRules.

Examples;[NormalisedCompanyName],[ISOCountryCode],[EmailDomain].

Re-parentingRelationshipFields

LookuprelationshipfieldsaddedtoChildObjectstoenablere-parentingtoaMasterRecord.

IdentifierTargetFields TextfieldsaddedtoTargetObjectsthatarepopulatedwithaconcatenatedlistofSourceRecordidentifiers.