New analysis in Salesforce Optimizer Reports

New analysis in Salesforce Optimizer Reports – Summer’17 release

What is Salesforce Optimizer? Optimizer evaluates your implementation to determine how your company uses certain Salesforce features, then identifies ways that you can improve your implementation for your company.

Optimizer provides analysis report on Storage, Fields, custom code, Custom Layouts for objects, Reports and dashboards, validation rules, sharing rules, workflow rules, User Management and profiles and permission sets.

Below are the additional items added to Salesforce optimizer reporting with summer’17 release.

   – File storage limits

   – Data storage limits

  – New Apex and visualforce code that’s running out-of-date API versions

   – Page Layouts that are not assigned to record types and record types that are not added to profiles

   – Roles that are not assigned to roles.

   – User who access Salesforce on unsupported browsers

   – Checks for reports and dashboards that have not been run more than a year.

Hide Option to Switch to Salesforce classic

Hide Option to Switch to Salesforce classic – Summer’17 feature

Hide Option to Switch to Salesforce classic, Salesforce has provided this feature in Summer’17 to hide Switch to Salesforce classic option in setup menu.

To enable this, go to profiles and permission sets and enable “Hide Option to Switch to Salesforce classic” permission. We can enable this if we are ready to enable lighting version without looking back to salesforce classic version.

Generally, when we enable lightning version, users will get switcher option to switch between two user interfaces (Salesforce classic and lightning). If you want some users or all users stick to lightning version, you can use this feature to remove switcher.

Below are considerations we must keep in mind when we enable this feature.

If users access features that aren’t available in Lightning Experience, they temporarily access Salesforce Classic in a new browser tab, even though the permission is enabled. They use Salesforce Classic only as long as they’re using a feature that’s not available in Lightning Experience.

The permission doesn’t affect the full site link in the Salesforce1 mobile browser app. Salesforce1 users always switch to the Salesforce Classic version of the full site, regardless of the interface they see from desktop devices.

Refer salesforce summer’17 release notes for more details.

Filed history related lists in Lightning experience

Filed history related lists in Lightning experience – Available with Summer 17 release

Filed history related lists in Lightning experience, With Summer’17 release Field history related lists in lightning experience are available. This was not available in lightning experience before summer’17 release.

If Field history related lists are already added in salesforce classic version, those are available in lighting version as well with salesforce summer’17 release. If field history related list is not added, you can add this related list to your layout in lighting version.

If you want to enable field history tracking on lightning version, go to object manager, select an object, click on fields and relationships, click field history tracking and select the fields to track and finally add object history related list to page layout.

For more details on this refer salesforce summer’17 release notes.

VisualforceAccessMetrics object – Summer’17

VisualforceAccessMetrics object – Access visualforce metrics using SOAP API

VisualforceAccessMetrics object, Salesforce providing this object to query metrics on the visualforce pages. We can use this object in salesforce SOAP API.

Example Query:

SELECT ApexPageId,DailyPageViewCount,Id,MetricsDate FROM VisualforceAccessMetrics

About fields of this object:

DailyPageViewCount field: This field is type of integer and it stores daily page view count.

MetricsDate: This field is type of date and the date the metrics were collected.

ApexPageId: ID of the tracked visualforce page.

This object supports count(), query() and retrieve() calls.

Using this we can track,

– Number of views each Visualforce page in your org receives in a 24-hour
time period.

– To find out how many views a page got over the course of multiple days, we can query multiple VisualforceAccessMetrics objects for the same ApexPageId.



WITH SPELL_CORRECTION and WITH HIGHLIGHT clauses in Summer’17 for SOSL (Salesforce Object Search Language): Below are the two more SOSL clauses available in salesforce with Summer’17 release (API version 40).




This is an optional clause that can be added to a SOSL query for business account, campaign, contact, lead, opportunity, quote, user and custom object searches. It highlights the terms matching the search query in search results, making it easier to identity relevant content.

This clause was available for business account, campaign, contact, lead, opportunity, quote, user object with version 39 or later. It is also available for Custom object and fields with version 40 or later.

Highlighted search terms are generated only from the following standard and custom field types:

Auto number, Email, Text, Text Area and Text Area (Long).


FIND {stutorials} IN ALL FIELDS RETURNING Account(Name,Description) WITH HIGHLIGHT

Above SOSL statement returns search results with search item stutorials highlighted.

Important notes about WITH HIGHLIGHT clause:

– Only 25 records per entity per SOSL query are highlighted.

– Search teams that contains a wildcard are not highlighted.

– Other objects that are included in searches that contain WITH HIGHLIGHT don’t return highlighted search terms.

– This clause in SOSL is supported in SOAP API and REST API.


– This is an optional clause that can be added to a SOSL query.

– When it set to true, spell correction is enabled for searches that support spell correction. When it set to false, spell correction is not enabled. Default value is true.

– This clause is available with version 40 or later versions.



– This clause in SOSL is supported in SOAP API, REST API and Apex.

New and changed standard objects in Salesforce summer’17

New and changed standard objects in Salesforce summer’17

With Salesforce summer’17 release we can access more data objects in salesforce. Below is the list of new and changed objects available with Salesforce Summer-17 release.

New Objects:

CampaignHistory, ContentBody, ContentWorkspaceMember, ContentWorkspacePermission, ForecastingDisplayedFamily, VisualforceAccessMetrics, MaintenanceAsset, MaintenancePlan, ProductRequest, ProductRequestLineItem, ProductRequestFeed, ProductRequestHistory, ProductRequestOwnerSharingRule, ProductRequestShare, ProductTransfer, ProductTransferFeed, ProductTransferHistory, ProductTransferOwnerSharingRule, ProductTransferShare, Shipment, VoiceMailMessage, VoiceMailMessageShare.

Changed Objects:

BusinessHours, ContentDistribution, ContentNote, ContentVersion, ContentWorkspace, EmailTemplate, EventLogFile, LoginEvent, NetworkActivityAudit, Quote, QuoteLineItem, SlaProcess, WorkOrder.

To know more about these changes, you can refer Salesforce summer-17 release notes.

How to access metadata from APEX?

How to access metadata from APEX? – Summer’17 release feature

Access Metadata from Apex, What is metadata in salesforce? In Salesforce, if you create object, field, class, page, trigger and any other component type which represents org configuration and customization will be stored in the form of metadata. We can access this metadata by using Metadata API. With Summer’17 Salesforce release, we can use classes in the metadata name space to access metadata components from Apex Code.

As per the salesforce release notes documentation, Access metadata from your Apex code to handle below tasks.

Customizing app installs or upgrades: During or after an install (or upgrade), your app can create or update metadata to let users configure your app.

Customizing apps after installation: After your app is installed, you can use metadata in Apex to let admins configure your app using the UI that your app provides rather than having admins manually use the standard Salesforce setup UI.

Securely accessing protected metadata: Update metadata that your app uses internally without exposing these types and components to your users.

Creating custom configuration tools: Use metadata in Apex to provide custom tools for admins to customize apps and packages.

This feature (Metadata access in apex) is currently limited to custom metadata records and page layouts. We can retrieve, create or update custom metadata but we cannot delete metadata through Apex.

– Use Metadata.Operations class to retrieve and deploy metadata.

– Use the Metadata.Operations.retrieve() method to synchronously retrieve metadata from the current org.

-Use the Metadata.Operations.enqueueDeployment() method to asynchronously deploy metadata to the current org.

Refer Salesforce Apex developer guide to know how to use this feature.