Summer’20 is just around the corner… and with every release Salesforce introduces new features and enhancements made to the platform. Thus enhancing our productivity by using the native declarative and programmatic features.
Summer’20 official Release notes are not yet out, below are few features we have identified as few and among the coolest ones!
Let’s look at few out of the box features which are going to be introduced with this release!! 🙂
1. Flows
1.1 Before/After Handling in Flow Triggers
We recently saw Flows inherit an ability from Apex: the ability to act as a Trigger. You could select criteria which a Flow would be called automatically, and handle data.
With Summer ’20, we’re seeing yet another step in Flow becoming a fully-fledged declarative alternative to Apex: the ability to handle before and after events. This is a massive step for Flow and will grant even more power to declarative users.
Instead of being an Auto-Launched Flow, this will now be known as a ‘Record Changed’ Flow (one of a number of new Flow Types).
You can choose when to trigger the flow(see image below).
1.2 Run Flows in System Mode
Now you can execute/run your flows overriding the current user’s permissions by setting your flow to run in system context with sharing. The flow still respects org-wide default settings, role hierarchies, sharing rules, manual sharing, teams, and territories, but it ignores object permissions, field-level access, or other permissions of the running user.
1.3 Flow Loop Variables are Automatically Created
In every iteration of Flow Builder and Designer to date, we’ve had to create our loops, then create a separate loop variable resource. It’s just an extra step that felt so unnecessary.
Salesforce has addressed this by creating this resource automatically when you create a loop. Let’s say you had a loop called ‘lead_loop’, Flow Builder will automatically create a resource called ‘Current Item from lead_loop’. The result? It will save you a ton of time, and make it much easier for new Flow users to learn how to use the tool.
1.4 Roll back Mode in Flow Debugger
With rollback mode enabled in your Flow Debugger, any changes that are executed by your Flow won’t be saved while you test it. This helps to keep your data clean and tidy while you create and test your Flows. This is one of those tiny changes that will have a huge impact.
2. Lightning
2.1 Navigate to a record page with default values
Now, you can create custom button or links that pass default field values to a new record using formulas.
This feature is not available for the Lightning communities, or the Salesforce mobile app.
To construct a custom button or link that launches a new record with prepopulated field values, use this sample formula:
lightning/o/Account/new?defaultFieldValues= Name={!URLENCODE(Account.Name)}, OwnerId={!Account.OwnerId}, AccountNumber={!Account.AccountNumber}, NumberOfEmployees=35000, RecordType=Account_Record_Type_Test, CustomCheckbox__c={!IF(Account.SomeCheckbox__c, true, false)}
2.2 Empty the Recycle Bin in One Step
Empty your Salesforce org’s Recycle Bin in Lightning Experience with a single click. Previously, you either selected individual items to delete, or had to switch to Salesforce Classic to remove all items at once permanently.
2.3 Split View in Standard Navigation
Standard Navigation gets a Console makeover! Console view displays multiple records and their related records on the same screen, and ‘Split View’ displays a List View within a record page:
This means that you can quickly work through records – ideal for updating overdue Tasks, all Opportunities in your pipeline, or the new Leads assigned to you…or anything you use List Views for!
2.4 Source Tracking in Sandboxes
You can now enable Source Tracking in Developer and Developer Pro to use the Salesforce Command Line Interface (CLI) to view, pull, and push changes in the Sandbox. Once enabled, any new Sandboxes you create will have tracking enabled automatically, and after refresh for any existing Sandboxes.
3. Development
3.1 The @track decorator is no longer needed to make the Lightning Web Component Class Reactive
In order to capture changes to a field’s value and to make it reactive to changes you had to decorate it with @track before Spring’20.
But with Summer’20 @track decorators are no more needed to make the fields reactive, the fields in LWC are reactive by default now.
If a field’s value changes, and the field is used in a template or a getter of a property that’s used in a template, the component rerenders and displays the new value.
3.2 Style Lightning Web Components with Custom Aura Design Tokens
A Lightning web component’s CSS file can use a custom Aura token created in your org or installed from an unmanaged package. Tokens make it easy to ensure that your design is consistent, and even easier to update it as your design evolves.
You can define a token value once and reuse it in your Lightning component’s CSS.
Create a custom Aura token in the Developer Console by creating a Lightning Tokens bundle.
<aura:tokens> <aura:token name="myBackgroundColor" value="#f4f6f9"/> </aura:tokens>
Here “myBackgroundColor” is a custom aura token.
Custom Aura tokens aren’t new, but now you can use them in a Lightning web component’s CSS file by using the standard var() CSS function. Prepend –c- to the custom Aura token.
// myLightningWebComponent.css color: var(--c-myBackgroundColor);
3.3 Smarter Source Tracking for Lightning Web Components in Scratch Orgs
Until now, CLI commands tracked source changes for Lightning web components in a local project, but didn’t track changes to Lightning web components in a scratch org.
With Summer’20 release Salesforce command-line interface (CLI) now tracks changes to Lightning web components in a scratch org. The CLI output lists any changes, and alerts you to any conflicts between your local project and a scratch org.
This change is available in Salesforce CLI with salesforcedx v48, which released on February 15, 2020.
sfdx force:source:pullPulls changed source from a scratch org to your project. sfdx force:source:pushPushes changed source from your project to a scratch org. sfdx force:source:statusTracks changes between your project and a scratch org.
3.4 DOM API Changes May Require UI Test Updates
The content and structure of HTML, CSS, and the DOM in Lightning Experience can change at any time and can’t be considered a stable API. Automated UI tests that use tools like the Selenium WebDriver to reach into component internals require your ongoing maintenance.
4. Reports and Dashboards
With Summer’20 release now we can send the attachment while scheduling the Report/Dashboards from Salesforce Lightning.
Navigate to Report & Dashboards Setting & Enable “Let users attach reports as files to report subscription emails in Lightning Experience” Setting.
5. Federation Id can be made case sensitive
With Summer’20 release you now have the option to make the Federation Id as case-sensitive. Previously this feature was not available.
Go to setup, from setup select single sign on settings and enable the checkbox “Make Federation Id case sensitive”.
6. AWS Private Link
With summer’20 release Salesforce introduces the Private Connect. Assuming this will facilitate establishing connection between Salesforce and AWS VPC and other AWS Services.
AWS PrivateLink simplifies the security of data (hosted on the AWS platform) shared with cloud-based applications by eliminating the exposure of data to the public Internet. AWS PrivateLink provides private connectivity between VPCs, AWS services, and on-premises applications, securely on the Amazon network.
With AWS PrivateLink, you can connect your VPCs to AWS services and SaaS applications in a secure and scalable manner.
From setup, go to Private Connect, choose whether you want to create an Inbound Connection/Outbound Connection.
Inbound connection will allow you to access data shared with your Salesforce Application from an AWS VPC(Virtual Private Cloud) which is an additional layer of an Amazon EC2 (Elastic Compute Cloud)Instance.
Outbound Connection will allow you to share/proxy your Salesforce Data into an AWS VPC.
You would need to specify the end point Id of your AWS VPC and also the region in which the service is hosted.
You can also specify the option of provisioning the connections and choose whether to provision connection immediately or at a later point of time.
These are some of the features that we have explored out.
We will be back with Part I and Part II of the Release highlights with more information on the hot and newest features that shall roll into your Salesforce org’s with the summer’20 release.
Till then, you can sign up here for a Pre-Release Org and keep on exploring!! 🙂