Skip to main content

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 ItemDescription
ModulesOpens a sub-menu with list of available modules and allows you to open them. Each module opens as a separate main tab.
Open Brobench forOpens 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.
SettingsOpens the app Settings dialog. See Settings for more details
Lock AppBrobench 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 ActionsOpens a sub-menu with various quick actions
ThemesOpens a sub-menu which allows you change app theme. See Themes for more info.
SupportOpens a sub-menu with various support related items.
AboutOpen 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 ItemDescription
User Name and UsernameShows current user name and username. Click on this item to open User Info dialog
Toggle UI API Field NamesWhen you are viewing a record detail page, click on this shows the API Name of the fields displayed in detail tab.
Set User Language toOpens 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 UIOpens 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 UrlConstructs a url with session id embedded which can be pasted into other browsers to login as this user
Disable Read-only forOpens 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 ConnectionOpens the dialog to edit the current connection where you can change the connection name, color and other attributes

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 to Login 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.

caution

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.

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 match OpportunityContactRole, ContactContactRole but not Contact or AccontRole
  • 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 match Account and AccountContactRole but not My_Account__c
  • Start with $ to do ends with match. For ex., $Account would match Account and My_Account but not AccountContactRole
  • Enter multiple search terms separated by comma (,) to show matches which matches any of the terms. For ex., entering Contact,Account would match Account, 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.

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.

OptionWhereExample
Copy as SoqlObject Fields GridCopies the executed query to clipboard
Copy Executed QuerySoql DatagridCopies the executed query to clipboard
Copy as Apex InsertSoql DatagridCopies the selected rows/columns as Apex Insert script
Copy as Apex UpdateSoql DatagridCopies the selected rows/columns as Apex Update script
Copy as Apex DeleteSoql DatagridCopies the selected rows/columns as Apex Delete script
Copy as In Clause StringAll GridsCopies selected cells as In Clause compatible string which you can straight put into a where clause in a Soql
Copy as JsonAll GridsCopies selected rows/columns as Json Object
Copy as Json ArrayAll GridsCopies selected cells as Json Array
Copy as Text TableAll GridsCopies selected range as Text Table
Copy as MarkdownAll GridsCopies selected range as Text Table
Copy Header as CsvAll GridsCopies just the header names as csv string
Copy Selected (n) Columns as CsvAll GridsCopies selected columns as Csv data
Copy Selected (n) Range as CsvAll GridsCopies selected ranges (whatever is highlighted) as Csv data
Copy Selected (n) Records as CsvAll GridsCopies selected records as Csv data
Copy All (n) Records as CsvAll GridsCopies all records in the grid as Csv data

View Values

Essential

View 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 or View 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.

tip

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

ActionDefault ShortcutDescription
Open PopupCtrl + Shift + KOpens the App Popup page in the Sfdc UI page
Open Popup in Full PageCtrl + Shift + Alt + KOpens the App Popup page in Full Tab mode
Open Command PaletteCtrl + KOpens 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.

ActionDefault ShortcutDescription
ExecuteCtrl + ENTERExecutes 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 CommentCtrl + /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 ControlCtrl + FOpen 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.

  1. Click on the Profile icon in the top right corner of the app
  2. Select Options, which should show the Options dialog below. Click on Export tab
  3. Copy the Json and save it into some folder

Import Backup

warning

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

  1. Click on the Profile icon in the top right corner of the app
  2. Select Options, which should show the Options dialog below. Click on Import tab and enter the Json you want to import. Note that Json must be exported by Brobench. Otherwise, you may corrupt the installation.
  3. Paste the Json and click on Import.
  4. App is going prompt for confirmation and after confirmation, it will overwrite the configuration from the import.