Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description:

Persona + Need + Purpose

As a System admin

I want to make sure there are no issues with existing flows

So that Batch processing gift/pledge creation & updates/transactions run smoothly without CPU limit errors or SOQL 201 errors.

Batch closing is one of the scenario that created the gift/pledge and transactions at the backend and there are lot of process builders and flows that are being called

Business Area:

Batch Processing/GA

Business Value:

Best code practice

Implementation:

To avoid hitting governor limits on a single synchronous transaction(DML limit of 150, SOQL limit of 200) and avoid the unwanted recursion of flow calls because of roll-up summary fields not related to the flows’s logic, the team has implemented the following:

  • A parent flow is created for each triggering sObject.

    • Gift

    • Gift Implementation

    • Transaction

  • Flows are then translated to sub-flows. This is created with considerations to the original Flow Trigger order of each object.

  • Roll-up summary fields changes on Gift object is filtered to avoid recurring run of subflows triggered on Gift sObject.

...

View file
nameTransaction.pdf
View file
nameGift Implementation.pdf
View file
nameGift:Pledge.pdf

Metadata Components and Changes:

* Items in red are deactivated

Description:

Persona + Need + Purpose

As a System admin

I want to make sure there are no issues with existing flows

So that Batch processing gift/pledge creation & updates/transactions run smoothly without CPU limit errors or SOQL 201 errors.

Batch closing is one of the scenario that created the gift/pledge and transactions at the backend and there are lot of process builders and flows that are being called

Business Area:

Batch Processing/GA

Business Value:

Best code practice

...

Implementation:

To avoid hitting governor limits on a single synchronous transaction(DML limit of 150, SOQL limit of 200) and avoid the unwanted recursion of flow calls because of roll-up summary fields not related to the flows’s logic, the team has implemented the following:

  • A parent flow is created for each triggering sObject.

    • Gift

    • Gift Implementation

    • Transaction

  • Flows are then translated to sub-flows. This is created with considerations to the original Flow Trigger order of each object.

  • Roll-up summary fields changes on Gift object is filtered to avoid recurring run of subflows triggered on Gift sObject.

...

View file
nameTransaction.pdf
View file
nameGift Implementation.pdf
View file
nameGift:Pledge.pdf

Metadata Changelog:

* Items in red are deactivated

v.0.0.2

  • Flow paths are added to relevant flows and are ommited as part of the indicated changes below.

Developer Name

Type

Description

sObject

New/Update

What it Does?

USYD Update Related Gift Implementation
Flow
auto-launched flow
Gift/Pledge
New
Updates related Gift Implementation Stage to "5. GI - Kick Off"
USYD Update Pledge Status (subflow)
Flow
auto-launched flow
Gift/Pledge
New
Updates pledge status if gift/pledge recordtype is Pledge and Pledge Status is Paid.
USYD Update Credited Contacts and GRC Rollup (subflow)
Flow
auto-launched flow
Gift/Pledge
New
Updates Credited Contacts field and GRC roll-up field per related GRC records.
USYD Update Text Area Description (subflow)
Flow
auto-launched flow
Gift/Pledge
New
Updates Usyd Pledge Area Description from Gift Description.
USYD Create Application Log (subflow)
Flow
auto-launched flow
New
Reusable flow that creates an application log record when fault paths are traversed.
USYD_Gift_Pledge_On_Create_After_Save_subflow
Flow
auto-launched flow
Gift/Pledge
Deleted
Updates related Gift Implementation Stage to "5. GI - Kick Off"
USYD_Gift_Pledge_Update_subflow
Flow
auto-launched flow
Gift/Pledge
Deleted
Updates pledge status if gift/pledge recordtype is Pledge and Pledge Status is Paid.
Updates Credited Contacts field and GRC roll-up field per related GRC records.
Updates Usyd Pledge Area Description from Gift Description.

v.0.0.1

  • Existing record-triggered flows and process builder flows are translated as auto-launched flows.

  • New record-triggered flows to handle all the subflows for triggering objects(Gift/Pledge, Gift Implementation, Transaction)

Developer Name

Type

Description

sObject

New/Update

What it Does?

USYD_Automate_task_for_GA_for_Pledge_subflow
Flow
auto-launched flow
Gift/Pledge
New
Create task record if Pledge Status is "Pending Review".
USYD_AQC_Donor_Contact_Type_Auto_Updater_subflow
Flow
auto-launched flow
Gift/Pledge
New
Checks related Account's primary and secondary contact and update these if required.
USYD_Gift_Derivation_subflow
Flow
auto-launched flow
Gift/Pledge
New
Updates "Gift Driver Derivation" and "Usyd_Gift_Driver__c" after updating Actual Donor Type depending on Gift recordtype.
USYD Update Related Gift Implementation
USYD_Gift_Pledge_On_Create_After_Save_subflow
Flow
auto-launched flow
Gift/Pledge
New
Updates related Gift Implementation Stage to "5. GI - Kick Off"
USYD
Update Pledge Status (subflow)
_Gift_Pledge_Update_subflow
Flow
auto-launched flow
Gift/Pledge
New
Updates pledge status if gift/pledge recordtype is Pledge and Pledge Status is Paid.
USYD Update Credited Contacts and GRC Rollup (subflow)
Flow
auto-launched flow
Gift/Pledge
New
Updates Credited Contacts field and GRC roll-up field per related GRC
records.
USYD Update Text Area Description (subflow)
Flow
auto-launched flow
Gift/Pledge
New
records.
Updates Usyd Pledge Area Description from Gift Description.
USYD
_Gift_Derivation_subflow
Flow
auto-launched flow
Gift/Pledge
New
Updates "Gift Driver Derivation" and "Usyd
_Gift_
Driver__c" after updating Actual Donor Type depending on Gift recordtype.Gift_
Main_Flow
Flow
record-triggered flow
Gift/Pledge
New
Create/Update triggering flow on Gift/Pledge
USYD_GIN_Stage_based_Update_Before_Save_subflow
Flow
auto-launched flow
Gift Implementation
New
Updates Last Modified By field on Gift Implementation and update record owner according to stage. Create alert when stage is GA-Manage/Consolidate.
USYD_Usyd_Update_Gift_Implementation_Status_subflow
Flow
auto-launched flow
Gift Implementation
New
Checks If Gift Implemenation record's Funds Received Or Supporting Doc Are Change and updates status per matrix.
USYD_Gift_Implementation_Main_Flow
Flow
record-triggered flow
Gift Implementation
New
Create/Update triggering flow on Gift Implementation
USYD_Populate_Chart_of_Accounts_in_Transaction_subflow
Flow
auto-launched flow
Transaction
New
Set original class code and designation account number field.
USYD_Transaction_Roll_up_to_Gift_Pledge_fields_subflow
Flow
auto-launched flow
Transaction
New
Relates Appeal record and calculates gift driver derivation/Pledge WO.
USYD_Campaign_member_status_update_when_new_transaction_created_subflow
Flow
auto-launched flow
Transaction
New
Update the Campaign member status to "Donated" of Primary contact and secondary contact when exists as campaign member and campaign appeal id = campaign id
Used the same flow to update the Gift Driver Derivation field so that the Gift Driver will be recalculated
USYD_Pledge_is_Due_To_Be_Paid_Out_subflow
Flow
auto-launched flow
Transaction
New
Creates a notification for Pledges due to be paid out according to account type.
USYD_Description_HOLD_RECEIPT_subflow
Flow
auto-launched flow
Transaction
New
Updates Text Area Description and update child receipts of Gift when transaction is flagged as Hold.
USYD_Transaction_Update_subflow
Flow
auto-launched flow
Transaction
New
Updates flags in Reporting Section and calculates and creates a link to third party pledge.
USYD_Transaction_Main_Flow
Flow
record-triggered flow
Transaction
New
Create/Update triggering flow on Transaction
CUSTOM_NOTIFICATION_TYPE_ID_SYDNEY_STANDARD_NOTIFICATION
CustomLabel
custom label

New
Static string Id that is used in flow and can be used elsewhere.
TransactionTrigger
Apex Class

Transaction
New
Calls the TransactionTriggerHandler’s method on before insert/update stage.
TransactionTriggerHandler.createLinkToThirdpartyPledge()
Apex Class

Transaction
New
This will populate custom field USYD_Third_Party_Pledge__c with the pledge number of the pledge being paid off by a third party.
TransactionTriggerHandlerTest
Apex Class

Transaction
New
Apex test handler class for code coverage.
Automate_task_for_GA_for_Pledge
PB
process builder
Gift/
Pledge
Deactivated
Pledge
Deactivated
translated to subflow(auto-launched flow)
USYD_Populate_Chart_of_Accounts_in_Transaction
PB
process builder
Transaction
Deactivated
translated to subflow(auto-launched flow)
Usyd_Transaction_surface_up_Pledge_WO_Notation_to_Gift
PB
process builder
Transaction
Deactivated
translated to subflow(auto-launched flow)
pledge_is_due_to_paid_out
PB
process builder
Transaction
Deactivated
translated to subflow(auto-launched flow)
Description_HOLD_RECEIPT
PB
process builder
Transaction
Deactivated
translated to subflow(auto-launched flow)
AQC_Donor_Contact_Type_Auto_Updater
Flow
record-triggered flow
Gift/Pledge
Deactivated
translated to subflow(auto-launched flow)
Gift_Pledge_On_Create_After_Save
Flow
record-triggered flow
Gift/
Pledge
Deactivated
Pledge
Deactivated
translated to subflow(auto-launched flow)
USYD_Gift_Pledge_Update
Flow
record-triggered flow
Gift/Pledge
Deactivated
translated to subflow(auto-launched flow)
Usyd_Gift_Driver_Derivation
Flow
record-triggered flow
Gift/Pledge
Deactivated
translated to subflow(auto-launched flow)
GIN_Stage_based_Update_Before_Save
Flow
record-triggered flow
Gift Implementation
Deactivated
translated to subflow(auto-launched flow)
Usyd_Update_Gift_Implementation_Status
Flow
record-triggered flow
Gift Implementation
Deactivated
translated to subflow(auto-launched flow)
Usyd_Campaign_member_status_update_when_new_transaction_created
Flow
record-triggered flow
Transaction
Deactivated
translated to subflow(auto-launched flow)
USYD_Transaction_Update
Flow
record-triggered flow
Transaction
Deactivated
translated to subflow(auto-launched flow)