Apex · Lightning · Salesforce

Highlights from Summer ’18 release: Part II

We have come up with few more highlights of this Summer ’18 release notes. Hope you have gone through the first part Highlights from Summer ’18 release: Part I, if not, this is the right time check out the first part.

Lightning Communities:
  1. Improve Your Customer’s Community Experience with Progressive Rendering

Now you have finer control of your community’s first impressions with Progressive Rendering. You can specify in which order components are displayed when the page loads to optimize your site’s speed. For instance, have material at the top of a long page display first while content that isn’t in screen view loads later.

This feature is available in Lightning communities, accessed through Lightning Experience and Salesforce Classic. Communities are available in Enterprise, Performance, Unlimited, and Developer editions.

2. Create Business Solutions with Lightning Bolt Solutions

Build a Lightning Bolt Solution to jump-start new installations and publish customized business solutions. Whether it’s for your own orgs or you’re a consulting partner or ISV, a Lightning Bolt Solution lets you build and launch solutions quickly.

  • Use a Lightning Bolt Solution to create solutions to share or sell with other communities, orgs, or on AppExchange. A Lightning Bolt Solution is a powerful new framework to build and distribute industry-specific solutions. It speeds time-to-market so that you can rapidly deploy custom Lightning apps, business processes, and Lightning communities and portals.

Screenshot (74)

  • Add one or more custom Lightning apps, flows, Lightning Community templates, components, or pages to your Lightning Bolt Solution. If you want to include flows, organize them first into flow categories, and add the categories to your solution. You can distribute apps and flows without a community template, or include one when you want to apply a certain look and feel. Package your solution to publish it in other orgs or on AppExchange.

Screenshot (75)


3. Delete Audiences

With this feature you can delete the existing audiences from listing.This is to trim the existing list of audience to remove the unused or underused audience .. When you delete an audience, all the audience assignments are also deleted. Not sure whether the audience is still in use somewhere? We’ve got you covered. We show you all the places where the audience is assigned in your published and unpublished communities so you know what to expect.

4. Save Navigation and Tile Menu Changes as Draft

Previously, anything you added to your live community’s navigation or tile menus published immediately. Efficient, but it did make it a bit tricky to experiment with items or try out new ideas because they went live right away. There are some things that you just don’t want to go public. Now when you add items to the navigation or tile menus, they stay in a draft state until you are ready to publish. Changes to the navigation and tile menus publish along with everything else when you click Publish, and no sooner.

5. Use Activity Timeline in Communities

Now you can track your open activities and activity history with the activity timeline and view them from a record information tab in your community. The activity timeline is supported for accounts, campaigns, contacts, contracts, leads, opportunities, orders, quotes, and activity-enabled custom objects.

  • Track and manage all activities from your partner community using the Activity timeline

Screenshot (76)


6. Easier Login for Community Users with Identity Verification Methods Instead of Passwords

Give your community members, customers, and other external users the convenience of logging into your community with a verification code instead of a password. For example, have your external users log in with a code that you send in an email or text message. This feature is called password less login.

  • This feature is available only for users with an External identity or community license. Contact Salesforce Customer Support to use the SMS verification method (beta).
7. Expire Community Links in Welcome Emails

You know that handy link to the community that we send out in our welcome emails? Now you can determine how long that link is live. One day? Seven days? One hundred and eighty days? It’s up to you!

  • Select the amount of time you want the link to be live in Communities Settings.

Screenshot (77)


Lightning Component
  1. Postpone of apex without sharing update

Postponed “Use without sharing for @AuraEnabled Apex Controllers with Implicit Sharing” Critical Update This critical update, released in Spring ’18, was scheduled for auto-activation in Summer ’18, but has been postponed to Spring ’19.

2. Enable Debug Mode for Only the Users Who Need It

When debugging Lightning component JavaScript code, enable debug mode only for the users who are actively debugging to not affect the performance of Salesforce for other users of your org. Salesforce is slower when running in debug mode. Now you can debug
problems that appear in your production environment without worrying that other users will complain or even notice.

  • This change applies to orgs with Lightning components in Lightning Experience, Salesforce Classic, and all versions of the mobile
  • Any Salesforce user can enable debug mode for themselves. Salesforce admins and developers with access to Lightning components can enable debug mode as needed for any user in their org for debugging tasks.
  • In previous releases, debug mode was an org-wide setting. If you wanted to troubleshoot a problem for one user, the whole org needed to run in debug mode.
  • In this release, you can enable debug mode for individual users, without affecting the performance of Salesforce for other users of your org.

Screenshot (78)


3. New Lightning Navigation APIs for Lightning Components

With the lightning:isUrlAddressable interface, you now control which Lightning components can be opened programmatically. You can also now easily capture URL parameters using the v.pageReference attribute and use the parameter values in your component. With the lightning:navigation component, define a pageReference object for navigating to a custom component that implements lightning:isUrlAddressable and set any attributes the component allows.

  • This change applies to orgs with Lightning components in Lightning Experience and all versions of the mobile app.
  • In standard navigation Lightning apps, you can use the lightning:navigation component to navigate to a custom component that implements lightning:isUrlAddressable.
4. New and Changed Lightning Interfaces

New Interfaces

  • lightning:availableForFlowActions
    • Enables using a component’s client-side controller as an action in a flow
  • lightning:hasPageReference
    • Enables a component to include a pageReference object as an attribute. This interface is used by lightning:isUrlAddressable.
  • lightning:isUrlAddressable
    • Enables navigating directly to a component from a URL.
  • lightningsnapin:minimizedUI
    • Enables using a component as a custom Lightning page template for the snap-in when it’s minimized. For use with Snap-ins Chat only.

Deprecated JavaScript API Methods

These methods in AuraLocalizationService are deprecated.

  • getLocalizedDateTimeLabels()
  • isPeriodTimeView()
  • toISOString()
1. Lightning Experience Styling and Enhanced Security

Develop apps to customize your org using Visualforce. Changes in this release help you develop apps with the look of Lightning Experience and improve your pages’ security.

  • Style your Visualforce pages with the look of Lightning Experience when viewed in Lightning Experience or the Salesforce app. This attribute doesn’t change the styling when the page is viewed in Salesforce Classic.
  • To style your Visualforce page, set lightningStylesheets=”true” in the tag.
2. Lightning Experience Stylesheets Are Updated

The Visualforce page <body> element now includes the CSS scoping class slds-vf-scope when lightningStylesheets=”true” in the tag. The scoping class matches your content to the Lightning Experience UI. When the lightningStylesheets attribute is set to true, it overrides the standardStylesheets attribute.

<apex:page lightningStylesheets="true" applyHtmlTag="false" applyBodyTag="false">

<body class="slds-vf-scope">
<!-- Your SLDS-styled content -->
3. Enable Clickjack Protection for Visualforce Pages in the Salesforce Classic Console

If you disabled clickjack protection due to issues with Visualforce in the Salesforce Classic Console, including Salesforce Health Cloud, enable clickjack protection for your Visualforce pages. Previously, to use Visualforce pages in the Salesforce Classic Console, you had to disable clickjack protection for all Visualforce pages.

  • In most situations, you can simply enable clickjack protection for your Visualforce pages. However, you could have a problem if your network infrastructure includes certain proxy servers, most commonly a cloud access security broker (CASB) such as CipherCloud. If your proxy server isn’t configured correctly, it can block access to Visualforce pages in the Salesforce Classic Console.
  • If your proxy server is altering the URLs for requests to Salesforce, disable clickjack protection for Visualforce pages. Then configure your network infrastructure to correctly rewrite all URLs, including URLs in the X-Frame-Options HTTP header. After configuring the network infrastructure, re-enable clickjack protection for your Visualforce pages.


1. Simplify Your Code with the Apex Switch Statement

Apex now provides a switch statement that tests whether an expression matches one of several values and branches accordingly.

switch on expression {
when value1 { // when block 1
// code block 1
when value2 { // when block 2
// code block 2
when value3 { // when block 3
// code block 3
else { // when else block, optional
// code block 4
  • The switch statement evaluates the expression and executes the code block for the matching when value. If no value matches, the code block for the when else block is executed. If there isn’t a when else block, no action is taken.
2. Get the Developer Name for Record Types More Easily

We added Apex methods to help you get the developer name for record types more easily. Previously, the developer name was accessible only via SOQL on the RecordType SObject, and not via describe information.

You can use the following methods to get the developer name.

  • Schema.DescribeSObjectResult.getRecordTypeInfosByDeveloperName()
  • Schema.RecordTypeInfo.getDeveloperName()


3.  The SOQL Count() Function Doesn’t Count (As Much) Toward Limits

Apex limits the total number of rows that you can retrieve with SOQL queries. We improved the way queries that contain the SOQL COUNT() and COUNT(fieldName) functions are counted toward this limit.

  • Previously, each individual record matched by the SOQL COUNT() and COUNT(fieldName) functions counted toward the query row limit. So requesting a count could have a significant impact on governor limits, especially when working with many records. Now, if a query using one of these functions returns an integer, it only counts as one query row toward the governor limit. If a query using one of these functions returns an array of AggregateResult objects, only the total number of AggregateResult objects counts toward the limit.
4. Apex Code Size Limit Increased

The maximum amount of Apex code that you can use in an org has been doubled, from 3 MB to 6 MB. If your org was previously approved for an increase above 6 MB, it remains unchanged.

  1. Joined Reports Arrive in Lightning Experience (Beta)

Joined reports are perfect for analyzing Salesforce data across multiple report types (like Opportunities with Products joined to Cases with Assets) or getting multiple, simultaneous views of an object (like Closed Won Opportunities alongside Closed Lost Opportunities).



2. Export Reports, Keep the Formatting

Sometimes sharing your reports with others means exporting them to Microsoft® Excel®. When you export your reports, we ensure that the formatting you worked so hard on stays intact. The exported report also includes column summaries and totals.



3. Group Reports by Customized Date Granularity

Want to review the status of your customer accounts by fiscal quarter? Perhaps you want to take a closer look at opportunities generated this month. Now you can customize date granularity and group records by calendar or fiscal periods.



4. Configuration: Make Users’ Personal Data Unusable by Salesforce at Their Request

When users no longer want their personal data recognized in Salesforce, you can permanently scramble it with the new System.UserManagement.obfuscateUser Apex method. However, be careful using this method. When you invoke the method for that user, the data becomes anonymous, and you can never recover it.



Lightning App Builder
1. Broken Components No Longer Break Lightning Pages

Having a broken component on a Lightning page used to prevent the page from displaying successfully. Now broken components are dropped from the page when it renders. The page displays without them, and an error appears informing you of the broken component.

2. Show Earned Trailhead Badges with the Badges Lightning Component

Lightning developers can give their users a ready view of their accomplishments. Add the Badges Lightning component to user profile pages to show a user’s earned Trailhead badges. In production, the component picks up user identification from the user profile page, so no configuration is needed.



3. Recommend Actions and Offers to Lightning Users (Pilot)

Add the new Einstein Recommendations component to run a strategy that determines which propositions to display to your Lightning users. Propositions can serve any purpose, such as providing a common action or a special offer. When setting up a strategy, you can determine conditions for displaying a given proposition. This component is available as part of the Einstein Next Best Action pilot.


For complete reference to the release notes: Summer ’18 release notes

One thought on “Highlights from Summer ’18 release: Part II

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s