Salesforce Summer \’18\’ Lightning features

Table of Contents

#LightningExperience

  1. Lightning Experience — Personalize the Navigation Bar in Less Time

Salesforce made it easier for users to personalize their navigation in Lightning apps. Your users can get back to work in no time with an enhanced user interface. Or, users can simply drag items around the navigation bar to where they want them to quickly adjust the order.

Where: This change applies to Lightning Experience in Professional, Enterprise, Performance, and Unlimited editions.

Why: In the enhanced navigation bar editor, it’s easier to search through favorites or all available items to select what to add. The new editor minimizes the need for users to use temporary tabs.

How: Drag items around the navigation bar to reorder. Want to make more changes? Click the pencil icon on the navigation bar to get started.

Click Add More Items.

If you don’t want your users to personalize the navigation bar for a specific app, you can disable personalization. From Setup in Lightning Experience, go to the App Manager. Edit the desired app. On the App Options page, select Disable end user personalization of nav items in this app. Users can’t change the navigation bar when you disable personalization or if it’s a Salesforce Classic app.

2. Lightning Experience — List View Make Inline Edits While Using Filter Logic

Inline editing and filtering logic come together to make your list views more powerful. No setup needed! In Lightning Experience, you can start making inline edits to your list views that use filter logic right away. A few exceptions: Inline editing doesn’t work for multi-record type list views or when the field isn’t editable. Salesforce Classic doesn’t support inline editing with filter logic.

Where: This change applies to Lightning Experience for Essential, Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.

3. Lightning Experience — Organize Records with Topics

Topics provide a way to organize records by theme. Now you can use topics on records in Lightning Experience by adding the Topics component to record pages. Topics are automatically enabled for all available standard objects. If you used topics on records in Salesforce Classic, after you add the Topics component, your users see previously added topics on the same records in Lightning Experience.

Where: This feature is new in Lightning Experience in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.

Why: Your users can use topics to provide information about what they’re seeing in the field and from their customers. For example, if support agents are interested in communications standards, they can add the Communications Standards topic to any file that includes communications information. They can add the same topic to cases, contacts, or any other record where they want to include the communications standards theme. After you add the Topics component to record pages, users can easily view, add, and remove topics from records.

Topics on records become links to topic detail pages. If Chatter is enabled, the topic detail page shows posts and comments with the same topic.

How: Create a record page for Lightning Experience, and add the Topics component. You can also add the Topics component to existing record pages. You can configure the title, the placeholder text that appears in the topic editor, and the number of topics shown before the Show More link appears.

For more insight into how your org is using topics on records, create a custom report type with Topic Assignments as the primary object.

4. Lightning Experience — Search the Object You Want Easily from Anywhere

When you want to search an object, cut the clutter, and see results only for what you’re searching for, from anywhere in the app. Choose any searchable object in the dropdown list next to the global search box. Enter your search term, and both instant results and full search results are limited to that object.

Where: This change applies to Lightning Experience in all editions.

Why: Searching by object type isn’t new, but we made it easier and faster. You no longer have to type an object name and choose Limit search to from the dropdown. Now you can focus your search to any searchable object simply by choosing or typing the object name in the dropdown.

The objects you use most frequently are at the top, followed by the full list of searchable objects in alphabetical order.

5. Lightning Experience — Filter Search Results for More Objects

So many opportunities (or leads or contacts) with similar names, and so little time to find the one that you’re looking for. Now, in addition to accounts and files, you can now filter search results for opportunities, leads, contacts, cases, tasks, notes, dashboards, and people.

Where: This change applies to Lightning Experience in all editions.

Why: Sometimes a keyword search only gets you so far. Narrow down results further by selecting a supported object on the left side of the search results page and then applying filters.

How: From Setup, in the Object Manager, go to Search Layouts for each object. Add the fields that users want to filter to the Search Results layout. Supported field types are checkbox, phone number, picklist, text, and URL. You can’t filter encrypted fields.

When you don’t select an object, search works as usual, returning matches from different objects as you type. The Top Results page then shows you the most relevant matches from your most frequently used objects.

#LightningEssentials

1. Lightning Essentials — Use Custom Sales Stages for Increased Productivity

With custom stages, your sales reps get the information they need to close deals, secure investments, and finish projects faster.

Where: This change applies to Sales Cloud Lightning Essentials.

How: Click

, and select Basic Sales Setup. Click Map Out Your Sales Path in Recommended Setup.

Why: Custom stages give your reps just-in-time guidance to close deals fast or bring your next project to a successful completion. Select a template or create your own to give your customers a consistent sales experience and ensure reps have what they need to be successful .

2. Lightning Essentials — Eliminate Duplicate Records

Help your reps keep on selling while Salesforce does the record keeping. Now, that Duplicate Management is available for Sales Cloud Lightning Essentials, you can keep your data clean automatically. By eliminating duplicate records, your teams can trust that sales data is up-to-date and your company can trust that your customer database is accurate.

Where: This change applies to Sales Cloud Lightning Essentials.

Why: Duplicate Management automatically merges duplicate contacts, accounts, and leads into a single record.

How: Duplicate Management is available to all sales reps on Sales Cloud Lightning Essentials with a standard set of matching rules. Then, reps are alerted when they create or edit a duplicate record. If you’d like, you can customize your rules to match your business needs.

See Also

3. Lightning Essentials — Update Dependent Picklists from Path

Dependent picklists no longer block reps from moving smoothly along a Path. If the next step has dependent fields, reps can access and update all dependent fields when updating a record from a Path.

Where: This change applies to Lightning Experience in Essentials, Groups, Professional, Enterprise, Unlimited, Performance, and Developer editions.

How: Reps are prompted to update dependencies when they move a record to a step that has them.

4. Lightning Essentials — Build Flows and Processes in Service Essentials

Automate your service processes with up to five active flows and five active processes. Keep in mind that flows can integrate with other features, such as Apex and Communities, that aren’t supported in Essentials.

5. Lightning Essentials — Customize Salesforce with a New Setup App

With an easy-to-follow progress bar, customizing and setting up Salesforce is simpler and faster than ever.

Where: This change applies to Sales Cloud Lightning Essentials.

How: Access the Setup App from Lightning Essentials Home page. Click gear icon and select Basic Sales Setup.

#Communities

1. Communities — Customer Service (Napili) Has a New Name

As part of the evolution and expansion of community templates, Customer Service (Napili) is now called Customer Service.

Where: This change applies to Lightning communities, accessed through Lightning Experience and Salesforce Classic. Communities are available in Enterprise, Performance, Unlimited, and Developer editions.

2. Communities — 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.

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

3. Communities — Access Field Service Data in Lightning Communities

Add any field service object to your Lightning community to share records with your partners, contractors, and customers. Previously, only work orders, work order line items, and service appointments were available in Lightning communities.

Where: This change applies to Lightning and Salesforce Tabs + Visualforce communities accessed through Lightning Experience and Salesforce Classic, and all the flavors of the Salesforce mobile app. Communities are available in Enterprise, Performance, Unlimited, and Developer editions.

How: To learn more, see Manage Field Service in Lightning Communities.

4. Communities — 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.

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

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

5. Communities — Allow Community Users to Create Cases with the Contact Support Button

We’ve added a standalone Contact Support Button component to Lightning Communities. Previously, you could only use the Contact Support Button coupled with the Ask Button component.

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

Why: You might prefer to keep these actions and buttons separate from a design perspective. The new Contact Support Button gives you the flexibility to place distinct calls to action in distinct parts of your community.

#Customization

1. Customization — Data Protection and Privacy — 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.

Where: This feature is available in Lightning Experience, Salesforce Classic, and in Enterprise, Performance, Unlimited, and Developer editions.

Why: For example, a departing sales rep or an external user leaving a community wants Salesforce to stop tracking their personal information. You invoke the System.UserManagement.obfuscateUser Apex method, which permanently scrambles the user’s data and replaces it with random character strings. The user’s detail page remains, but the fields contain meaningless strings of characters.

obfuscateUser() affects the standard fields of the user object, excluding a few fields, such as the user ID, time zone, locale, and profile.

Using this method doesn’t trigger an email change notification.

How: To enable this feature, in Setup, go to User Management Settings, and select Scramble Specific Users’ Data.

Then invoke System.UserManagement.obfuscateUser through Apex triggers, processes, workflows, or the Developer Console. This method changes only the user object. The association between the user and other objects is removed, but no other objects are changed. For example, contact, ThirdPartyAccountLink (TPAL), and user password authentication (UPA) objects remain unchanged.

It is recommended that you note the user’s ID and other attributes for post processing, such as the email address, if you want to send the user a confirmation.

This feature is part of our effort to protect users’ personal data and privacy.

2. Customization — Broken Components No Longer Break Lightning Pages

Having a broken component on a Lightning page used to prevent the page from displaying successfully. We fixed that! 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.

Where: This change applies to Lightning Experience and the Salesforce mobile app in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.

3. Customization — Track Time with the Time Field Type

The time field type tracks time that is not specific to a single date, such as preferred contact hours. Use it for time management, event planning, and project management. You can use the Time data type in formulas and for validation rules. This feature was a beta release in Spring ’18 and is now generally available with some improvements and enhancements.

Where: This feature is available in Lightning Experience, Salesforce Classic, and all versions of the Salesforce app.

Why: The time field type is a timestamp minus the date. Use it for tracking things like business operating hours. For example, you can display a hotel’s available check-in and check-out times.

4. Customization — Use a Formula to Set a Predefined Value for a Picklist Field on an Action

We doubled the ways you can set a predefined value for a picklist field on a quick action. You can specify an item from the set of picklist values, or use a formula to set a second predefined value. If you’re hesitating to move to Lightning Experience because you’re using JavaScript to set predefined field values, that roadblock is now gone!

Where: This change applies to both Lightning Experience and Salesforce Classic. This change is available in Essentials, Group, Professional, Enterprise, Performance, Unlimited, Contact Manager, and Developer editions.

How: You can use a formula to set a predefined value only for single-select picklist fields. When you set both kinds of predefined values, a valid formula value takes precedence over the specific value when the quick action is invoked.

5. Customization — Override the Sender for Approval Request Email Notifications

By default, the sender for email notifications about approval requests is the user who submitted for approval. Now you can override the sender with an organization-wide address, like [email protected], from your process automation settings.

Where: This change applies to both Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, Contact Manager, and Developer editions.

#Development

1. Development — 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.

Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

How:

The syntax is:

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
}
when else { // when else block, optional
// code block 4
}
}

The when values can be single values, multiple values, or SObject types. For example:

when value1 {
}

when value2, value3 {
}

when TypeName VariableName {
}

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. Development — 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.

Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

Why: 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.

For example, consider the following query.

Integer countOfContacts = [SELECT COUNT() FROM Contact WHERE Account.Name = ‘Edge Communications’];

Previously, the number of records matched by this query counted toward the limit. Now this query counts as only one query row toward the limit.

The following query uses the COUNT(fieldName) function. Previously, the number of rows returned counted toward the limit, but now this query counts as a single query row.

AggregateResult ar = [SELECT COUNT(AccountId) rowcount FROM Contact]; // Count contacts with an account only
Integer rowCount = (Integer)ar.get(‘rowcount’);

If a query that uses the COUNT(fieldName) function contains a GROUP BY clause, only the number of resulting AggregateResult objects count toward the limit. For example, in the query in the following example, only one item per aggregated result is counted toward the limit.

List<AggregateResult> res = [SELECT COUNT(id) FROM Contact GROUP BY AccountId];
System.assertEquals(res.size(), Limits.getQueryRows());

Previously, all the records matched by this query counted toward the query row limit.

3. Development — Lightning Component Library Is Generally Available

Tired of switching back and forth between the Developer Guide and the Component Library? Now, there’s one single source of truth for reference documentation. Find the documentation you need for components, interfaces, and events in the Component Library. We removed this information from the Lightning Components Developer Guide. Reference documentation for system tags is still available in the Lightning Components Developer Guide.

Where: You can find the Component Library at developer.salesforce.com/docs/component-library. The Component Library is also available as an authenticated experience athttps://<myDomain>.lightning.force.com/componentReference/suite.app, where <myDomain> is the name of your custom Salesforce domain.

Documentation for system tags, such as <aura:component>, and much more is in the Lightning Components Developer Guide at developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/.

In Spring ’18, we announced that reference documentation for interfaces is available in the Component Library. In Summer ’18, you also get reference documentation for events in the Component Library.

4. Development — 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.

Where: This change applies to orgs with Lightning components in Lightning Experience and all versions of the mobile app.

Why: In standard navigation Lightning apps, you can use the lightning:navigation component to navigate to a custom component that implements lightning:isUrlAddressable. Using lightning:navigation with pageReference provides the following benefits over the now deprecated force:navigateToComponent for standard navigation Lightning apps.

  • Gives you control over whether a component can be opened programmatically, and which attributes can be dynamically set when the component is opened.
  • Control and manage which URL parameters are used in your component.
  • Future-proofs your apps from changes in URL format.
  • Generates a user-friendly URL for these components.

A page reference is associated with a particular type, which provides a set of attributes that are applicable for all pages of that type. The following types are supported.

  1. Knowledge Article Page
  2. Lightning Component (must implement lightning:isUrlAddressable)
  3. Named Page
  4. Navigation Item Page
  5. Object Page
  6. Record Page
  7. Record Relationship Page

The lightning:isUrlAddressable interface enables you to generate a user-friendly URL for a Lightning component with the pattern /cmp/componentName instead of the base-64 encoded route you get with force:navigateToComponent. We recommend that you use lightning:isUrlAddressable instead offorce:navigateToComponent, which is now deprecated.

In Lightning console apps, you can open custom components that implement lightning:isUrlAddressable via openSubtab(), even from utilities.

5. Development — Lightning Quick Action and Salesforce Classic Publisher JavaScript APIs

Use the lightning:quickActionAPI component in your custom components to interact with quick actions on the page. The component calls the Lightning Quick Action JavaScript API methods and provides similar functionality to the Salesforce Classic Publisher JavaScript APIs, also known as the Case Feed Publisher APIs. If you used the Salesforce Classic Publisher JavaScript APIs, your Visualforce components and pages now work automatically in Lightning Experience. No need to rewrite your code.

Where: This change applies to Lightning Experience and Salesforce Classic in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.

How: There are a few differences between the Salesforce Classic Publisher JavaScript APIs and the new Lightning Quick Action JavaScript APIs.

See Also — Lightning Quick Action and Salesforce Classic Publisher JavaScript APIs

There a lot many other features as well, Official release notes are available HTMLformat as well as PDF file.

Oh hi there 👋
It’s nice to meet you.

Sign up to receive awesome content in your inbox, every month.

We don’t spam! Please check your mail for confirmation.

Leave a Comment

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

Select Language »