GridBuddy is a Force.com web application developed by AppBuddy that sits on top of the Salesforce platform. There are two major components to the application - the Grid Wizard and the Grid. The Grid Wizard enables GridBuddy admins to define and configure Grid views. The Grid is what end-users use to see and manage their data.
Best practices with GridBuddy are to create your grids in a lower environment (sandbox) and test them thoroughly. When they’re as perfect as possible, migrate them to your upper environment following the steps in this guide. There are separate steps for your first-ever migration, for migrations with net-new content only, and for UPSERT (net new and updates) migrations.
There are two files that must be migrated: GridBuddy Settings and GB Global Meta. Your grids are migrated between environments in the “GBLite__GridBuddySettings__c” file (CSV file type). Your grid meta data (actions, tabbed pages, extensions, etc) are migrated in the ”GBLite__GB_Global_Meta__c” file.
The migration is complete after these two files have been imported into your destination environment. Make sure to test your grids after the migration to confirm that they function correctly.
Related articles:
GridBuddy Install and Migration Guide: Migrating NET NEW grids only (no UPSERT)
GridBuddy Install and Migration Guide: UPSERT (migrating existing and net new grids)
Install GridBuddy from the AppExchange In the Destination Environment
- Install GridBuddy from the “Get It Now” link in the AppExchange: https://appexchange.salesforce.com/listingDetail?listingId=a0N30000003IkInEAK
- During the install process, you need to assign profile access.
- This selection determines whether you give GridBuddy profile access to just Admins, certain Profiles, or all Users.
- We recommend install for “Admins Only” for Production install and assign permissions for end users later, either via profile or permission set (see step #4).
- Full steps available in the Getting Started Guide
- Send the AppBuddy team an email (that includes the org ID) to activate the Production licenses. Sandbox installs are active by default.
Migrate the Configuration from Sandbox
- Create an outbound change set that includes Salesforce artifacts to be migrated:
- Any Visualforce pages created that reference GridBuddy (these will be prefixed by GBTabs_ if they were created using Grid Wizard > Manage Tabbed Pages)
- Any Lightning Components that reference GridBuddy
- Any affected page layouts (e.g. Account record detail page with embedded grids)
- Deploy the change set to Production
Export Grids from the Sandbox
- Use Dataloader.io to export GridBuddySettings from the sandbox. Please note that other export tools may require different steps to achieve the below filters.
- Click “New Task”
- Click “Export”
- Type “GridBuddy” and select GridBuddy Settings
- Select the following columns for export:
- Record ID
- GridBuddySettings Name
- Custom CSS File
- Custom JS File
- Default Definition
- Definition
- Grid Name
- Apply the following filters on the GridBuddySettings export in Data Loader:
- Default Definition = TRUE
- This will exclude all user-defined filters that were created in the Sandbox
- If you would like to include user-defined filters in your migration, do not include filter ‘Default Definition = TRUE’ on your GridBuddySettings export.
- Grid Name= GridName1 [click the + and add another filter for another grid name]
- Create one filter for every grid that you WANT to migrate from this sandbox
- This filter should exclude the grids that you DON’T want? to migrate
- SOQL query:
- These filters dynamically populate the SOQL query. You can also work directly in the SOQL quary, but once you edit the query you can’t edit the filters anymore until you click ‘reset’ (specific to Dataloader.io).
- After you have created one filter for every grid name that you want to migrate, edit the SOQL query:
- Put a parenthesis around the grid name section, beginning after the AND and ending at the end of the query
- Change the “AND” to “OR” between each grid name
- For example: SELECT GBLite__Custom_CSS_File__c, GBLite__Custom_JS_File__c, GBLite__Default_Definition__c, GBLite__Definition__c, GBLite__Grid_Name__c, Name FROM GBLite__GridBuddySettings__c WHERE GBLite__Default_Definition__c = trueAND? (GBLite__Grid_Name__c = ?'Grid Name 1' ?OR GBLite__Grid_Name__c = ?'Grid Name 2' ?OR GBLite__Grid_Name__c = ?'Grid Name 3'?)
- Click “Next”, then click “Save and Run”
- Export the file by clicking “# Successes”
- IMPORTANT: Do not open this file in Excel as certain field metadata may exceed the max in Excel and corrupt the columns. It can be opened in Google Sheets or any other .csv supporting application or Text Editor?.
- Save this file as a CSV file with the name GridsToInsert.csv
Create Export of GB Global Meta file from Sandbox
- Use Data Loader to export the GB Global Meta records from the team-specific sandbox. Please note that other export tools may require different steps to achieve the below filters.
- Click “New Task”
- Click “Export”
- Type “Global Meta” and select GB Global Meta
- Select the following columns for export:
- Original Record Id (Essential! This field allows actions and custom code components can maintain their relationship to Grids through Id)
- GB Global Meta Name
- Controlling Field
- Grid Name
- Object API Name Object Dot Field Name
- Picklist Meta
- Request Status
- Response Message
- Scope
- Summary
- Type
- Type = _ Create one filter for each of the below Types: [click the + and add another filter for another type]
- Note on the SOQL query: These filters dynamically populate the SOQL query. You can also work directly in the SOQL query, but once you edit the query you can’t edit the filters anymore until you click ‘reset’ (specific to Dataloader.io).
- Types to include in your filter:
- Action
- Tabbed Page
- Custom Code - CSS
- Custom Code - JavaScript
- Custom Code - Global CSS
- Custom Code - Global JavaScript
- Theme - Grid
- Theme - Global
- After you have created one filter for the above 8 types, edit the SOQL query:
- Change the “AND” to “OR” between each Type
- For example: SELECT Id, GBLite__Controlling_Field__c, Name, GBLite__Grid_Name__c, GBLite__Object_API_Name__c, GBLite__Object_Dot_Field_Name__c, GBLite__Picklist_Meta__c, GBLite__Request_Status__c, GBLite__Response_Message__c, GBLite__Scope__c, GBLite__Summary__c, GBLite__Type__c FROM GBLite__GB_Global_Meta__c WHERE GBLite__Type__c = 'Action' OR GBLite__Type__c = 'Tabbed Page' OR GBLite__Type__c = 'Custom Code - Global CSS' OR GBLite__Type__c = 'Custom Code - Global JavaScript' OR GBLite__Type__c = 'Custom Code - CSS' OR GBLite__Type__c = 'Custom Code - JavaScript' OR GBLite__Type__c = 'Theme - Global' OR GBLite__Type__c = 'Theme - Grid'
- Click “Next”, then click “Save and Run”
- Export the file by clicking “# Successes”
- IMPORTANT: Do not open this file in Excel as certain field metadata may exceed the max in Excel and corrupt the columns. It can be opened in Google Sheets or any other .csv supporting application or Text Editor?.
- Save this file as a CSV file with the name GBGlobalMetaToInsert.csv
Insert GridBuddy Settings Definitions
- Use Data Loader to insert GridBuddySettings (GBLite__GridBuddySettings__c) using the CSV created earlier (GridsToInsert.csv).
Insert GB Global Meta Definitions
- Use Data Loader to update GB Global Meta (GBLite__GB_Global_Meta__c)using the CSV created earlier (GBGlobalMetaToInsert.csv).
Refresh GridBuddy Metadata
- Navigate to the Grid Wizard
- In the Manage Grid Meta Data, click on the “Refresh All Grid Meta Data” link