Adds SmartClone Record Exclusion Rule MDT

Adds a new Metadata Type object to allow users to define
exclusion rules for the SmartClone component.

This allows users to specify criteria to prevent certain
related records from being cloned.

Also, excludes listViews metadata from source control.
This commit is contained in:
cgary committed 2025-04-18 15:10:06 -04:00
1 parent e2e6cb7df7
commit 81b24f298b
28 files changed
+96 -3

No files matched your search

+3
View File
@@ -42,6 +42,9 @@ package.xml
#Exclude Dashboards #Exclude Dashboards
**/dashboards/** **/dashboards/**
# EXclude Listviews
**/listViews/**
# Exclude Remote Site Settings # Exclude Remote Site Settings
@@ -1 +1 @@
16e7a98d17a40cc2d21421b23373f5f54a6d4214 aedb3c7323a730a30e0cf8263e520ad4fe2a9912
+50 -2
View File
@@ -1,6 +1,6 @@
{ {
"fileVersion": 0, "fileVersion": 0,
"serverMaxRevisionCounter": 81, "serverMaxRevisionCounter": 104,
"sourceMembers": { "sourceMembers": {
"ReportFolder__prm_channel_reports_folder": { "ReportFolder__prm_channel_reports_folder": {
"memberType": "ReportFolder", "memberType": "ReportFolder",
@@ -196,7 +196,7 @@
}, },
"Profile__Admin": { "Profile__Admin": {
"memberType": "Profile", "memberType": "Profile",
"serverRevisionCounter": 44, "serverRevisionCounter": 97,
"lastRetrievedFromServer": null, "lastRetrievedFromServer": null,
"isNameObsolete": false "isNameObsolete": false
}, },
@@ -337,6 +337,54 @@
"serverRevisionCounter": 81, "serverRevisionCounter": 81,
"lastRetrievedFromServer": null, "lastRetrievedFromServer": null,
"isNameObsolete": false "isNameObsolete": false
},
"ListView__Opportunity.AllOpportunities": {
"memberType": "ListView",
"serverRevisionCounter": 88,
"lastRetrievedFromServer": null,
"isNameObsolete": false
},
"ListView__Product2.AllProducts": {
"memberType": "ListView",
"serverRevisionCounter": 90,
"lastRetrievedFromServer": null,
"isNameObsolete": false
},
"Layout__SmartCloneRecordExclusionRule__mdt-SmartClone Record Exclusion Rule Layout": {
"memberType": "Layout",
"serverRevisionCounter": 104,
"lastRetrievedFromServer": null,
"isNameObsolete": false
},
"Profile__B2B Reordering Portal Buyer Profile": {
"memberType": "Profile",
"serverRevisionCounter": 96,
"lastRetrievedFromServer": null,
"isNameObsolete": false
},
"CustomObject__SmartCloneRecordExclusionRule__mdt": {
"memberType": "CustomObject",
"serverRevisionCounter": 98,
"lastRetrievedFromServer": 98,
"isNameObsolete": false
},
"CustomField__SmartCloneRecordExclusionRule__mdt.RelatedObject__c": {
"memberType": "CustomField",
"serverRevisionCounter": 99,
"lastRetrievedFromServer": 99,
"isNameObsolete": false
},
"CustomField__SmartCloneRecordExclusionRule__mdt.ExclusionFormula__c": {
"memberType": "CustomField",
"serverRevisionCounter": 101,
"lastRetrievedFromServer": 101,
"isNameObsolete": false
},
"CustomField__SmartCloneRecordExclusionRule__mdt.IsActive__c": {
"memberType": "CustomField",
"serverRevisionCounter": 103,
"lastRetrievedFromServer": 103,
"isNameObsolete": false
} }
} }
} }
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Exclusion rules that the SmartClone component will use to evaluate each record and determine if it can be cloned.</description>
<label>SmartClone Record Exclusion Rule</label>
<pluralLabel>SmartClone Record Exclusion Rules</pluralLabel>
<visibility>Public</visibility>
</CustomObject>
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<CustomField xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>ExclusionFormula__c</fullName>
<description>The formula to apply to the record that determines if it is excluded from the Clone process. If the formula is true, the record is excluded.</description>
<fieldManageability>SubscriberControlled</fieldManageability>
<inlineHelpText>The formula to apply to the record that determines if it is excluded from the Clone process. If the formula is true, the record is excluded.</inlineHelpText>
<label>Exclusion Formula</label>
<length>3900</length>
<type>LongTextArea</type>
<visibleLines>3</visibleLines>
</CustomField>
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<CustomField xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>IsActive__c</fullName>
<defaultValue>true</defaultValue>
<description>Use the rule to evaluate exclusions</description>
<fieldManageability>SubscriberControlled</fieldManageability>
<inlineHelpText>Determine whether to actively use the rule in excluding records.</inlineHelpText>
<label>Active</label>
<type>Checkbox</type>
</CustomField>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<CustomField xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>RelatedObject__c</fullName>
<description>The Object that ruleset should apply to. It must be a child of the Opportunity Record.</description>
<fieldManageability>SubscriberControlled</fieldManageability>
<inlineHelpText>The Object that ruleset should apply to. It must be a child of the Opportunity Record.</inlineHelpText>
<label>Related Object</label>
<referenceTo>EntityDefinition</referenceTo>
<relationshipLabel>SmartCloneRecordExclusionRules</relationshipLabel>
<relationshipName>SmartCloneRecordExclusionRules</relationshipName>
<required>true</required>
<type>MetadataRelationship</type>
<unique>false</unique>
</CustomField>