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 Changelog:

* Items in red are deactivated

v.0.0.2

  • Flow paths are added to flows with Update Record element.

  • Added descriptions on flows (changes omitted on list).

...

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.

...

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.2.2

  • Flows divided and named according to their function

Developer Name

Type

Type - Description

sObject

New/Update

Description/Change

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_Gift_Main_Flow
Flow
record-triggered flow
Gift/Pledge
Update
Change:
* Added USYD Update Related Gift Implementation as subflow
* Added USYD Update Pledge Status (subflow) as subflow
* Added USYD USYD Update Credited Contacts and GRC Rollup (subflow) as subflow
* Added USYD Update Text Area Description (subflow) as subflow
* Removed USYD Gift Pledge On Create After Save (subflow) subflow
* Removed USYD Gift Pledge Update (subflow) subflow
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.
USYD_Update_Pledge Status
Flow
auto-launched flow
Deactivated
translated to subflow(auto-launched flow) USYD Update Related Gift Implementation
USyd_GRC_Rollup
Flow
auto-launched flow
Deactivated
translated to subflow(auto-launched flow) USYD Update Credited Contacts and GRC Rollup (subflow)

v.0.2.1

  • Flow paths are added to flows with Update Record element.

  • Added descriptions on new flows.

Developer Name

Type

Type - Description

sObject

New/Update

Description/Change

USYD_AQC_Donor_Contact_Type_Auto_Updater_subflow
Flow
auto-launched flow
Gift/Pledge
Update
Change:
* Added fault path on Update Record element
* Added flow description
USYD_Automate_task_for_GA_for_Pledge_subflow
Flow
auto-launched flow
Gift/Pledge
Update
Change:
* Added fault path on Update Record element
* Added flow description
USYD_Campaign_member_status_update_when_new_transaction_created_subflow
Flow
auto-launched flow
Transaction
Update
Change:
* Added fault path on Update Record element
* Added flow description
USYD_Description_HOLD_RECEIPT_subflow
Flow
auto-launched flow
Transaction
Update
Change:
* Added fault path on Update Record element
* Added flow description
USYD_Gift_Main_Flow
Flow
record-triggered flow
Gift/Pledge
Update
Change:
* Added fault path on Update Record element
* Added flow description
USYD_Gift_Implementation_Main_Flow
Flow
record-triggered flow
Gift Implementation
Update
Change:
* Added fault path on Update Record element
* Added flow description
USYD_Transaction_Main_Flow
Flow
record-triggered flow
Transaction
Update
Change:
* Added fault path on Update Record element
* Added flow description
USYD_Gift_Derivation_subflow
Flow
auto-launched flow
Gift/Pledge
Update
Change: Added flow description
USYD_Gift_Pledge_On_Create_After_Save_subflow
Flow
auto-launched flow
Gift/Pledge
Update
Change: Added
fault path on Update Record element
flow description
USYD_
Automate
Gift_
task
Pledge_
for_GA_for_Pledge_
Update_subflow
Flow
auto-launched flow
Gift/Pledge
Update
Change: Added
fault path on Update Record element
flow description
USYD_
Campaign
GIN_
member
Stage_
status
based_
update_when_new_transaction_created
Update_Before_Save_subflow
Flow
auto-launched flow
Transaction
Gift Implementation
Update
Change: Added
fault path on Update Record element
flow description
USYD_
Description_HOLD_RECEIPT
Usyd_Update_Gift_Implementation_Status_subflow
Flow
auto-launched flow
Transaction
Gift Implementation
Update
Change: Added
fault path on Update Record element
flow description
USYD
_Gift_Main_Flow
_Populate_Chart_of_Accounts_in_Transaction_subflow
Flow
record
auto-
triggered
launched flow
Gift/Pledge
Transaction
Update
Change: Added
fault path on Update Record element
flow description
USYD_Transaction_Roll_up_to_Gift_
Implementation
Pledge_
Main
fields_
Flow
subflow
Flow
record
auto-
triggered
launched flow
Gift Implementation
Transaction
Update
Change: Added
fault path on Update Record element
flow description
USYD
_Transaction_Main_Flow
_Pledge_is_Due_To_Be_Paid_Out_subflow
Flow
record
auto-
triggered
launched flow
Transaction
Update
Change: Added
fault path on Update Record element
flow description
USYD_
Gift_Pledge_On_Create_After_Save
Transaction_Update_subflow
Flow
auto-launched flow
Gift/Pledge
USYD_Gift_Pledge_Update_subflow
Transaction
Deleted
Updates related Gift Implementation Stage to "5. GI - Kick Off"
Update
Change: Added flow description
USYD Create Application Log (subflow)
Flow
auto-launched flow
Gift/Pledge
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
-
Deleted
New
Reusable flow that creates an application log record when fault paths are traversed.

v.0.1.0.1

  • Existing record-triggered flows and process builder flows are translated as auto-launched flows used as subflows on main record-triggered flows.

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

  • A custom label for static values used in flows.

  • One PB (Automate_task_for_GA_for_Pledge) translated as Apex trigger to better handle batch DML.

Developer Name

Type

Type - Description

sObject

New/Update

What it Does?Description/Change

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_Driver_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_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_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.
Updates Credited Contacts field and GRC roll-up field per related GRC records.
Updates Usyd Pledge Area Description from Gift Description.
USYD_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
_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
Creates a notification for Pledges due to be paid out according to account type
Updates flags in Reporting Section and calculates and creates a link to third party pledge.
USYD_
Description
Gift_
HOLD
Main_
RECEIPT_subflow
Flow
Flow
auto
record-
launched
triggered flow
Transaction
Gift/Pledge
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.
* Create/Update triggering flow on Gift/Pledge
* Encapsulates all related subflows of triggering sObject
USYD_Gift_Implementation_Main_Flow
Flow
record-triggered flow
Gift Implementation
New
* Create/Update triggering flow on Gift Implementation
* Encapsulates all related subflows of triggering sObject
USYD_Transaction_Main_Flow
Flow
record-triggered flow
Transaction
New
* Create/Update triggering flow on Transaction
* Encapsulates all related subflows of triggering sObject
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
translated to subflow(auto-
launched flow)
launched flow) USYD_Automate_task_for_GA_for_Pledge_subflow
USYD_Populate_Chart_of_Accounts_in_Transaction
PB
process builder
Transaction
Deactivated
translated to subflow(auto-launched flow) USYD_Populate_Chart_of_Accounts_in_Transaction_subflow
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) USYD_Pledge_is_Due_To_Be_Paid_Out_subflow
Description_HOLD_RECEIPT
PB
process builder
Transaction
Deactivated
translated to subflow(auto-launched flow) USYD_Description_HOLD_RECEIPT_subflow
AQC_Donor_Contact_Type_Auto_Updater
Flow
record-triggered flow
Gift/Pledge
Deactivated
translated to subflow(auto-launched flow) USYD_AQC_Donor_Contact_Type_Auto_Updater_subflow
Gift_Pledge_On_Create_After_Save
Flow
record-triggered flow
Gift/Pledge
Deactivated
translated to subflow(auto-launched
flow)
flow) USYD_Gift_Pledge_On_Create_After_Save_subflow
USYD_Gift_Pledge_Update
Flow
record-triggered flow
Gift/Pledge
Deactivated
translated to subflow(auto-launched flow) USYD_Gift_Pledge_Update_subflow
Usyd_Gift_Driver_Derivation
Flow
record-triggered flow
Gift/Pledge
Deactivated
translated to subflow(auto-launched flow) USYD_Gift_Driver_Derivation_subflow
GIN_Stage_based_Update_Before_Save
Flow
record-triggered flow
Gift Implementation
Deactivated
translated to subflow(auto-launched flow) USYD_GIN_Stage_based_Update_Before_Save_subflow
Usyd_Update_Gift_Implementation_Status
Flow
record-triggered flow
Gift Implementation
Deactivated
translated to subflow(auto-launched flow) USYD_Usyd_Update_Gift_Implementation_Status_subflow
Usyd_Campaign_member_status_update_when_new_transaction_created
Flow
record-triggered flow
Transaction
Deactivated
translated to subflow(auto-launched flow) USYD_Campaign_member_status_update_when_new_transaction_created_subflow
USYD_Transaction_Update
Flow
record-triggered flow
Transaction
Deactivated
translated to subflow(auto-launched flow) USYD_Transaction_Update_subflow