Embedded LWC Data Viewer
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.
Setup Steps
Performance Concerns
It's required that you place the
GRAX Embedded
components 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 call-outs.
Here are the steps a Salesforce/GRAX administrator needs to complete to successfully set up this LWC:
-
First ensure all relevant data is backed up and/or archived so that it's 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 Embedded
components 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 newGRAX
tab and dragged theGRAX Embedded
components into that tab. -
For each component, you may 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's being shown. Data Set Selection All Data
shows all related data that is in GRAX.Archived Data
shows only records that were successfully archived using GRAX.Deleted Data
shows only records that were deleted in Salesforce, not by GRAX.iFrame Size Enables manually adjusting the height of the specific GRAX Embedded
component.Records Per Page The number of records you would like displayed for each page of the component. GRAX defaults to 5 to limit scrolling and for general ease of viewing. Set Component Visibility This is a standard Salesforce feature for lightning components. it's 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. don't 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.
How it Works
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 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.
Default Columns
The table below summarizes the default fields that are added when configuring a component. You can adjust and customize as needed.
API Name | Label | Description |
---|---|---|
ID | ID | The record ID always appears as the first column by default, so you don't 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 Delete Source field below which further clarifies how the record was deleted. Note this isn't to be confused with the standard Salesforce IsDeleted field, which represents the deleted state of a record in Salesforce at the time of a backup. This standard Salesforce field cannot be altered, and thus after GRAX backs up records and then captures them as deleted, we use GRAX system fields to represent deleted information. |
GRAX_deletedAt | Deleted At | The date GRAX captured this record as deleted. Note this doesn't 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 Deleted Source of grax indicates this record was captured as deleted via a GRAX archive job. A Deleted Source of salesforce indicates this record was captured as deleted via GRAX Delete Tracking. |
Permissions
By default, only users who have at least one GRAX permission set are able to view this component. As explained above, you can use Salesforce out-of-box component visibility to further define your own custom permissions 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 need the proper GRAX permissions as explained here.
Security Notice
The component makes a call to the GRAX API via Salesforce, so non-standard customers need to make sure all relevant Salesforce IPs are allowed through. For more on GRAX networking considerations, read the Networking guide.
Not Appearing?
If a user cannot see the LWC even after being granted a GRAX permission set, ensure that this user has access to the
LWCHelper
Apex class. You can do this via profiles or permission sets.
Salesforce Sharing and Security
This component respects 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 are able to view the records in the component since it doesn't exist in Salesforce to query and determine access levels.
Additionally, the component (and the record view in GRAX) respects a user's field-level security. This includes access to fields via profiles and permission sets. It doesn't 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.
Considerations
- If you have multi-currency enabled, it may help to add the
CurrencyIsoCode
field 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 Embedded
component shows the plain text value. Avoid adding encrypted fields as columns if this is an issue.
Updated 1 day ago