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.
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.
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.
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.
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.
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.
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.
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.
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 😉
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.
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.
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.
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.
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”
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.