Salesforce Spring ’21 Highlights / KeyPoints / Non-Lightning

Protect Users from Insecure Downloads in Chrome

Broken Images, error results, error in attachments that are being hosted on a non-secure HTTP page.

We need to make sure that all the connections to and from Salesforce are HTTPS.

Build Customer Trust with the Error Handler System Dialog (Chat Bot)

This feature will be helpful in handling the errors that are occurred after initiated ChatBot. A more detailed description of errors for handling as required.

Refer the security URL in static resources

To maintain security, maintain the URLs in the Static Resources and refer in code.

View All, Modify All, Edit, and Delete Object Permissions Removed for Guest Users

 Need to check if the Guest User profile has the Permissions to Create, Read, Update Permissions on the related Objects

Obsolete Permissions from Guest User Profiles Were Removed

Permissions which are not tied to any App are removed from the Guest user Profile.

Guest Users can only have Create and Read only object permissions

Mixed Content Downloads Blocked in Google Chrome

An example of a mixed content download is placing a link to an HTTP site on a Salesforce HTTPS page. This is related to Insecure downloads in Chrome.

Convert the Read Only Standard Profile to a Custom Profile (Update in Summer ‘21)

 This update converts the Read Only standard profile to a custom profile. After the update is enforced, you can edit permissions in this profile as your business needs require.

The Read Only Profile Is No Longer Available in New Salesforce Orgs

Salesforce orgs created in Spring ’21 and later don’t have the Read Only standard profile.

Enable HTTPS on Your Domains

Needs to redirect the public site HTTP URLs to HTTPS

Make sure to check all the sites and Sessions settings – The checkbox Require secure connections (HTTPS) for all third-party domains should be checked.

Chandra V – 01/11/2021

How to resolve? This page has an error: Sorry to Interrupt

This page has an error. You might just need to refresh it. AuraClientService.postProcess: error in processing [Maximum call stack size exceeded].

As per the document, it is recommended to use different names for the client side and server side methods/actions.

Use unique names for client-side and server-side actions in a component. A JavaScript function (client-side action) with the same name as a server-side action (Apex method) can lead to hard-to-debug issues.

So all you need to do here is, change your client-side controller’s method getAccountRecords to something like getAccountRecordsData.

Yeshas K.

Deleting Related Records

The delete operation supports cascading deletions. If you delete a parent object, you delete its children automatically, as long as each child record can be deleted.

For example, deleting the account you created earlier (SFDC Account) will delete its related contact too.
Execute this snippet in the Anonymous Apex window of the Developer Console.

Account[] queriedAccounts = [
SELECT Id
FROM Account 
WHERE Name='SFDC Account'
];
delete queriedAccounts;

Check the accounts and contacts in your org.
You’ll see that both the account and its related contact were deleted.

Yeshas K

Reset Password from Developer Console

There are instances where Reset Password option gives trouble and we do not receive the Email Link to reset the password.

Here is the best solution to directly reset the password from Developer Console itself..

Open Execute Anonymous Window and run the below command:

System.setPassword(UserInfo.getUserId(), ‘YourNewPassword’);

This should help in resetting the password instantly.

Chandra V[09-10-2019]

SoqlXplorer

Here, I would like to tell you about a new tool I have been using these days for enhanced querying through all the objects in the environment.

Steps to use this tool and make your querying quick through any field and condition.

Link to download the tool:

https://www.pocketsoap.com/osx/soqlx/

Step 1:

Login into the Sandbox that you would like to query on objects

After logging in, To the left hand side we can see all the objects. Need to double click on the object we want and we can see all the fields present in the object.

As per our requirement, we should enhance the query and add the conditions to get the results on the fields by clicking on query at the bottom.

Hope this tool helps in improving the querying time and checking the values on the fields.

-Chandra [07/28/2019]

Determine whether the Lightning component is in Lightning Console Or Normal App And Adding Icon and label to Tab

<cmp>
<aura:component >
    <!-- Console Api Library -->
     <lightning:workspaceAPI aura:id="workspace" />
    <aura:attribute name="Isconsole" type="Boolean" default="false" />
    
   <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
</aura:component>

Javascript:-
({
	doInit : function(component, event, helper) {
        var workspaceAPI = component.find("workspace");
            workspaceAPI.isConsoleNavigation().then(function(response) {
              console.log('Isconsole'+response);
                component.set("v.Isconsole",response);
                if(response){
                     workspaceAPI.getFocusedTabInfo().then(function(response) {
                        var focusedTabId = response.tabId;
                        workspaceAPI.setTabLabel({
                            tabId: focusedTabId,
                            label: "Edit"
                        });
                        workspaceAPI.setTabIcon({
                                    tabId: focusedTabId,
                                    icon: "utility:edit",
                                    iconAlt: "Edit Tab"
                        });
                    })
                    .catch(function(error) {
                        console.log(error);
                    });
                }
             })
	}
})

Use the Isconsole attribute and Do the Navigations accordingly .

Resource: https://developer.salesforce.com/docs/atlas.en-us.api_console.meta/api_console/sforce_api_console_methods_lightning.htm