Common Features
In any complex application, there will be features whose UI, behavior and often the implementation is shared across the occurrences. Brobench is no different. We have many features which repeat through the app and will go through them here.
App Menu
There are three main menus in the app, viz., App Menu, Connection Menu and Global Menu.
App Menu is an application level menu that deals with functionality at whole application level. To open the App Menu, click on the Brobench Logo on the top left of the screen. It should show below menu.
Menu Item | Description |
---|---|
Modules | Opens a sub-menu with list of available modules and allows you to open them. Each module opens as a separate main tab. |
Open Brobench for | Opens a sub-menu listing all Salesforce connections you have created and launches the Brobench app for that connection. This is quick way to open Brobench than trying to login to that app and then click on the Popup launcher. |
Settings | Opens the app Settings dialog. See Settings for more details |
Lock App | Brobench app is protected by a Master Password. If you are going to be away from screen or you want to disable the Brobench app usage for a while, you can lock the app. Once locked, it will prompt you enter the Master Password to allow you to interact with it. |
Quick Actions | Opens a sub-menu with various quick actions |
Themes | Opens a sub-menu which allows you change app theme. See Themes for more info. |
Support | Opens a sub-menu with various support related items. |
About | Open dialog with App details |
Connection Menu
Connection is the second main menu along with App Menu and Global Menu
The Connection Menu deals with functionality specific to the current Connection. To open the Connection Menu, click on the connection name on the top right of the screen. It should show below menu.
Menu Item | Description |
---|---|
User Name and Username | Shows current user name and username. Click on this item to open User Info dialog |
Toggle UI API Field Names | When you are viewing a record detail page, click on this shows the API Name of the fields displayed in detail tab. |
Set User Language to | Opens a sub-menu with list of Salesforce languages and selecting one sets the current user's profile language to selected one. This is quite helpful for QA team who wants to open the Salesforce interface in different language for testing. |
Open Sfdc UI | Opens a sub-menu with list of options which opens Salesforce UI pages including current user details view/edit page, Setup, Object Manager etc., |
Copy Login Url | Constructs a url with session id embedded which can be pasted into other browsers to login as this user |
Disable Read-only for | Opens a sub-menu with list of options to disable current connection's read-only flag, which would opens up to save changes to the org |
Edit Connection | Opens the dialog to edit the current connection where you can change the connection name, color and other attributes |
Global Menu
Global Menu is the third main menu along with App Menu and Connection Menu
The Global Menu is more of a collection of bookmarks of various entities. It is presented this way so you can easily access them without having to open individual modules.
It shows History and Favorites from the following entities.
- Connections: Lets you login to an org using the configured auth mechanism. See Connections for more info.
- Users: Show you all users who you have done
Login as
and provide same options toLogin as
as in other places - Shortcuts: Shows list of shortcuts you have accessed
- Objects: Shows list of Objects whose details you have viewed
- Records: Shows list of Records which you have viewed in the Records module
Connection Info
Click on the Connection Menu
-> <Connection Username>
to show the details of the current Salesforce user and
Org. Click on the Id to view its full details or view the record in the Sfdc UI
Read-only Connections
Read-only connection is a connection whose Read-only
flag is checked in Connection
dialog. Once you check that
checkbox, the App will not allow you to make any modifications to the Org through the App. You can enable this option
for Orgs of your choice (like production or uat) to safeguard against unintended changes.
Keep in mind that when you enable Read-only, it doesn't prevent you from making changes via other apps or Salesforce UI as the Read-only flag does not change the User access in Salesforce. It just prevents you from making changes from Brobench.
Here is the short video guide about how to use this feature.
When you enable Read-only for an Org, the Connection menu of that Org shows a Lock icon as shown below.
While you are in Read-only mode, any time you make changes and try to save, App will show a message similar to this.
To temporarily disable the Read-only flag, Click on the Connection Menu -> Disable Read-only -> Disable Option
or
Edit the connection to turn off the Read-only flag entirely. If you disable temporarily, Read-only check will be enabled
after the said time.
Datagrid
Datagrid is used throughout the app and is designed to be consistent across. Here are some of the Datagrid features you would want to know about.
Datagrid Global Search
All most all Data grids allow you to search for a particular row of data using search. Some grids also allow you filter columns. Both usages follow a common thread of behavior as outlined here.
- Search text must be more than single char
- Enter any text to filter records. Data is considered matched if any searchable column cell value contains the search term
- Search term separated by space will be treated multiple sub-terms, which would a data cell if both terms matches that
cell. For ex., entering
contact role
would matchOpportunityContactRole
,ContactContactRole
but notContact
orAccontRole
- Special chars in the cell values are replaced with space, and each word in the cell value is matched against the search term
- Enclose in quotes (single or double) to do exact match. For ex.,
"Task"
or'Task'
- Start with
^
to do starts with match. For ex.,^Account
would matchAccount
andAccountContactRole
but notMy_Account__c
- Start with
$
to do ends with match. For ex.,$Account
would matchAccount
andMy_Account
but notAccountContactRole
- Enter multiple search terms separated by comma (
,
) to show matches which matches any of the terms. For ex., enteringContact,Account
would matchAccount
,Contact
,OpportunityContactRole
etc.,
Datagrid Column Filters
While Datagrid Global Search enables you to search for data across all columns, Column Filters search feature enables you to filter rows by searching in the selected set of columns. See this video guide on how to use the feature and its capabilities.
Datagrid Fields Search
If Datagrid tend to have a lot of columns, especially like SOQL Datagrid, app enables Filter Fields
search input.
Search term entered there will be used to find matching fields and show only those columns. The search behavior is same
as Data Search so refer to the above section to know how to search
Datagrid Row Grouping
Datagrid Row Grouping feature enables you to group the data, apply various aggregations to non-grouped columns and view the report. It also allows you to export the Group Summary for further consumption. See this video guide on how to use the feature and its capabilities.
Datagrid Compare Values
Compare Values feature helps you compare any two cells in Datagrid. If cells you want to compare are adjacent, select
those two cells, right-click in the cells, select Compare -> With Each Other
to open the compare values dialog.
If cells are not-adjacent, you can copy one of the cell contents into clipboard and compare
with the other cell via Compare -> With Clipboard
Datagrid Export Data
All Data grids allow you to export data. To export Right-click on the datagrid -> Export Other -> <export option>
. You
can select the appropriate export option as per your needs.
Brobench supports exporting to the following formats.
- CSV Files
- Excel Files
- Google Sheet
Datagrid Copy Other
Available in Essential
Copy Other
feature allows you to copy Datagrid data in various other ways or change the source of the data. You can
access this by right-clicking in datagrid and going to Copy Other
menu item.
Option | Where | Example | |
---|---|---|---|
Copy as Soql | Object Fields Grid | Copies the executed query to clipboard | |
Copy Executed Query | Soql Datagrid | Copies the executed query to clipboard | |
Copy as Apex Insert | Soql Datagrid | Copies the selected rows/columns as Apex Insert script | |
Copy as Apex Update | Soql Datagrid | Copies the selected rows/columns as Apex Update script | |
Copy as Apex Delete | Soql Datagrid | Copies the selected rows/columns as Apex Delete script | |
Copy as In Clause String | All Grids | Copies selected cells as In Clause compatible string which you can straight put into a where clause in a Soql | |
Copy as Json | All Grids | Copies selected rows/columns as Json Object | |
Copy as Json Array | All Grids | Copies selected cells as Json Array | |
Copy as Text Table | All Grids | Copies selected range as Text Table | |
Copy as Markdown | All Grids | Copies selected range as Text Table | |
Copy Header as Csv | All Grids | Copies just the header names as csv string | |
Copy Selected (n) Columns as Csv | All Grids | Copies selected columns as Csv data | |
Copy Selected (n) Range as Csv | All Grids | Copies selected ranges (whatever is highlighted) as Csv data | |
Copy Selected (n) Records as Csv | All Grids | Copies selected records as Csv data | |
Copy All (n) Records as Csv | All Grids | Copies all records in the grid as Csv data |
View Values
EssentialView Values feature enables you to view long text content in Records or from Debug Log in a separate dialog with the ability to search/filter/extract part of content with syntax coloring and formatting.
It can be launched from the following places.
- Datagrid: Right-click on any single or range of cells and select
View Values
menu item - Debug Logs: Right-click on any text selection and select
View Value
orView Value as Json
menu item
App will show the following dialog with content of the selection.
Tabs Navigation
Right-click on a Tab label to show a tab menu which allows you to close tabs and navigate to tabs. This is useful if
there are a lot of tabs and some tabs are scrolled left or right out of view. The tabs are shown in the Order they are
shown in UI so you can visualize where you are. Current tab in the List is also suffixed with a *
Date/Time Formatting
All date time values are formatted into your preferred Timezone. By default, the app uses current Connection
Salesforce Timezone. You can set your own preferred Timezone in App Menu -> Settings -> Preferences -> Timezone
.
Reload the page after updating the setting. After that, all date times should be shown in this time zone.
If you hover over a Datetime value, it should show a Popover panel with datetime formatted in various timezones and formats, as shown below.
Keyboard Shortcuts
Brobench Supports various keyboard shortcuts for various actions. Capabilities to customize shortcuts and ability to specify shortcuts for more actions is underway.
Any time you read Meta
key in the help or in the App UI, think of it as Cmd
key in MacOS or Ctrl
key in Windows.
App Shortcuts
Action | Default Shortcut | Description |
---|---|---|
Open Popup | Ctrl + Shift + K | Opens the App Popup page in the Sfdc UI page |
Open Popup in Full Page | Ctrl + Shift + Alt + K | Opens the App Popup page in Full Tab mode |
Open Command Palette | Ctrl + K | Opens the Brobench Command Palette |
Editor Shortcuts
These shortcuts work anywhere the enhanced editor component is used. For technically savvy, we use Monaco
editor, which is the same editor that
powers VS Code so all the default shortcuts should work as is, but we are documenting important ones here.
Action | Default Shortcut | Description |
---|---|---|
Execute | Ctrl + ENTER | Executes the current/selected Query/API Request/Apex Script. This works in Query Editor, Apex Editor and API Request URL input and Body editor |
Toggle Line Comment | Ctrl + / | Toggles the single line comment. This works in all places where enhanced editor UI is used. For ex., it works in Query Editor, Apex Editor and other places. |
Open Find Control | Ctrl + F | Open the Find/Replace control. For ex., it works in Query Editor, Apex Editor and other places. |
Themes
Brobench supports both light and dark themes and defaults to your system's choice. If you want to override to specific
theme, you can select it via App Menu -> Themes -> <choice>
Theme Options
There are 3 options you can set the app to System
, Light
or Dark
. More may be added in the future.
System
System
option will use whatever theme your system has configured with, either Light or Dark. This mode is the default
mode.
Light
Light
option overrides the app theme to Light mode, and it is used even if your system is set to Dark theme.
Dark
Dark
option overrides the app theme to Dark mode, and it is used even if your system is set to Light theme.
Settings
Workspace Dir
Workspace Dir is the directory that you can grant access to Brobench to read/write files and directories within that directory. This is required to make use of some of the Brobench capabilities like Saved Debug Logs.
Backup & Restore
Export Backup
While the majority of data that you see in Brobench is coming from Salesforce, while it is cached, it doesn't need to be backed up. However, the app does store some configuration items like Query Templates, Query History, Connections, etc.,
You can lose this data if you remove the extension and install it or if you delete the data by yourself through the app or other means. By backing up, you can keep the configuration safe and import it back later when in need.
To back up, follow these steps.
- Click on the Profile icon in the top right corner of the app
- Select
Options
, which should show the Options dialog below. Click onExport
tab - Copy the Json and save it into some folder
Import Backup
Import process overwrites all your current configuration with data being imported. If you are not sure if you are going to lose any configuration, backup first
- Click on the Profile icon in the top right corner of the app
- Select
Options
, which should show the Options dialog below. Click onImport
tab and enter the Json you want to import. Note that Json must be exported by Brobench. Otherwise, you may corrupt the installation. - Paste the Json and click on Import.
- App is going prompt for confirmation and after confirmation, it will overwrite the configuration from the import.