Versions Compared

Key

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

Posi Giving Essentials (PGE) is an unlocked package, which means you can install it into your org and modify it according to your requirements. There is no licence subscription, just a one-off cost to purchase the package. Please note unlocked packages are sold as a baseline tool and do not fall under the same conditions of product support as managed packages.

Installing the package

When you have created your new org environment, install PGE as follows:

  1. Check the /wiki/spaces/TPDM/pages/6359396 page for the latest package versions

  2. Click on the link to open the release notes

  3. Copy the URL and append it to the end of your primary domain name in the browser address bar as follows:
    View filenameInvalid file id - UNKNOWN_MEDIA_ID

  4. Press Enter and it will load an installation screen, similar to the one in the image
    View filenameInvalid file id - UNKNOWN_MEDIA_ID

  5. Follow the instructions through until you have successfully installed the package. These steps can also be used when upgrading a package to a higher version.

Configuring the package

Here are the configuration steps to follow after installing the package.

Update System Admin Profile

  1. Go to Setup > Profile > Object Settings

  2. Enable access to all fields for the following objects:

    1. Account

    2. Contact

    3. Funding Project

    4. Product

  3. For Opportunity, enable access to all fields and set the record types and page layout assignments to active.

Object Manager Settings

  1. Go to Setup > Object Manager > Account

    1. go to Page Layouts > Page Layout Assignment and assign it to the correct system Profile

    2. the Page Layout Assignment should be PGE Account Layout

    3. For the Lightning record page assignment, assign as Org default > PGE Account Record page

    4. for Compact Layout Assignment, choose PGE Account Compact Layout

    5. for Buttons, Links and Actions - only display the fields the rollups are using

    6. Donation information - display the following:

      1. Total Gifts

      2. Last Gift Date

      3. First Gift Date

      4. Largest Gift

      5. Last Gift Amount

      6. Total number of Gifts

  2. Go to Setup > Object Manager > Contact

    1. go to Page Layouts > Page Layout Assignment and assign it to the correct system Profile

    2. the Page Layout Assignment should be PGE Contact Layout

    3. For the Lightning Record page assignment, assign as Org default > PGE Account Record page

    4. for Compact Layout Assignment, choose PGE Contact Compact Layout

    5. for Buttons, Links and Actions - only display the fields the rollups are using

    6. Donation information - display the following:

      1. Total Gifts

      2. Last Gift Date

      3. First Gift Date

      4. Largest Gift

      5. Last Gift Amount

      6. Total number of Gifts

  3. Go to Setup > Object Manager > Funding Project

    1. go to Page Layouts > Page Layout Assignment and assign it to the correct system Profile

    2. the Page Layout Assignment should be PGE Funding Layout

    3. For the Lightning Record page assignment, assign as Org default > PGE Funding Project Record page

  4. Go to Setup > Object Manager > Product

    1. go to Page Layouts > Page Layout Assignment and assign it to the correct system Profile

    2. the Page Layout Assignment should be PGE Product Layout

    3. For the Lightning Record page assignment, assign as Org default > PGE Product Record page

    4. to add the donation Product Family, go to Object Manager > Product > Product Family

  5. Go to Setup > Object Manager > Opportunity

    1. go to Page Layouts > Page Layout Assignment and assign it to the correct system Profile and Record Types

    2. set the following page layout assignments:

      1. Bequest - PGE Bequest

      2. Corporate Partnership - PGE Corporate Partnership

      3. Donation - PGE Donation

      4. Grant - PGE Grant

      5. Major Gift - PGE Major Gift

      6. Opportunity Group - PGE Opportunity Group

    3. for the Lightning Record Page, assign as the Org default

Naming Convention

  1. Go to Setup > Custom Settings > Opportunity Naming Settings > Manage > New

Opportunity Settings

Go to Setup > Opportunity Settings > tick the two checkboxes under Manage General Settings

Posi Giving App

Go to Setup > Profiles > System Admin > Assigned Apps > tick Posi Giving Essentials

Trigger Handler

Create Apex Triggers

  • To configure the OpportunityTrigger, go to Setup > Apex Triggers

    • Click Developer Console

    • Click File > New > Apex Trigger

    • Fill in the Name and sObject

    • Copy and paste the following code:

      trigger OpportunityTrigger on Opportunity (before insert, before update, before delete, after insert, after update) {
      if(PGE.RollupTriggerHandler.firstRun){
      PGE.RollupTriggerHandler.firstRun = false;
      PGE.RollupTriggerHandler newRollupTriggerHandler = new PGE.RollupTriggerHandler( Trigger.old, Trigger.new, 'Opportunity', 'Primary_Contact__c' );
      newRollupTriggerHandler.isBefore(trigger.isInsert, trigger.isUpdate, trigger.isDelete);
      newRollupTriggerHandler.isAfterHandler( trigger.isInsert, trigger.isUpdate, trigger.isDelete );
      }
      PGE.OpportunityProductTriggerHandler handler = new PGE.OpportunityProductTriggerHandler(Trigger.oldMap, Trigger.newMap, 'Opportunity');
      if (Trigger.isAfter) handler.isAfterHandler(Trigger.isInsert, Trigger.isUpdate, Trigger.isDelete);
      if (Trigger.isBefore) handler.isBeforeHandler(Trigger.isInsert, Trigger.isUpdate, Trigger.isDelete);
      }

  • To configure the OpportunityLineItemTrigger, go to Setup > Apex Triggers

    • Click Developer Console

    • Click File > New > Apex Trigger

    • Fill in the Name and sObject

    • Copy and paste the code below

      trigger OpportunityLineItemTrigger on OpportunityLineItem (after insert, after update, after delete, before update, before delete) {
      if(PGE.RollupTriggerHandler.firstRun){
      PGE.RollupTriggerHandler.firstRun = false;
      PGE.RollupTriggerHandler newRollupTriggerHandler = new PGE.RollupTriggerHandler( Trigger.old, Trigger.new, 'OpportunityLineItem', '' );
      newRollupTriggerHandler.isAfterHandler( trigger.isInsert, trigger.isUpdate, trigger.isDelete );
      }
      PGE.OpportunityProductTriggerHandler handler = new PGE.OpportunityProductTriggerHandler(Trigger.oldMap, Trigger.newMap, 'OpportunityLineItem');
      if (Trigger.isAfter) handler.isAfterHandler(Trigger.isInsert, Trigger.isUpdate, Trigger.isDelete);
      if (Trigger.isBefore) handler.isBeforeHandler(Trigger.isInsert, Trigger.isUpdate, Trigger.isDelete);
      }

Setup Dynamic Opportunity Naming buttons

Note: This is already part of the package

Contact

/lightning/o/Opportunity/new?useRecordTypeCheck=1&defaultFieldValues=
Name={!contact.name }+Donation+{!TODAY()},
PGE__Primary_Contact__c={!Contact.Id},
StageName=Prospecting,
CloseDate={!TEXT(TODAY())}

Account

/lightning/o/Opportunity/new?useRecordTypeCheck=1&defaultFieldValues=
Name={!account.name}+Donation+{!TODAY()},
AccountId={!account.id},
StageName=Prospecting,
CloseDate={!TEXT(TODAY())}

Opportunity

/lightning/o/Opportunity/new?useRecordTypeCheck=1&defaultFieldValues=
Name=Donation+{!TODAY()},
StageName=Prospecting,
CloseDate={!TEXT(Today())}

Post config with other pronto products installed

ProntoPayments

  • Go to ProntoPayments Settings

    • Basic

      • Enabled Features:

        • Allow Payment Processing in a Sandbox Environment - Enabled

        • Enable payment processing in Opportunity – Enabled

      • Generate Encryption Keys

        • Generate Encryption Key – Generate

    • Scheduler

      • Generate Encryption Key – Generate
        • Check generated encryption key

        • Setup > Custom Settings > ProntoPayments > Encryption Key

    • Scheduled:

      • Batch Payment Processing

      • Batch Get Payment Status

    • Gateway – Create Gateway record

      • ProntoPayments Settings > Gateway

        • Click New button

        • Fill out the required fields

        • Uncheck Active button

        • Click Save

        • In the Gateway record. Click the Authenticate button on the top right of the page

      • Create ‘Process Payment in Opportunity ‘flow and create a custom quick action button for Process Payment

    • Process Payment in Opportunity

      • Layout

        • Add Payment Transaction in related tab

...

Follow the config advice in the ProntoEngage 2.9 release notes.

Create Email Template for Comms Log

Example:

{dateToday}

Dear {salutation},

From the entire organisation, we would like to sincerely thank you for the generous gift of ${amount} on {relatedToCloseDate}.

We are grateful for the aid provided to help reach those who are in need. Thank you for sharing with us the opportunity to make a difference.

Comms Log Email Template

Follow this guide: Comms Log Email Template

Enable Lightning Email Templates using drag and drop

...