Saturday, October 6, 2018

Quick Highlights of the Winter ’19 Features

Connected Customer Experiences | Einstein | IoT

As we all know Salesforce announces Seasonal Releases three (3) times a year. Winter '19 release notes are now publicly available. Winter '19 release is coming with enhancements and new exciting features!.


Get Feedback from Users on switching back to Salesforce Classic

With Winter '19 release, you can now collect feedback to find out why users are switching back to Salesforce Classic.

Lightning Experience > Setup > Onboarding & Assistance

Lightning Experience Configuration Converter

With Winter '19 release, Salesforce has introduced Configuration Converter for JavaScript buttons move to Lightning Experience.

Note: The Lightning Experience Configuration Converter is a standalone tool outside of Salesforce.

Lightning Usage App

With Winter '19 release, you can now view page performance by browser, mobile, Salesforce Classic and Lightning Experience in Lightning Usage App.

Note: The Lightning Usage App is not available for sandbox orgs.

Close All Tabs Keyboard Shortcut

With Winter '19 release, use the Shift+w keyboard shortcut to close all of your unpinned tabs at once.

External Objects in Lightning Console

With Winter '19 release, External Objects are now supported in Lightning Console.

Visualforce Overrides in Console Apps

With Winter '19 release, Visualforce Overrides (new, edit, view, tab, list, and clone) are now supported in console apps.

Field History Tracking Data for 18 months ONLY

With Winter '19 release, Salesforce will retain field history tracking data for up to 18 months ONLY.

Salesforce will no longer retain field history beyond 18 months. To retain field history longer, you can purchase the Field Audit Trail add-on.

reCAPTCHA form in Web-To-Lead

With Winter '19 release, you can use reCAPTCHA verification form in Web-to-Lead process to avoid spam leads.

Retain Edit Rights for Previous Opportunity Owners

With Winter '19 release, you can now retain the Edit rights for the previous owner.

Salesforce Live Message

With Winter '19 release, Customers can now contact support center via Text Messages and Facebook Messenger to get their issues resolved. Read more exciting features of Live Message.

Live Agent Setup Lightning Experience

With Winter '19 release, Live Agent Setup is now available in Lightning Experience.

Einstein Bots with No Code Required

With Winter '19 release, you can now call Flows and Send an Email as Actions in Dialogs.

Salesforce Mobile Apps SDK Supports Einstein Bots

With Winter '19 release, the Snap-ins SDK for iOS and Android now includes Einstein Bot support.

Create Cases in Salesforce from YouTube comments

With Winter '19 release, you can now connect YouTube channel directly to Service Cloud. You must have a Social Studio account to sync your YouTube account.

Service Cloud Mobile App

With Winter '19 release, Android and iOS versions of Service Cloud Mobile update to version 1.1.0. Service Cloud Mobile is now localised for your org’s default language. Also ability to post Salesforce Files to the case feed is now available in Android as well.

New Template "Help Center" in Communities

With Winter '19 release, you can create a public self-service help center and make knowledge base public for your customers.

Custom Metadata Types

Reference Custom Metadata Types in Advanced Formula Fields

With Winter '19 release, you can now reference custom metadata type records in an advanced formula field.

Edit Custom Metadata Type Records in Memory within Apex

With Winter '19 release, you can now instantiate and edit custom metadata records in memory within Apex. DML operations aren’t allowed on custom metadata in Apex. For DML operations, you have to use the Apex Metadata API.


Mark Apex Methods as Storable (Cacheable)

With Winter '19 release, you can now use Apex method as storable (cacheable) instead of using setStorable() on every JavaScript action.

To cache data returned from an Apex method for any component with an API version of 44.0 or later, annotate the Apex method with @AuraEnabled(cacheable=true)

public static Account getAccount(Id accountId) {
    // your code here

Fire Platform Events from Batch Apex Classes (Beta)

With Winter '19 release, you can now fire Platform Events from Batch Apex Classes. This is currently a Beta feature.

To fire a platform event, a batch Apex class declaration must implement the Database.RaisesPlatformEvents interface.

public with sharing class YourSampleBatchJob implements Database.Batchable<SObject>, Database.RaisesPlatformEvents
   // your code here


Use Inherited Sharing to Secure Apex Code

With Winter '19 release, you can now specify the inherited sharing keyword on an Apex class, which allows the class to run in the sharing mode of the class that called it.

public inherited sharing class InheritedSharingClass{
// your code here


Streamline API Calls from Apex Code

With Winter '19 release, you can now use the new System.Url.getOrgDomainUrl() method to interact with Salesforce REST and SOAP APIs in Apex code. You can now also use the updated System.UserInfo.getSessionId() method to retrieve session IDs, even when your code runs asynchronously.

Http h = new Http();
HttpRequest req = new HttpRequest();  
req.setEndpoint(Url.getOrgDomainUrl().toExternalForm() + '/services/data/v44.0/limits');
req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());

HttpResponse res = h.send(req);

Extend Functionality with the Callable Interface

With Winter '19 release, you can now use System.Callable interface enables you to use a common interface to build loosely coupled integrations between Apex classes or triggers.

Enterprise Messaging

High-Volume Platform Events (Pilot)

With Winter '19 release, Salesforce has made enhancements in high-volume platform events to publish and process millions of events efficiently.

Receive Streaming Events in Lightning Component

With Winter '19 release, you can now listen streaming events by embedding the lightning:empApi component.

Change Data Capture (Developer Preview)

Change Data Capture publishes change events, which represent changes to Salesforce records. Changes include creating a record, updating a record, deleting a record, and undeleting a record.


Securely Retrieve and Display Third-Party Images in Visualforce Pages

With Winter '19 release, you can now use the IMAGEPROXYURL function to securely fetch images outside Salesforce org’s server. 

<img src={!IMAGEPROXYURL("")}/>

<apex:image value="{!IMAGEPROXYURL("")}"/>

Improve Security by Isolating Untrusted Third-Party Content with iframes

With Winter '19 release, you can now isolate HTML static resources on a separate domain using iframes. 

To reference a static HTML file on a separate domain, use $IFrameResource.<resource_name> as a merge field, where resource_name is the name you specified when you uploaded the static resource.

URL Redirect Parameters Are No Longer Case-Sensitive

With Winter '19 release, URL parameters used in Visualforce pages—retURL, startURL, cancelURL, and saveURL—are no longer case-sensitive.


Use Modify Metadata permission to Access to Metadata (Beta)

With Winter '19 release, you can now use a new permission "Modify Metadata" that enable access to Metadata without enabling access to Data. This is currently a Beta feature.

Deploy Using REST

With Winter '19 release, you can now use the Metadata REST API with all deployments. You need to have the Modify Metadata permission (currently in Beta) or the Modify All Data permission to perform deployments.

Winter '19 release has lots of other exciting and interesting features but these are just few of them. Please read the Winter '19 release notes for details.

Useful Resources