Salesforce Winter 16 – Top features

You can watch recording of my live stream channel as well to know more on Winter 16 features. Powerpoint presentation used in livestream can be accessed from here.

Salesforce Winter 16
Salesforce Winter 16

1. Object Manager

Objects are objects, even if they are standard or custom objects. Salesforce simplified navigation to access Objects, we can access it now from “Object Manager” menu in setup.

Object Manager - Salesforce Winter 16
Object Manager

2. Lightning App builder to edit record page layout (pilot)

“Lightning App builder” should be enabled first to use this feature. We can use lightning components developed in Org or from AppExchange and change new lightning layout by using intuitive, drag and drop page layout editor.

Lightning App builder - Record page edit - Salesforce Winter 16
Lightning App builder – Record page edit

3. Rollup Summary field limit increased from 10 to 25

4. Restricted Picklist (Pilot)

Using Apex , Dataloader or any other API , it is possible to save any other value than allowed value in picklist field.  This future will enforce data integrity and result in error if other than allowed value selected in DML operation.

Restricted Picklist - Salesforce Winter 16
Restricted Picklist

5. Global Picklist (Pilot)

Using this feature, now we can have master picklist across Org and then reuse it in other Picklist fields. This is very useful feature if multiple picklist have same value and need to be in synced all the time.

Global Picklist - Salesforce Winter 16
Global Picklist

6. Writable External Objects

Before this release, external objects from Lightning Connect were read only. Winter 16 added support for Create, edit and delete operations for External Objects. Now with Lightning connect not only we can read external data source but also perform DML operations.

Writable External Objects - Salesforce Winter 16
Writable External Objects

7. Separate loading of related list of external Objects

External Objects created via Lightning connect can be used like normal Custom object in Salesforce. We can add it as related list for any Standard or Custom object. As Lightning connect gets record from external system real time using ODATA protocol, it might be slow sometimes because of network traffic. In Winter16, now we have setting where we can say that external object related list should be loaded asynchronously without blocking or making parent record page slow.

Separate loading of related list of external objects - Salesforce Winter 16
Separate loading of related list of external objects

8. Process builder – Schedule multiple action

Now from Winter 16, we can have multiple Schedule allowed in process builder. It was limited to only 1 schedule before this release.

Multiple Scheduled action in Process builder - Salesforce Winter 16
Multiple Scheduled action in Process builder

9. SOQL – Bulkified Process builder

Before Winter 16 – Process builder issued 1 SOQL internally for each record, so in batch size of 200 records, 200 SOQL were hitting and therefore ended with limit error. In Winter 16 – SOQL query is bulkified till 20k character limits.

10. Lookup field on Activity Object

We had WhoId and WhatId before. Now from Winter 16, we can have custom lookup field as well in Activity Object. It is going to be very useful in many situation. I remember there are many questions around it on Stackexchange and developer forums, pretty sure admins and developers would be very happy from this release item.

11. File related list

Whenever we upload chatter file in record feed, it will be consolidated in “File” related list now. It would be easy to get information about all files posted through chatter for that record.

12. Broadcast Chatter group (Pilot)

Now we can create a Chatter group where only intended users can post messages and remaining users in group can add comments. This type of group is very useful for announcements and avoid off topic discussions.

13. @Mention records to Group

From Winter 16, we can @Mention Chatter group for any Salesforce record. Any user of chatter group having access to record will be able to see that chat. “Records” section is newly added in chatter group as shown in below image which shows list of all records shared with group.

Mention record to Chatter Group - Salesforce Winter 16
Mention record to Chatter Group

14. Mute Chatter Post – Salesforce classic only

There are many scenarios where we need to archive chatter messages but there were no way. Let’s take an example : We have chatter bot implemented in Salesforce Org which checks SLA periodically and shouts for users who are going to miss it. User gets that chatter feed and acts accordingly. That chatter post is still on users wall, they don’t want to delete it but what should do so that they should not appear on user’s wall. I had almost same requirement last month and asked client to wait for this feature, they are happy and I am happy 😉

Chatter Mute - Salesforce Winter 16
Chatter Mute

15. Global Search

Previously , If you wanted to include any object in global search, we had to create tab. From Winter 16, even if we have Tab and don’t want to include that object in global search, we can control it from Object edit page.

Global Search setting in Object edit page - Salesforce Winter 16
Global Search setting in Object edit page

16. Apex Hammer

Internal Test cases run by Salesforce before each release for our Org are available now. Data Silo in below diagram means Test classes with @SeeAllData=false. You can read more about it here.

Apex Hammer - Salesforce Winter 16
Apex Hammer

17. Rich-text in Chatter

Now we can use Rich-text in chatter post as shown in below image. Please note that this is available only in Classic Salesforce.

Richtext in Chatter post - Salesforce WInter 16
Richtext in Chatter post – Salesforce WInter 16

18. Auto Activate Sandbox

That’s right. We don’t need to explicitly activate sandbox which is just refreshed, you can choose to auto activate it, very simple but important addition in this release.

Auto Activate Sandbox - Salesforce Winter 16
Auto Activate Sandbox

19. Choose which test to run in Change set

  • Default : Keeps the default behavior for all tests. In sandbox, no tests are executed. In production, all local tests are executed if your change sets contain Apex classes or triggers. Local tests are all tests, except the ones that originate from managed packages. If your package doesn’t contain Apex components, no tests are run.
  • Run Local Tests : All tests in your organization are run, except the ones that originate from installed managed packages. This test level is the default for production deployments that include Apex classes or triggers.
  • Run All Tests : All tests in your organization are run, including tests of managed packages.
  • Run Specified Tests : Only the tests that you specify are run. Provide the names of test classes in a comma-separated list.

20. Ability to write Trigger on ContentDistribution or ContentDocumentLink

The ContentDistribution object represents a file shared externally. A ContentDocumentLink represents a file shared with an internal object, such as a user, group, or record.

The ContentDocumentLink object supports triggers before and after these operations: insert, update, delete. The ContentDistribution object supports triggers before and after these operations: insert, update, delete. It supports triggers after undelete.

Some common use cases for content triggers are:

  • Publish content to multiple libraries.
  • Prevent sharing specific files or specific file types.
  • Deliver content to certain users, profiles, or groups.
  • Deliver content only if external sharing is allowed.
  • Verify that the latest version of a file is shared.

21. Setup Audit Trail Object

To know who changed metadata, we dont need to scrap from CSV file. We can simply query newly added Object accessible to Admins and developers – “SetupAuditTrail”

Setup Audit Trail - Salesforce Winter 16
Setup Audit Trail

22. Support of PageReference.getContent() in Asynchronous Apex

Now, we can call getContent() method on Visualforce page from Asynchronous apex. To know more abou it, please visit this post.





6 responses to “Salesforce Winter 16 – Top features”

  1. Amol Avatar

    Awsome post !!!

    I have one question about apex test run of change set.

    How does apex code coverage gets calculated? Does it considers all test classes of org as earlier or only consider coverage of selected tests?

    1. Jitendra Zaa Avatar

      Excerpt from release doc :

      Code coverage requirements differ from the default coverage requirements when using this level in production. The

      executed tests must cover the class or trigger modified in your change sets with a minimum of 75% code coverage. This

      coverage is computed for each class or trigger individually and is different from the overall coverage percentage.

  2. Pritam Shekhawat Avatar
    Pritam Shekhawat

    Thanks for sharing this . Very useful as usual. I have one query regarding Lightning App builder to edit record page layout (pilot) . I already enable this in my developer org and i am using Lightning UI but i didn’t get any option under setup to edit this in Lightning . Is this not available for developer org or i missing something ?

    1. Jitendra Zaa Avatar

      It should be available in Developer Org. In Setting, make sure “Lightning App builder” is enabled. When you will visit record, it will appear in Setup option (Not in edit option of record), check screenshot where it will appear.

      1. Pritam Shekhawat Avatar
        Pritam Shekhawat

        Yes that is already enable for me and i cross verified under setup but it’s not there. For me this is available in pre release trail dev org but not there in my developer org. Any suggestions ?

  3. Angad Pathak Avatar
    Angad Pathak

    Nice post !

    Like Auto Activate Sandbox,Lookup field on Activity Object feature the most.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.