Login

Managed Package

While the GRAX application is hosted outside of the Salesforce platform, we provide our customers with multiple ways to integrate GRAX with Salesforce to best fit their needs. This guide walks you through installing and managing the optional Salesforce AppExchange Managed Package.

Installing the GRAX Salesforce Managed Package

Pre-requisites

  1. A copy of the GRAX application connected to a storage bucket running on cloud infrastructure

    Need help getting set up?

    Contact Support or the Trial Team for assistance.

  2. A Salesforce account

    • You can use your existing Salesforce account or register here for a Salesforce Developer Edition account

Security/Access Settings

Before installing GRAX into a Salesforce environment, you should understand which users you are providing access and what that means.

Install for Admins Only

Specifies the following settings on the installing administrator’s profile and any profile with the Customize Application permission:

  1. Object permissions — Read, Create, Edit, Delete, View All, and Modify All enabled
  2. Field-level security — set to visible and editable for all fields
  3. Apex classes — enabled
  4. Visualforce pages — enabled
  5. App settings — enabled
  6. Tab settings — enabled for GRAX app
  7. Page layout settings — read only
  8. Record Type settings — read only
  9. After installation, if you have Enterprise, Performance, Unlimited, or Developer Edition, set the appropriate user and object permissions on custom profiles as needed

Install for All Users

Specifies the following settings on all internal custom profiles:

  1. Object permissions — Read, Create, Edit, and Delete enabled
  2. Field-level security — set to visible and editable for all fields
  3. Apex classes — enabled
  4. Visualforce pages — enabled
  5. App settings — enabled
  6. Tab settings — enabled for GRAX app
  7. Page layout settings — read only
  8. Record Type settings — copied from administrator profile

Install for Specific Profiles

Enables you to choose the usage access for all custom profiles in your organization. You can set each profile to have full access or no access for the new package and all its components.

  1. Full Access — Specifies the following settings for each profile.
  2. Object permissions — Read, Create, Edit, Delete, View All, and Modify All enabled
  3. Field-level security — set to visible and editable for all fields
  4. Apex classes — enabled
  5. Visualforce pages — enabled
  6. App settings — enabled
  7. Tab settings — enabled for GRAX app
  8. Page layout settings — read only
  9. Record Type settings — read only

Installation Steps

  • Install GRAX in Production or Install GRAX in Sandbox
  • Enter Salesforce login details
  • Select the user type (Admin Users, All Users, or Specific Profiles) you'd like to install the managed package for and click Install
    Install GRAX
  • Before the installation begins, you'll be prompted to grant third-party access. Check the box granting access to third-party websites and click Continue.

Assign Permission Sets

Configure GRAX in Salesforce

  • Launch the GRAX App in Salesforce from the App Launcher icon and click Unlock in the bottom right corner
  • In a separate tab, login to GRAX and navigate to Settings > GRAX API Tokens > Reveal GRAX Tokens
  • Copy and paste the Application URL and API Token information from GRAX into Salesforce and click Save
    API Tokens 3

📘

NOTE:

The GRAX Configuration tab will need to be reconfigured each time the application URL or the API tokens change

Configure Remote Site Setting
  • Click Add Remote Site Setting
    Remote Site 1
  • The necessary information will auto-populate
  • Click Save
Configure Trusted URLs
  • Copy your GRAX app URL
    Trusted URLs 1
  • Using Quick Find in Salesforce Setup, search for Trusted URLs and click New Trusted URL
  • Enter GRAX as the API Name and paste the URL in the URL box
    Trusted URLs 3
Configure Custom Settings

To enable a custom setting, follow the steps below:

  • Using Quick Find in Salesforce Setup, search for Custom Settings
  • Click Manage next to GRAX Settings
  • Click Edit
  • Click the checkbox next to the custom setting you wish to enable
  • Click Save
Enable Auto Backup Custom Setting

The Enable Auto Backup custom setting, when set to TRUE, does the following:

Redirects the Schedule tab to GRAX web app, which removes the ability to see legacy backup and archive jobs
BEFORE enabling this custom setting, you need to ensure that ALL of the following are true:

  • All legacy backup jobs have been deactivated
  • All legacy archive jobs have been deactivated
  • All archive jobs, that you want to continue to run, have been moved over to the webapp
Enable GRAX Next Generation Custom Setting

The Enable GRAX Next Generation custom setting, when set to TRUE, does the following:

  • Redirects the Search tab to GRAX Global Search
  • Redirects the Summary tab to GRAX Auto Backup
  • Hides the Summary History dropdown on an individual GSP action dropdown
  • Hides Datalake Delete tab
  • Hides Logs tab
  • Hides Setup sub-tab (GRAX>Configuration>Setup)
  • Hides Time Machine Trigger Template Code on GRAX>Configuration>Miscellaneous

Uninstalling the Managed Package

Using the GRAX Salesforce Managed Package is now optional. All GRAX features can be accessed directly via the application's web interface.

What does it mean to uninstall a Managed Package?

Uninstalling a managed package removes its components and data from the org. During the uninstall process, any customizations, including custom fields or links, that you’ve made to the package are removed.

Don't I need the Managed Package to manage and utilize GRAX?

No - Using the GRAX Salesforce Managed Package is now optional. All GRAX features can be accessed directly via the application's web interface.

Do I need special permissions to uninstall the Managed Package?

To uninstall managed packages, you will need the Download AppExchange Packages user permission.

Displaying GRAX Data within SFDC without the Managed Package

Instead of using the GRAX Salesforce Managed Package Lightning Web Components (LWC), GRAX data can now be displayed on SFDC page layouts, without the GRAX Salesforce Managed Package, via the Embedded LWC Data Viewer.

Managing Permission Sets without the Managed Package

User permission sets can be created via the Auto Config flow during initial configuration, or by manually creating the Console permission sets by using the Salesforce Developer Console.

Migrating Permission Sets from the Managed Package to the Console permission sets

Before starting the migration, run Auto Config (or create the Console permission sets manually) to ensure the destination permission sets exist. The script below will map the managed package permission sets to the Console permission sets:

  • GRAX Configuration Admin -> GRAX Console Admin Permission
  • GRAX Advanced User -> GRAX Console Power Permission
  • GRAX User -> GRAX Console Standard Permission

To run the script in the Salesforce Developer Console:

  1. Open the Salesforce Developer Console
  2. Open the Debug menu
  3. Select Open Execute Anonymous Window (or press CTRL + E)
  4. Copy the script below into the Enter Apex Code dialog
  5. Select the Open Log checkbox
  6. Click Execute
private class GRAXLegacyPerm {
  Map<String, Id> psIDs;
  Map<String, Set<Id>> existingConsole;

  public GRAXLegacyPerm() {
    List<PermissionSet>lps=[
        SELECT Id, Name
        FROM PermissionSet
        WHERE name in ('GRAX_Configuration_Admin', 'GRAX_Advanced_User', 'GRAX_User', 'GRAX_Console_Admin_User', 'GRAX_Console_Power_User', 'GRAX_Console_Standard_User')
    ];

    psIDs = new Map<String, Id>();
    for(PermissionSet ps : lps){
        System.debug('PermissionSet '+ps.Name +' Id: ' + ps.Id);
        psIDs.put(ps.Name, ps.Id);
    }

    existingConsole = new Map<String, Set<Id>>();
    for (String name : new String[]{'GRAX_Console_Admin_User', 'GRAX_Console_Power_User', 'GRAX_Console_Standard_User'}) {
         List<PermissionSetAssignment> ecpsa = [
            SELECT AssigneeId
            FROM PermissionSetAssignment
            WHERE IsActive=true
              AND PermissionSetId = :psIDs.get(name)
        ];

        Set<Id> ecpsuID = new Set<Id>();

        for (PermissionSetAssignment a : ecpsa) {
            ecpsuID.add(a.AssigneeId);
        }
        existingConsole.put(name, ecpsuID);
        System.debug('Existing '+name +' User Ids: ' + ecpsa);

    }
  }

  public String migratePermSet(String oldPS, String newPS) {
    List<PermissionSetAssignment> migratePS  = new List<PermissionSetAssignment>();
    List<PermissionSetAssignment> lpsuID = [
        SELECT AssigneeId
        FROM PermissionSetAssignment
        WHERE IsActive=true
          AND PermissionSetId = :psIDs.get(oldPS)
          AND AssigneeId NOT IN :existingConsole.get(newPS)
    ];

    for(PermissionSetAssignment a : lpsuID){
        System.debug('Migrate '+oldPS+' User: ' + a.AssigneeId + ' to '+newPS);

        migratePS.add( new PermissionSetAssignment (
            PermissionSetId = psIDs.get(newPS),
            AssigneeId =  a.AssigneeId
        ));

        if( migratePS.size() > 200) {
            upsert migratePS;
            migratePS.clear();
        }
    }
    if( migratePS.size() > 0) {
        try {
            insert migratePS;
        } catch(DmlException e) {
            System.debug('error: ' + e);
        }
      migratePS.clear();

    }
    return 'done';
  }
}


GRAXLegacyPerm glp = new GRAXLegacyPerm();

glp.migratePermSet('GRAX_Configuration_Admin', 'GRAX_Console_Admin_User');
glp.migratePermSet('GRAX_Advanced_User', 'GRAX_Console_Power_User');
glp.migratePermSet('GRAX_User', 'GRAX_Console_Standard_User');

How do I uninstall the Managed Package?

Log in to the Salesforce org where you want to uninstall the GRAX Salesforce Managed Package and follow the steps here.

📘

NOTE:

It is not necessary to save any of the GRAX Salesforce Managed Package data. This will only contain configuration and helper job information which is now maintained on the web application.

Uninstall Managed Package

After uninstalling the GRAX Salesforce Managed Package it will appear under the Uninstalled Packages section. Once the uninstall status is complete you can delete the GRAX Salesforce Managed Package by clicking Del under Action. Click OK when prompted to permanently delete it.

📘

NOTE:

All referenced components will need to be removed prior to the uninstalling and deleting the GRAX Salesforce Managed Package. The most common components that will need to be removed are Permission sets and the Lightning Web Component Bundle. If the managed package user permission sets are being used then these will need to be replaced by first manually creating the Console permission sets and assigning them to the users. If the LWC included in the managed package are being used, then these will also need to be replaced by the Embedded LWC Data Viewer option.

Additional Information

Click here for additional resources on removing a SFDC managed package.