In the first release of The Welkin Suite Bloom in 2018 we hope that we can both surprise you with something unexpected (and, of course, handy) as well as to prove that your feedback, suggestions, and critics had found grateful listeners! Today we're happy to share with you a lot of updates in various areas: data editor in the SOQL Builder, PMD 6.0 with new rules and custom XPath rules support, Lightning and Visualforce previewers, Apex Code Completion, and for sure important bugfixes.
Data Editor in the SOQL Builder
We believe that each update to the SOQL Builder (do you remember when we've called it just "SOQL Executor" a while ago?) makes it better and helps you completing your tasks faster: for example, checking if your query returns what you expect, examining data in the organization, or even performing an ultra-fast 'SELECT * FROM sObject' query.
This new update to the SOQL Builder adds one more area where it will help you - data editing. Of course, you should be careful when working with production data, but modifying records on your sandboxes or development environments is a very common case when you need some specific values in your objects to test your business logic.
Let's see what you can do with records in The Welkin Suite.
After executing a query, results will be shown in the lower part of the editor as usually. If you'd need to modify any field value - just double-click on a corresponding cell and edit it. Okay, not any field - if a field is not editable, the IDE won't allow you even to try modifying it. After this, the IDE will highlight cells with changed values with a different background color, so if you are changing multiple fields or multiple records (or both) you won't forget what you've changed!
While you are editing, or before it, you can also hover a cursor over any cell to see some additional details about a field:
- Object type
- Field type
- If the field is Nillable or no
The hint will also highlight if the field is not editable.
You can also right-click on any cell to see the context menu with the following options (or some of them):
- 'Copy' - copy value from a selected cell to a clipboard;
- 'Set the value for the whole column' - applies value from a selected cell to a whole column;
- 'Set value to Null' - sets a field value to Null if the field is nilable;
- 'Set original value' - discards your changes in a cell, if you've made any.
When you are done with changes just press the 'Upload changes' button in the toolbar and The Welkin Suite will apply them. In the case, if any errors would occur the IDE will rollback everything and will show you an error, otherwise - you will see a corresponding message. After a successful updating your data, you will need to rerun your query in order to ensure that you will see exactly the same values that are present in your organization - because formulas, roll-up summaries, workflows, and triggers can modify something else in the data that you see.
And one more thing! (c)
We've also made a small update to error messages that you might get when something goes wrong with your query. From now on the IDE shows properly a line number in the Error List panel, so if you have a very long query - it'll be faster to find and resolve issues in it.
Even higher code quality with PMD 6
There's no limit to perfection, especially when we're talking about a code quality. But as we all know, it's very unlikely to get to a point when a code can be called 'ideal' if it does something more than system.debugg'ing So a goal is to ensure that the code is as good as possible and spend on this minimal amount of time - this is where the built-in PMD support in The Welkin Suite plays well!
Since the moment we've first introduced PMD support in the IDE, the team that stands behind this great code analyzer has made a lot of changes to both: PMD itself and to the set of rules that are available for Apex. This is why we've updated the bundled PMD to the 6.0.1 version, where we have 43 rules for Apex in the following categories:
- Best practices - 4 rules
- Code styling - 7 rules
- Design - 10 rules
- Performance - 3 rules
- Security - 11 rules ('must have' for those who are going to submit their packages to the AppExchange)
- Error prone - 8 rules
If it's not enough and you're a XPath ninja (nevermind - it's really easy to start), from now on you can add custom XPath rules to your rulesets directly from the IDE. With the custom rules support you will be able to precisely craft your own ruleset according to your personal or team preferences and policies regarding code quality.
So if you haven't tried PMD before - give it a try now as it won't take more than couple minutes to jump-start with the pre-built The Welkin Suite ruleset template.
Improvements in Lightning and Visualforce editors
Compared to previous updates in Lightning and Visualforce editors, this time we are focusing more on the smaller improvements that will fine-tune your experience with these editors.
First of all, we've heard all the feedback regarding an ability to collapse Lightning and Visualforce previewers by default - really there's a lot of cases when it might be not needed all of the time. Starting from the Bloom R15 version of The Welkin Suite you can choose to collapse both previewers by default using the 'Main Menu → Tools → Options → Projects → Presentation'.
Of course, this won't block you from manually expanding a previewer if it is needed for a certain page, and the IDE will remember this state for a future.
By the way, the IDE now also remembers custom URLs or parameters supplied to the Visualforce and Lightning previewers. This means that if you're using custom URLs to preview your Lightning components or Visualforce pages or if you pass any GET parameters to them in the built-in previewer you won't need to do this the next time when you'll open these Lightning components or Visualforce pages - the IDE will pre-fill them for you.
The next issue was spotted by one of our users - even when the previewer was collapsed, the IDE still loaded a page in the background, and, in some cases, it might have been annoying. For now, both previewers are working as expected: if you don't see the previewer, than there is no previewer, even in the background
And to sum up this updates - we've found it a bit strange to use dark gray background for both previewers, so now we are using standard white color as a background, so you won't be surprised anymore why your Visualforce page looks strange in the case if you haven't directly specified a background color for it in CSS.
Apex Editor updates
The last large group of updates in this release of The Welkin Suite for Windows is related to the Apex editor.
We've just recently added an ability to include installed managed packages into your project - this allowed working with Layouts, sObjects, referencing sObjects from your Apex, etc. Now, we have extended our Apex code completion to support global classes in a proper way - the IDE will suggest you available classes, methods, and properties so you won't need to remember them. Taking into account how many great solutions are available in the AppExchange - this will definitely help to develop for complex Salesforce implementations.
Another change seems to be minor and complex to describe in details, however, you'll face this change tens (or even hundreds) times per day: we have modified a logic behind braces and quotes completion in The Welkin Suite. We believe that starting from the Bloom R15 release you will get a more predictable and comfortable braces and quotes completion (and deletion, by the way).
The next change leads us to the Anonymous Apex - if you'd need to execute some certain part of your code separately you can do this in just 3 clicks and about 5 seconds. Simply select the code in the editor, right-click on it, and select a new 'Execute selected code as Anonymous Apex' option and the IDE will execute that block of code and will show you a log file.
If you prefer a standard Anonymous Apex editor - you'll also find there a couple changes. First of all, if you have encountered any issues with the code completion functionality for anonymous apex files - we've fixed them and the code completion should work without any issues!
We have also added code snippets support that was previously missing for anonymous apex - this means that you can use built-in or your custom snippets to speedup development or avoid typing the same code over and over!
And the last update related to anonymous apex files - when you select any text in a file the IDE will highlight all search matches for it in the document. So if you need a very fast way to search for something in a file - here it is
In the Bloom R15 version of The Welkin Suite, we've updated the Salesforce API version that is used by the IDE to v.41, so all queries, anonymous apex executions, newly created items from the application will use the new version of the API.
One of the most important fixes in this release is that the IDE won't lock your Salesforce user, even if project credentials are incorrect. Previously the IDE was making too much API calls to an org in the case of incorrect credentials and, as a result, Salesforce was temporarily locking a user for 15 minutes.
It seems that this time most features and changes are related to the coded development, however, we've also significantly improved the performance of sObjects editor's 'Fields' tab - even if you've gone over Salesforce's standard limits on a number of fields, the sObjects editor will handle them without problems!
In addition to the great new abilities and improvements in the SOQL Builder, we have solved some issues related to its existing functionality. Actually, mostly this is related to exporting results after executing your SOQL query. There were cases of TWS crash when you exported SOQL query results that contained child relationship fields only, or when you were rewriting a '.SOQLResults' CSV file which was already opened elsewhere. In addition, an issue when there was no result(s) for a query with COUNT in it is also solved in TWS Bloom R15.
There's a lot of other changes and fixes - you can find them in the full list of changes below.
Too much great new features are planned for the next 3-4 month to try them squeeze somehow into a couple sentences here, so stay tuned and check our blog soon to see our goals for the next quarter and what you can expect to see in The Welkin Suite in the nearest future!
Full list of changes
- Added inline data editor for Salesforce records as a part of the SOQL Builder
- Added the support for custom XPath rules in the PMD Ruleset Configurator
- Implemented an ability to execute selected apex code from a class as Anonymous Apex
- Added settings to collapse/expand Visualforce and Lightning previewers by default
- Updated a default background color for pages to be white in Visualforce and Lightning previewers
- Implemented automated saving & restoring custom URLs and GET parameters for Lightning and Visualforce previewers
- Improved performance of the sObject Fields editor
- Added a line number indication in the Error Panel for error messages after executing SOQL queries
- Added the support of global classes from managed packages in the Apex Code Completion
- Significantly updated braces and quotes completion logic in Apex Editors
- Added code snippets support for Anonymous Apex files
- Updated Anonymous Apex editor to highlight occurrences of a selected code
- Updated the bundled PMD code analyzer to the 6.0.1 version
- Updated the IDE to use Salesforce API v.41
- Fixed the issue when the IDE caused a lock of a Salesforce user due to the incorrect handling of invalid credentials
- Fixed the issue when all the tests available on an organization were run during execution a test suite from the Run Tests wizard
- Fixed the error that appeared during the work on a Visualforce page due to the improper handling of quotes
- Fixed the issue when an error appeared after applying a filter in a Debug Logs Viewer
- Fixed the issue when Validation Rules that contained a 'Location' field were absent in Admin Panel
- Fixed the issue when a state of visibility for a class outline in Apex wasn't saved
- Fixed the incorrect line number in an error message after executing Anonymous Apex with errors
- Fixed the crash of TWS caused be opening a project with OAuth after refreshing a related sandbox
- Fixed the crash of TWS caused by opening a project with OAuth when there was no internet connection
- Fixed the crash of TWS when saving a '.SOQLResults' CSV file with a rewriting command when an existing file was opened
- Fixed the crash of TWS when exporting SOQL query results that contained child relations fields only
- Fixed the error after executing a SOQL query with COUNT in it
- Fixed the issue when Code Completion was not always working for Anonymous Apex files