Stratus Cloud Solutions Stratus Docs
Documentation / Data Cleanser User Guide / Advanced Reference

Administration Guide

Administrator-focused reference for permissions, licensing, scheduling, and the package data model. End users can skip this page unless they are rolling out Data Cleanser or investigating access issues.

Permission sets

Permission set Purpose
Data_Cleanser_User Modern LWC path: DataCleanserController, app + tab, CRM edit, package field FLS on Account/Contact/Lead, favourites and watch objects. Assign this for typical users.
Data_Cleanser Full legacy engine: ~30 Apex classes, all package objects, custom settings. Used for legacy Aura/VF paths and deep engine access.

Users need standard Salesforce merge permission on Account, Contact, and Lead, plus field-level security on package fields such as DCM_Duplicate_Key__c and DCM_Master_Score__c.

Security enforcement model
  • Modern LWC path: WITH USER_MODE, Security.stripInaccessible when loading CRM records for groups.
  • Legacy engine: SecurityHelper CRUD/FLS checks; several legacy classes run without sharing or in elevated context.
  • Data_Cleanser_User does not grant Apex on engine classes such as MergeRecords or BatchUpdateDuplicateKey — those run in system context during scans and mass merges.

Permission set tab visibility accepts Visible or None only (not Hidden). Two tabs — Data_Cleanser and Data_Cleanser1 — both point at the dataCleanserApp LWC; keep them in sync after metadata retrieves.

License enforcement (Feature Management)
Package parameter Meaning
Data_Cleanser_License 0 = Trial, 1 = Basic, 2+ = Pro
Data_Cleanser_Merges_Limit Trial merge cap
Data_Cleanser_Merges_Used Trial usage counter (updated via @future after merges)
Data_Cleanser_Expiry_Date Expiry date (2019-01-01 treated as no expiry)

Merge gate: blocked when expired; on Trial, blocked when mergesLeft < mergeCount (multi-select and mass merge check count upfront).

On Pro and Basic, the License section (Settings → License) may show 0 merges left — that is expected. Merging is unlimited when not on Trial; only the meter display reads zero.

When merging is blocked, users can still browse scenarios and Review groups. Only merge and convert actions are disabled.

Scheduling — how auto-scan really works
  1. Enabling auto-schedule creates one org-wide cron: 0 0 {hour} ? * * * (default hour 2 AM from Configuration__c).
  2. ScenarioScheduler runs daily, queries Duplicate_Scheduler__c rows where Active__c = TRUE and Day__c matches today.
  3. Each matching row calls ActivateScenarioscan only.

Auto-merge is not executed by the scheduler. Auto_Merge__c is stored and shown in Settings UI but ScenarioScheduler never reads it. Scheduled runs find duplicates; merging still requires manual Review or an on-demand mass merge.

Weekday matching: the scheduler compares Day__c to a single-letter weekday format (EEEEE, e.g. M), while the UI stores full names like Monday. Verify schedule rows fire as expected in your org.

Per-row Time__c drives the Home Next Run display; the cron uses one org-wide hour, not per-row times.

Package custom objects
Object Role
StratusDataShieldMaster__c Scenario + activation state
Scenario_Rule__c Match rules
Scenario_Filter__c Scan filters
Scenario_Master__c Survivorship rules
Duplicate_Group__c Duplicate group header
Duplicate_Account__c / _Contact__c / _Lead__c Group ↔ CRM junction
Duplicate_Report__c Scan/merge run history
Cross_Object_Group__c Cross-object match group
Cross_Contact__c Cross group ↔ Contact junction
Merge_Log__c Warnings and errors
Duplicate_Scheduler__c Schedule rows
Batch_Status__c Mass merge job status
Configuration__c Scheduler cron hour
Merge_Display_Defaults__c UI defaults, batch size
Merge_Option__c Overflow on/off per object
Word_Mapping_Public__c Word map/remove dictionaries
Scenario_Favourite__c / Scenario_Watch__c Home favourites and alerts
Fields added to Account, Contact, and Lead
Field Purpose
DCM_Duplicate_Key__c Normalized composite match key
DCM_Duplicate_Key_Re__c Human-readable key for display
DCM_Master_Score__c Survivorship score
DCM_Cross_Duplicate_Key__c Cross-object key (Contact/Lead)
Not_duplicate__c Exclusion flag (present; scan filter not wired)

Supported CRM objects: Account, Contact, Lead only. Custom fields on those objects are supported in rules; custom objects are not scanned.