Overview
DupeBlocker is fully customizeable to meet the needs of almost any organization. Although it can be implemented with a few easy steps, it is recommended that users review their specific business needs prior to implementation and customize Salesforce, DupeBlocker Settings and the supplied matching scenarios accordingly.
General Requirements
1. To work properly, DupeBlocker uses various custom Lightning Components. Salesforce requires my domain to be enabled in an org in order to use Lightning Components. If My Domain is not currently enabled please follow the instructions in the Salesforce help article Set Up My Domain.
2. Recommended Browsers: DupeBlocker Lightning works best in Chrome, Safari, and Firefox. Microsoft Edge occasionally results in unexpected errors (not just with DupeBlocker components, but Lightning in general) and therefore we do not recommend DupeBlocker's use in Edge.
3. Lightning is supported in DupeBlocker 3.10 and above. Users will need to install/upgrade to the latest release to get started.
Quick Start Guide
DupeBlocker Lightning can be implemented in 4 easy steps:
1. Go to the DupeBlocker Settings tab to load the default scenarios and review the default settings, making changes as necessary.
- The DupeBlocker Settings allow for customizing various matching options, enabling non-standard objects for matching (e.g. Opportunities, Assets, custom objects etc.), and configuring other key features.
- More information on customizing the DupeBlocker Settings can be found HERE.
- Note: The DupeBlocker Settings tab needs to be accessed to load the default settings and begin duplicate detection. Even if no customizations will be done to the supplied settings, this tab still needs to be accessed to complete the initialization of DupeBlocker.
2. Go to the DupeBlocker Scenarios tab and review the default deduplication scenarios. Update, deploy and/or create new scenarios to suit your organizations needs.
- DupeBlocker ships with two standard matching scenarios for Accounts, Contacts, Leads and Lead to Account and Lead to Contact matching. These can be used as is, customized and/or deleted to accommodate your specific needs.
3. Rebuild the scenario keys for all deployed (activated) scenarios. This is done by opening a scenario and clicking Rebuild All Keys.
4. Override Salesforce's New/Edit pages with DupeBlocker's custom wrapper page. Step 4 is ONLY required if a DupeBlocker Scenario is set to a blocking action (e.g. Do Not Insert, Do Not Update, or Redirect to Existing). The custom pages allow for the the blocking messages to be properly displayed, the Bypass Block button to be shown and for inserts to be redirected to any matching existing records. If "Do Not Update" is NEVER used then only the New button needs to be overridden.
A customization checklist can be found HERE.
DupeBlocker Settings
Options are available for customizing the application as a whole and/or customizing various mapping types to maximize finding duplicates. DupeBlocker comes with default settings and can be implemented without customization, however this tab must be selected after install to create a DupeBlocker license, and load the default scenarios and settings. Settings can be updated at any time.
Settings available for customization include:
- General Settings: Options for customizing the application as a whole
- Administrator E-mail
- Key building options
- Options to create Warnings when bypassing a block, disable Task pop-up reminders, and disable all DupeBlocker functionality
- Specify DupeBlocker activity tracking fields
- Enable Objects: Allows for duplicate detection for objects other than Accounts, Contacts and Leads
- e.g. Opportunities, Assets, custom objects etc.
- Scenarios CANNOT be created for other objects until they have been enabled
- Clean Account Name Settings: Rules for matching similar Account names when using the Cleaned Account Name mapping type (common punctuation to ignore or standardize, common suffixes and prefixes to ignore).
- First Name Mappings: Used with the FirstName mapping type to match a nickname to its full equivalent, e.g. Mike will match to Michael.
- State Mappings: Used with the State Match mapping type to match a US or Canadian state abbreviation to its full name
- Country Mappings: Used with the Country Match mapping type to match 2 digit, 3 digit, and full country names (uses ISO codes)
- Web Lead Sources: Specify the Lead Sources that are assigned to Web to Lead inserts. Ensures that Leads entered via Web to Lead will NEVER be blocked entirely.
More information on Web to Lead can be found HERE
More information on Mapping Types can be found HERE
Detailed information on DupeBlocker Settings can be found HERE.
Deploying Scenarios
DupeBlocker ships with two standard matching scenarios for Accounts, Contacts, Leads and Lead to Account and Lead to Contact matching. No default scenarios are provided for non-standard objects, these will need to be built after enabling the object for duplicate detection in the DupeBlocker Settings.
Before using DupeBlocker these default scenarios should be reviewed, updated and deployed as needed. Default scenarios are marked as undeployed when installed. New scenarios can also be created to suit your organizations needs. Scenario keys will need to be built for all deployed scenarios before they can be used.
Details regarding the default scenarios that ship with DupeBlocker can be found HERE.
More information on creating/customizing scenarios can be found HERE.
Building Scenario Keys
Once all scenarios are in place and deployed, duplicate keys will need to be built so that duplicates can be identified. Before building keys refer to the System Requirements help page for information on Salesforce storage requirements needed.
- Instructions on how to build and maintain keys can be found HERE.
Overriding New/Edit Pages with DupeBlocker's Custom Lightning Pages
Block messages, Bypass Block button and the ability to redirect to an existing record does not work on the Standard Salesforce Lightning Pages. In order for these options to work properly the standard pages will need to be overridden with DupeBlocker Lightning custom pages.
If the Match on Insert Action is set to either "Do Not Insert" or "Redirect to Existing" in any scenarios, the New button will need to overridden for the Scenario object being checked for duplicates. If the Match on Update Action is set to "Do Not Update" on any scenarios the Edit button will also have to be overridden for the Scenario object being checked for duplicates.
To do this go to Setup -> Objects and Fields -> Object Manager -> {Object} -> Buttons, Links and Actions
- Edit the “New” and/or “Edit” buttons (same process for both)
- Pick CRMfusionDBR101:DupeBlockerWrapper for the “Lightning Experience Override” and “Mobile Override”
- Adding a comment is optional
Examples:
Custom override: Blocking message properly formatted, links to matched records, Bypass Block button shown in upper right. If "Redirect to Existing" is the action a pop-up will be shown alerting of the redirection, then the user will be redirected to the first matching record found.
No Override, blocking message displayed on Standard Salesforce page
Additional Steps To Ensure Users Have Proper Access to the DupeBlocker Objects
Customizing Profiles
To access user profiles, go to Setup -> Users -> Profiles.
Enabling Apex Class Access
Note: This step is NOT required if the instructions were followed during installation/upgrade to Install for Specific Profiles -> Set Access Level for all profiles -> Non-admin Users ->Set.
All user profiles should have access to these apex classes:
-----------
- CRMfusionDBR101.DB_ConvertMergeController
- CRMfusionDBR101.DB_DisabledWarningController
- CRMfusionDBR101.DB_DupeBlockerLookupFieldController
- CRMfusionDBR101.DB_DuplicatesListController
- CRMfusionDBR101.DB_MatchRedirectorController
- CRMfusionDBR101.DB_Scenario_Filter_Controller
- CRMfusionDBR101.DB_Scenario_Rule_Controller
- CRMfusionDBR101.DB_Scenario_Rule_View_Controller
- CRMfusionDBR101.DB_Scenario_Target_Filter_Controller
- CRMfusionDBR101.DB_ScenarioController
- CRMfusionDBR101.DB_WebServices
- CRMfusionDBR101.DupeBlockerMessagesController
- CRMfusionDBR101.DupeBlockerWrapperController
- CRMfusionDBR101.GeneralSettingsController
- CRMfusionDBR101.SettingsAccountNameController
- CRMfusionDBR101.SettingsCountryController
- CRMfusionDBR101.SettingsEnableObjectController
- CRMfusionDBR101.SettingsFirstNameController
- CRMfusionDBR101.SettingsStateController
- CRMfusionDBR101.SettingsWebLeadSourcesController
To verify setup, go to Setup -> Users -> Profiles -> Apex Class Access and confirm which profiles are enabled. Add additional profiles as necessary.
Non-Admin Profiles should look like this after the new pages have been added:
If any custom Apex Classes were created to customize redirects or Inline Duplicate Lists, these will also need to be added to the profiles.
Adding Visualforce Pages to User Profiles
Note: This step is NOT required if the instructions were followed during installation/upgrade to Install for Specific Profiles -> Set Access Level for all profiles -> Non-admin Users _>Set.
All user profiles should have access to these Visualforce pages (at the bottom of the profile settings):
- CRMfusionDBR101.DB_Account_Inline_Duplicates_List
- CRMfusionDBR101.DB_Contact_Inline_Duplicates_List
- CRMfusionDBR101.DB_Help
- CRMfusionDBR101.DB_Lead_Inline_Duplicates_List
- CRMfusionDBR101.DB_Match_Redirector
- CRMfusionDBR101.DB_Scen_Target_Filter_Page_Setup_Warning
- CRMfusionDBR101.DB_Scenario_Filter_Page_Setup_Warning
- CRMfusionDBR101.DB_Scenario_Filter_View
- CRMfusionDBR101.DB_Scenario_Rule_View
- CRMfusionDBR101.DB_Scenario_Target_Filter_View
- CRMfusionDBR101.DB_Scenario_ViewCRMfusionDBR101.DB_Warning_Convert
- CRMfusionDBR101.DB_Warning_Merge
Any DupeBlocker Administrator profiles should have access to ALL DupeBlocker Visualforce pages (full System Administrator profiles will already have the new profiles added). Not updating the profiles with access to these pages will result in "Insufficient Privileges" message when the user attempts to merge/convert duplicates, or when an attempt is made to Redirect to Existing record per the Match on Insert Action:
Non-Admin Profiles should look like this after the new pages have been added:
If any custom Visualforce pages were created to customize redirects or Inline Duplicate Lists, these will also need to be added to the profiles.
Updating Field/Object Permissions for the DupeBlocker Custom Objects
All standard Salesforce profiles will not have access to the DupeBlocker custom objects and CANNOT be updated to gain access. In order for users to have access to the DupeBlocker objects they will need to be assigned a custom profile.
Note: This step is NOT required if the instructions were followed during installation/upgrade to Install for Specific Profiles -> Set Access Level for all profiles -> Non-admin Users _>Set.
Existing custom profiles will need to be updated "Read" only access to the following DupeBlocker Objects, and all fields on the same objects should be visible and editable for all custom profiles.
Warnings
Potential Duplicates
Scenarios
Filters
Target Filters
Rules
All non administrator custom profiles added after the installation of DupeBlocker should be updated to have read access to the same DupeBlocker objects listed above, and all fields on those objects should be visible and editable (where possible).
By default, non-admin users will not be able to manually delete a warning since they have "Read" only access to this object. Access can be granted to users to delete warnings, but this could defeat the purpose of DupeBlocker (user chooses to ignore the warning, but the record is in fact a duplicate and should be merged/converted). Since object permissions can be updated at the profile level, this option could be enabled for managers but not for general users.
System Administrators always have full access, so they can delete warnings also.
Optional Steps to Improve Duplicate Visibility Directly on Object Pages
Customizing Page Layouts
The DupeBlocker Potential Duplicates list Lightning Component can be added to the Lightning Object Pages (Accounts, Contacts, Leads and any other object enabled for deduplication). Page layouts can also be updated to show an inline list of potential duplicates in the detail section (where object fields are displayed). These customization's are optional as some customers prefer to have DupeBlocker "run in the background" without users being aware of duplicates being detected.
Adding DupeBlocker's Potential Duplicates List Component to Lightning Pages
ONLY AVAILABLE in Lightning (not in Classic), is the ability to show Warnings in a Lightning component directly on the page. This component has an option to detect duplicates and create a warning (regardless of the scenario action) when VIEWING a record! The option is enabled by default, but can be disabled if desired.
The new component is similar Salesforce's Lightning component used to check for duplicates when Duplicate Management is enabled. We recommend removing Salesforce's component and replacing it on the Lightning page with ours.
To add our component to an objects Lightning Page:
- In Lightning access a record you want to update the Lightning Page for (i.e. An Account, Contact or Lead etc.)
- Click the tool icon in the upper right and select the “Edit Page” option
- First remove the Salesforce Duplicate Management component from the Page (will be in the “Related” area for Accounts/Contact and “Activity” area for Leads)
- To remove it simply click the x on the component in the upper right
- Add the "DupeBlocker Potential Duplicates" custom component located on the left in the list of Lightning Components
- Scroll to the bottom to see Custom Components
- Drag the component to the upper right hand side of the page
- Component options will be shown on the right after adding the component
- Check for New Dupes: When checked (default) will detect duplicates when viewing a record
- Warnings created from simply viewing a record, will have the Triggering action “Duplicate found on View”
- Max Number of Duplicates: Specify the maximum number of duplicates to display in the component
- Check for New Dupes: When checked (default) will detect duplicates when viewing a record
- Click “Save” upper right, then “Activation” and “Assign as Org Default”
- To go back to the object record click “Back” and the new page with the Salesforce component removed and DupeBlocker's added will be displayed
Inline Duplicate List
The list of potential duplicates can be displayed within the actual record itself by creating a new section and adding a supplied Visualforce page.
- Visualforce Pages supplied for Leads, Contacts, Account
- DupeBlocker - Lead - Inline Duplicates List
- DupeBlocker - Contact - Inline Duplicates List
- DupeBlocker - Account - Inline Duplicates List
- Custom Visualforce Pages will need to be created if wanting to:
- Modify the fields displayed for Leads, Contacts or Accounts
- Display duplicates for non standard objects
- Instructions and sample code can be found in the following 2 Validity Community Solutions
- DupeBlocker Custom Inline Duplicates Page for Accounts, Contacts, Leads (i.e. Adding Fields)
- DupeBlocker Custom Inline Duplicates Page for Non-Standard Objects (i.e. Opportunities or custom objects)
Instructions to add the desired Visualforce page to the Page Layout
Go to Setup -> Objects and Fields -> Object Manager -> {Object} -> Page Layout
1. Select the Page Layout for the desired object
2. Under Fields, select Section and drag to the desired location on the page layout
3. Create a 1-column section and name it "DupeBlocker Potential Duplicates List" (or similar) and click OK
4. Select Visualforce Pages and drag the "DupeBlocker - {object} - Inline Duplicates List" page to the new section
Click the blue area to show the tool icon, , select Show Scrollbars option, save the page layout.
Click HERE to configure DupeBlocker in the Salesforce Classic UI.