The GRAX Embedded LWC Data Viewer allows you to expose GRAX data as related list components inside Salesforce, regardless of backup/archive status. This provides a great way to display related GRAX data within Salesforce, in a way the end user is used to, even when data doesn't exist in Salesforce anymore.
It is required that you place the
GRAX Embeddedcomponent(s) onto a separate lightning tab. This ensures the component only gets loaded when a user requires. Per Salesforce best practices, a user would click into a lightning tab on the page in order to load the lists on demand and thus prevent excessive Salesforce and GRAX callouts.
Here are the steps a Salesforce/GRAX Admin will need to complete to successfully set up this LWC:
First ensure all relevant data is backed up and/or archived so that it is available in GRAX. This includes related parents, children, and any other objects that you would like to expose within Salesforce and GRAX. Maintaining an incremental backup of all objects is a key first step when getting started with GRAX.
Once your data is backed up, you can begin adding one or more lists using Salesforce's lightning App Builder. Search for the
GRAX Embeddedcomponents in the left sidebar and drag it onto the page. You can repeat this process for each related object that you would like on the page.
Per best practices, we've created a new
GRAXtab and dragged the
GRAX Embeddedcomponents into that tab.
For each component, you will notice various configuration options in the right sidebar. Let's take a look at each in detail:
Configuration Option Description Related Object Enter the exact, case-sensitive API name of the object. Related Objects Fields Enter the exact, case-sensitive API names of each field that you would like added as a column for the component. Use commas to separate the field names (no spaces). Override Title Add your own custom title to the component so that end users have a clear understanding of what is being shown. Data Set Selection
All Datashows all related data that is in GRAX.
Archived Datashows only records that were successfully archived using GRAX.
Deleted Datashows only records that were deleted in Salesforce, not by GRAX.
iFrame px Size Enables manually adjusting the height of the specific
Records Per Page The number of records you would like displayed for each page of the component. GRAX will default to 5 in order to limit scrolling and for general ease of viewing. Set Component Visibility This is a standard Salesforce feature for lightning components. It is a very powerful feature that can allow you to control who can see this component, based on field values, profiles, permission sets, custom permissions, etc. Do Not Enable Security or Object Deleted Disables field-level-security checks, allowing all users to see all fields. Also enables viewing of deleted objects. Child Level When the same object shows up in different levels of the hierarchy, this allows you to pick which one to show. 1 shows only immediate children of the record, 2 shows only grandchildren, and so forth.
Let's look at a sample Account in Salesforce and see what the end user experience feels like. This account record as well as all children must exist in GRAX in order for the components to display data correctly.
- You can sort any column in ascending or descending order by clicking the icon to the right of the column name
- ID fields will show as hyperlinked and take the user to the relevant GRAX detail page
- You can click through multiple pages of data as needed
Clicking on the ID field allows you to quickly view the record directly in GRAX, or view the related records.
Using the quick links in the GRAX embedded LWC component, allow your users to be directed to GRAX record pages to easily navigate the full record details, versions, the related records. Users can use the
View in Salesforce button to further view that record back in Salesforce, if it still exists.
The table below summarizes the default fields that are added when configuring a component. You can adjust and customize as needed.
|Id||Id||The record Id will always appear as the first column by default, so you do not need to add it as a column|
|LastModifiedDate||Last Modified Date||Standard Salesforce audit field|
|CreatedDate||Created Date||Standard Salesforce audit field|
|IsDeleted||Deleted||GRAX system field that reflects whether GRAX has captured this record as manually deleted in Salesforce or deleted via GRAX archive. Read about the |
|GRAX_deletedAt||Deleted At||The date GRAX captured this record as deleted. Note this does not necessarily reflect the exact time the record was deleted, but rather when GRAX was able to capture and flag that it was deleted.|
|GRAX_deleteSource||Deleted Source||A |
By default, only users who have at least one GRAX permission set will be able to view this component. As explained above, you can use Salesforce out-of-box component visibility to further define your own custom permissioning for each component if you wanted to lock things down even more.
Users trying to further navigate within GRAX and see things such as the full record details along with the entire hierarchy within GRAX, will need the proper GRAX permissions as explained here.
The component makes a call to the GRAX API via Salesforce, so self-managed customers will need to make sure all relevant Salesforce IPs are allowed through. For more on GRAX networking considerations, read the Networking guide.
If a user cannot see the LWC even after being granted a GRAX permission set, ensure that this user has access to the
LWCHelperapex class. You can do this via profiles or permission sets.
This component will respect Salesforce's sharing settings for any records that are still live in Salesforce. If you are viewing archived or deleted data that no longer exists in Salesforce, users will be able to view the records in the component since it does not exist in Salesforce to query and determine access levels.
Additionally, the component (and the record view in GRAX) will respect a user's field-level security. This includes access to fields via profiles and permission sets. It does not currently account for whether a user may have
View All Data permission set somewhere in Salesforce, so it's possible that the user has more access to fields when viewing the data natively on the Salesforce record versus within GRAX, which is more strict.
- If you have multi-currency enabled, it may help to add the
CurrencyIsoCodefield as a column to the component so that users can easily tell the currency code for any currency fields.
- While GRAX supports encrypted fields, the
GRAX Embeddedcomponent will show the plain text value. Avoid adding encrypted fields as columns if this is an issue.
Updated 2 months ago