Salesforce Summer '21 Release - App Builder & Development Top Features
Summer '21 release is round the corner. Below is my top pick from Summer '21 release from App Builder & Development perspective: -
Control Access to Sensitive Data with Restriction Rules (Beta)
Secure your data and boost productivity by permitting your users to see only the records necessary for their job function. Create restriction rules to control which subset of records you allow specified groups of users to see. Restriction rules are available for custom objects, contracts, tasks, and events. You can create and manage restriction rules via the Tooling and Metadata APIs. They provide another layer of access control on top of your existing sharing settings and let you configure truly private visibility.
Why: Without restriction rules, users with access to an account can see its contracts, tasks, and events, even when the organization-wide default is set to Private. For custom objects, users can see all detail records. Restriction rules let you configure truly private access for these objects.
How: For information on enabling this feature, contact Salesforce. You can create and modify restriction rules using the Tooling or Metadata API.
This is a game changing feature and for detail see Restriction Rules Developer Guide (Beta)
Create a Dynamic Actions Bar for Your App Page (Pilot)
Access all your most important actions in one convenient bar. Easily add, drag, and configure the Dynamic Actions Bar component on your app page with the Lightning App Builder. Customize your bar with standard and custom global actions.
How: To add a Dynamic Actions Bar to your Lightning app page, first create or edit a Lightning app page in the Lightning App Builder.
In the Lightning App Builder, drag the Dynamic Actions Bar component (1) to add it to a region on your page (2). The order of actions in the properties pane (3) determines their order in the Dynamic Actions Bar. Click Add Action (4) to add actions to the Dynamic Actions Bar. Click Add Filter (5) to set visibility filters for the Dynamic Actions Bar component. Save your work.
If the page isn’t already active, click Activation and select an activation option for the page.
Install More Custom Fields
The total hard limit for custom fields per object has been increased to 900, so now you can allocate more fields to the different use cases that you support.
The new 900 field hard limit applies only to these objects.
- Account
- AccountContactRelation
- Asset
- Campaign
- CampaignMember
- Case
- Contact
- Custom Object
- Individual
- KnowledgeArticleVersion
- Lead
- Opportunity
- OpportunityLineItem
- Order
- OrderItems (Order Product)
- Product2 (Products)
- Solution
- Users
- UserRole (Role)
Prepopulate Dependent Picklists with Default Values
You can now prepopulate a record event with default values in dependent picklists. Default values on dependent picklists are available on accounts, opportunities, cases, contacts, leads, and custom objects.
Set Expirations for Assignments on Permissions in Permission Sets and Permission Set Groups (Beta)
When assigning users to a permission set or permission set group, select expiration dates that you specify. Control when a user's permissions expire based on your business requirements.
Why: Suppose a sales manager needs consultants to evaluate language used in sales contracts. You give the consultants access to the Contracts object and other permissions via a permission set group so that they can perform their work. The project has an end date, so you don’t want contractors to access sales contracts after that date. Set the expiration date and time zone for the permission set group when you assign it to users.
How: You can set an expiration date for a permission set or permission set group using the API.
To use the user interface with assignment expiration options for permission set groups, enable Permission Set Group Assignments with Expiration Dates (Beta) in User Management Settings. Then, when you assign users to a permission set group, select the expiration options that you want. You can also select no expiration date as an option.
Save Time with Mass Actions in Split View
No need to open a separate list page—act on multiple records at once, now in split view. Select items in the split view list and apply an action to all of them in standard or console view.
Where: This change applies to Lightning Experience desktop in Developer, Enterprise, Essentials, Professional, and Unlimited editions.
How: A split view automatically has checkboxes if there’s a quick action available for all the items in the list, and you can apply a quick action to the selected records in the actions dropdown menu. The items automatically deselect after you apply the action. Mass actions in split view follow the same logic as mass actions in table view. Inline edit isn’t supported in split view, so you see checkboxes only if the object has mass actions available.
Create Quick Actions with Lightning Web Components
To save your users time and clicks, create a quick action that invokes a Lightning web component. On a record page, create a screen action that shows the component in a window, or create a headless action that executes with a click.
Where: This change applies to Lightning Experience desktop in Developer, Enterprise, Essentials, Professional, and Unlimited editions.
How: To set up a Lightning web component as a quick action on a record page, define the metadata in <component>.js-meta.xml. Define a lightning__RecordAction target and specify actionType as ScreenAction for a screen action that opens in a window or Action for a headless action that executes when clicked. Here’s the configuration for a headless action.
<?xml version="1.0" encoding="UTF-8" ?> <LightningComponentBundle xmlns="https://soap.sforce.com/2006/04/metadata"> <apiVersion>52.0</apiVersion> <isExposed>true</isExposed> <targets> <target>lightning__RecordAction</target> </targets> <targetConfigs> <targetConfig targets="lightning__RecordAction"> <actionType>Action</actionType>
</targetConfig> </targetConfigs> </LightningComponentBundle>
To use a headless action, add an exposed invoke() method to your component.
import { LightningElement, api } from "lwc"; declare default class HeadlessSimple extends LightningElement { @api invoke() { console.log("Hi, I'm an action."); } }
Gotcha - LWC quick actions are currently supported only on record pages.
Secure Apex Code with User Mode Database Operations (Pilot)
You can now declare when Apex runs database operations in user mode or system mode. The new Database methods support an AccessLevel parameter that enables you to run database operations in user mode, instead of in the default system mode.
Why: By default Apex code executes in system mode and doesn’t respect running user permissions. To enhance the security context of Apex, you can specify user-mode access for database operations by invoking Apex in user mode. The field-level security (FLS), sharing rules, and CRUD permissions of the running user are respected in user mode, unlike in system mode.
A new class object represents the two modes that Apex runs database operations. Use this new class to define the execution mode as user mode or system mode. These new methods support passing the class object:
- Database.query methods
- Search.query methods
- Database DML methods (insert, update, upsert, merge, delete, undelete, convertLead)
Deprecation and End Of Support for Platform API Legacy Versions
As of this release, legacy versions 20.0 and earlier of the Salesforce Platform API are deprecated and are no longer supported by Salesforce.
Where: This change affects the following API versions:
SOAP API
7.0, 8.0, 9.0, 10.0, 11.0, 11.1, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0
REST API
20.0
Bulk API
16.0, 17.0, 18.0, 19.0, 20.0
Complete release notes can be found here.