diff --git a/.github/workflows/Package.yml b/.github/workflows/Package.yml index 1e4f930..98da286 100644 --- a/.github/workflows/Package.yml +++ b/.github/workflows/Package.yml @@ -35,3 +35,4 @@ jobs: id: create run: | sf package version create --definition-file config/project-scratch-def.json --package "Trigger Actions Framework" --version-number ${{ inputs.packageVersion }} --wait 120 --code-coverage --installation-key-bypass + cat sfdx-project.json diff --git a/README.md b/README.md index 07d6fa7..52652bb 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,8 @@ # Apex Trigger Actions Framework - - Deploy to Salesforce - +#### [Unlocked Package Installation (Production)](https://login.salesforce.com/packaging/installPackage.apexp?p0=04tKY000000PdZJYA0) -#### [Unlocked Package Installation (Production)](https://login.salesforce.com/packaging/installPackage.apexp?p0=04tKY000000Pb8tYAC) - -#### [Unlocked Package Installation (Sandbox)](https://test.salesforce.com/packaging/installPackage.apexp?p0=04tKY000000Pb8tYAC) +#### [Unlocked Package Installation (Sandbox)](https://test.salesforce.com/packaging/installPackage.apexp?p0=04tKY000000PdZJYA0) --- @@ -115,7 +111,7 @@ To enable this flow, simply insert a trigger action record with `Apex_Class_Name > - **Why It Matters:** This limit can be reached when Trigger Action Flows perform DML operations that cascade across multiple objects with their own Trigger Action Flows. > - **When to Be Careful:** Exercise caution when using Trigger Action Flows in scenarios involving multiple DML operations or complex trigger chains. > - **Safe Use Cases:** Same-record updates, using the `addError` action to add a custom error message, and actions like workflow email alerts are generally safe. -> - **Potential Solution (Developer Preview):** [This idea](https://github.com/mitchspano/apex-trigger-actions-framework/issues/135) aims to reduce the likelihood of hitting the limit, but the technology is still under development. +> - **How to Avoid Issues:** Implementing [Entry Criteria Formula](#Entry-Criteria-Formula) will reduce the likelihood of hitting the limit. Define entry criteria on all Flow actions whenever possible. ### Flow Actions for Change Data Capture Events @@ -134,15 +130,11 @@ Create a trigger action record with `Apex_Class_Name__c` equal to `TriggerAction --- -## Entry Criteria Formula (Beta) +## Entry Criteria Formula Individual trigger actions can have their own dynamic entry criteria defined in a simple formula. This is a new feature and is built using the [`FormulaEval` namespace](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_namespace_formulaeval.htm) within Apex. -#### [Entry Criteria Beta Package Installation (Production)](https://login.salesforce.com/packaging/installPackage.apexp?p0=04tKY000000PdZ9YAK) - -#### [Entry Criteria Beta Package Installation (Sandbox)](https://test.salesforce.com/packaging/installPackage.apexp?p0=04tKY000000PdZ9YAK) - ### SObject Setup To define an entry criteria formula for a given trigger action, first define a class which extends `TriggerRecord` @@ -192,13 +184,10 @@ record.Name = "Bob" && recordPrior.Name = "Joe" Now, the automation will only execute for any records within the transaction for which the name used to be "Joe", but it is changed to "Bob". -![Entry Criteria](images/Entry_Criteria.gif) - ### Caveats > [!IMPORTANT] > -> - **Beta Feature:** The Entry Criteria Formula feature is currently in beta. While it is functional, there might be limitations or changes in future releases. > - **Field Traversal Limitations:** The `record` and `recordPrior` objects within the formula are limited to the fields directly available on the record itself. Cross-object traversal, such as `record.RecordType.DeveloperName`, is not supported. --- diff --git a/images/Entry_Criteria.gif b/images/Entry_Criteria.gif deleted file mode 100644 index 38b45fd..0000000 Binary files a/images/Entry_Criteria.gif and /dev/null differ diff --git a/sfdx-project.json b/sfdx-project.json index cf3f484..f102825 100644 --- a/sfdx-project.json +++ b/sfdx-project.json @@ -10,7 +10,7 @@ ], "namespace": "", "sfdcLoginUrl": "https://login.salesforce.com", - "sourceApiVersion": "59.0", + "sourceApiVersion": "63.0", "packageAliases": { "Trigger Actions Framework": "0Ho3h0000008Om4CAE", "Trigger Actions Framework@0.1.0-1": "04t3h000004VaHaAAK", @@ -41,6 +41,7 @@ "Trigger Actions Framework@0.3.1-3": "04tKY000000PdYBYA0", "Trigger Actions Framework@0.3.1-4": "04tKY000000PdYGYA0", "Trigger Actions Framework@0.3.1-5": "04tKY000000PdYaYAK", - "Trigger Actions Framework@0.3.1-6": "04tKY000000PdZ9YAK" + "Trigger Actions Framework@0.3.1-6": "04tKY000000PdZ9YAK", + "Trigger Actions Framework@0.3.1-7": "04tKY000000PdZJYA0" } } diff --git a/trigger-actions-framework/main/default/classes/FinalizerHandler.cls-meta.xml b/trigger-actions-framework/main/default/classes/FinalizerHandler.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/FinalizerHandler.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/FinalizerHandler.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/FinalizerHandlerTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/FinalizerHandlerTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/FinalizerHandlerTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/FinalizerHandlerTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/FlowChangeEventHeader.cls-meta.xml b/trigger-actions-framework/main/default/classes/FlowChangeEventHeader.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/FlowChangeEventHeader.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/FlowChangeEventHeader.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/FlowChangeEventHeaderTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/FlowChangeEventHeaderTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/FlowChangeEventHeaderTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/FlowChangeEventHeaderTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/FormulaFilter.cls-meta.xml b/trigger-actions-framework/main/default/classes/FormulaFilter.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/FormulaFilter.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/FormulaFilter.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/FormulaFilterTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/FormulaFilterTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/FormulaFilterTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/FormulaFilterTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/MetadataTriggerHandler.cls-meta.xml b/trigger-actions-framework/main/default/classes/MetadataTriggerHandler.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/MetadataTriggerHandler.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/MetadataTriggerHandler.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/MetadataTriggerHandlerTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/MetadataTriggerHandlerTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/MetadataTriggerHandlerTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/MetadataTriggerHandlerTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerAction.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerAction.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerAction.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerAction.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionConstants.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionConstants.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionConstants.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionConstants.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlow.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlow.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlow.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlow.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowAddError.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowAddError.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowAddError.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowAddError.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowAddErrorTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowAddErrorTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowAddErrorTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowAddErrorTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowBypass.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowBypass.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowBypass.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowBypass.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassProcessor.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassProcessor.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassProcessor.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassProcessor.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowBypassTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEvent.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEvent.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEvent.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEvent.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEventTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEventTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEventTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowChangeEventTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypasses.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypasses.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypasses.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypasses.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypassesTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypassesTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypassesTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearAllBypassesTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypass.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypass.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypass.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypass.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypassTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypassTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypassTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowClearBypassTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassed.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassed.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassed.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassed.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassedTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassedTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassedTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowIsBypassedTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerActionFlowTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerActionFlowTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerActionFlowTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerActionFlowTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerBase.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerBase.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerBase.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerBase.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerBaseTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerBaseTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerBaseTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerBaseTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerRecord.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerRecord.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerRecord.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerRecord.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerRecordTest.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerRecordTest.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerRecordTest.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerRecordTest.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file diff --git a/trigger-actions-framework/main/default/classes/TriggerTestUtility.cls-meta.xml b/trigger-actions-framework/main/default/classes/TriggerTestUtility.cls-meta.xml index ba7ea1b..835ede4 100644 --- a/trigger-actions-framework/main/default/classes/TriggerTestUtility.cls-meta.xml +++ b/trigger-actions-framework/main/default/classes/TriggerTestUtility.cls-meta.xml @@ -1,5 +1,5 @@ - 62.0 + 63.0 Active \ No newline at end of file