Monday, 22 January 2018

Spring 18 Release Notes My Favorite

Spring 18 Release Notes My Favorite

Hello Friends , Today I am going to talk about the what new features we are getting in Spring 18 Salesforce Release.

1. No need to set cookies to enable debug log for site guest user: In winter 17 salesforce made some changes, that to store Site guest user’s debug. We need to set the Cookies in browser using console(Browser) . Now it is removed , we do not need to set cookies to enable debug log for site guest user.

2. New Methods in List class :  Now we can check that an element is already exist in a list or not . and also we can find index of an element.

contains method :
List<String> listOfString = new List<String>(); listOfString.add(‘arpit’); system.debug(listOfString.contains(‘arpit’)); Output : True

IndexOf method :
List<String> listOfString = new List<String>(); listOfString.add(‘arpit’); system.debug(listOfString.indexOf(‘arpit’)); Output : 0
3.Einstein Language is now generally available: As Einstein Language is generally available we can analyze text and determine the user’s goals or the sentiment behind text. The Einstein Intent API categorizes unstructured text into user-defined labels for better understanding what users are trying to accomplish. This API can be used to analyze text from emails, chats, or web forms. The Einstein Sentiment API categorize text into positive, negative and neutral classes to understand feelings behind the text. It can be used to analyze social media post, feedbacks for services etc.

4. Use custom metadata type in validation rule formula : Now you can use custom metadata type in formula when create validation rule.


5. Delete Big Object Data(Using SOAP API): In my last post on Big Object In Salesforce , I mentioned that we cannot delete records from the big object. But now In Spring 18, we can delete records from Big objects too using Database.deleteImmediate() Method.
Declare a sObject, that contains all the fields of Big object’s index field. All row  matches with index values will be deleted.

6. Alert Users Before They’re Redirected Outside Salesforce: In quick find box search Session Setting. Under Redirection, Warn users before they are redirected outside of Salesforce. It’s done, when users click on any link inside org that redirect him outside the org, they see a warning that they are leaving the salesforce domain.

7. Upload Files Directly from a Flow : Now we can attach file with flow, with the help of lightning component. forceContent:fileUpload need to use this field and it’s configuration. It works only with lightning flow.

Upload a file from Flow.

8. Verify Community External Users’ Identity: Whenever a community user access community site form a new device or browser, we can verify his identity as an extra measure of security.
In Quick find box search profile, edit profile of external user, under session setting, select Verify identity when external users access Salesforce from new browser or device (device activation).

Profile showing Session Settings area

9. Generate Leads from LinkedIn: Automatically convert data into salesforce linked from LinkedIn Lead Gen advertisements. When prospective customers fill out a form on your LinkedIn ad. You can add up to 500 leads per day from linkedIn. If you exceed the limit, we will mail the additional leads to the default lead creator you defined in Setup.

10. Start Flows Dynamically from Apex : Earlier you could start a flow from apex, but you had to hardcode name of flow. Means for every flow you need to write different method . with createInterview() , you can write single method to call flow.
public void startFlow(String flowName, Map <String, Object> inputs) { Flow.Interview myFlow = Flow.Interview.createInterview(flowName, inputs); myFlow.start(); }

11. Delete Field History and Field Audit Trail Data : Delete from Field History Archive can be enabled now. In Quick find box , Search User Interface, and enable the permission ‘Enable Delete from field history and Delete From Field History Archive User Permission’.
List<FieldHistoryArchive> listOfFieldHistory = new List<sObject>(); listOfFieldHistory.addAll([SELECT FieldHistoryType, ParentId, CreatedDate, HistoryId FROM FieldHistoryArchive WHERE FieldHistoryType = 'Account' AND ParentId = '001d000000Ky3xIAB' AND CreatedDate = '2017-11-28T19:13:36.000z' AND HistoryId = '017D000000ESURXIA5']); Database.delete(listOfFieldHistory);

1 comment:

  1. Once again very nice blog Arpit, waiting for more blogs like this :)