The first release in the New Year should be a bit thrilling and even a little bit magical. So The Welkin Suite team is happy to give all our community a present. Meet one of the most expected features of the IDE — synchronizing custom folder structure between TWS and Salesforce! Now you can store your custom structure in the Salesforce Org and get access to it in The Welkin Suite on whatever PC. Share your project with colleagues and work together without any communication issues. However, while you can now sync your project structure with Salesforce, you can also choose not to trace the changes you made to the file system.
That being said, as of this version, The Welkin Suite features a convenient Lightning application previewer, provides an option to view Visualforce pages in your browser, and allows you to open Apex Logs for Test Methods from the Test Result window.
Synchronization of the custom folders structure on Salesforce
You know about the ability to create your own custom structure for a project in TWS. Now we are glad to present a new feature — the ability to synchronize your custom folder structure with Salesforce org, so you can pick up your work exactly where you left off, regardless of the PC you are using.
How to tune the synchronization of the project’s structure between TWS and Salesforce: When creating the project in TWS, you can see the new option ‘Synchronize project structure in the Salesforce Org’. By default, this option is disabled. Its value is saved in your project file locally.
Later or for projects from the previous versions you can change this value via the context menu of the project, or in the Main Menu -> Projects menu item.
Once you enable the synchronization with Salesforce, a SyncData static resource is created in your org (if it was not present before). In such a case, The Welkin Suite will notify you that SyncData will be created, and request your approval.
The SyncData file is a serialized file in a 7z archive, which stores all service information about the project structure for the current organization. After you've enabled the synchronization, whenever you make any changes in TWS - the SyncData file is updated to record these changes.
In case your org already contains the SyncData file, you will get a notification offering you to update the project structure according to this data.
If you choose to disable the synchronization, you will be warned that, although the project structure is no longer synced, the SyncData file is still present in the org.
Synchronization of the custom project’s structure will work the next way:
The ability to sync custom project's structure is available for Sandboxes and Developer orgs only.
The synchronization process occurs after you make any changes to your project's structure: drag&drop, create/delete a file or folder. Any time you perform one of these actions, you will be notified about the sync status in the progress bar. In case any errors occur, you will be given a warning message. Here are a few details about the synchronization after each type of actions, and most common errors that may occur when syncing your project structure:
- Drag and drop: After the drop, the project structure is synced and the file is moved to the new location. In case the file with the same name already exists, the folder does not exist or the file location was changed - you will get a warning message asking you to pull first.
- Files deletion: After you delete the file, it is also deleted in your SF org, and the record about this file is removed from SyncData.
- Folders deletion: After you delete the folder, it is also deleted in your SF org. However, the folder you are deleting should not have any child files/folders. In such a case, and if there is no data about the target folder in SyncData (meaning it was deleted before), you will get a warning message.
- Files creation: Once the file is created, the information about this file is saved in SyncData. In case the folder in which you are creating the file no longer exist, you will get a warning message.
- Folders creation: Once the folder is created, this change is recorded in SyncData. If SyncData check shows that the parent folder was deleted, or the target folder already exists, you will be notified in a warning message.
Pull process after you enabled project's structure synchronization:
The SyncData file is pulled first in the separate thread, and is processed before any changes are applied. However, the merge is performed before SyncData, and the changes are queued without waiting for SyncData. When applying SyncData changes, opened files that changed their location are closed. Once the changes are applied, the tabs are reopened. All SyncData changes that were applied are shown in the summary - with Name=New name with path, Status=moved.
Project structure modification in the File System
As much as customizable project structure may be convenient, there are times it is best to make sure all your changes are not traced to the file system. For this matter, we have made a major improvement to customizable folder structure and added an option to enable / disable project structure modification in the file system whenever you customize it in The Welkin Suite. This way, you can create new folders, move files between them, separate tests, classes, trigger handlers, etc., and all these changes are done locally in your project but not reflected in the file system.
You can turn on this option by checking / unchecking the checkbox 'Drag&Drop should move files in File System'. This is available when creating a project after you specified the credentials and the metadata downloading, together with the synchronization of project structure option:
By default it is unchecked, so your project structure in the file system should not be affected, unless you choose otherwise by checking the aforesaid box.
For the projects created in previous versions of TWS, this option is enabled by default (so changes will be applied to the file system as well - as it was working previously) and cannot be changed.
In this version of the IDE, we have improved the work with the Lightning applications. You can see the Lightning previewer along with the Editor for these files in TWS.
TWS uses the built-in browser based on the Chromium engine for previewing.
An Application in the previewer is refreshed after each Build with Application's files. At the same time, you can refresh it manually using the ‘Refresh’ button at the top of the previewer.
Opening Visualforce pages in the browser
Starting from this version, The Welkin Suite gives you a possibility to open Visualforce pages in a browser. Now you can develop much easier and faster. Preview what the pages will look like, and make changes instantly.
You can launch the preview mode via the option 'Open in browser', which can be found in the context menu of the Visualforce page in the Solution Explorer.
For previewing Visualforce pages, The Welkin Suite uses the default browser.
This feature is available for the Visualforce pages only.
Apex Log for Test Methods in the Test Results panel
Our team has added the ability to display the Apex Log file and the necessary details for the test methods in the Test result panel.
To make this option available for your project, please make sure you turned on Logging in your Salesforce org. Another way to use this feature is to enable an option to download logs in TWS: Main Menu -> View -> Logs window, mark 'Download Logs' checkbox.
After these actions, you can open the Log file for test methods by clicking 'Open log' in the context menu in the Test Result panel. The new tab with the Apex Log will be opened in the Editor.
Another option to open Apex Log for test methods is present in the Details panel at the bottom of the Test result panel.
Please note that this option is disabled for the deployment validation test-runs.
In the version 0.26.4 of The Welkin Suite, we fixed the issue related to incorrect statues of the test-run in a newly created class, in which test methods were not built.
The Deploy to organization process gets correct statues too beginning from now on. This issue was caused by the failed tests during the deployment.
The bug with file pulling failure if only the letter register was changed in the Salesforce org is fixed. You can now use this way of renaming the classes for your own snippets.
One more fix is related to the inability to pull some standard objects (like orders and quotes) in rare cases.
Additionally, our team has fixed cases of project creation failures.
There is still room for improvement in terms of the synchronization of the custom project's structure. Hence, we are planning to add an option to open projects from other IDEs in The Welkin Suite, and vise versa.
This will be implemented a little bit later, and now we are going to spend the sprint restoring the order. We will be working on several related issues and some of necessary improvements in the next few weeks.
Full list of changes
- Implemented the ability to store custom folders structure of a project in Salesforce org
- Implemented the ability to not modify project structure in File System when customizing it in the IDE
- Implemented the Lightning previewer for the Lightning Applications
- Added the ability to open apex Log for Test Methods from the Test
- Added the ability to open a Visualforce page in the browser from the Solution Explorer
- Added the progress bar for the process of creation of components in a Lightning bundle
- Fixed the incorrect statuses for the Deploy to organization
- Fixed the issue with the failed pull from Salesforce for the renamed file (where the register for letters was only changed)
- Fixed the incorrect statuses for a test-run in a newly created class with test method that wasn't built
- Fixed the rare issues of the failed pull from Salesforce for standard objects
- Fixed the rare issues of the failed project creation
- Fixed the issue with the failed creation of files in an empty org