Attention: Confluence is not suitable for the storage of highly confidential data. Please ensure that any data classified as Highly Protected is stored using a more secure platform.
If you have any questions, please refer to the University's data classification guide or contact ict.askcyber@sydney.edu.au

Skip to end of banner
Go to start of banner

TAP - 1118 Improve Review Duplicate Outcome case creation

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 12 Next »

Persona + Need + Purpose

As a

GA User

I want to

Improve the creation of “Review Duplicate Outcome” cases to include the link or information to/of record being changed and what are those changes in the case itself.

So that

we can easily know which cases need to be reviewed. We fine tune the process so that users do not have to deal with cases which are not adding information to whether duplicates exist such as when cosmetic changes changed on contact’s address from “Australia” to “AUSTRALIA”

Acceptance Criteria:

  • Re-use the existing flow “Usyd Contact Address History Tracking”

  • Optimize the flow

  • Is it possible to split Duplicate review from Contact History Tracking so it is easier to identify which flow is doing what?

  • Execute Contact History Tracking even on contact creation - to follow the same logic as Salesforce Last Modified Date. This eliminates the need for integration to refer to different fields when comparing data time stamps

  • Don’t update the modified by ad modified date if the email/mobile/address change is cosmetic change as you are checking that anyhow in the flow now as part of this ticket

  • Add the filter at the entry level/inside the flow depending on best practice - use isnew() and ischanged() fields to trigger when Mailing Address fields, Mobile, Business Email, School email, personal email, Other email updated to trigger this flow

  • If a duplicate review case exists append what has been changed to description

  • If no case exists create and add the information of what has been changed at the contact level(based on the current flow) into the case description.

  • If possible, do not create the case when only cosmetic changes have been made (do a case-insensitive comparison, space, and punctuation) - Hope Step “If a duplicate review case exists append what has been changed to description” help us not create a duplicate and just update the change instead

IMPLEMENTATION

  1. Create a new sub flow called “USYD Contact Address History Tracking (subflow)” equivalent to “USYD Contact Address History Tracking

  2. Actions inside this subflow should only be performed once there has been a change in the Email or Mailing Addresses or Mobile on the Contact record

3. Create an Invocable Apex Class called “UsydContactInvocableClass” that will handle the checking for the cosmetic changes of the Mailing, Email addresses and Mobile. If cosmetic change has just been made, creation of duplicate case records should not push through.

Note: If cosmetic change is only the change, do not update the corresponding Modified by and Modified Date field of the email/mailing address or mobile.

4. Call the sub-flow [USYD Contact Address History Tracking (subflow)] from the Main Flow (Contact Main Flow)

5. As the output of the sub-flow, the triggering record is being updated with all the necessary updates made from the subflow. And lastly, the triggering record(Contact) is being updated.

6. Create a new Sub-Flow for the Creation of the Duplicate Outcome Case (USYD Create Or Update Duplicate Outcome Review Case (subflow)) to separate the creation/updating of case from the USYD Contact Address History Tracking (subflow)

7. Call the USYD Create Or Update Duplicate Outcome Review Case (subflow) from the Usyd Contact Main Flow after the Update Contact Records Apex Action

8. Create a New Record Triggered Flow (Fast Field Update/ Before Save) called USYD Contact Main Flow Before Save. This will be triggered once a contact record is created and its main purpose is to set the corresponding modified by and modified date fields if the mailing, email addresses and mobile are not empty.

Note: This has been as a fast field update since the fields that we are setting is on the triggering record.

UNIT TESTING STEPS

Scenarios

#1 Update a Contact record with a Duplicate Outcome Review but without a Case

  1. Log in as a Gift Administration User

  2. Go to any contact record that has an existing Duplicate Review Outcome record

  3. Update any of the following fields from the Contact record:

  • Contact Mailing City

  • Contact Mailing Street

  • Contact Mailing State/Province

  • Contact Mailing ZIP/Postal Code

  • Contact Mailing Country

  • Mobile Phone

  • Business Email

  • Other Email

  • Personal Email

  • School Email

  1. Updated the Contact Maling Street from sampaguita Nangka and Save.

Expected Output: A duplicate case will be created and from the Case Description field, the update will be logged.

Actual Output: Duplicate case is created and changes are logged to the Case Description field.

#2 Update a Contact record with an existing Duplicate Case

  1. Log in as a Gift Administration User

  2. Go to any contact record that has an existing Duplicate Case record

  3. Update any of the following fields from the Contact record:

  • Contact Mailing City

  • Contact Mailing Street

  • Contact Mailing State/Province

  • Contact Mailing ZIP/Postal Code

  • Contact Mailing Country

  • Mobile Phone

  • Business Email

  • Other Email

  • Personal Email

  • School Email

  1. Updated the Contact Maling Street from Nangka naNGkA and Save.

Expected Output: Since a duplicate Case is already existing and change was only cosmetic (text-casing, space or punctuation), only update the Case Description field with the changes made on the Contact record.

Actual Output: Did not create another duplicate Case record but instead used the existing one and updated the Case’s Description field.

COMPONENTS ADDED/MODIFIED

Component Name

API Name

Type

Parent Object

Operation (New/Update)

Changes

Contact Before Save

USYD_ContactBeforeSave

Flow

Contact

New

Contact After Save

USYD_ContactAfterSave

Flow

Contact

New

Track Update on Contact Address Mobile and Email (subflow)

USYD_Track_Update_on_Contact_Address_Mobile_and_Email_subflow

Flow

Contact

New

Assign Appropriate Email as Recipient (subflow)

USYD_Assign_Appropriate_Email_as_Recipient_subflow

Flow

Contact

New

Create Or Update Duplicate Outcome Review Case (subflow)

USYD_Create_Or_Update_Duplicate_Outcome_Review_Case_subflow

Flow

Contact

New

UsydContactInvocableClass

UsydContactInvocableClass

Apex Class

N/A

New

UsydContactInvocableClassTest

UsydContactInvocableClassTest

Apex Class

N/A

New

USyd_DMLFlowHelperTest

USyd_DMLFlowHelperTest

Apex Class

N/A

Update

Assign Appropriate Email as Recipient

Assign_Appropriate_Email_as_Recipient

Flow

Contact

Update

Deactivated old flow

Already deactivated in PROD

Usyd Contact Address History Tracking

Usyd_Contact_Address_History_Tracking

Flow

Contact

Update

Deactivated old flow

  • No labels