We are extremely pleased to announce that SOQL Studio 2021.1 is now generally available for download on our site. The culmination of months of design and development work, version 2021.1 includes significant new functionality and multiple bug fixes. As with all of our releases, this one keeps with our commitment to providing regular enhancements and fixes to SOQL Studio and staying current with Salesforce releases. The two most notable enhancements in this release have their genesis in suggestions and requests from you, our customers.
In this post, I’ll discuss in detail some of the larger items included in the release, but first here’s the complete list of the enhancements and fixes included:
- Implemented support for OAuth 2.0. With OAuth, Salesforce manages authentication to the org so that SOQL Studio will not need your logon credentials. In addition to being a more secure authentication mechanism, it also makes SOQL Studio available to those orgs that restrict API logon via username/password.
- Redesigned the SOQL Editor to support two presentation modes: tabbed view and split view. Tabbed view presents the query editor and query results on separate tabs within the SOQL Editor and has been the standard since SOQL Studio’s introduction three years ago. Split view dispenses with the tabs in favor of user-resizable query and results panes within the SOQL Editor, similar to the way SQL Server Management Studio presents query results. The results pane remains hidden until there are results to show.
- Overhauled the query Cancel function so that it is now reliable and nearly instantaneous
- Added the ability to print SOQL Explain results
- Updated the Quick Find feature of the SOQL Editor with a new version that also includes replace functionality, similar to what’s found Visual Studio and Visual Studio Code
- Refreshed user interface now has a modern Office 2019 look
- Improved memory management to help ensure the release of resources that are no longer in use
- Upgraded to API v50 (Winter ‘21)
- Fixed an issue introduced in the last release that caused aggregate queries to fail
- Fixed an issue with the Messages tool window that under certain circumstances caused the application to crash with a null reference exception
- Fixed an issue that derailed proper syntax highlighting when using an escaped single quote (\’) within a quoted string
- Fixed an issue that prevented count(fieldname) from being highlighted as a function
I first introduced OAuth in my blog post introducing OAuth support. It’s a quick read that includes a good description of what OAuth is so I won’t repeat that here. We had two primary reasons for adding OAuth to SOQL Studio. First and foremost, many companies are locking down the ability to access their orgs via the API with username/password authentication. SOQL Studio only supported this method of authentication so that left many potential and some current customers unable to connect. OAuth changes that. SOQL Studio now supports the same connection mechanisms that Salesforce tools like Data Loader, Workbench, Salesforce Extensions for VS Code, and the Salesforce CLI use. So if you can connect to your org with any of these, you can connect with SOQL Studio. The second reason is that it’s a more secure method of authentication. With OAuth, SOQL Studio doesn’t ask for nor uses your logon credentials. Authentication and authorization is all done at Salesforce. Once completed, Salesforce passes back a token that only SOQL Studio can use to connect you to the org. SOQL Studio strongly encrypts that token so it remains secure at all times.
Here’s how it works: In the Organizations dialog, specify that you want to use OAuth for Authentication rather than Username/Password.
When you select OAuth you’ll notice that most of the input fields on the dialog and the button “Test Connection” disappear. All those fields and that button are specific to Username/Password authentication and aren’t used with OAuth. The only other information you need to tell SOQL Studio is what to name the org and what type of org it is. Then click the “Authorize” button to initiate the authorization process at Salesforce.
You will be prompted by Salesforce in a small browser window (left image) to login to the org you want to authorize SOQL Studio to access. If you need to use a custom domain or other login url, click the Use Custom Domain link to do that. This is exactly the same dialog and procedure you’d use when authorizing other OAuth-based apps like Data Loader and Workbench. Once Salesforce has authenticated you, you’ll be asked to Allow or Deny SOQL Studio access (right image). Click “Allow” and the org setup is complete. You won’t have to do this again unless something in the org changes to invalidate the authorization you just granted. A good example of this is a Sandbox that you previously authorized and then refreshed. The refresh invalidates the authorization. Just come back to the Organizations dialog and re-authorize the org.
The Redesigned SOQL Editor
Many Salesforce developers and admins come from a SQL background and used tools like SQL Server Management Studio where the query and results are visible in a split-window style rather than the separate query and results tab style that SOQL Studio has used. Our intention in the tab design was to provide as much real estate as possible for visualizing results. But often the query results aren’t that large and switching back and forth between the results tab and query tab get becomes tedious. In fact, we’ve received feedback to that very point. That all changes with this release. Introducing SOQL Studio’s split mode editor:
When a SOQL Editor is first opened, the query pane fills the entire editor tab. Upon execution the window “splits” with the SOQL in the top pane and the results in the bottom pane. The split is resizable so depending upon your focus, you can give more space to either the results or the query itself. But this isn’t all. The tabbed editor mode is still available and you can instantly switch back and forth between split mode and tabbed mode on-the-fly, giving you the ultimate flexibility to view and edit based upon your needs at the moment.
Of course, SOQL Studio supports setting your default preference for the editor configuration. Out of the box, the default is set to Tabbed Mode, in keeping with the style of previous versions.
SOQL Editor Quick Find
We updated and enhanced the Quick Find feature of the SOQL editor to be very similar to that of Visual Studio and Visual Studio Code. Click the Quick Find button in the Editing group on the Home tab or simply press CTL-F to expose the mini-dialog in ‘find’ mode or CTL-H for Find/Replace mode. Click the chevron next to the “Find” text box to expose/hide the Replace functionality. Visual Studio Code users will immediately feel at home and be familiar with this functionality. The more robust Find & Replace dialog is still available, should you need it.
Print Support for Explain Results
When we added support for the Tooling API and its Explain functionality in the 2020.1 version we didn’t build support for printing Explain results. We’ve corrected that omission in this release. SOQL Studio now supports printing the Explain results.
Cancel a Running Query and More
Since the initial release, SOQL Studio has provided a way to cancel a running query. But let’s face it, it didn’t work that well. Depending upon the query, it could take over a minute to cancel. Not anymore. When you click the Cancel button, it’s cancelled immediately, every time.
The last enhancement that I’d like to highlight is the UI refresh. While it is subtle, it keeps SOQL Studio’s UI current and up-to-date with the clean, modern look introduced by Office 2019.
Current customers with an active maintenance contract are entitled to a free upgrade. Login to you account, go to Downloads & Licenses and click the “Request Upgrade” button. You’ll be emailed a new license for version 2021.1 and you can download the new package right from there.