0% found this document useful (0 votes)
20 views333 pages

Salesforce Summer15 Release Notes

v

Uploaded by

Florent MALNOU
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views333 pages

Salesforce Summer15 Release Notes

v

Uploaded by

Florent MALNOU
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 333

Salesforce Summer ’15 Release

Notes
Salesforce, Summer ’15

@salesforcedocs
Last updated: September 2, 2015
© Copyright 2000–2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com, inc.,

as are other names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS

SALESFORCE SUMMER ’15 RELEASE NOTES . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


How to Use the Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Feature Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
General Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Communities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Sales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Work.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Data.com: Prospecting Insights, "Firmographic" Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Chatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Marketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Salesforce1 Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Deployment: Better Sandbox Performance, Testing, Migration . . . . . . . . . . . . . . . . . . . . . . 209
Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Security and Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Critical Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Doc Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Other Salesforce Products: Desk.com, Heroku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
SALESFORCE SUMMER ’15 RELEASE NOTES

Summer ’15 turns your reps into their own marketers with detailed activity tracking and tailored campaigns. You can easily preview
dynamic and personalized emails directly from Sales Cloud and Service Cloud. In the call center, you can deliver smarter service by
pushing the right cases to the right agents at the right time. And much more!

IN THIS SECTION:
How to Use the Release Notes
The release notes give you brief, high-level descriptions of new Salesforce features and enhancements to existing features. You also
get setup information, implementation tips to help you get started, and best practices to ensure your continued success.
How and When Do Features Become Available?
Some features in Summer ’15 affect all users immediately after the release goes live. You may want to communicate these changes
to your users beforehand so they are prepared. Other features require direct action by an administrator before users can benefit from
the new functionality.
Salesforce Overall: Easier Setup and Data Import
The new Setup Assistant makes it easier than ever to put Salesforce to work for your users. You can also import data more easily,
and you can do it from a Mac. And it's easier than ever to find the information you need in the Release Notes.
Analytics: More Value From Your Data, Fast
Wave, the Salesforce Analytics Cloud, enables everyone in your organization to get immediate access to powerful data insights
through its intuitive point-and-click visual interface. Whether you’re on a desktop browser or an iOS mobile device—even the new
Apple Watch™—you can get the answers you need from your data to run your business. Our latest round of features and enhancements
makes it even easier to get value out of your data, fast.
Mobile: Do More on the Go
For the Salesforce1 app, Summer ’15 is primarily focused on improving your sales reps’ mobile experience through performance
and trust improvements. There are other goodies for your users too, like streamlining workflow with a rich-text note-taking tool
(beta). Or growing revenue pipelines by converting qualified leads to contacts, complete with the ability to create new accounts as
part of the process (now generally available). And to help empower your users to do what’s needed in the field, you can now
customize the selection and arrangement of actions in the Salesforce1 action bar. Summer ’15 also marks the removal of the Chatter
Mobile app from Google Play and the end of support for the Mobile Dashboards for iPad app.
Communities: New Community Management Options, Community Case Feed
Summer ‘15 brings you enhancements to community analytics, improved Community Management tools, the ability to edit your
conversations, associating records to groups, development of our self-service templates with a brand new case feed built on Chatter,
and much more.
Sales: Enterprise Territory Management, Forecasts, and More
Easily assign territories to opportunities, give sales teams a clearer view of monthly and quarterly total sales numbers, and learn
about our latest email integration developments.
Work.com: Enhanced Goals, More Thanks and Skills Features
Help your sales managers and teams learn faster and perform better with a suite of sales-management and service-management
tools that boost performance. We’ve introduced more Thanks and Skills features, along with the Enhanced Feedback and Enhanced
Performance Summaries pilot features. We’re also bringing Enhanced Goals to all Work.com users.

1
Salesforce Summer ’15 Release Notes

Data.com: Prospecting Insights, "Firmographic" Fields


Deliver leading business data for your sales teams with new Prospecting Insights. Data.com is the solution for delivering leading
business data inside Salesforce. Get the most up-to-date business data for contacts, leads, and accounts.
Service: More Opportunities for Support, Increased Agent Productivity
Summer ’15 includes smarter service by pushing the right cases to the right agents at the right time. You can also embed support
into mobile apps for live guidance, and go beyond plain text to dynamically interact with your customers. Supercharge your agents’
productivity with enhanced shortcuts and bulk macros, and solve cases faster by leveraging multiple agents in one chat session.
Chatter: Reporting, Question-to-Case, Records in Groups
Summer ’15 enables you to report on Chatter activity in your organization, add records to groups, and create cases from Chatter
Questions. There are also several improvements to files, feeds, and unlisted groups functionality.
Marketing
Salesforce Marketing Cloud is a unified social marketing suite that allows companies to listen to and engage customers, publish
content, optimize social advertising, measure campaigns, and integrate social insights with customer data.
Salesforce1 Reporting: Save, Clone, and Delete Reports from the Reporting API
Reporting REST API enhancements enable you to delete dashboards, save, clone, and delete reports, as well as give you access to
new report properties. Apex enhancements enable you to get and set more report properties. These enhancements don’t apply to
dashboards or reports in the Salesforce1 mobile app.
Deployment: Better Sandbox Performance, Testing, Migration
You now have new ways to deploy changes to your organization.
Customization: Adapt Salesforce with Clicks and Code
Customization features enable you to expand your organization by enhancing your objects, data, and fields, customizing your
organization’s look and feel, augmenting your business processes, creating websites, and creating apps—all by using point-and-click
tools and maybe some code. Customization features also include tools to administer and secure your organization.
Development: Create Your Own Salesforce App
Force.com helps you develop new applications and integrations to help your organization or for resale to other organizations.
Security and Identity
We’ve made the powerful security features in Salesforce even stronger, while adding simplicity of management and ease of use.
Now you can encrypt sensitive data for regulatory compliance, manage user accounts on other services based on changes to your
own user accounts, and much more.
Critical Updates
This release includes updates that improve the performance, logic, and usability of Salesforce but might affect your existing
customizations.
Help and Training: Walkthroughs, Trailhead, Developer Cookbook
We added walkthroughs, created a cookbook for Service Cloud developers, and updated instructional videos and some of our trust
and compliance documents. We’re also introducing Trailhead modules!
Other Salesforce Products: Desk.com, Heroku
Desk.com and Heroku have release notes you can consult separately.

SEE ALSO:
Video: Top Features in Summer ’15

2
Salesforce Summer ’15 Release Notes How to Use the Release Notes

How to Use the Release Notes


The release notes give you brief, high-level descriptions of new Salesforce features and enhancements to existing features. You also get
setup information, implementation tips to help you get started, and best practices to ensure your continued success.
You can choose from PDF and HTML versions.

Note: Until the new Salesforce release is available in your production organization, links from release notes to the Salesforce Help,
implementation guides, developer guides, and other documentation won't work or will point to materials for the previous Salesforce
release. Some developer guides have preview versions available several weeks before the Salesforce release. To access the preview
versions of developer guides on Salesforce Developers, select Preview from the Documentation Version drop-down list.

Other Resources
In addition to these release notes, we provide other resources to get you up to speed quickly.
• Release Readiness community. Join a community of Salesforce experts.
• Release demos. Get quick video overviews of what’s coming this release.

Known Issues
These release notes are about new and modified features, not known issues. For information about known issues, check out the Salesforce
Known Issues Site.

Updates Via Twitter


When you follow @salesforcedocs on Twitter, you receive notices whenever we publish new documentation or make significant updates
to existing documentation.

Your Feedback Matters


We know how important our documentation is to your company’s success. We want to know what works for you and what doesn’t.
• Feedback forms: As you’re working with our documentation—whether it’s in the Salesforce Help, release notes, or developer
guides at Salesforce Developers—look for the feedback form and vote up or down. Add comments if you have them.
• Twitter: Tweet us at @salesforcedocs.

IN THIS SECTION:
You Asked for It!
We delivered the features you asked for on IdeaExchange.
Other Resources
In addition to these release notes, we provide other resources to get you up to speed quickly.
Release Notes Changes
Read about changes to the release notes.

3
Salesforce Summer ’15 Release Notes You Asked for It!

You Asked for It!


We delivered the features you asked for on IdeaExchange.

IdeaExchange Feature delivered


General Enhancements

Data Loader for Mac Data Loader for Mac

Mobile

Please SFDC: Include Rich Text in Notes! Increase Productivity with Rich Text Meeting Notes (Beta) (partially
delivered)
Attach Notes and Attachments to Multiple Records

Salesforce1 - Need Ability to Convert Leads Convert Leads to Contacts (Generally Available)

Customize Salesforce1 Record Actions Bar Customize Actions in the Salesforce1 Action Bar

Support State and Country Picklists in Salesforce1 Access State and Country Picklists

Add/Remove Group Members in Salesforce1 Manage Group Members from Related Lists

Communities

Allow Topic Merging and Deleting Merge, Rename, or Delete Topics in Communities

Allow Customization of Chatter Recommendations Create Custom Recommendations

Make {!Community_URL} Available in Visualforce Email Templates Merge Fields in Visualforce Email Templates for Communities

{!Community_URL} Merge Field Should Point To Custom Used and Expired Links in Text-Based Community Emails Redirect
Community Pages Correctly

Campaign Read/Write Access for Partner Community Partner Users Can Now Read, Create, and Edit Campaigns

Partner Portal - Report Options Report Management for Partner and Customer Users—Create and
Edit Reports

Ability to publish Site.com Community in Sandbox Publish a Community from the Sandbox

Sales

Please SFDC: Include Rich Text in Notes! Notes (Beta) (partially delivered)

External ID on the Territory Object Integrate Territory ID Information from External Systems

Work.com

Transfer Goal Ownership, and Sharing Rules for Goals Upgrade to Enhanced Goals (Generally Available)
Create Goal for a Group
Work.com Goals: Custom Fields
Change Goal Metric Filter Option on Coaching Record
Copy Objectives
List of Team Goals, All Goals
“View All Goals” in Work.com

4
Salesforce Summer ’15 Release Notes You Asked for It!

IdeaExchange Feature delivered


Add WYSIWYG Editor to Comment/Task Boxes
Assign Goals
View Only Sharing for Goals
Sorting the Key Results by Priority
Option to Have Validation Rules for Work.com Objects
Goal Default Setting as Private in Work.com
Reword ‘Goal Settings’ on Work.com Settings
Unlock Goals
Defaulting Private Goals within Work.com
Work.com - Disable Feed Update on Metric Fields
Filter by “All Updates” and “Fewer Updates” in Chatter for Goals
Work.com: Notes for Goals and Metrics
Add a Group to a Goal
Delegate Access for Objective Creation
No Private Goals
View Goals by Quarter
Goal Folders for Work.com
Ability to Set a Default Visibility When Creating a New Objective
Labeling Objectives
Rename “Goals” Tab in Task Bar
HPD Goal Text Boxes

Performance Feedback Reminders Use New Tools to Manage Performance Summary Cycles (Pilot)

Service

Case Assignment Checkbox - Hidden But Selected Enable Case Assignment Rules More Intuitively

Email-to-Case: Display Images Properly on HTML Email Email Feed Items Now Display HTML Formatting and Inline Images

Signature on Reply to Emails (partially delivered) Append User Signatures After Replies in Emails

Chat Conference - Open All Related Records for Conferenced Agent Transfer a Workspace with a Chat Transfer or Conference

Return 'Attach' & 'Attach and Return To Case' buttons to full view Attach an Article to a Case from the Article Detail Page
of an Article
Knowledgebase: improve attach article to case interface

Share Knowledge Articles on social media. (Linked In, Facebook, Link to an Article in Social Customer Service
Twitter, etc)

Chatter

Ability to Edit a Chatter Post After Posting Edit Feed Posts and Comments

5
Salesforce Summer ’15 Release Notes You Asked for It!

IdeaExchange Feature delivered


Sync Content Libraries via Salesforce Files Sync Sync Content Files

@mentions in Comments when Sharing a File to a Group Include @Mentions When Sharing Files with Groups

Increase the Character Limit on the “Information” Box in Chatter Group Information Field Now Allows 4000 Characters
Groups

Cutting through the Chatter - One Digest for all Community Groups Unified User Digest (Beta) (partially delivered)

Make Chatter Feeds on Records Reportable Report on Record Feeds

Deployment

Sandbox Refresh Progress Improved Sandbox Copy Engine for Full Sandboxes (Generally
Available)

Activate the Feature License without Refreshing Sandbox Match Production Licenses to Sandbox without a Refresh

Run All Internal Tests (Ignore Installed Packages) Run Local Tests in a Sandbox Deployment

Force.com Customization

Login As...Any Role, Any Profile Login Access Policy Changed

Support ISNEW Formula Functions in Process Criteria Compare and Return Values in Formulas

Support Updating Picklist Fields Using Formulas Compare and Return Values in Formulas

Support Relative Date Functions When Updating a Date Field Update Fields Using Formulas and Date Functions

Remove the 12-Hour Wait When Deleting a Process Immediately Delete a Process

Why do I have to wait for 12 hours to delete inactive flow? Immediately Delete a Flow Version

Security and Identity

Control Logout URL Choose the Logout Page for Salesforce Users

Customize logout url instead of salesforce logout page

Add TLS 1.2 Support for Outbound HTTPS Callouts/Encryption Test and Use Advanced Networking Protocols
Requests

Force.com Development

Allow us to specify an icon for apex:mapMarker in VisualForce Customize Visualforce Maps with Custom Markers

Configure Apex REST Services to Accept Multiple Records in Composite Resources - Batch
Requests (POST / PUT)

Creating or Updating Multiple Objects through REST API Composite Resources - Batch
Composite Resources - SObject Tree

6
Salesforce Summer ’15 Release Notes Other Resources

IdeaExchange Feature delivered


Custom Metadata Types Configure Apps with Custom Metadata Types (Generally Available)

SEE ALSO:
How and When Do Features Become Available?

Other Resources
In addition to these release notes, we provide other resources to get you up to speed quickly.
• Release Readiness community. Join a community of Salesforce experts.
• Release demos. Get quick video overviews of what’s coming this release.
• Summer ’15 Release Training for Certified Professionals. Take online training to check out Summer ’15 features and enhancements
and to prepare for certification release exams.

Release Notes Changes


Read about changes to the release notes.

August 29, 2015


End of Support for Salesforce1 on Android 4.2 and 4.3 Coming in Winter ’16
Pre-announcing end of support for Salesforce1 on devices running Android 4.2 and 4.3.
Quoted Tweets Available and Longer Direct Message on page 191
We’ve added more Twitter functionality with Social Customer Service.

August 12, 2015


Get More Relevant Search Results
We’ve improved the way the search engine stores your org’s information and matches it to your users’ search terms.

July 22, 2015


What’s New in the Latest Salesforce1 Downloadable Apps
Version 7.3 of the Salesforce1 downloadable apps for iOS and Android are targeted to be available for download the week of July
20, 2015.
Extract More Data for Your Datasets
We’ve added details about the sfdcDigest transformation and newly supported objects for data extracts in the Analytics Cloud.
Slimmed Down the JavaScript API Doc
The JavaScript API section of the reference doc app has been filtered to only show the methods that you need to build Lightning
components.
General Administration
Removed entry regarding enabling guest access to the Knowledge API. It was added to the release notes in error.

7
Salesforce Summer ’15 Release Notes Release Notes Changes

July 15, 2015


New in Summer `15 Plus
We’ve updated the Summer ‘15 release of Wave, the Analytics Cloud, with a variety of new features and enhancements—all part of
the Summer ’15 Plus release.
Install Salesforce for Outlook for Either One User or All Users Sharing a Computer
Added installer type options Me only and Everyone who logs in to this computer to the table to help you
understand which installer type to choose based on the experience you want your users to have.

July 8, 2015
Other Resources
Added release training link.
New Search Results for Primary Campaign Source
Added details for search results of primary campaign sources on opportunity detail pages.

July 1, 2015
Push Work to Qualified, Available Support Agents with Omni-Channel (Beta)
Clarified which Salesforce objects are supported in Omni-Channel.

June 17, 2015


Useful Links
Added "See Also" links on many release notes pages to relevant videos, IdeaExchange records, and other resources.

June 10, 2015


Add In-App Support to Your Mobile App with SOS Video Chat and Screen-Sharing (Generally Available)
Changed the status of the SOS feature set to “Generally Available.”
Use a Permission Set to Grant Additional Permissions for Contact Manager, Group, and Professional Editions
Added a topic that announces permission set access in Contact Manager, Group, and Professional Editions.
Salesforce Engage
Changed references to “Sales Cloud Engage” to the product’s new name, “Salesforce Engage.”
Engage for Salesforce1
Clarified how this product works and how to set it up, and changed references to “Sales Cloud Engage” to the product’s new name,
“Salesforce Engage.”
Edit Feed Posts and Comments
Clarified that the Edit option is available on text posts, but not on posts with link or file attachments.
Upgrade to Enhanced Goals (Generally Available)
Clarified which features require a Work.com license.
Tooling API
Added information about SOQL limits on some objects in the Tooling API WSDL.
Added information about StandardAction and ServiceFieldDataType.

8
Salesforce Summer ’15 Release Notes Release Notes Changes

June 3, 2015
What’s New in the Latest Salesforce1 Downloadable Apps
Salesforce1 for iOS, version 7.2 is targeted to be available from the App Store the week of June 1, 2015. This release includes bug
fixes and performance enhancements only; it doesn’t include new or enhanced features.
Salesforce Adoption Manager Available in More Regions
Salesforce Adoption Manager is now available for organizations based in the U.K. and Australia, and the United States.
Install Salesforce for Outlook for Either One User or All Users Sharing a Computer
Added a column to the upgrade specifications table describing which users could upgrade to v2.8 without first uninstalling earlier
versions of Salesforce for Outlook.
Use App Templates to Customize Startup Screen for Custom Apps
You can now customize the startup screen on your apps by extending aura:template.
Cache Additional Web Resources Using AppCache
You can now cache JavaScript files, CSS stylesheets, and other web resources using AppCache.

May 27, 2015


Help and Training: Walkthroughs, Trailhead, Developer Cookbook
Added a section with our new walkthroughs, updated videos, updated trust and compliance documents, and our new cookbook.
Install Salesforce for Outlook for Either One User or All Users Sharing a Computer
Added an important note for customers installing Salesforce for Outlook v2.8 using the msi installer.
Added an upgrade specifications table to describe which users must first uninstall earlier versions of Salesforce for Outlook before
upgrading to v2.8.
Salesforce1 Enhancements in This Release
Announcing the release of the Salesforce1 downloadable app for Android devices, version 7.2. The app is now available for download
from Google Play.
New in version 7.2:
• Access to centralized approval items and paused flow interviews from the Salesforce1 navigation menu
• Support for URL schemes, which allow users to access specific pages in the Salesforce1 app from external applications
• Performance improvements and bug fixes
Get Salesforce1 Notifications on the Apple Watch
Added information about Salesforce1 push notifications displaying on the Apple Watch.
Salesforce1 No Longer Supported on iOS 7 Devices
Updated the note to announce that Version 7.3 of Salesforce1 will be available on the App Store shortly after the completion of the
Summer ’15 release. The release of Version 7.3 marks the formal end of support for Salesforce1 on iOS 7 devices.
Associate Price Books with Opportunities in Salesforce1
Added information about creating a quick action to associate price books with opportunities, leveraging the Price Book field
that’s now available for opportunity records.
Metadata API Call: deploy()
Clarified the description of the RunLocalTests test level.
Edit Feed Posts and Comments
Added information about how administrators can also use permission sets to assign the feed post editing permissions to users.
Append User Signatures After Replies in Emails
Updated note to clarify that the user signature setting is only supported for Case Feed.

9
Salesforce Summer ’15 Release Notes Release Notes Changes

Prospecting Insights for Accounts


Added important note about D&B firmographics financial details and delinquency risk.
Changes to Design Files for Lightning App Builder Components
Added information about changes to supported fields and attributes in design files.
Use Custom Labels in Lightning Components
Use custom labels in Lightning components with the $Label global value provider.

May 20, 2015


Setup Assistant for Newly Activated Organizations
Updated note to clarify that the Setup Assistant is available to customers in late June 2015.
Tooling API
Added information about custom fields and User in the Tooling API.
Added information about querying FullName and Metadata fields.
Salesforce Engage
Added information about Pardot Engage, which lets sales reps send marketing-approved content to prospects and track the
effectiveness of the messages.
Engage for Salesforce1
Added information about features in Salesforce1, available through Pardot Engage, that let sales reps filter for relevant prospects
and add prospects to nurture programs.
UserProvisioningRequest Object
Added ManagerId as a new field.
Salesforce1 Enhancements in This Release
Clarified Salesforce1 support for data that's encrypted using Platform Encryption.

May 13, 2015


Setup Assistant for Newly Activated Organizations
Added a note to clarify that availability of the Setup Assistant is planned for June or July 2015.
Marketing
Added a section for the Marketing Cloud.
See Apex Method Parameters at a Glance
Added a release note explaining formatting changes to the Force.com Apex Code Developer’s Guide.
Salesforce Console for Service
Added a release note for Assets and Service Contracts support on the highlights panel.
Metadata Types and Fields
Updated the actionType field with new supported enumeration value: contentWorkspaceEnableFolders.

May 6, 2015
Reorder Your Batch Jobs in the Flex Queue Programmatically
Removed the release note for Apex flex queue methods, as those methods aren’t currently available.
Supported Login Flow Types
Added a release note for login flow support for Flow type only.

10
Salesforce Summer ’15 Release Notes How and When Do Features Become Available?

New Objects
Updated the release note to include the new ListViewChartInstance object.
Standalone Lightning Apps (Generally Available)
Lightning components in standalone apps (.app resources) are generally available. Integrating Lightning components with
Salesforce1 remains in a beta release.
External Communities Users Can View Social Posts
Added information on giving external communities users access to social posts.
New Field on Social Persona Object
Added information on new field on newly created Social Persona objects.

April 29, 2015


Reduced Access for Apex Classes Using with sharing Keyword
Updated the release note with more specific terminology to be more precise and clear about when this change affects your
organization.
Data Residency Option (DRO) Feature Retirement
Added a notification that the Data Residency Option is being retired on August 15, 2015. Support for new and existing DRO installations
will be discontinued after that date.
Choose Which Tests to Run in a Deployment
Updated information about deploying deactivated triggers.
Event Object Field Name Changes
Updated field names for fields related to JunctionIdList are more intuitive.
Task Object Field Name Changes
Updated field names for fields related to JunctionIdList are more intuitive.

How and When Do Features Become Available?


Some features in Summer ’15 affect all users immediately after the release goes live. You may want to communicate these changes to
your users beforehand so they are prepared. Other features require direct action by an administrator before users can benefit from the
new functionality.
When will you start seeing Summer ’15 changes on your instance? The best way to find out is to check the Major Release Schedule
section of the Salesforce trust site at trust.salesforce.com/trust/maintenance/.
This series of tables summarizes the Summer ’15 features and their impact on users. Review the feature details for the applicable Salesforce
editions.

IN THIS SECTION:
How and When General Enhancements Become Available
The new Setup Assistant makes it easier than ever to put Salesforce to work for your users. You can also import data more easily,
and you can do it from a Mac. And it's easier than ever to find the information you need in the Release Notes.

11
Salesforce Summer ’15 Release Notes How and When Do Features Become Available?

How and When Analytics Cloud Features Become Available


Wave, the Salesforce Analytics Cloud, enables everyone in your organization to get immediate access to powerful data insights
through its intuitive point-and-click visual interface. Whether you’re on a desktop browser or an iOS mobile device—even the new
Apple Watch™—you can get the answers you need from your data to run your business. Our latest round of features and enhancements
makes it even easier to get value out of your data, fast.
How and When Mobile Features Become Available
For the Salesforce1 app, Summer ’15 is primarily focused on improving your sales reps’ mobile experience through performance
and trust improvements. There are other goodies for your users too, like streamlining workflow with a rich-text note-taking tool
(beta). Or growing revenue pipelines by converting qualified leads to contacts, complete with the ability to create new accounts as
part of the process (now generally available). And to help empower your users to do what’s needed in the field, you can now
customize the selection and arrangement of actions in the Salesforce1 action bar. Summer ’15 also marks the removal of the Chatter
Mobile app from Google Play and the end of support for the Mobile Dashboards for iPad app.
How and When Communities Features Become Available
Summer ‘15 brings you enhancements to community analytics, improved Community Management tools, the ability to edit your
conversations, associating records to groups, development of our self-service templates with a brand new case feed built on Chatter,
and much more.
How and When Sales Features Become Available
Easily assign territories to opportunities, give sales teams a clearer view of monthly and quarterly total sales numbers, and learn
about our latest email integration developments.
How and When Work.com Features Become Available
Help your sales managers and teams learn faster and perform better with a suite of sales-management and service-management
tools that boost performance. We’ve introduced more Thanks and Skills features, along with the Enhanced Feedback and Enhanced
Performance Summaries pilot features. We’re also bringing Enhanced Goals to all Work.com users.
How and When Data.com Features Become Available
Deliver leading business data for your sales teams with new Prospecting Insights. Data.com is the solution for delivering leading
business data inside Salesforce. Get the most up-to-date business data for contacts, leads, and accounts.
How and When Service Features Become Available
Summer ’15 includes smarter service by pushing the right cases to the right agents at the right time. You can also embed support
into mobile apps for live guidance, and go beyond plain text to dynamically interact with your customers. Supercharge your agents’
productivity with enhanced shortcuts and bulk macros, and solve cases faster by leveraging multiple agents in one chat session.
How and When Chatter Features Become Available
Summer ’15 enables you to report on Chatter activity in your organization, add records to groups, and create cases from Chatter
Questions. There are also several improvements to files, feeds, and unlisted groups functionality.
How and When Salesforce1 Reporting Features Become Available
Reporting REST API enhancements enable you to delete dashboards, save, clone, and delete reports, as well as give you access to
new report properties. Apex enhancements enable you to get and set more report properties. These enhancements don’t apply to
dashboards or reports in the Salesforce1 mobile app.
How and When Deployment Features Become Available
You now have new ways to deploy changes to your organization.
How and When Customization Features Become Available
Customization features enable you to expand your organization by enhancing your objects, data, and fields, customizing your
organization’s look and feel, augmenting your business processes, creating websites, and creating apps—all by using point-and-click
tools and maybe some code. Customization features also include tools to administer and secure your organization.
How and When Security and Identity Features Become Available

12
Salesforce Summer ’15 Release Notes How and When General Enhancements Become Available

How and When Development Features Become Available


Force.com helps you develop new applications and integrations to help your organization or for resale to other organizations.
How and When Critical Updates Become Available
This release includes updates that improve the performance, logic, and usability of Salesforce but might affect your existing
customizations.

How and When General Enhancements Become Available


The new Setup Assistant makes it easier than ever to put Salesforce to work for your users. You can also import data more easily, and
you can do it from a Mac. And it's easier than ever to find the information you need in the Release Notes.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Updated Link Behavior for the Data Import
Wizard

Data Loader for Mac

Setup Assistant for Newly Activated


Organizations (available in late June 2015)

How and When Analytics Cloud Features Become Available


Wave, the Salesforce Analytics Cloud, enables everyone in your organization to get immediate access to powerful data insights through
its intuitive point-and-click visual interface. Whether you’re on a desktop browser or an iOS mobile device—even the new Apple
Watch™—you can get the answers you need from your data to run your business. Our latest round of features and enhancements makes
it even easier to get value out of your data, fast.

Note: Your organization must be provisioned with Wave to access its features. Wave requires the Analytics Cloud Wave Platform
license.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Mobile Analytics

Analytics for iOS: New in v1.4*

Add Your Data with the Wave Mobile


Connector (v1.3)

Create and Edit Dashboards (v1.3)

Support for Apple Watch™ (v1.2)

Other Enhancements to Analytics for iOS


(v1.2)

Wave Apps

13
Salesforce Summer ’15 Release Notes How and When Analytics Cloud Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Sales Wave App: Bring The Power of Wave
to Your Sales Cloud Data (Pilot) *

Analytics Everywhere

Add Dashboards to Page Layouts (Generally


Available)

Add a Dashboard to a Visualforce Page*

Post Images of Lenses and Dashboards to


Chatter*

Link from Lens and Dashboard Tables and


Charts

Add Custom Menus to Create Salesforce


Actions and Link to Records from
Dashboards and Lenses*

Integrate Data

Create Datasets from your App

Preview Metadata to Load CSV Data


Correctly

Clean Up Your Apps by Deleting


Unnecessary Datasets

Augment Transformation Offers More


Support for Multiple Matches

Extract More Data for Your Datasets*

Access More Information with the External


Data API*

Improved Usability*

Shorter Dataset Field Names


Recommended*

Explore Data

Explore Dimensions with New Filter


Operators

Explore Measures with New Filter Operators

Group Dates by Fiscal Periods: Fiscal Year,


Fiscal Quarter, and Fiscal Year-Quarter

14
Salesforce Summer ’15 Release Notes How and When Analytics Cloud Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Search Dimensions with Case-Insensitive,
Partial-String Search*

Explore Dates by Week and Year-Week*

Delete Unnecessary Apps*

Engage Your Team with Dashboards

Wave Look and Feel Enhanced by Changes


to CSS for Fonts and Widgets*

Unique Range Selector Steps*

Wave REST API (Pilot)

Wave REST API (Pilot): Build New


Functionality

Wave REST API (Pilot): Access More Data*

SAQL

Salesforce Analytics Query Language


(Generally Available)*

Enhance Your SAQL Queries With


Open-Ended Dates Support (Pilot)

Maximum Number of Rows Returned Per


Query*

min() and max() Functions Only Take


Measures as Arguments*

Can’t Have Same Stream on Both Sides of a


cogroup*

Can’t Reference a Preprojection ID in a


Postprojection order*

Can’t Have Two Consecutive order


Statements on the Same Stream*

Quotation Mark Rules Applied Consistently*

Changes to foreach Statement*

count() Function Takes Grouped Source


Stream as an Argument*

SAQL Queries Must Be Compositional*

15
Salesforce Summer ’15 Release Notes How and When Mobile Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Filtering an Empty Array Returns an Empty
Result *

Explicit Stream Assignment Required*

Out of Order Range Filters Return false*

* New in Summer ‘15 Plus

How and When Mobile Features Become Available


For the Salesforce1 app, Summer ’15 is primarily focused on improving your sales reps’ mobile experience through performance and
trust improvements. There are other goodies for your users too, like streamlining workflow with a rich-text note-taking tool (beta). Or
growing revenue pipelines by converting qualified leads to contacts, complete with the ability to create new accounts as part of the
process (now generally available). And to help empower your users to do what’s needed in the field, you can now customize the selection
and arrangement of actions in the Salesforce1 action bar. Summer ’15 also marks the removal of the Chatter Mobile app from Google
Play and the end of support for the Mobile Dashboards for iPad app.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Salesforce1

Salesforce1 No Longer Supported on iOS 7


Devices

End of Support for Salesforce1 on Android


4.2 and 4.3 Coming in Winter ’16

Customize Actions in the Salesforce1 Action


Bar

Create Custom App Pages with the


Lightning App Builder (Generally Available)
(available within 24 hours after the Summer
’15 release)

Navigate More Quickly with New Swipe


Gestures

Hide the Action Header for Visualforce


Custom Actions

Increase Productivity with Rich Text Meeting


Notes (Beta)

Associate Price Books with Opportunities in


Salesforce1

16
Salesforce Summer ’15 Release Notes How and When Mobile Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Convert Leads to Contacts (Generally
Available)

Engage for Salesforce1

Create Tasks from Notes with a Swipe (Beta)

Access Salesforce Knowledge Articles with


Salesforce1 for Android (Beta)

Access and Share External Microsoft and


Google Files

Edit Microsoft Office 365 Files

View All Pending Approval Requests in One


Location

View All Paused Flow Interviews in One


Location

Receive Notifications about Posts to Groups

Other Changes in Salesforce1

Salesforce Adoption Manager Available in


More Regions

Obsolete Publisher Icon Field Removed from


Salesforce1 Branding Pages

Get Salesforce1 Notifications on the Apple


Watch

Access State and Country Picklists

Access External Data with Lightning


Connect

Scroll More Easily and with Better Context


When Viewing Long Lists (Tablets Only)

Open Most Salesforce URLs Directly in a


Salesforce1 Downloadable App

Page Scrolling for Assistive Technology


Users Has Changed to Buttons

Call or Log Action Renamed

Google Map Images Replace the Map


Productivity Action

17
Salesforce Summer ’15 Release Notes How and When Mobile Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Account News Replaces the Read News
Productivity Action

Use Global Search to Find Information in


Feed Posts

Key Fields Automatically Update When


Changing an Opportunity's Stage

Track Goals and Metrics with Enhanced


Goals

See File Fields on Articles

Dismiss Recommendations in Feeds

Add Multiple Topics to a Post

Manage Group Members from Related Lists

Focus on Useful Information in Group List


Views

Approve or Reject Approval Requests from


Approval Related Lists On Records in
Communities

Add Records to Chatter Groups in


Communities

Create Custom Recommendations in


Community Feeds from a Different Location
in Community Management

See Improved Visual Feedback During Page


Loading

Offline Settings Link on the Salesforce1


Setup Page Renamed

Connected App IP Relaxation and


Continuous IP Enforcement

Comply with Data Protection Requirements


Using Platform Encryption (Generally
Available)

Experience Faster App Loading

Additional Salesforce1 Information

Access the Salesforce1 Mobile App

18
Salesforce Summer ’15 Release Notes How and When Communities Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Salesforce1 Differences from the Full
Salesforce Site

Salesforce1 App Development Overview

Additional Mobile Information

Chatter Mobile for Android No Longer


Supported as of Summer ’15

Mobile Dashboards for iPad App No Longer


Supported as of Summer ’15

How and When Communities Features Become Available


Summer ‘15 brings you enhancements to community analytics, improved Community Management tools, the ability to edit your
conversations, associating records to groups, development of our self-service templates with a brand new case feed built on Chatter,
and much more.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Community Management

Streamlined Community Management


Overview Page

More Intuitive Community Management


Navigation

Create Custom Recommendations

Merge, Rename, or Delete Topics in


Communities

Customize Your Community’s Change


Password and Forgot Password Pages

Override Default Community Pages in


Community Management

Customize Visualforce Error Pages For


Authenticated Users

Community Builder

Publish a Community from the Sandbox

Community Templates

19
Salesforce Summer ’15 Release Notes How and When Communities Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
View All Case Interactions in the Community
Case Feed (Generally Available) (available
within 24 hours after the Summer '15
release)

Display Custom Recommendations in Napili


Communities

See Knowledgeable People with the Napili


Template

Select Files from Self-Service Communities


in Question and Answer Posts

Contact Information Visibility Setting Added


to Napili Template

Email Notifications Option Removed from


User Profile Detail on Napili Template

Napili “Ask the Community” Component


Renamed, Moved to Top of Page

New Look for Case List View in Community


Templates

User Profile Details and Cases List Available


in Koa and Kokua Templates

New Feed Detail Page in Self-Service


Templates

Reporting

Report Management for Partner and


Customer Users—Create and Edit Reports

Enhanced Dashboards, Reports, and Metrics


Added to the Communities Dashboards
Package

Other Communities Changes

Communities Members Can Now Add


Records in Groups

Edit Posts and Comments in Your


Community

Guest Access Available on More Contact


Fields

20
Salesforce Summer ’15 Release Notes How and When Sales Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
New Apex Method for Creating Community
Users

Merge Fields in Visualforce Email Templates


for Communities

Used and Expired Links in Text-Based


Community Emails Redirect Correctly

Emails Sent for Approval Requests, Workflow


Alerts, and Cases Now Include a Link to the
Community

External Users Can Now Directly Approve or


Reject Approvals from the Approval History
Related List on Records

Partner Users Can Now Read, Create, and


Edit Campaigns

Partner and Customer Users Can Now Read,


Create, and Edit Ideas

Zero In on Community Search Results with


Improved SEO

Enjoy Seamless Redirection from Community


Emails

Enable Case and Lead Assignment Rules


More Intuitively

Specify a Custom Forgot Password Page for


Your Community in Site.com Studio

How and When Sales Features Become Available


Easily assign territories to opportunities, give sales teams a clearer view of monthly and quarterly total sales numbers, and learn about
our latest email integration developments.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Leads and Contacts

Get Alerts When Prospects Are Active

Add a Prospect to a Campaign from


Anywhere

21
Salesforce Summer ’15 Release Notes How and When Sales Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Use Dashboards and Reports to Monitor
Campaigns

Use Gmail to Launch Campaigns

Enterprise Territory Management

Assign Territories to Opportunities More


Efficiently (Generally Available)

Assign Any Territory to an Opportunity

Use Chatter to Collaborate on Territory


Models

Associate Assignment Rules to Territories


More Efficiently

Buttons and Links Now Available for


Territory Model and Territory Pages

Integrate Territory ID Information from


External Systems

Collaborative Forecasts

Give Sales Teams a Clearer View of Their


Outlook with Cumulative Forecast Rollups

Email Connect

Sync All-Day Events with Exchange Sync

Salesforce for Outlook

Install for Either One User or All Users


Sharing a Computer

We’ve Made Sync Settings Easier for Users


to Understand

Choose the Default Sync Setting and


Prevent Users from Changing It

Activities

JunctionIdList Fields on Event and


Task Objects

Notes

Let Users Add Rich Text Notes to Records

Set Up Notes

22
Salesforce Summer ’15 Release Notes How and When Work.com Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Guidelines for Using Notes

Duplicate Management

Implement Duplicate Management for Your


Custom Applications

Duplicate Management Available for


Organizations with Force.com Licenses

Salesforce Console

Salesforce Console for Sales

How and When Work.com Features Become Available


Help your sales managers and teams learn faster and perform better with a suite of sales-management and service-management tools
that boost performance. We’ve introduced more Thanks and Skills features, along with the Enhanced Feedback and Enhanced Performance
Summaries pilot features. We’re also bringing Enhanced Goals to all Work.com users.

Feature Enabled for users Enabled for Requires Contact


administrators/ administrator Salesforce to
developers setup enable
Upgrade to Enhanced Goals (Generally
Available)

Set Up Enhanced Goals

Customize Feedback to Fit Your


Organization (Pilot)

Use New Tools to Manage Performance


Summary Cycles (Pilot)

Customize More Features for Thanks,


Rewards, and Skills

Other Changes in Work.com

See Who Has Received Thanks Badges

Add a Chatter Feed to Thanks Badges, User


Skills, and Endorsements

How and When Data.com Features Become Available


Deliver leading business data for your sales teams with new Prospecting Insights. Data.com is the solution for delivering leading business
data inside Salesforce. Get the most up-to-date business data for contacts, leads, and accounts.

23
Salesforce Summer ’15 Release Notes How and When Service Features Become Available

Feature Enabled for users Enabled for Requires Contact


administrators/ administrator Salesforce to
developers setup enable
Prospecting Insights for Accounts

Get Prospecting Insights Fast with New


Fields from the Data.com Search API

How and When Service Features Become Available


Summer ’15 includes smarter service by pushing the right cases to the right agents at the right time. You can also embed support into
mobile apps for live guidance, and go beyond plain text to dynamically interact with your customers. Supercharge your agents’ productivity
with enhanced shortcuts and bulk macros, and solve cases faster by leveraging multiple agents in one chat session.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Omni-Channel

Push Work to Qualified, Available Support


Agents with Omni-Channel (Beta)

SOS

Push Work to Qualified, Available Support


Agents with Omni-Channel (Beta)

Highlight Externally Visible Feed Items in


Case Feed on page 192

Append User Signatures After Replies in


Emails

Email-to-Case Settings for Thread IDs Have


Been Renamed

Quickly Search Salesforce Knowledge and


Attach Articles to Cases Using Macros

Post to Social Networks Using Macros

Replace Field Values in a Case Using Macros

Insert Field Values into a Case Using Macros

New User Permission for Creating and


Running Macros That Users Can’t Undo

Enhancements to Searching for Macros

Macros List Shows Most Recently Used


Macros

24
Salesforce Summer ’15 Release Notes How and When Service Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Cases

Enable Case Assignment Rules More


Intuitively

Knowledge

Attach an Article to a Case from the Article


Detail Page

Link to an Article in Social Customer Service

Articles Suggested for Cases are More


Relevant (Generally Available)

Thumbs Up or Down Ratings (Beta)

Other Changes for Salesforce Knowledge

Live Agent

Transfer a Workspace with a Chat Transfer


or Conference

Conference Multiple Agents into Chats

Block Unwelcome Chat Visitors by IP


Address

Updates to Live Agent Browser Support

Automatically Set Agents’ Status to Away


When a Chat Request Times Out

New Button Lets Customers Cancel a


Pending Chat Request

Extreme Makeover: Live Agent Edition

Salesforce Console

Add Report Charts to Console Sidebars

Reopen Last-Closed Tabs

Pin Primary Tabs

Bookmark Primary Tabs

Most Recent Tabs Component Renamed


History

New API Methods for the Console


Integration Toolkit

25
Salesforce Summer ’15 Release Notes How and When Service Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Assets and Service Contracts Fields Now
Supported in Highlights Panel

Service Communities

Give Agents More Options with the


Community Case Feed (Generally Available)
(available within 24 hours after the Summer
‘15 release)

External Users Now See Case Emails in the


Feed

Social Customer Service

Basic Business Rules

Improved Twitter Direct Message


Experience

Case Creation Option with the Starter Pack

Additional Social Post Fields

Delete Outbound Posts on Google+ and


Sina Weibo (Pilot)

Delete Inbound Post Errors

Other Changes for Social Customer Service

Assets

High-Volume Sharing Available for Assets

Organization Sync

Metadata Now Supported in Organization


Sync (available within 24 hours after the
Summer '15 release)

Organization Sync Enhancements

Documentation

Improve Your Service Cloud


Implementation with Code: Introducing the
Service Cloud Cookbook

26
Salesforce Summer ’15 Release Notes How and When Chatter Features Become Available

How and When Chatter Features Become Available


Summer ’15 enables you to report on Chatter activity in your organization, add records to groups, and create cases from Chatter Questions.
There are also several improvements to files, feeds, and unlisted groups functionality.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Feeds

Edit Feed Posts and Comments

Enable Feed Post Editing in User Profiles or


Permission Sets

Disable Feed Post Editing for All Users

Report on Record Feeds

Files

Share Any File with a Library

Share Private Content Files in Chatter

Sync Content Files

Sync Files to Folders

Distribute a Managed Version of Salesforce


Files Sync

Include @Mentions When Sharing Files with


Groups

Connect to Content in Google Drive

Focus Search on a Single External Data


Source

Streamline Authentication with External


Systems

Reveal External Data Sources to Specific


Users

Access Custom Fields from External Data


Sources

Lookup Relationships Supported for Files


Connect External Objects

Sync up to 10,000 Files

Share File Message Field Limit Increased to


5,000 Characters

27
Salesforce Summer ’15 Release Notes How and When Salesforce1 Reporting Features Become
Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Content Deliveries Default Bandwidth
Increased to 10GB Every 24 Hours

Personal Library Renamed to Private Library

Improved User Experience for


Password-Protected Content Deliveries

Groups

Manage Which Custom Object Records Can


Be Added to Groups

Group Information Field Now Allows 4000


Characters

Unlisted Groups Allow Non-Unique Names

Group Email Enhancements

Customize Groups Actions for Salesforce1


Layouts

Email Notifications

Unified User Digest (Beta)

Other Chatter Changes

More Preview Links Added

Improved Profile Photo Upload Time

API Enhancements

ConnectApi (Chatter in Apex)

SOAP API

How and When Salesforce1 Reporting Features Become Available


Reporting REST API enhancements enable you to delete dashboards, save, clone, and delete reports, as well as give you access to new
report properties. Apex enhancements enable you to get and set more report properties. These enhancements don’t apply to dashboards
or reports in the Salesforce1 mobile app.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
New Reporting REST API Resources

28
Salesforce Summer ’15 Release Notes How and When Deployment Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Changed Salesforce1 Reporting REST API
Request and Response Bodies

New Apex Methods

How and When Deployment Features Become Available


You now have new ways to deploy changes to your organization.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Improved Sandbox Copy Engine for Full
Sandboxes (Generally Available) (available
on a rolling basis during the Summer ’15
release)

Choose Which Tests to Run in a Deployment

Run Local Tests in a Sandbox Deployment

Match Production Licenses to Sandbox


without a Refresh

Force.com Migration Tool Enhancements

How and When Customization Features Become Available


Customization features enable you to expand your organization by enhancing your objects, data, and fields, customizing your organization’s
look and feel, augmenting your business processes, creating websites, and creating apps—all by using point-and-click tools and maybe
some code. Customization features also include tools to administer and secure your organization.

IN THIS SECTION:
General Administration
Data Customization
Lightning Connect
Process Builder
Visual Workflow
Globalization
Monitoring
Cross-Organization Data Sharing

29
Salesforce Summer ’15 Release Notes How and When Customization Features Become Available

General Administration

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Login Access Policy Changed

Number of Custom Profiles Allowed

Create Lookup Filters for Distance

Use a Permission Set to Grant Additional


Permissions for Contact Manager, Group,
and Professional Editions

End of Support for JavaScript, iFrames, CSS,


and Other Advanced Markup in HTML Area
Home Page Components

Data Customization

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Keep All Your Customer Data with
BigObjects (Pilot) on page 218

Manage Customer Data with Data Pipelines `


(Pilot) on page 218

Lightning Connect

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Access Data Across Multiple Organizations
with the Lightning Connect Salesforce
Connector

Access Any Data Anywhere with the


Lightning Connector Apex Framework

Access Government and Health Data with


the OData 2.0 Adapter for Lightning
Connect

Increased Limits for the OData 2.0 Adapter


for Lightning Connect

30
Salesforce Summer ’15 Release Notes How and When Customization Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Enable Server-Driven Paging for an External
Data Source

Control Whether to Request Total Row


Counts in OData Queries

Customize Search Layouts with the Name


Field for External Objects

View Names of Parent Records in Lookup


Relationship Fields on External Objects

Removed Select All Checkbox for Syncing


an External Data Source

Process Builder

Enabled for
administrators/ Requires Contact Salesforce to
Feature developers administrator setup enable
Compare and Return Values in Formulas

Update Fields Using Formulas and Date Functions

Reference System-Provided Values

Use Multi-Select Picklists in More Places

Define Additional Conditions When Updating Records

Update Fields With More Value Types

Immediately Delete a Process

Process Builder User Interface Enhanced

Visual Workflow

Enabled for
administrators/ Requires Contact Salesforce to
Feature developers administrator setup enable
Verify Picklist Values in a Flow

Verify Multi-Select Picklist Values in a Flow

Immediately Delete a Flow Version

31
Salesforce Summer ’15 Release Notes How and When Customization Features Become Available

Enabled for
administrators/ Requires Contact Salesforce to
Feature developers administrator setup enable
Reference Global Variables in a Flow

See the Path That a Flow Interview Took Before It


Failed (Beta)

Globalization

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Display Currency Symbols in Multi-Currency
Organizations with Only One Currency

Choose from 59 New Locales

Monitoring

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Updates to the Event Monitoring Feature

Enhancements and Data Loss for Login


Forensics (Pilot)

Track Your Organization’s Apex Transactions


with Apex Limit Events (Pilot)

Monitor Data Loss With Data Leakage


Detection (Pilot)

Cross-Organization Data Sharing

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Cross-Organization Data Sharing Pilot No
Longer Available

32
Salesforce Summer ’15 Release Notes How and When Security and Identity Features Become
Available

How and When Security and Identity Features Become Available


Enabled for Requires Contact
administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Encryption

Comply with Data Protection Requirements


Using Platform Encryption (Generally
Available)

Data Residency Option (DRO) Feature


Retirement

Authentication

Block Login from Users in Restricted


Countries

Continuously Enforce IP Addresses in Login


IP Ranges

Track Geographic Location of User Logins

Track Authentication Service by ID with


Login History

Simplified OAuth Flows for External Data


Sources and Named Credentials

Log In Once for Concurrent Apps That Use


OpenID Connect

Create Single Sign-On Settings from a File


or URL

Access SAML Metadata URL for a


Community or Custom Domain

Edit Endpoints for Google and LinkedIn


Authentication Providers

Choose the Logout Page for Salesforce


Users

Test and Use Advanced Networking


Protocols

SMS for Identity Confirmation Renamed in


Session Settings

Comply with FedRAMP Standards by


Setting Minimum Password Length at 15
Characters

33
Salesforce Summer ’15 Release Notes How and When Development Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Supported Login Flow Types

Two-Factor Authentication Available for


Contact Manager, Group, and Professional
Editions Through Permission Sets

Identity

User Provisioning for Connected Apps


(Generally Available)

Connected App Improvements for Finer


Control and Easier Administration

Get a Delegated Approver Using SCIM


(System for Cross-Domain Identity
Management)

My Domain

Test Your My Domain Login Page Settings


Before You Deploy the Domain to All Users

Get Quicker Updates on My Domain Name


Propagation

How and When Development Features Become Available


Force.com helps you develop new applications and integrations to help your organization or for resale to other organizations.

IN THIS SECTION:
Developer Console
Visualforce
Apex Code
Lightning Components
API
ISVForce
Custom Metadata Feature Impact

34
Salesforce Summer ’15 Release Notes How and When Development Features Become Available

Developer Console

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Work with More Precise Numbers and
Locations

View Query Plan Notes

Retrieve Query Plans for Reports and List


Views

Visualforce

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Visualforce Development

Customize Visualforce Maps with Custom


Markers

Enrich Visualforce Maps with Info Windows

Other Changes in Visualforce

Add an Analytics Cloud Dashboard to a


Visualforce Page

New <liveAgent:clientChatCancelButton>
Component

New Attribute for


<liveAgent:clientChatAlertMessage>

Accessibility: “*” Annotation in Labels for


Required Fields Restored

Remote Action Response Encoding Includes


Single Straight Quotation Marks

Enable Clickjack Protection for Visualforce


Pages Even When Headers Are Disabled

Reduced Access for Apex Classes Using with


sharing Keyword

Serve Static Resources from the Visualforce


Domain

35
Salesforce Summer ’15 Release Notes How and When Development Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
PageReference getContent() and
getContentAsPDF() Methods Behave as
Callouts

Apex Code

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
New Code Coverage Calculation for
Multiline Statements

Iteration Order for Maps and Sets Is Now


Predictable

Receive Debug Logs Predictably

Location and Distance Variables Allowed in


SOQL and SOSL Queries in Apex

Reduced Access for Apex Classes Using with


sharing Keyword

See Apex Method Parameters at a Glance

New and Changed Apex Classes

ConnectApi (Chatter in Apex)

Lightning Components

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Lightning Components Development

Standalone Lightning Apps (Generally


Available)

Lightning Components

Lightning Events

Other Changes in Lightning Components

36
Salesforce Summer ’15 Release Notes How and When Development Features Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Use My Domain with Lightning
Components

Use Custom Labels in Lightning


Components

New empty() Expression Function

Create Picklists for Lightning App Builder


Components

Changes to Design Files for Lightning App


Builder Components

Referential Integrity Validation Expanded

Default Namespace Usable in More Contexts

Use App Templates to Customize Startup


Screen for Custom Apps

Cache Additional Web Resources Using


AppCache

Slimmed Down the JavaScript API Doc

API

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
New Objects

Changed Objects

SOQL

Nested Semi-joins for TopicAssignment

APIs

SOAP API

REST API

Chatter REST API

Salesforce1 Reporting REST API

Data.com API

37
Salesforce Summer ’15 Release Notes How and When Critical Updates Become Available

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Tooling API

Metadata API

Salesforce Console API (Integration Toolkit)

Open CTI API

ISVForce

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Request Metadata API Access in Professional
Edition

Streamline Managed Packages by Deleting


Unused Components

See Which Apps, Tabs, and Objects Count


Toward Organization Limits

Custom Metadata Feature Impact

Feature Automatically Automatically Not automatically Contact


visible to all visible to all visible. Feature is Salesforce to
users. No setup administrators. available but enable this
required. No setup requires some feature.
required. setup.
Configure Apps with Custom Metadata
Types (Generally Available) (available within
24 hours after the Summer ’15 release)

How and When Critical Updates Become Available


This release includes updates that improve the performance, logic, and usability of Salesforce but might affect your existing customizations.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
Serve Static Resources from the Visualforce
Domain

38
Salesforce Summer ’15 Release Notes Salesforce Overall: Easier Setup and Data Import

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Visible to users developers setup enable
PageReference getContent() and
getContentAsPDF() Methods Behave as
Callouts

Set Up Enhanced Goals

Salesforce Overall: Easier Setup and Data Import


The new Setup Assistant makes it easier than ever to put Salesforce to work for your users. You can also import data more easily, and
you can do it from a Mac. And it's easier than ever to find the information you need in the Release Notes.

IN THIS SECTION:
Release Notes Usability Improvements
We’ve added filters to the release notes so you can zero in on the news that matters most. Instead of scrolling through screen after
screen, now you can get right to the release notes that affect you.
Get More Relevant Search Results
We’ve improved the way the search engine stores your org’s information and matches it to your users’ search terms. The search
engine’s more precise matching rules make it easier for your users to find the information they’re looking for when they search for
terms that include punctuation, such as website addresses and file paths.
Setup Assistant for Newly Activated Organizations
If you’re planning to set up Salesforce without consulting an implementation partner, Setup Assistant is here to help. Its wizards and
targeted assistance help you complete basic configurations and get critical sales data into Salesforce, so you can get your sales teams
up and running quickly.
Updated Link Behavior for the Data Import Wizard
We’ve updated the Data Import Wizard user interface to ensure that your data import experience is seamless.
Data Loader for Mac
The Data Loader, an easy-to-use graphical tool that helps you import, export, update, and delete Salesforce data, is now available
for Mac OS X.
Supported Browsers
Support for Microsoft® Internet Explorer® versions 7 and 8 is discontinued as of Summer ’15. Salesforce Customer Support will not
investigate issues related to Internet Explorer 7 and 8 after this date.

SEE ALSO:
How and When General Enhancements Become Available

Release Notes Usability Improvements


We’ve added filters to the release notes so you can zero in on the news that matters most. Instead of scrolling through screen after
screen, now you can get right to the release notes that affect you.

39
Salesforce Summer ’15 Release Notes Release Notes Usability Improvements

IN THIS SECTION:
Focus on the Right Information with Release Note Filters (Generally Available)
The new filters narrow down the list of release notes on the right side of your screen, never the content on the left. If you prefer
searching to browsing, use the new filters to further narrow down your search results.
Visual Enhancements to the HTML Release Notes
We’ve made a few changes to the HTML release notes. We updated the look-and-feel and added the ability to change the language
that you’re reading in.

Focus on the Right Information with Release Note Filters (Generally Available)
The new filters narrow down the list of release notes on the right side of your screen, never the content on the left. If you prefer searching
to browsing, use the new filters to further narrow down your search results.
Edition
Which of the feature enhancements for Summer ’15 are available to you depends on your edition. Narrow down the list of release
notes so it shows only enhancements that are available in your edition.
Feature Impact
Every release includes some features that you need to turn on or configure before users can start getting the benefits. As an
administrator, you can now filter the release notes to focus on, or hide, just those features. Or maybe you want to see only the features
that are enabled for your users automatically.
Product Area
Narrow down the list of release notes to see only the products that your organization uses. If your organization does sales but not
support, set up your release notes so that only the sales-related news appears.
To narrow down the list of release notes, click Show Filters on the right side of the screen.

40
Salesforce Summer ’15 Release Notes Release Notes Usability Improvements

Example: Your Professional Edition organization uses Sales Cloud, Chatter, and Analytics Cloud. First you want to see all relevant
release notes that your users will have immediate access to when Summer ’15 is released. Do just that with these filters.

Once you’ve selected filters, you can share your narrowed-down list of release notes with anyone. Simply copy the URL after you select
filters, and then distribute that URL however you want. The corresponding URL for the previous example is:

41
Salesforce Summer ’15 Release Notes Release Notes Usability Improvements

http://releasenotes.docs.salesforce.com/en-us/summer15/release-notes/salesforce_release_notes.htm?
edition=pe&impact=autouser&cloud%5B%5D=analytics&cloud%5B%5D=chatter&cloud%5B%5D=sales

Visual Enhancements to the HTML Release Notes


We’ve made a few changes to the HTML release notes. We updated the look-and-feel and added the ability to change the language
that you’re reading in.
Updated Skin
We updated the HTML release notes to reflect our updated look.
Relocated and Contextualized the List of Release Notes
We moved the list of release notes from the left side of the screen to the right, so you can focus on the content of the release notes.
Because the list of release notes is contained in a smaller box, you always know where in the list you are. The release note that you’re
currently viewing is always visible; more often than not, it’s at the top of the list.

Select the Language You Want to Read


By default, your browser’s language settings determine the language we show you in the HTML release notes. Now you can easily
change the language that you’re viewing the release notes in. Scroll to the footer at the bottom of the page, click Change Language,
and select a language.
Before Summer ’15, the only way to view the release notes in a different language was to manually change the language key in the
URL. For example, if you were viewing the release notes in German and wanted to view them in English, you’d change de-de in
the URL to en-us.

42
Salesforce Summer ’15 Release Notes Get More Relevant Search Results

Get More Relevant Search Results


We’ve improved the way the search engine stores your org’s information and matches it to your
EDITIONS
users’ search terms. The search engine’s more precise matching rules make it easier for your users
to find the information they’re looking for when they search for terms that include punctuation, Available in all editions
such as website addresses and file paths.
Typically, the search engine ignores certain punctuation symbols from both the search index and
the search term used to search. In most cases, ignoring punctuation symbols returns the most meaningful results, and your users are
able to find the information they’re looking for. However, in some instances, removing punctuation symbols returns irrelevant results.
The search engine now handles punctuation differently in instances when doing so gives your users more relevant results.

Example: When users search for the following terms, they could find records with these corresponding terms in the results.

Search Term Results Added Results Removed


SKU-A1B1 a1b1 skua

acme.com www.acme.com No results

sysmail.xml z:\app/sysmail.xml zapp


sysmailxm

These improvements are available on a rolling basis, after Summer ’15 is released, and before the Winter ’16 release is rolled out.

IN THIS SECTION:
Get Better Search Results in Japanese
When users search for a term in Japanese Hiragana, they can now find corresponding matching search results in Japanese Katakana,
and vice versa. The search engine recognizes the two scripts as interchangeable.

Get Better Search Results in Japanese


When users search for a term in Japanese Hiragana, they can now find corresponding matching
EDITIONS
search results in Japanese Katakana, and vice versa. The search engine recognizes the two scripts
as interchangeable. Available in all editions

Example: When users enter the search term あいうえお (the first five letters of the
alphabet—a, i, u, e, and o) in Japanese Hiragana, they find a record that contains the same
list, アイウエオ, in Japanese Katakana.

43
Salesforce Summer ’15 Release Notes Setup Assistant for Newly Activated Organizations

Setup Assistant for Newly Activated Organizations


If you’re planning to set up Salesforce without consulting an implementation partner, Setup Assistant
EDITIONS
is here to help. Its wizards and targeted assistance help you complete basic configurations and get
critical sales data into Salesforce, so you can get your sales teams up and running quickly. Available in:
• Group
Note: Setup Assistant is planned for release in late June 2015.
• Professional
Setup Assistant helps you import data and customize your sales stages—all through easy-to-use • Enterprise
wizards. And we’ve included helpful videos to get you and your teams on the way to increasing • Performance
sales in Salesforce. • Unlimited
• Developer

For the first ninety days in newly activated Salesforce organizations, you see a prompt to get you started. If you’re not ready, you can
access Setup Assistant anytime from Salesforce Setup.

Updated Link Behavior for the Data Import Wizard


We’ve updated the Data Import Wizard user interface to ensure that your data import experience
EDITIONS
is seamless.
We modified text in the Data Import Wizard user interface and made sure that the links in the Available in: All Editions
interface function properly. except Database.com

Data Loader for Mac


The Data Loader, an easy-to-use graphical tool that helps you import, export, update, and delete
EDITIONS
Salesforce data, is now available for Mac OS X.
To download the Mac version, from Setup, click Data Management > Data Loader. Available in:
• Enterprise
• Professional
• Performance
• Unlimited
• Developer

44
Salesforce Summer ’15 Release Notes Supported Browsers

Note: The Data Loader command-line interface is supported for Windows only.

If you were previously using LexiLoader to import and export your data, Salesforce recommends that you uninstall it before installing
the Data Loader.

SEE ALSO:
IdeaExchange: Data Loader for Mac

Supported Browsers
Support for Microsoft® Internet Explorer® versions 7 and 8 is discontinued as of Summer ’15. Salesforce Customer Support will not
investigate issues related to Internet Explorer 7 and 8 after this date.
Accessing the full site in any mobile browser isn’t supported. Instead, we recommend using the Salesforce1 app when you’re working
on a mobile device. To see the mobile browsers that are supported for Salesforce1, check out “Requirements for the Salesforce1 Mobile
App” in the Salesforce Help.
Microsoft® Internet Explorer® versions 9, 10, and 11
If you use Internet Explorer, we recommend using the latest version that Salesforce supports. Apply all Microsoft software updates.
Note these restrictions.
• The full Salesforce site is not supported in Internet Explorer on touch-enabled devices for Windows. Use the Salesforce1 mobile
browser app instead.
• The Salesforce1 Setup page and the Salesforce1 Wizard require Internet Explorer 9 or later.
• The HTML solution editor in Internet Explorer 11 is not supported in Salesforce Knowledge.
• The Compatibility View feature in Internet Explorer isn’t supported.
• The Metro version of Internet Explorer 10 isn’t supported.
• Internet Explorer 11 isn’t supported for the Developer Console.
• Internet Explorer 11 isn’t supported for Salesforce CRM Call Center built with CTI Toolkit version 4.0 or higher.
• Community Templates for Self-Service supports Internet Explorer 9 and above for desktop users and Internet Explorer 11 and
above for mobile users.
• Internet Explorer 9 isn’t supported for Salesforce Analytics Cloud.
• Internet Explorer 9 and 10 aren’t supported for the Lightning App Builder.

45
Salesforce Summer ’15 Release Notes Supported Browsers

For configuration recommendations, see “Configuring Internet Explorer” in the Salesforce Help.
Mozilla® Firefox®, most recent stable version
Salesforce makes every effort to test and support the most recent version of Firefox.
• Mozilla Firefox is supported for desktop users only for Community Templates for Self-Service.
For configuration recommendations, see “Configuring Firefox” in the Salesforce Help.
Google Chrome™, most recent stable version
Google Chrome applies updates automatically; Salesforce makes every effort to test and support the most recent version. There are
no configuration recommendations for Chrome.
Chrome isn’t supported for:
• The Add Google Doc to Salesforce browser button
• The Console tab (The Salesforce console is supported.)
Apple® Safari® versions 5.x, 6.x and 7.x on Mac OS X
There are no configuration recommendations for Safari. Apple Safari on iOS isn’t supported for the full Salesforce site.
Safari isn’t supported for:
• The Salesforce console
• Salesforce CRM Call Center built with CTI Toolkit versions below 4.0
• Salesforce Analytics Cloud

Analytics Cloud Supported Browsers


Browser support is available for Microsoft Internet Explorer versions 10 and 11, Mozilla Firefox (the most recent stable version), and
Google Chrome (the most recent stable version).

Recommendations and Requirements for All Browsers


• For all browsers, you must enable JavaScript, cookies, and TLS 1.0.
• The minimum screen resolution required to support all Salesforce features is 1024 x 768. Screen resolutions smaller than 1024 x 768
may not properly display Salesforce features such as Report Builder and Page Layout Editor.
• For Mac OS users on Apple Safari or Google Chrome, make sure the system setting Show scroll bars is set to Always.
• Some third-party Web browser plug-ins and extensions can interfere with the functionality of Chatter. If you experience malfunctions
or inconsistent behavior with Chatter, disable all of the Web browser's plug-ins and extensions and try again.
Certain features in Salesforce—as well as some desktop clients, toolkits, and adapters—have their own browser requirements. For
example:
• Internet Explorer is the only supported browser for:
– Standard mail merge
– Installing Salesforce Classic on a Windows Mobile device
– Connect Offline

• Firefox is recommended for the enhanced page layout editor.


• Chrome, with machines with 8 GB of RAM, is recommend for the Salesforce console.
• Browser requirements also apply for uploading multiple files on Chatter.

46
Salesforce Summer ’15 Release Notes Analytics: More Value From Your Data, Fast

Analytics: More Value From Your Data, Fast


Wave, the Salesforce Analytics Cloud, enables everyone in your organization to get immediate
EDITIONS
access to powerful data insights through its intuitive point-and-click visual interface. Whether you’re
on a desktop browser or an iOS mobile device—even the new Apple Watch™—you can get the Available for an extra cost
answers you need from your data to run your business. Our latest round of features and in: Enterprise, Performance,
enhancements makes it even easier to get value out of your data, fast. and Unlimited Editions

IN THIS SECTION:
New in Summer `15 Plus
We’ve updated the Summer ‘15 release of Wave, the Analytics Cloud, with a variety of new features and enhancements—all part of
the Summer ’15 Plus release.
Analytics for iOS: Add Your Data, Create and Edit Dashboards, Apple Watch™ Support
You’ve explored your data from the road. Now you can also import new data files, create and edit dashboards, and check data on
your Apple Watch whether you’re here, there, or anywhere in between.
Integrate Data: Preview Metadata and Delete Datasets
Preview metadata settings before uploading a CSV file and delete datasets to clean up your apps.
Explore Data: Group and Filter Dimensions, Measures, and Fiscal Periods
Quickly focus your visualizations with the new filter operators for dimensions, measures, and fiscal periods.
Curate Data: Add Dashboards to Page Layouts, Link from Tables and Charts
Expand your audience by including fully interactive Analytics Cloud dashboards in page layouts and by linking to Salesforce records
or external records directly from dashboards.

47
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Wave REST API (Pilot): Build New Functionality


You can now access Analytics Cloud datasets and lenses programmatically by using the Wave REST API.
SAQL Enhancements (Pilot): Build More Powerful Queries
Use the Salesforce Analytics Query Language (SAQL) in Wave REST API requests and in Dashboard JSON to return exactly the Analytics
Cloud data you’re looking for.

SEE ALSO:
How and When Analytics Cloud Features Become Available
Video: What's New in Analytics in Summer ’15

New in Summer `15 Plus


We’ve updated the Summer ‘15 release of Wave, the Analytics Cloud, with a variety of new features and enhancements—all part of the
Summer ’15 Plus release.
The new features and enhancements become available on the following schedule.
• July 13–Analytics Cloud shared resource
• July 14–All CS instances
• July 15–All NA and EU instances
• July 16–All AP instances
All customers receive Analytics Cloud shared resource updates on the same schedule, regardless of instance. Related core updates
happen by instance on the specified schedule.

IN THIS SECTION:
Analytics for iOS: New in v1.4
Now you can add data from XLSX and TSV files, use two groupings in line charts, filter measures and dimensions with advanced
operators, and much more.
Sales Wave App: Bring The Power of Wave to Your Sales Cloud Data (Pilot)
The first Salesforce Wave app—Sales Wave Analyics—gets you started fast with Analytics Cloud and provides a ready-built path
through your Sales Cloud data on any device. You get everything you need in one place to uncover key insights to help you grow
your business.
Analytics Everywhere: Deliver Collaborative Analytics Throughout Your Business
Build Wave into your org, wherever it can best empower your team. Integrate and share lenses and dashboards, and add customized
action menus to tables and charts, enabling collaboration and action on insights gained through Wave.
Explore Data: Search Dimensions, Filter by Weeks, and Delete Apps
Exploring gets easier with case-insensitive search, additional options for filtering calendar dates, and a new interface for deleting
apps.
Dashboard Builder Enhancements: Improved Widget Appearance and Behavior
To improve the Wave builder experience, we’ve made dashboard widget appearance more consistent and fixed behavior
inconsistencies caused by range selectors.
Integrate Data: Run More Jobs and Access More Information
New limits allow you to run more jobs. You can also access more information with the External Data API.

48
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Wave REST API (Pilot): Access More Data


You can now access more Analytics Cloud data by using the Wave REST API.
Salesforce Analytics Query Language (Generally Available)
The Salesforce Analytics Query Language, or SAQL, is now generally available.
SAQL Enhancements: Use More Robust Syntax
Use the Salesforce Analytics Query Language (SAQL) in Wave REST API requests and in Dashboard JSON to return exactly the Analytics
Cloud data that you’re looking for.

Analytics for iOS: New in v1.4


Now you can add data from XLSX and TSV files, use two groupings in line charts, filter measures
USER PERMISSIONS
and dimensions with advanced operators, and much more.
Download Analytics for iOS To log in to Salesforce from
For the latest enhancements, download Salesforce Analytics for iOS from the App Store. Analytics Analytics for iOS:
• “Use Analytics Cloud”
for iOS is available for Apple iPhone 4 and later models running iOS 7 and later.

New in Analytics for iOS v1.4:


• Add data from TSV and XLSX files. Data you add in Analytics for iOS is kept locally on your device in the playground. It isn’t
available in Analytics Cloud on the Web.
• Show two groupings in line charts as different colored lines.
• Display legends alongside line and bar charts.

49
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

• Use advanced filter operators in measures and dimensions: Contains, Equal To, Not Equal To, Between, Greater Than, Greater
Than Or Equal To, Less Than, Less Than Or Equal To
• Aggregate filters using measures: Sum, Minimum, Maximum, Average, Count

• Link to Salesforce1 and external sites from tables and charts.


• Disable unwanted sharing options for your organization.
• When you share from Analytics for iOS to Chatter, a link to the shared asset is included in your Chatter post.
• When editing dashboard JSON files, use a new chart type: normalized stacked bar.
• Line and bar charts support multimetrics.
• When you visit another dashboard using a link, the measures, groups, and filters you’ve set are preserved and sent to the linked
dashboard. If a measure, group, or filter can’t be applied to the linked dashboard, then it is discarded.
• Customize how dashboards appear when shown on an external display in Presentation Mode by editing the layouts section in
the dashboard’s JSON file.
• Basic Mobile Device Management support.

50
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Sales Wave App: Bring The Power of Wave to Your Sales Cloud Data (Pilot)
The first Salesforce Wave app—Sales Wave Analyics—gets you started fast with Analytics Cloud
USER PERMISSIONS
and provides a ready-built path through your Sales Cloud data on any device. You get everything
you need in one place to uncover key insights to help you grow your business. To use Wave apps:
• “Use Analytics Cloud
Note: The Sales Wave app is currently in pilot. Contact your Salesforce account executive to Templated Apps”
learn more about Sales Wave.
To use Sales Wave app:
• “Access Sales Cloud
Analytics Templates and
Apps”
To create and manage
Wave apps:
• “Manage Analytics
Cloud Templated Apps”

With the Sales Wave Analytics app, you don't need to be a business intelligence guru to get what you need out of your sales data.
Through an easy-to-use configurator, just answer a few questions about how your company prefers to view data for your sales organization.
Wave takes care of the rest, building a self-service sales analytics app along with best practices and KPIs your whole team can use right
away.

51
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Sales Wave’s ten-plus best practice dashboards lead you through your sales data so you can identify new opportunities and trends
quickly. Directly from Sales Wave, you can create a task, log a ticket, change a close date, share insights, or collaborate on any device.
And you can do it all without hunting through disconnected spreadsheets or navigating fragmented analytics tools.

52
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

To learn more and read about how to get started, see “The Sales Wave Analytics App” in the Salesforce Help.

Analytics Everywhere: Deliver Collaborative Analytics Throughout Your Business


Build Wave into your org, wherever it can best empower your team. Integrate and share lenses and
USER PERMISSIONS
dashboards, and add customized action menus to tables and charts, enabling collaboration and
action on insights gained through Wave. To use Analytics Cloud
collaborative features:
• “Use Analytics Cloud”
IN THIS SECTION:
Add a Dashboard to a Visualforce Page
By embedding an Analytics Cloud dashboard into a Visualforce page, users can drill down and explore the data that’s presented,
either within the frame on the Visualforce page or by linking to an Analytics Cloud window.
Post Images of Lenses and Dashboards to Chatter
When posting a link to Chatter, you can now include a snapshot of your lens, dashboard, or app’s icon in the post.
Add Custom Menus to Create Salesforce Actions and Link to Records from Dashboards and Lenses
Wave users now have more control over their Salesforce experience through custom menus you add to charts and tables that can
take advantage of both actions and links to Salesforce records.

Add a Dashboard to a Visualforce Page


By embedding an Analytics Cloud dashboard into a Visualforce page, users can drill down and explore the data that’s presented, either
within the frame on the Visualforce page or by linking to an Analytics Cloud window.

53
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

You can add one dashboard per Visualforce page. However, the dashboard can include links to other dashboards and Analytics Cloud
assets. For more information, see the Visualforce topic in these Release Notes.

Post Images of Lenses and Dashboards to Chatter


When posting a link to Chatter, you can now include a snapshot of your lens, dashboard, or app’s icon in the post.

Click for the share dialog box. Under Post To Feed, you can post an image and a link, or you can remove the image from your
post by hovering over it and clicking the x.

Sharing an image makes it public, but colleagues need access to your lens, dashboard, or app to use the link and explore it in Analytics
Cloud. You can set up levels for sharing access under Give Access.

Add Custom Menus to Create Salesforce Actions and Link to Records from Dashboards and Lenses
Wave users now have more control over their Salesforce experience through custom menus you add to charts and tables that can take
advantage of both actions and links to Salesforce records.
With new custom actions menus, members of your team can use quick actions that have been added to Salesforce objects—directly
from Wave dashboards and lenses. Users can also access records from Salesforce or elsewhere on the Web through the menus. A
developer or administrator on your team adds a dimension section to a dataset’s Extended Metadata (XMD) file to add a custom menu
with actions and links to records to a chart or table. They also need to add an organizations section for links from datasets with records
from multiple Salesforce org instances. For more details about XMD, see the Salesforce Extended Metadata (XMD) Overview.

54
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Once you’ve added a custom menu, a user hovers over the label or a value in a chart or a table to see if the menu is available and then
clicks to view the menu contents. The user can then use the menu to perform the available actions. Currently, menus only support create
actions (see “Create Object-Specific Quick Actions” in the Salesforce Help). Other actions will be supported in future releases.
As before, menus also support links to records in Salesforce and external websites. Previously, the link functionality only worked on
datasets with records from a single Salesforce org. Now, the new XMD organizations section enables menu links to work with datasets
that span multiple orgs.

Explore Data: Search Dimensions, Filter by Weeks, and Delete Apps


Exploring gets easier with case-insensitive search, additional options for filtering calendar dates,
USER PERMISSIONS
and a new interface for deleting apps.
To explore data:
IN THIS SECTION: • “Use Analytics Cloud”

Search Dimensions with Case-Insensitive, Partial-String Search


With the new search capabilities for dimensions, you can easily find what you need to customize your filters.
Explore Dates by Week and Year-Week
Now you can filter calendar date groups by Week and Year-Week, in addition to the year, quarter, month, and day options.
Delete Unnecessary Apps
If you have Manager access to an app, you can delete it. Deleting an app permanently removes all of its lenses, dashboards, and
datasets from Analytics Cloud.

Search Dimensions with Case-Insensitive, Partial-String Search


With the new search capabilities for dimensions, you can easily find what you need to customize your filters.

55
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Enter two or more case-insensitive characters in the filter search box. The query returns all matches, not just entries that start with the
characters.

Explore Dates by Week and Year-Week


Now you can filter calendar date groups by Week and Year-Week, in addition to the year, quarter, month, and day options.
Select scale for a date group. You can use date groups filtered by Week or Year-Week in all charts except the Calendar Heat Map.

56
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Delete Unnecessary Apps


If you have Manager access to an app, you can delete it. Deleting an app permanently removes all of its lenses, dashboards, and datasets
from Analytics Cloud.
1. Open the app, and then click Delete.

Warning: You can’t recover a deleted app.

If applicable, Analytics Cloud lists the lenses and dashboards outside of your app that will be affected. When the datasets belonging
to your app are deleted, any lens or dashboard that references those datasets becomes unusable.

Important: Only lenses and dashboards to which you have access appear in the list. If you don’t have access to them, lenses
and dashboards aren’t listed even though they have references to datasets in your app.

2. Click Delete Asset(s).

Dashboard Builder Enhancements: Improved Widget Appearance and Behavior


To improve the Wave builder experience, we’ve made dashboard widget appearance more consistent
USER PERMISSIONS
and fixed behavior inconsistencies caused by range selectors.
To create and edit Wave
dashboards:
IN THIS SECTION:
• “Create and Edit
Wave Look and Feel Enhanced by Changes to CSS for Fonts and Widgets Analytics Cloud
To make the Wave user interface up-to-date and consistent, we’ve made changes to font and Dashboards”
widget CSS.
Unique Range Selector Steps
To fix overall widget behavior, steps that are attached to a range selector can no longer be attached to other widgets.

Wave Look and Feel Enhanced by Changes to CSS for Fonts and Widgets
To make the Wave user interface up-to-date and consistent, we’ve made changes to font and widget CSS.
Next time you log in to Analytics Cloud, you’ll see updated font and widget appearance. We’ve enhanced the CSS that controls them.

57
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

We’ve updated fonts in the following areas.


• List, Date, Toggle, Scope, Range, Text, Link, and Number widgets
• Dashboard titles
We’ve also updated the CSS in these widgets.
• List and Date widgets now include a down arrow and a different button when they’re in their collapsed state, use a new border
color, and no longer have a background color.
• The Toggle widget and Link button have a new border color and no longer use a background color.
• In the number widget, if Shorten Number is enabled, the suffix appears in half size.

Note: You may need to clear your browser cache for CSS changes to take effect on dashboards.

Unique Range Selector Steps


To fix overall widget behavior, steps that are attached to a range selector can no longer be attached to other widgets.
Previously, creating a step and assigning it to a range selector and other widgets caused the widgets to behave unpredictably. To fix
that, a range selector can now only have its own step. A step that’s attached to a range selector can no longer be attached to any other
widget, and steps that are attached to other widgets can’t be attached to a range selector.

Integrate Data: Run More Jobs and Access More Information


New limits allow you to run more jobs. You can also access more information with the External Data API.

IN THIS SECTION:
Updates to Analytics Cloud Limits
New Analytics Cloud limits enable you to run more jobs in a 24-hour period.
Extract More Data for Your Datasets
The sfdcDigest transformation now extracts data from more standard Salesforce objects, so you can include more data in your
datasets than ever before.

58
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Access More Information with the External Data API


You can now access more information about InsightsExternalData objects.
Improved Usability
Now you’ll experience improved usability when uploading external data.
Shorter Dataset Field Names Recommended
With Summer ’15 Plus, we recommend that field names in datasets use no more than 40 characters. That way, you can reduce the
likelihood of exceeding character limits when you augment datasets.

Updates to Analytics Cloud Limits


New Analytics Cloud limits enable you to run more jobs in a 24-hour period.
Review the following changes to Analytics Cloud limits:

Limit Old Limit New Limit


Maximum number of dataflows jobs in a rolling 24-hour period 10 24

Maximum number of external data uploads in a rolling 24-hour 20 50


period

Maximum amount of external data that you can upload in a rolling N/A 50 GB
24-hour period

Extract More Data for Your Datasets


The sfdcDigest transformation now extracts data from more standard Salesforce objects, so you can include more data in your datasets
than ever before.
Work.com objects are now supported.
These Event objects are now supported.
• AcceptedEventRelation
• DeclinedEventRelation
• Event
• EventFeed
• EventRecurrenceException
• EventRelation
• EventTag
• EventWhoRelation
• UndecidedEventRelation
These Task objects are now supported.
• Task
• TaskFeed
• TaskRecurrenceException
• TaskRelation
• TaskTag

59
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

• TaskWhoRelation
These objects are now supported.
• Calendar
• ForecastingQuota

Access More Information with the External Data API


You can now access more information about InsightsExternalData objects.
The following fields have been added to the InsightsExternalData object.

Field Description
Dataflow Type
String
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
For dataflows that are created in v34.0 and later. Unique ID of the system job that’s used to
create the dataset. You can use this field to get the status of the system job. This system field
isn’t editable.
For dataflows that were created before v34.0, use the WorflowId field.

Description Type
String
Properties
Create, Filter, Nillable, Sort, Update
Description
Description of the dataset. Used only when creating the dataset. Disregarded otherwise.

FileName Type
String
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Description of the external data file, such as the file name. A unique value isn’t required. It
can contain only underscores and alphanumeric characters. It must begin with a letter, not
include spaces, not end with an underscore, and not contain two consecutive underscores.
Maximum file name is 255 characters.

Note: Analytics Cloud doesn’t populate this field. You can manually update it via the
External Data API.

StatusMessage Type
String

60
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Field Description

Properties
Create, Nillable, Update
Description
Reason for failure of the system job. This system field isn’t editable.

SubmittedDate Type
String
Properties
Create, Filter, Nillable, Sort, Update
Description
Time when the upload was submitted or set to Process. This system field isn’t editable.

Improved Usability
Now you’ll experience improved usability when uploading external data.
Analytics Cloud comes with the following usability enhancements.
• The System Jobs field in the data monitor is now called File Uploads.
• The data monitor is now called the dataset manager.
• External data uploads have the following new statuses:
Queued
Indicates that the external data file has been uploaded and the job is queued.
Warning
Indicates that the job was completed, but some rows failed to load. You can click a link to download an error log that provides
details about the failed rows. To ensure data security, only the user who uploads the CSV file can view the related error log.

Shorter Dataset Field Names Recommended


With Summer ’15 Plus, we recommend that field names in datasets use no more than 40 characters. That way, you can reduce the
likelihood of exceeding character limits when you augment datasets.
Long field names increase the likelihood of exceeding character limits when you augment datasets, because names are appended. Field
names longer than 40 characters are currently supported, but we recommend shortening them to avoid issues. Field name character
limits may be changed in a future release.

Wave REST API (Pilot): Access More Data


You can now access more Analytics Cloud data by using the Wave REST API.

Note: We provide this feature to selected customers through a pilot program that requires agreement to specific terms and
conditions. To be nominated to participate in the program, contact Salesforce. Because pilot programs are subject to change, we
can’t guarantee acceptance. This pilot feature isn’t generally available, as referenced in this document or in press releases or public
statements. We can’t guarantee that it will become generally available within any particular time frame or at all. Make your purchase
decisions only on the basis of generally available features. Services provided by the Wave REST API are subject to change. Support
is not provided.

61
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

New Resources
The following resources have been added to the Wave REST API in Summer `15 Plus.

Resource Description Supported Resource URL


HTTP
Method
XMD List Returns a list of extended metadata (XMD) GET /services/data/v34.0/wave/
resources for a version of a dataset. datasets/<dataset ID>/
versions/<version ID>/xmds

XMD Returns the XMD for a version of a dataset. GET /services/data/v34.0/wave/


datasets/<dataset ID>/versions/
<version ID>/xmds/<XMD type>

Dependencies Returns the dependencies for an application GET services/data/v34.0/wave/


(folder). dependencies/<folder ID>

Folders List Creates an Analytics Cloud application. POST /services/data/v34.0/wave/folders

Folder Returns the representation for an Analytics Cloud GET /services/data/v34.0/wave/


application. folders/<folder ID>

Versions List Returns a collection of dataset versions for a GET /services/data/v34.0/wave/


particular dataset. datasets/<dataset ID>/versions

New Methods
The following methods have been added to the Wave REST API in Summer `15 Plus.
• PATCH on the Lens (/wave/lenses/<lens ID>) resource
• PATCH and DELETE on the Dataset (/wave/datasets/<dataset ID>) resource

New Properties
The following properties have been added to the Wave REST API in Summer `15 Plus.
• xmdMain in the Version (/wave/datasets/<dataset ID>versions/<version ID>) resource response body
• xmdsUrl in the Version (/wave/datasets/<dataset ID>versions/<version ID>) resource response body
For a complete list of the Wave REST API resources, see Wave REST API (Pilot): Build New Functionality.

Salesforce Analytics Query Language (Generally Available)


The Salesforce Analytics Query Language, or SAQL, is now generally available.
To learn more, see the Analytics Cloud SAQL Reference.

SAQL Enhancements: Use More Robust Syntax


Use the Salesforce Analytics Query Language (SAQL) in Wave REST API requests and in Dashboard JSON to return exactly the Analytics
Cloud data that you’re looking for.

62
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Important: This release introduces more robust syntax to prevent errors when executing SAQL code. Some of these changes
may break existing SAQL code. Update existing code to use the new syntax and rules.

IN THIS SECTION:
Maximum Number of Rows Returned Per Query
Each query returns a maximum of 10,000 rows by default.
min() and max() Functions Only Take Measures as Arguments
If you pass a dimension to a SAQL min() or max() function, the code throws an error.
Can’t Have Same Stream on Both Sides of a cogroup
You can’t have the same stream on both sides of a cogroup operation. If you do, the code throws an error.
Can’t Reference a Preprojection ID in a Postprojection order
You can’t reference a preprojection ID in a postprojection order operation. If you do, the code throws an error. (Projection is
another term for a foreach operation.)
Can’t Have Two Consecutive order Statements on the Same Stream
To order a stream by multiple attributes, use a new syntax.
Quotation Mark Rules Applied Consistently
In the previous release, SAQL handled quotation marks inconsistently for projected labels as input for order, filter, group
and alias.
Changes to foreach Statement
The behavior of a foreach operation (also called projection) has changed.
count() Function Takes Grouped Source Stream as an Argument
The count() function operates on streams that were inputs to the group or cogroup statements. It doesn’t operate on the
newly grouped stream or on an ungrouped stream.
SAQL Queries Must Be Compositional
SAQL is compositional—every statement has an input dataset, an operation, and a result dataset, and you can chain statements
together to operate on data sequentially. The order of SAQL statements is enforced according to how the operations in the statements
change the results.
Filtering an Empty Array Returns an Empty Result
When in operates on an empty array in a filter operation, everything is filtered and the results are empty. In the previous
release, the operation didn’t filter anything.
Explicit Stream Assignment Required
You can no longer assign streams to query lines implicitly. Assign streams explicitly.
Out of Order Range Filters Return false
Range filters that are out of order (for example, ["Z" .. "A"]) always evaluate to false.

Maximum Number of Rows Returned Per Query


Each query returns a maximum of 10,000 rows by default.
To set a different value, use the SAQL limit statement.

min() and max() Functions Only Take Measures as Arguments


If you pass a dimension to a SAQL min() or max() function, the code throws an error.

63
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

The SAQL in bold is a min() function with a dimension argument. This statement throws an error.
a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
a1 = group a by (destination);
q = foreach a1 generate destination as destination, min(destination) as minDestination;
limit q 20;

Can’t Have Same Stream on Both Sides of a cogroup


You can’t have the same stream on both sides of a cogroup operation. If you do, the code throws an error.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

To perform a cogroup operation on the same dataset, you can load the dataset into two different streams.

a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
b = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
b = cogroup a by ClosedDate, b by CreatedDate;
c = foreach b generate sum(a.Amount) as Amount;

You can also filter the dataset into two different streams:
a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
a = filter a by "region" in ["West"];
a = filter a by "status" in ["closed"];
b = filter a by "year" in [2014];
c = filter a by "year" in [2015];
d = cogroup b by ("state"), c by ("state");
d = foreach d generate "state" as "state", sum(b.Amount) as "Amount_2014", sum(c.Amount)
as "Amount_2015";

This code throws an error because it performs a cogroup operation on a single stream, a:

a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
b = cogroup a by ClosedDate, a by CreatedDate;
c = foreach b generate sum(a.Amount) as Amount;

Can’t Reference a Preprojection ID in a Postprojection order


You can’t reference a preprojection ID in a postprojection order operation. If you do, the code throws an error. (Projection is another
term for a foreach operation.)

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

This code throws an error:


q = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
q = group q by 'FirstName';
q = foreach q generate sum('mea_mm10M') as 'sum_mm10M';
q = order q by 'FirstName' desc;

64
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

This code is valid:


q = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
q = group q by 'FirstName';
q = foreach q generate 'FirstName' as 'User_FirstName', sum('mea_mm10M') as 'sum_mm10M';
q = order q by 'User_FirstName' desc;

Can’t Have Two Consecutive order Statements on the Same Stream


To order a stream by multiple attributes, use a new syntax.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

In the previous release, two consecutive order statements could operate on the same stream:
a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
b = group a by (year, month);
c = foreach b generate year as year, month as month;
d = order c by year desc;
e = order d by month desc;

That statement order is no longer valid. Rewrite to use this syntax:


a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
b = group a by (year, month);
c = foreach b generate year as year, month as month;
d = order c by (year desc, month desc);

Quotation Mark Rules Applied Consistently


In the previous release, SAQL handled quotation marks inconsistently for projected labels as input for order, filter, group and
alias.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

These quotation mark rules are now applied consistently in all cases.
• Strings use double quotation marks.
• Identifiers use single quotation marks or no quotation marks.
This example uses valid syntax:
accounts = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
opps = load "0Fbaa000000002qCAA/0Fcaa000000002WCAQ";
c = group accounts by 'Year', opps by 'Year';
d = foreach c generate opps.Year as 'Year';
e = filter d by Year == "2002";

In the following examples, the code in bold throws an error:


accounts = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
opps = load "0Fbaa000000002qCAA/0Fcaa000000002WCAQ";
c = group accounts by "Year", opps by "Year";

65
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

d = foreach c generate opps.Year as 'Year';


e = filter d by Year == "2002";

accounts = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";


opps = load "0Fbaa000000002qCAA/0Fcaa000000002WCAQ";
c = group accounts by Year, opps by Year;
d = foreach c generate opps."Year" as Year;
e = filter d by Year == "2002";

a = load "0Fbyy000000002qCAA/0Fcuu000000002WCAQ";
a = filter a by "year" == "1970";
a = group a by 'year';
a = foreach a generate 'year', count() as 'count';

a = load "0Fbxx000000002qCCC/0Fcxx000000002WCtr";
a = group a by year;
a = foreach a generate year as "year", count() as "count";

Changes to foreach Statement


The behavior of a foreach operation (also called projection) has changed.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

Unique Names Required in a Projection


Using a name multiple times in a projection throws an error.
In the previous release, this query produced only the last projected alias in the result set. In this release, the last line is invalid and throws
an error:
l = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
r = load "0Fbyy000000002qCAA/0Fcyy000000002WCAQ";
l = foreach l generate 'value'/'divisor' as 'value' , category as category;
r = foreach r generate 'value'/'divisor' as 'value' , category as category;
cg = cogroup l by category right, r by category;
cg = foreach cg generate r.category as 'category', sum(r.value) as sumrval, sum(l::value)
as sumrval;

Consistent Projection of Constants


In this release, constant projection is consistent between preprojection and postprojection. A foreach operation returns rows based
on filtered dataset size.
For example, this query returns all the rows in the loaded dataset:
q = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
q = foreach q generate 1 as num;

In the previous release, it returned one row.

66
Salesforce Summer ’15 Release Notes New in Summer `15 Plus

count() Function Takes Grouped Source Stream as an Argument


The count() function operates on streams that were inputs to the group or cogroup statements. It doesn’t operate on the
newly grouped stream or on an ungrouped stream.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

The count() function operates on the stream a that group operated on:
a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
a1 = group a by (Year);
q = foreach a1 generate count(a) as countYear, count() as count, Year as year;
q = limit q 20;

Note: The source stream argument can be grouped or cogrouped.

In the previous release, you could also pass a1 to count(), but this example now throws an error:
a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
a1 = group a by (Year);
q = foreach a1 generate count(a1) as countYear, count() as count, Year as year;
q = limit q 20;

Tip: You can still use count() with no arguments on ungrouped data.

SAQL Queries Must Be Compositional


SAQL is compositional—every statement has an input dataset, an operation, and a result dataset, and you can chain statements together
to operate on data sequentially. The order of SAQL statements is enforced according to how the operations in the statements change
the results.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

The statement order rules are:


• The order of filter and order can be swapped because it doesn’t change the results.
• offset must follow filter and order
• offset must come before limit
• There can be no more than 1 offset statement after a foreach statement.

Filtering an Empty Array Returns an Empty Result


When in operates on an empty array in a filter operation, everything is filtered and the results are empty. In the previous release,
the operation didn’t filter anything.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

The second statement filters everything and returns empty results:


a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
a = filter a by Year in [];
c = group a by ('Year', 'Name');
d = foreach c generate 'Name' as 'group::AName', 'Year' as 'group::Year',
sum(accounts::Revenue) as 'sRev';

67
Salesforce Summer ’15 Release Notes Analytics for iOS: Add Your Data, Create and Edit Dashboards,
Apple Watch™ Support

Explicit Stream Assignment Required


You can no longer assign streams to query lines implicitly. Assign streams explicitly.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

Assign query lines to a variable. The only exception to this rule is the last line in the query, which doesn’t need to be assigned explicitly.
q = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
q = filter q by OrderDate > \"2015-10-31\" and OrderDate < \"2015-12-31\";
q = foreach q generate OrderDate as od, Amount;
q = order q by Amount desc;
limit q 10;

In the previous release, this query worked to apply an order and limit. In this release, the line in bold throws an error.
q = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
q = filter q by OrderDate > \"2015-10-31\" and OrderDate < \"2015-12-31\";
q = foreach q generate OrderDate as od, Amount;
order q by Amount desc;
limit q 10;

Out of Order Range Filters Return false


Range filters that are out of order (for example, ["Z" .. "A"]) always evaluate to false.

Important: This change may break existing SAQL code. Update existing code to use this new behavior.

In the previous release, if the query had range filters in reverse order, the results were calculated by reversing the parameters. In this
release, the parameters are not reversed. For example, this query used to return dates in range ["20 years ago" ..
"2016-01-11"]. Now it returns empty results.

q = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
q = foreach q generate OrderDate as od, sum(Amount) as sum;
q = filter q by od in ["2016-01-11".."20 years ago"];
q = order q by sum desc;
limit q 10;

This query used to return the letters from A through Z. Now it returns empty results:
a = load "0Fbxx000000002qCAA/0Fcxx000000002WCAQ";
a1 = group a by dest;
a2 = foreach a1 generate dest as dest;
a2 = filter a2 by dest in ["Z" .. "A"];
limit a2 10;

Analytics for iOS: Add Your Data, Create and Edit Dashboards, Apple
Watch™ Support
You’ve explored your data from the road. Now you can also import new data files, create and edit
USER PERMISSIONS
dashboards, and check data on your Apple Watch whether you’re here, there, or anywhere in
between. To log in to Salesforce from
Analytics for iOS:
• “Use Analytics Cloud”

68
Salesforce Summer ’15 Release Notes Analytics for iOS: Add Your Data, Create and Edit Dashboards,
Apple Watch™ Support

Download Analytics for iOS Today


Download Salesforce Analytics for iOS on the App Store. Analytics for iOS is available for Apple iPhone 4 and later models running
iOS 7 and later.

IN THIS SECTION:
Add Your Data with the Wave Mobile Connector (v1.3)
By importing it as a dataset, you can quickly explore the data you already have on your mobile device.
Create and Edit Dashboards (v1.3)
Create and edit dashboards from datasets on your mobile device.
Support for Apple Watch™ (v1.2)
Check your data on your wrist from an Apple Watch.
Other Enhancements to Analytics for iOS (v1.2)
These other updates improve your mobile Analytics experience.

Add Your Data with the Wave Mobile Connector (v1.3)


By importing it as a dataset, you can quickly explore the data you already have on your mobile device.
In iOS, there are many places from which you can import a CSV data file, such as an email app or a Web browser. Depending on where
you import a CSV data file from, the way in which you access it differs. Look for prompts to Open in... or for sharing icons ( ). These
prompts and icons allow you to open the CSV data file in Analytics for iOS, which launches the data import process.

As you prepare to import data, keep these limits and tips in mind:

69
Salesforce Summer ’15 Release Notes Analytics for iOS: Add Your Data, Create and Edit Dashboards,
Apple Watch™ Support

• Only CSV files and ZIP files containing CSV files can be imported as datasets.
• Imported datasets aren’t available in Analytics Cloud on the Web. They are only available on your local device in the playground.
• Imported datasets aren’t encrypted.

Create and Edit Dashboards (v1.3)


Create and edit dashboards from datasets on your mobile device.
To launch the dashboard designer, swipe from right to left on a dataset or dashboard and tap Create or Edit. Alternatively, touch and
hold on a dataset or dashboard.

As you prepare to create and edit dashboards, keep these limits and tips in mind:
• On iPhone, dashboards you make are limited to a width of two columns.
• On iPad, dashboards you make are limited to a width of six columns.
• When created in Analytics for iOS via the user interface, a dashboard can have only one dataset. Add more datasets by editing the
dashboard’s JSON file.
• When created in the mobile playground, dashboards can be edited in Analytics for iOS.
When created in your Salesforce organization, dashboards can only be edited in Analytics Cloud on the Web.

• These widgets are not available: Raw Data Table, Box, Link.

Support for Apple Watch™ (v1.2)


Check your data on your wrist from an Apple Watch.

70
Salesforce Summer ’15 Release Notes Analytics for iOS: Add Your Data, Create and Edit Dashboards,
Apple Watch™ Support

Salesforce Analytics for iOS is compatible with Handoff™.


When Salesforce Analytics for iOS is viewed at a glance, the last opened dashboard or lens is shown. If a dashboard is shown, a number
is displayed which is the first number widget present in the dashboard. If no number widget is present in the dashboard, then no number
is shown.
Before heading out the door with your data “at hand,” be aware of a few watch-specific limits and notes.
Apple Watch Limitations

Feature Limitations
Connection Salesforce Analytics for iOS on Apple Watch is always connected to the same organization that the paired
iPhone app is connected to. To switch organizations, do so from your phone.

Lists • Only the last 10 opened dashboards are listed.


• Only the last 10 opened lenses are listed.

Note: You can open any of your dashboards and lenses, even if they’re not listed, by searching
for them by name using Siri®.

Dashboards Dashboards support only one page, one column. Rows can only have one cell.

Note: If a dashboard seems to be missing widgets on Apple Watch, it’s most likely for one of two
reasons. Either a grid layout hasn’t been set for the dashboard or the missing widgets aren’t
supported.

Dashboard Designer The Dashboard Designer isn’t available.

Widgets Only these widgets are supported: Chart, Table, Number, Toggle, List, Text, and Scope.
• Charts show 10 elements (bars, slices, etc.).
• Tables show 10 rows.
• Lists show 10 values, but you can use Siri® to search for more items by name.

71
Salesforce Summer ’15 Release Notes Integrate Data: Preview Metadata and Delete Datasets

Feature Limitations
Datasets Datasets can’t be opened and aren’t available in list views.

Wave Data Connector The Wave Data Connector isn’t available on Apple Watch.

Other Enhancements to Analytics for iOS (v1.2)


These other updates improve your mobile Analytics experience.
New chart type: stacked bar
Visualize your data as a horizontal or vertical stacked bar chart.
Standard bar charts show up to two groupings
Show more granularity by adding more groupings to a standard bar chart.
The date widget is now supported
While reading dashboards, you can now explore data by date.
Easily return to Salesforce1
After opening Analytics for iOS from a link in Salesforce1, tap back to return to Salesforce1.
Scale axes to fit data in line charts
In the dashboard’s JSON file, add the fit parameter to the chart widget. For more information, see the Widget Parameters Property
Reference in the Analytics Cloud Dashboard JSON Reference guide.
Compound filters are now supported
Filter, filter, filter away!
Toggle and list widgets support the shortened number format
If configured, they display 1,043 as 1k.
Dashboard bindings support the field() operation
For more information, see Bindings in the Analytics Cloud Dashboard JSON Reference guide.
Analytics for iOS is even faster
For improved performance, multi-page dashboards only run queries on the current page.
Bug fixes
Analytics for iOS runs even more reliably thanks to miscellaneous bug fixes.

Integrate Data: Preview Metadata and Delete Datasets


Preview metadata settings before uploading a CSV file and delete datasets to clean up your apps.

IN THIS SECTION:
Create Datasets from your App
Access dataset creation options from the Analytics Cloud App page.
Preview Metadata to Load CSV Data Correctly
Use the interface to view and change required metadata attributes in the file that's generated when uploading a CSV.
Clean Up Your Apps by Deleting Unnecessary Datasets
Remove unnecessary datasets from your My Private App or shared apps on which you have at least Editor access. Removing datasets
reduces clutter and helps you avoid reaching your org's limit for rows across registered datasets.

72
Salesforce Summer ’15 Release Notes Integrate Data: Preview Metadata and Delete Datasets

Augment Transformation Offers More Support for Multiple Matches


Control the augment transformation’s behavior in a new way when it encounters multiple matches. Previously, Analytics Cloud
returned results from all matched rows. Now, the augment transformation can return results from one of the matched rows—which
is the new default behavior—or from all matched rows.

Create Datasets from your App


Access dataset creation options from the Analytics Cloud App page.
USER PERMISSIONS
Now it’s easier to associate datasets with your apps. Integrate your customized data directly into
your app using the new Create button on the App page. To create datasets from the
App page:
• “Edit Analytics Cloud
Dataflows”

Preview Metadata to Load CSV Data Correctly


Use the interface to view and change required metadata attributes in the file that's generated when
USER PERMISSIONS
uploading a CSV.
1. When you upload a CSV file to create or edit a dataset, the Preview Data button appears. To preview metadata when
uploading external data:
• “Upload External Data to
Analytics Cloud”

Note: The Preview Data button is disabled if you upload your own metadata file.

2. Click Preview Data to view and change the required metadata attributes.
You can change the optional metadata attributes later.

73
Salesforce Summer ’15 Release Notes Integrate Data: Preview Metadata and Delete Datasets

3. For each column:


a. Click a column name to change it.
The column name is the display name in the dataset.
b. Click the column header to change other required metadata attributes.
You can change attributes for dates and measures.

Note: No metadata is required for dimensions.

4. Click Submit to apply the metadata changes in the preview page to the metadata file.

Note: The Submit button is grayed out if there are errors.

5. Click OK to close the confirmation message.


6. To change optional metadata attributes—which are not visible in the preview page—click to download the metadata file, edit
the file, and then upload it.

74
Salesforce Summer ’15 Release Notes Integrate Data: Preview Metadata and Delete Datasets

7. Click Update Dataset.


8. Click Continue to dismiss the confirmation message.

Clean Up Your Apps by Deleting Unnecessary Datasets


Remove unnecessary datasets from your My Private App or shared apps on which you have at least
USER PERMISSIONS
Editor access. Removing datasets reduces clutter and helps you avoid reaching your org's limit for
rows across registered datasets. To delete a dataset:
Before you can delete a dataset created by a dataflow, you must remove all references to the dataset • “Edit Analytics Cloud
Dataflows”
in all dataflows.

Warning: You can’t recover a deleted dataset.

1. On the home or app page, click the Datasets tab.


2. Hover over the dataset that you want to delete, and then click Edit.
3. Click Delete Dataset.
If applicable, Analytics Cloud shows a list of all lenses and dashboards that reference the dataset and that you have access to view.
After you delete the dataset, any lens or dashboard that reference the dataset will become unusable.
4. Click Delete Permanently and confirm.

Augment Transformation Offers More Support for Multiple Matches


Control the augment transformation’s behavior in a new way when it encounters multiple matches. Previously, Analytics Cloud returned
results from all matched rows. Now, the augment transformation can return results from one of the matched rows—which is the new
default behavior—or from all matched rows.
For each record in the left dataset, the augment transformation performs a lookup to find a matching record in the right dataset. If the
left dataset has a one-to-many relationship with the right dataset, Analytics Cloud might find multiple matches for a left record. How
Analytics Cloud handles multiple matches depends on the specified augment operation. You can specify the LookupSingleValue
or LookupMultiValue operation in the augment transformation. If you don’t specify an operation, Analytics Cloud treats the
augment as if you specified the LookupSingleValue operation.

Note: The default behavior changes in this release. Analytics Cloud might produce different results based on the new default
behavior. To revert back to the default behavior of the previous release, set the operation to LookupMultiValue.

LookupSingleValue Operation
Use the LookupSingleValue operation to force the augment transformation to return results from a single row when multiple
matches are found. Analytics Cloud randomly selects one row from the list of matched rows.

Note: Each time you run the dataflow, Analytics Cloud can return a different result depending on the returned row.

For example, you apply the augment transformation on the following datasets, set the relationship to "Price," and match them based
on the Id and ProdId fields.

75
Salesforce Summer ’15 Release Notes Integrate Data: Preview Metadata and Delete Datasets

Although there are multiple rows for Prod3, Analytics Cloud randomly chooses one matching row and returns values based on that row.
Here’s the resulting dataset after the augment if Analytics Cloud chooses the first Prod3 row.

LookupMultiValue Operation
Use the LookupMultiValue operation to force the augment transformation to return results from all matching rows when multiple
matches are found. When multiple matches are found, Analytics Cloud creates multiple dimension values and sums measure values in
the resulting dataset record. For example, you apply the augment transformation on the following datasets, set the relationship to "Price,"
and match them based on the Id and ProdId fields.

Because the lookup returns multiple rows for Prod3, the Price.Pricebook field in the resulting dataset appears twice, once for
each match. The measure field Price.UnitPrice contains 1500, which is the sum of 800 and 700. Here’s the resulting dataset
after the augment.

Operation Example
You specify the operation in the augment transformation as shown in the following dataflow snippet.
"Augment_OpportunitiesWithAccountDetails": {
"action": "augment",
"parameters": {
"operation": "LookupSingleValue",
"left": "Extract_Opportunity",
"left_key": [ "AccountId" ],
"relationship": "OpptyAcct",
"right": "Extract_AccountDetails",
"right_key": [ "Id" ],
"right_select": [
"Name",

76
Salesforce Summer ’15 Release Notes Explore Data: Group and Filter Dimensions, Measures, and
Fiscal Periods

"BillingAddress"
]
}
}

Explore Data: Group and Filter Dimensions, Measures, and Fiscal Periods
Quickly focus your visualizations with the new filter operators for dimensions, measures, and fiscal
USER PERMISSIONS
periods.
To explore data:
IN THIS SECTION: • “Use Analytics Cloud”

Explore Dimensions with New Filter Operators


With the new filter operators for dimensions—Equals, Does Not Equal, and Contains—you can more easily narrow the focus of your
lens and customize your data visualizations.
Explore Measures with New Filter Operators
With the new comparison operators—Between, Greater Than, Greater Than Or Equal To, Less Than, Less Than Or Equal To, Equals,
and Does Not Equal—you can more easily arrange data visualizations with relevant measures.
Group Dates by Fiscal Periods: Fiscal Year, Fiscal Quarter, and Fiscal Year-Quarter
Now you can group or filter by fiscal dates and date ranges.

Explore Dimensions with New Filter Operators


With the new filter operators for dimensions—Equals, Does Not Equal, and Contains—you can more easily narrow the focus of your
lens and customize your data visualizations.
A dimension is a qualitative value, like region, product name, and model number. Dimensions are handy for grouping and filtering your
data. Now you can select dimension filter operators from a new drop-down list.

Explore Measures with New Filter Operators


With the new comparison operators—Between, Greater Than, Greater Than Or Equal To, Less Than, Less Than Or Equal To, Equals, and
Does Not Equal—you can more easily arrange data visualizations with relevant measures.
A measure is a quantitative value, like revenue and exchange rate. You can do math on measures and filter by numerical comparison.
Now you can select measure comparison operators from a new drop-down list.

Group Dates by Fiscal Periods: Fiscal Year, Fiscal Quarter, and Fiscal Year-Quarter
Now you can group or filter by fiscal dates and date ranges.
Using the Group button, you can click a fiscal date option to access the scale selections: Fiscal Year, Fiscal Quarter, and Fiscal Year-Quarter.
Once a group is selected, the lens filters your data so that only the selected range appears.
Be aware of these limitations:
• Fiscal Month and Fiscal Year-Month filters aren’t available.
• Range selection by clicking and dragging on a timeline isn’t available.

77
Salesforce Summer ’15 Release Notes Curate Data: Add Dashboards to Page Layouts, Link from
Tables and Charts

Curate Data: Add Dashboards to Page Layouts, Link from Tables and Charts
Expand your audience by including fully interactive Analytics Cloud dashboards in page layouts
USER PERMISSIONS
and by linking to Salesforce records or external records directly from dashboards.
To design dashboards:
IN THIS SECTION: • “Create and Edit
Analytics Cloud
Link from Lens and Dashboard Tables and Charts Dashboards”
You’ve presented your data in a lens or a dashboard, and now you want more detail. Your team To view dashboards:
can create custom links from tables and charts in Analytics Cloud lenses and dashboards to • “Use Analytics Cloud”
corresponding records in Salesforce (like Accounts, Cases, and Opportunities) or external
websites.
Add Dashboards to Page Layouts (Generally Available)
Analytics Cloud dashboards can now be added to detail page layouts. On an account detail page, for example, show your users a
dashboard of service issues associated with the account. Users can drill in, apply filters, and explore in the dashboard as if they were
viewing it in an Analytics Cloud window.

Link from Lens and Dashboard Tables and Charts


You’ve presented your data in a lens or a dashboard, and now you want more detail. Your team can create custom links from tables and
charts in Analytics Cloud lenses and dashboards to corresponding records in Salesforce (like Accounts, Cases, and Opportunities) or
external websites.
Links can pass specific bits of data, such as Salesforce account IDs, from lenses or dashboards to the records that contain them. For
example, a link from an account name in a dashboard could be configured to pass the related account ID to Salesforce; when a user
clicks the link, the appropriate account record opens in a new tab. Custom links can also look up employees in Workday® or expense
reports in Concur®. Any website can be linked to as long as it uses the http or https protocol.

For information about how to set up linking from dashboards, see Link to Salesforce Records or External Websites in the Analytics Cloud
help.

Add Dashboards to Page Layouts (Generally Available)


Analytics Cloud dashboards can now be added to detail page layouts. On an account detail page,
USER PERMISSIONS
for example, show your users a dashboard of service issues associated with the account. Users can
drill in, apply filters, and explore in the dashboard as if they were viewing it in an Analytics Cloud To customize page layouts:
window. • “Customize Application”
Enhancements to this feature have been added since the Spring ‘15 pilot release:
• The Show title checkbox gives you control over the visibility of the dashboard title.

78
Salesforce Summer ’15 Release Notes Wave REST API (Pilot): Build New Functionality

• The Hide on error checkbox gives you control over whether an Analytics Cloud asset appears if there is an error (such as the
dashboard can’t be found).
• Dashboards now include the date and time when they were last refreshed.
In the enhanced page layout editor, look for a new category of user interface elements called Analytics Cloud Assets, in the left column
of the palette.

Select the Analytics Cloud Assets category and then drag an item from the list of available dashboards to a detail section on the page
layout. After the dashboard is positioned in the layout, you can change properties such as height and width by double-clicking the
element or clicking the wrench icon next to it ( ).
For information about field mapping and working with the enhanced page layout editor, see Customizing Page Layouts with the
Enhanced Page Layout Editor.
Be aware of these limits and limitations:
• You can add one dashboard per page layout.
• Analytics Cloud dashboards aren’t supported in the original page layout editor. If you use the original page layout editor to open a
layout that was created in the enhanced page layout editor, the original page layout editor will delete any dashboard element as
soon as you save the layout.
• In a Visualforce page, adding a detail page component that contains an Analytics Cloud dashboard isn’t supported.

Wave REST API (Pilot): Build New Functionality


You can now access Analytics Cloud datasets and lenses programmatically by using the Wave REST API.

Note: We provide this feature to selected customers through a pilot program that requires agreement to specific terms and
conditions. To be nominated to participate in the program, contact Salesforce. Because pilot programs are subject to change, we
can’t guarantee acceptance. This pilot feature isn’t generally available, as referenced in this document or in press releases or public
statements. We can’t guarantee that it will become generally available within any particular time frame or at all. Make your purchase
decisions only on the basis of generally available features. Services provided by the Wave REST API are subject to change. Support
is not provided.
Using the Wave REST API, you can:
• Send queries directly to the Wave Platform.
• Access datasets that have been imported into the Wave Platform.
• Retrieve Analytics Cloud lenses.
• Access XMD information.
• Retrieve a list of dataset versions.
• Create and retrieve Analytics Cloud applications.
• Retrieve a list of dependencies for an application.

79
Salesforce Summer ’15 Release Notes Wave REST API (Pilot): Build New Functionality

The Wave REST API has the following resources.

Resource Description Supported Resource URL


HTTP
Method
Wave Lists the top-level Analytics Cloud resources. GET /services/data/v34.0/wave

Query Executes a query written in the Salesforce POST /services/data/v34.0/wave/query


Analytics Query Language (SAQL).

Datasets List Returns a list of Analytics Cloud datasets. GET /services/data/v34.0/wave/datasets

Dataset Returns the Analytics Cloud dataset with the GET /services/data/v34.0/wave/datasets/
specified ID. <dataset ID>

Versions List (New in Summer `15 Plus) Returns a collection GET /services/data/v34.0/wave/
of dataset versions for a particular dataset. datasets/<dataset ID>/versions

Version Returns an Analytics Cloud dataset version (GET), GET, /services/data/v34.0/wave/datasets/


or updates the predicate (PATCH). PATCH <dataset ID>/versions/<version ID>

File Provides access to the files that make up a GET /services/data/v34.0/wave/


dataset. datasets/<dataset ID>/versions/
<version ID>/files/<file ID>

Lenses List Returns a list of Analytics Cloud lenses (GET), or GET, POST /services/data/v34.0/wave/lenses
creates a lens (POST).

Lens Returns the Analytics Cloud lens with the GET, /services/data/v34.0/wave/lenses/
specified ID (GET), or deletes a lens (DELETE). DELETE <lens ID>

XMD List (New in Summer `15 Plus) Returns a list of GET /services/data/v34.0/wave/
extended metadata (XMD) resources for a version datasets/<dataset ID>/
of a dataset. versions/<version ID>/xmds

XMD (New in Summer `15 Plus) Returns the XMD for GET /services/data/v34.0/wave/
a version of a dataset. datasets/<dataset ID>/versions/
<version ID>/xmds/<XMD type>

Dependencies (New in Summer `15 Plus) Returns the GET services/data/v34.0/wave/


dependencies for an application (folder). dependencies/<folder ID>

Folders List (New in Summer `15 Plus) Creates an Analytics POST /services/data/v34.0/wave/folders
Cloud application.

Folder (New in Summer `15 Plus) Returns the GET /services/data/v34.0/wave/


representation for an Analytics Cloud application. folders/<folder ID>

For more information about these resources, see the Wave REST API Developer’s Guide (Pilot).

80
Salesforce Summer ’15 Release Notes SAQL Enhancements (Pilot): Build More Powerful Queries

SAQL Enhancements (Pilot): Build More Powerful Queries


Use the Salesforce Analytics Query Language (SAQL) in Wave REST API requests and in Dashboard JSON to return exactly the Analytics
Cloud data you’re looking for.
Use the SAQL real-time query language to access data that’s stored in datasets. SAQL is compositional—every statement has a result,
and you can chain statements together. Analytics Cloud uses SAQL behind the scenes in lenses, dashboards, and explorer to gather data
for visualizations.

Note: SAQL is currently available through a pilot program. Any unreleased services or features referenced in this or other press
releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our
services should make their purchase decisions based upon features that are currently available.

IN THIS SECTION:
Enhance Your SAQL Queries With Open-Ended Dates Support (Pilot)
SAQL now supports open-ended ranges for absolute and relative dates filters.

SEE ALSO:
SAQL Reference

Enhance Your SAQL Queries With Open-Ended Dates Support (Pilot)


SAQL now supports open-ended ranges for absolute and relative dates filters.
With open-ended date ranges, Salesforce Analytics Query Language (SAQL) now enables you to build queries like “List all opportunities
closed after 12/23/2014” and “Get a list of marketing campaigns from before 04/2/2015.”
Open-ended relative date filters look like this:
a = filter a by date('year','month','day')in[.."current month"]

New SAQL date functions in this release are the following:


• now(): Returns current date time in UTC (GMT calendar).
• toDate (dateStr, [formatStr]): Converts a string to a date. If no format string is specified, uses default format
yyyy-MM-dd HH:mm:ss .
• toDate (epoch_sec):: Converts Unix epoch seconds to a date. Note: If epoch seconds is 0, toDate(epoch_sec) returns
'1970-01-01 00:00:00'.
• daysBetween(date1, date2b): Returns the number of days between two dates as an integer.
• toString (date, formatStr): Converts a date to a string.

Mobile: Do More on the Go


For the Salesforce1 app, Summer ’15 is primarily focused on improving your sales reps’ mobile experience through performance and
trust improvements. There are other goodies for your users too, like streamlining workflow with a rich-text note-taking tool (beta). Or
growing revenue pipelines by converting qualified leads to contacts, complete with the ability to create new accounts as part of the
process (now generally available). And to help empower your users to do what’s needed in the field, you can now customize the selection
and arrangement of actions in the Salesforce1 action bar. Summer ’15 also marks the removal of the Chatter Mobile app from Google
Play and the end of support for the Mobile Dashboards for iPad app.

81
Salesforce Summer ’15 Release Notes Salesforce1

IN THIS SECTION:
Salesforce1
The Salesforce1 mobile app lets users stay up to date on their most-important records, activities, conversations, and dashboards and
reports—from wherever they are. Summer ’15 continues to improve life for sales reps in the field, with a focus on performance and
trust improvements.
Chatter Mobile for Android No Longer Supported as of Summer ’15
Shortly after completion of the Summer ’15 release, Chatter Mobile for Android, version 3.4 will be removed from Google Play and
will no longer be supported by Salesforce. To ensure uninterrupted mobile access to your Salesforce data, we recommend that your
users switch to the Salesforce1 downloadable app for Android as soon as possible.
Mobile Dashboards for iPad App No Longer Supported as of Summer ’15
With the Summer ’15 release, the Mobile Dashboards for iPad app will be removed from the App Store and will no longer be supported
by Salesforce. We encourage customers who currently use the Mobile Dashboards for iPad app to switch to the Salesforce1 mobile
app instead.

SEE ALSO:
How and When Mobile Features Become Available
IdeaExchange: Salesforce1 Mobile Ideas Delivered in Summer ’15

Salesforce1
The Salesforce1 mobile app lets users stay up to date on their most-important records, activities, conversations, and dashboards and
reports—from wherever they are. Summer ’15 continues to improve life for sales reps in the field, with a focus on performance and trust
improvements.

IN THIS SECTION:
Access the Salesforce1 Mobile App
Your users have several options for accessing Salesforce1 on mobile devices.
Salesforce1 Enhancements in This Release
Our latest round of new and improved Salesforce1 features makes it easier to access Salesforce on the go.
Salesforce1 Differences from the Full Salesforce Site
The Salesforce1 app doesn’t have all of the functionality of the full Salesforce site, and in some cases includes features that aren’t
available in the full site.
Salesforce1 App Development Overview
Several Force.com platform enhancements support Salesforce1 development.

Access the Salesforce1 Mobile App


Your users have several options for accessing Salesforce1 on mobile devices.
• Install the Salesforce1 downloadable app on Android ™ and Apple® mobile devices. Users can download the app from the App Store
or Google Play™.
• Access the Salesforce1 mobile browser app from a supported mobile browser on supported devices, including Android, Apple, and
Windows 8.1 phones and tablets. This option doesn’t require anything to be installed.
See “Requirements for the Salesforce1 Mobile App” in the Salesforce Help for more details about supported devices and browsers.

82
Salesforce Summer ’15 Release Notes Salesforce1

Salesforce1 Enhancements in This Release


Our latest round of new and improved Salesforce1 features makes it easier to access Salesforce on the go.
The Salesforce1 mobile app is available for all editions, except Database.com, without an additional license. Your organization’s Salesforce
edition and licenses, as well as a user’s assigned profile and permission sets, determines the Salesforce data and features that are available
to each Salesforce1 user.

Note: You’ve probably noticed that some features are available only in the Salesforce1 mobile browser app. Fear not—many of
these enhancements will be in future updates to the Salesforce1 downloadable apps for Android and iOS. Check back here for
details when new downloadable app versions are released on Google Play and the App Store.
The latest release of the Salesforce1 downloadable apps for Android and iOS is version 7.3. For the list of enhancements in this
release, see What’s New in the Latest Salesforce1 Downloadable Apps.

Android iOS Mobile Setup in


Salesforce1 Enhancement Downloadable Downloadable Browser the Full
App App App Site
Setup and Rollout Enhancements

Customize the selection and arrangement of actions in the Salesforce1


action bar and for list item actions.
(As of v7.0) (As of v7.0)

Use the point-and-click Lightning App Builder to create home pages for
custom apps, which you can expose to users in the Salesforce1 navigation
menu. (Generally Available)

Use Salesforce Adoption Manager in the U.K. and Australia, as well as the
United States.

The obsolete Publisher Icon field was removed from Salesforce1


branding pages in Setup.

Device and Browser Support

Support for Salesforce1 on iOS 7 devices is discontinued and iOS 8 or


later is now required.
(As of v7.3)

Support for Salesforce1 on Android 4.2 and 4.2 operating systems ends
with the Winter ’16 release.
(As of v8.0)

Get Salesforce1 push notifications on the Apple Watch.

Supported Data Enhancements

Use state and country picklists when creating or editing records.

Access more external data with Lightning Connect.

Navigation and Actions Enhancements

Use fast swipe gestures to open the navigation menu and go back to
previously viewed pages.
(As of v7.3)

83
Salesforce Summer ’15 Release Notes Salesforce1

Android iOS Mobile Setup in


Salesforce1 Enhancement Downloadable Downloadable Browser the Full
App App App Site
Navigate more easily through object home pages, list views, and search
results when working on a tablet.

Open most Salesforce URLs directly in Salesforce1.


(As of v7.2) (As of v7.0)

Use scrolling buttons with iOS assistive technology products.


(As of v7.3)

When creating Visualforce pages for use as custom actions, hide the
action header so the standard buttons don’t compete with buttons
specified for the page.

Access the former Call or Log productivity action by its new name, Call.
(As of v7.0) (As of v7.0)

Google Maps images in standard address fields have replaced the Map
productivity action, which is no longer available in the Salesforce1 action
bar.

Account News has replaced the Read News productivity action, which
is no longer available in the Salesforce1 action bar.

Search Enhancements

Use global search to find posts in the “All Company” feed.

Sales Productivity Enhancements

Streamline workflow and increase productivity with rich text meeting


notes that are fast to create and easy to relate to other records. (Beta)

Automatically update key related fields when changing an opportunity’s


stage.

Associate price books with opportunities.

Convert qualified leads to contacts and create accounts for them. When
converting, select lead sources and prevent creating duplicate contacts
or accounts. (Generally Available)

Filter for relevant prospects and add prospects to nurture programs using
Salesforce Engage, an add-on to Salesforce Pardot.

Activities Enhancements

Create tasks directly from items in notes, with a swipe of the finger. (Beta)

Work.com Enhancements

84
Salesforce Summer ’15 Release Notes Salesforce1

Android iOS Mobile Setup in


Salesforce1 Enhancement Downloadable Downloadable Browser the Full
App App App Site
Precisely track goals and metrics related to work with Enhanced Goals.
(Generally Available)

Customer Service Tools Enhancements

Access Salesforce Knowledge Articles.


Beta
(As of v7.3)

See file field content when viewing articles.


(As of v7.3)

Chatter Enhancements

Dismiss recommendations so they no longer appear in feeds.

Add multiple topics to posts.

Manage group members directly from Members related lists.

See more focused information on group list views.

Access and share files from Microsoft SharePoint, OneDrive for Business,
and Google Drive.
(As of v7.3)

Edit Microsoft Office 365 files.


(As of v7.3)

Salesforce Communities Enhancements

Approve or reject approval requests from approval related lists on records


in communities.

Add records to Chatter groups in communities.

Create custom recommendations in Community feeds from a different


location in Community Manager.

Business Logic and Process Automation Enhancements

View the status of pending approvals and approve or reject approval


requests, all from a central place.
(As of v7.2) (As of v6.0)

Resume or delete paused flow interviews.


(As of v7.2)

Notifications Enhancements

Receive notifications about posts to groups.

85
Salesforce Summer ’15 Release Notes Salesforce1

Android iOS Mobile Setup in


Salesforce1 Enhancement Downloadable Downloadable Browser the Full
App App App Site
Offline Enhancements

See improved visual feedback when pages load.

Access the former Offline Sync link on the Salesforce1 Setup page by
its new name, Offline Cache.

Security Enhancements

Learn how the new continuous IP enforcement setting interacts with


current security policies for Salesforce1 downloadable app users.

View sensitive data that’s encrypted by the Platform Encryption feature.

Other Enhancements

App loading times are improved via a different handling of the loading
splash screen. The display of custom branding resources on initial login
(As of v7.3)
may be affected.

What’s New in the Latest Salesforce1 Downloadable Apps


Salesforce1 for iOS
The latest release of the Salesforce1 downloadable app for iOS is version 7.3. This release is targeted to be available on the App Store
the week of July 20, 2015.

Note: Version 7.3 will install only on iOS devices running iOS 8 or later. This release marks the formal end of support for Salesforce1
on iOS 7 devices and for older versions of the Salesforce1 downloadable app for iOS.
At a glance, here is what’s new in Salesforce1 for iOS, version 7.3.
• Navigate More Quickly with New Swipe Gestures
• Access and Share External Microsoft and Google Files
• Edit Microsoft Office 365 Files
• Receive Notifications about Posts to Groups
• Page Scrolling for Assistive Technology Users Has Changed to Buttons
• Experience Faster App Loading
Salesforce1 for Android
The latest release of the Salesforce1 downloadable app for Android is version 7.3. It will gradually be rolled out to users on Google Play
starting the week of July 20, 2015.
At a glance, here is what’s new in Salesforce1 for Android, version 7.3.
• Access Salesforce Knowledge Articles with Salesforce1 for Android (Beta)
• Receive Notifications about Posts to Groups

86
Salesforce Summer ’15 Release Notes Salesforce1

Salesforce1 No Longer Supported on iOS 7 Devices


Version 7.3 of the Salesforce1 downloadable app for iOS installs only on devices running iOS 8 or later. The release of version 7.3 marks
the formal end of support for Salesforce1 on iOS 7 devices and for older versions of Salesforce1 for iOS. To ensure a smooth transition
for your organization, we recommend that your users’ devices are updated to iOS 8 before attempting to install version 7.3.
iOS 8 can be installed for free on all of the iOS devices that are supported for Salesforce1 use. For help upgrading devices, see Update
the iOS software on your iPhone, iPad, and iPod touch on the Apple Support site. For the full list of iOS devices that Salesforce1 supports,
see “Requirements for the Salesforce1 Mobile App” in the Salesforce Help.
While users can continue to use previously installed, older versions of Salesforce1 on devices running iOS 7, Salesforce will no longer
provide support for any issues encountered.
With Summer ’15, the Salesforce1 mobile browser app is supported on devices running iOS 8 or later. Users aren’t prevented from
accessing the mobile browser app on iOS 7 devices but may encounter performance or other issues that won’t be addressed by Salesforce.

End of Support for Salesforce1 on Android 4.2 and 4.3 Coming in Winter ’16
To ensure your users have an optimal experience using Salesforce1, we will be removing support for the older Android 4.2 and 4.3
operating systems. Shortly after the completion of the Winter ’16 release, version 8.0 of the Salesforce1 downloadable app for Android
will be available from Google Play. This version will install only on Android phones running 4.4 or later. The release of Salesforce1 for
Android, version 8.0 marks the formal end of support for Salesforce1 on pre-4.4 operating systems and for older versions of the Salesforce1
for Android downloadable app. To ensure a smooth transition for your organization, we recommend that your users update their devices
to Android 4.4 or later before attempting to install Salesforce1 for Android, version 8.0.
While users can continue to run previously installed, older versions of Salesforce1 on devices running Android 4.2 or 4.3, Salesforce will
no longer provide support in the form of bug fixes or enhancements for any issues users may encounter.

Note: A quick reminder that the Salesforce1 downloadable app for Android is supported on phones only. While Google Play
doesn’t prevent users from installing the downloadable app on Android tablets, customers should recognize that this app is
designed for phones and doesn’t offer an ideal user experience on tablets. Salesforce doesn’t provide support for any problems
encountered when using Salesforce1 for Android on tablets. As an alternative, the Salesforce1 mobile browser app is supported
on Android tablets.
With Winter ’16, the Salesforce1 mobile browser app is supported on Android phones and tablets running Android 4.4 or later. Users
aren’t prevented from accessing the mobile browser app on older operating systems but may encounter performance or other issues
that Salesforce won’t address.

Customize Actions in the Salesforce1 Action Bar


Focus your mobile users on what they need to do in the field by assigning a different set of actions
EDITIONS
in the Salesforce1 mobile app than you have in Salesforce. For all of the Salesforce1 apps, you can
customize the selection and order of quick actions, productivity actions, and standard and custom Customized actions
buttons, in the action bar and for list item actions, on an object-by-object basis. available in: Group,
To enable this customization, we added a new section to the global publisher layout and to object Professional, Enterprise,
page layouts, and have renamed the existing actions section. The former Actions category in the Performance, Unlimited,
palette is now Quick Actions, and we added a new category called Salesforce1 Actions. Contact Manager, and
Developer Editions

87
Salesforce Summer ’15 Release Notes Salesforce1

You can now add actions to:


Quick Actions in the Publisher
This section can contain actions only from the Quick Actions category in the palette. Actions in this section appear in the Chatter
publisher in the full Salesforce site.
Actions in the Salesforce1 Action Bar
This section can contain actions only from the Salesforce1 Actions category in the palette. On object page layouts, the Salesforce1
Actions category contains all available types of actions for the object, including quick actions, productivity actions, and standard and
custom buttons. Actions in this section appear in the action bar and action menu in Salesforce1.
If you customize the actions in the Quick Actions in the Publisher section, but don’t customize the action bar section, then the Salesforce1
action bar inherits its quick actions from the Quick Actions in the Publisher section.

Important: Customizations you made in the old “Actions in the Publisher” section on the global publisher layout and object
layouts continue to populate the Salesforce1 action bar until you choose to customize the new Actions in the Salesforce1 Action
Bar section.
If you don’t customize the actions in either section, then the action bar inherits a default set of actions predefined by Salesforce. The sets
of actions differ between objects, based on the most common or typical activities required for each object. For a complete breakdown
of default action ordering in the Salesforce1 action bar, see “How Predefined Actions Are Ordered in the Salesforce1 Action Bar and List
Item Actions” in the Salesforce Help.
If you do customize the Actions in the Salesforce1 Action Bar section on a layout, then Salesforce1 users see only the actions you selected,
in the order you added them, when working on that object or page in Salesforce1.

SEE ALSO:
IdeaExchange: Customize Salesforce1 Record Actions Bar

88
Salesforce Summer ’15 Release Notes Salesforce1

Create Custom App Pages with the Lightning App Builder (Generally Available)
The Lightning App Builder is a point-and-click tool that makes it easy to create custom app pages
EDITIONS
for Salesforce1. With the Lightning App Builder, you can combine various components on a single
app home page to give your Salesforce1 users what they need all in one place. You can create App Lightning App Builder
Home pages for custom mobile apps and add them to the Salesforce1 navigation menu, which available in: Group,
gives your users quick access to the most important objects or items in an app. Lightning Pages, Professional, Enterprise,
including custom App Home pages, are supported in all of the Salesforce1 apps. Performance, Unlimited,
With the Lightning App Builder, you can build App Home pages like this: and Developer Editions

• Single-page applications that drill down into standard pages


• Dashboard-style applications, such as apps to track top sales prospects or key leads for the quarter
• “Point” applications to solve a particular task, such as an expense app for users to enter and monitor expenses
You can access the Lightning App Builder in Setup, in the Build section. The Lightning App Builder’s user interface makes creating app
pages for Salesforce1 easy. Here’s a breakdown of the parts of the tool.

Header (1)
The header shows you the label of your Lightning Page. It also gives you the opportunity to return to Setup without saving or to
view additional help.
Toolbar (2)
Use the buttons in the toolbar to cut ( ), copy ( ), and paste ( ) page content; and to undo ( ), redo ( ), save, or activate
your App Home page. You can also view your page in different formats and adjust the canvas size to fit your view.
Lightning Components Pane (3)
The components pane contains all standard and custom Lightning components that are supported for your App Home page. Click
and drag a component to add it to the page.
You can also access third-party custom components on the AppExchange using the button at the bottom of the pane.
Canvas (4)
The canvas area is where you build your page.

89
Salesforce Summer ’15 Release Notes Salesforce1

Properties Pane (5)


Depending on what you select on the page, the properties pane shows either the overall page properties or the properties of the
component that you’ve selected.
Lightning Pages are the underlying technology for the Lightning App Builder. Lightning Pages are built using Lightning
components—compact, configurable, and reusable elements that you can drag and drop into the Lightning App Builder.
You can use standard, custom, and third-party components in the Lightning App Builder.
Standard Components
Standard components are Lightning components built by Salesforce. The Lightning App Builder supports these standard Lightning
components.
• Filter List (List View)
• Recent Items
• Report Chart
• Rich Text
• Visualforce Page
Custom Components
Custom components are Lightning components that you or someone else have created. With some modifications, custom Lightning
components can work in the Lightning App Builder. For more information, see the Lightning Components Developer’s Guide.
Third-Party Components on AppExchange
The AppExchange provides a marketplace for Lightning components. You can find packages containing components already
configured and ready to use in the Lightning App Builder.
Actions add interactivity to your app. You can add global actions to an App Home page in the Lightning App Builder. When users visit
your page in Salesforce1, the assigned global actions appear in the page’s action bar.
For complete instructions on using the Lightning App Builder, see the Salesforce Help.

Navigate More Quickly with New Swipe Gestures


Version 7.3 of the Salesforce1 downloadable app for iOS includes two new swipe gestures for quickly opening the navigation menu and
returning to previously viewed pages.
Users can now open the navigation menu from any page, even pages that don’t display the icon. Simply swipe to the right anywhere
on the header.
We’ve also made it easier to return to previously viewed pages. Just swipe to the right anywhere along the left edge of the screen. This
is especially convenient on larger devices like the iPhone 6 Plus, where it can be harder to reach the icon in the header.
Neither gesture is available when working on an action that requires saving or submitting, like creating a record, posting to Chatter, or
logging a call.

90
Salesforce Summer ’15 Release Notes Salesforce1

Hide the Action Header for Visualforce Custom Actions


When creating a Visualforce page to use as a custom action, you can choose to hide the action’s
EDITIONS
header. Hiding the action header helps prevent user confusion, especially if you have your own
buttons specified in the Visualforce page. Available in:
To hide the header, add showQuickActionVfHeader=“false” to the <apex:page> • Group
tag of the custom action’s Visualforce page. When the Visualforce custom action renders in • Professional
Salesforce1, the header and the Cancel and Save buttons are hidden. Using this attribute doesn’t • Enterprise
affect how the action displays in the full Salesforce site. • Performance
• Unlimited
If you don’t specify showQuickActionVfHeader, its value defaults to true. • Contact Manager
The showQuickActionVfHeader attribute isn’t supported in communities. • Database.com
• Developer

Increase Productivity with Rich Text Meeting Notes (Beta)


Streamlining mobile user workflow is one of the most important things you can do to help your
EDITIONS
organization increase productivity and get the most out of Salesforce1. That’s why we’re excited
to introduce Notes, an enhanced version of the original Salesforce note-taking tool that lets your Notes available in: Group,
mobile users take better notes faster. Notes is available in the Salesforce1 mobile browser app Professional, Enterprise,
(except on BlackBerry devices), the Salesforce1 downloadable app for Android devices, version 6.0 Performance, Unlimited,
and later, and the Salesforce1 downloadable app for iOS devices, version 6.0.2 and later. Contact Manager, and
Developer Editions
Note: This release contains a beta version of Notes that is production quality but has known
limitations. You can provide feedback and suggestions on the Salesforce Success Community.
With Notes, it’s a breeze for your users to:
• Create notes by tapping in the action bar.
• Add bulleted and numbered lists to notes using the icons (1) in the Notes toolbar.
• Relate notes to other records by tapping Relate Records. To change the related records, tap the names of the related records (2).
• Create tasks and work with related tasks directly from notes.
• View and search notes by selecting Notes in the Salesforce1 navigation menu.

For more information on what your users can do with Notes, check out the video: How to Use Notes (1:34).

91
Salesforce Summer ’15 Release Notes Salesforce1

To enable and set up Notes for use in Salesforce1, see Set Up Notes on page 141 for information.

SEE ALSO:
IdeaExchange: Rich Text in Notes
IdeaExchange: Attach Notes and Attachments to Multiple Records

Associate Price Books with Opportunities in Salesforce1


Your sales reps can now add or change a price book for an opportunity while on the go. Because
EDITIONS
the Price Book field is now available on opportunities, you can create a quick action that
allows users to add this information, using any version of the Salesforce1 mobile app. Price books available in:
Adding the option to associate price books from Salesforce1 involves these steps. Professional, Enterprise,
Performance, Unlimited,
1. Create a quick action, selecting Update a Record as the action type. See “Create Object-Specific
and Developer Editions
Quick Actions” in the Salesforce Help.
2. Add the Price Book field to the action layout. To keep the action focused on price books,
remove any other fields that aren’t appropriate. See “Customize Actions with the Action Layout Editor” in the Salesforce Help.
3. Add the new action to the Salesforce1 action bar on your opportunity page layouts. See “Customize Actions with the Enhanced
Page Layout Editor” in the Salesforce Help.

Convert Leads to Contacts (Generally Available)


Sales representatives on the go can convert qualified leads to contacts, as well as create accounts
EDITIONS
and opportunities. This option is available in all versions of Salesforce1.
In addition to identifying duplicate contacts for the leads your sales representatives want to convert, Lead conversion available
your reps can create accounts during the lead conversion process. This way, your sales teams aren’t in: Group, Professional,
limited to selecting from only accounts already in Salesforce when converting leads to contacts. Enterprise, Performance,
Unlimited, and Developer
It’s easy to make this option available to your sales reps. From Setup in the full Salesforce site, click
Editions
Customize > Leads > Settings, and then select the option to enable conversions on the Salesforce1
app.
Choose Lead Sources When Converting Leads
When sales reps use Salesforce1 to convert leads to existing contacts, they can choose to keep lead sources from the existing contacts
or replace the lead sources with the ones from the converted leads.
Prevent Duplicates When Converting Leads
Depending on the duplicate rules you set up for Duplicate Management, sales reps using Salesforce1 can now receive alerts of
possible duplicates for accounts and contacts when converting leads. Sales reps can then decide to either save the records that
could create duplicates or select other records to avoid duplicates altogether. For more information, see “Duplicate Management
Overview” in the Salesforce Help.

SEE ALSO:
IdeaExchange: Convert Leads in Salesforce1

92
Salesforce Summer ’15 Release Notes Salesforce1

Engage for Salesforce1


Engage for Salesforce1 keeps your sales reps informed about prospect activity in real time. A rep
EDITIONS
can filter prospects and then add any prospect to a nurture program. You add Engage to the
Salesforce1 navigation menu and the Add Prospects action to page layouts. Salesforce Engage is Engage for Salesforce1
an add-on to Salesforce Pardot. Engage for Salesforce1 is available for all versions of Salesforce1. available in: Professional,
To narrow a list of prospects, a rep can use the predefined filters or filters that you define. Enterprise, and Unlimited
Editions

A rep can choose any prospect and add it to a nurture program on the spot.

93
Salesforce Summer ’15 Release Notes Salesforce1

For more information, see Engage for Salesforce1 in the Pardot User Guide.

SEE ALSO:
Salesforce Engage
About Salesforce Engage for Pardot

Create Tasks from Notes with a Swipe (Beta)


Using Notes, the new note-taking tool in the Salesforce1 mobile app, users can quickly turn list
EDITIONS
items into tasks, with a simple swipe. Notes is available in the Salesforce1 mobile browser app
(except on BlackBerry devices), the Salesforce1 downloadable app for Android, version 6.0 and later, Notes available in: Group,
and the Salesforce1 downloadable app for iOS, version 6.0.2 and later. Professional, Enterprise,
Performance, Unlimited,
Note: This release contains a beta version of Notes that is production quality but has known
Contact Manager, and
limitations. You can provide feedback and suggestions on the Salesforce Success Community.
Developer Editions
Users can instantly create a task from a note.
• Swipe any line, bulleted item, or numbered item (1) in the note.
• Or tap a line or highlight some text, and then tap (2) in the toolbar.
The line, item, or highlighted text automatically becomes the subject of a new task, and the task is related to the note. Users can click
(3) in the related records area to view related tasks and mark those tasks complete. Users can also work with these tasks from their
task list.

94
Salesforce Summer ’15 Release Notes Salesforce1

To set up Notes, see Set Up Notes on page 141 for information.

Access Salesforce Knowledge Articles with Salesforce1 for Android (Beta)


A beta version of Salesforce Knowledge is now available in version 7.3 of the Salesforce1
EDITIONS
downloadable app for Android. Users can search for and read knowledge articles, see articles related
to cases, and read comments in article feeds. The Salesforce1 mobile browser app has included
Salesforce Knowledge support (generally available) since the Summer ’14 release. Salesforce Knowledge is
available in Performance
Note: Salesforce1 for Android, version 7.3 contains a beta version of Salesforce Knowledge and Developer editions.
that is production quality but has limited functionality. For a list of limitations when using Salesforce Knowledge is
articles in Salesforce1 for Android, see Salesforce1 Differences from the Full Salesforce Site available for an additional
on page 102. cost in Enterprise and
Users access articles from the Recent section of the Salesforce1 navigation menu. Look for Unlimited editions.
Knowledge Article Versions in Salesforce1 for Android or Articles in the mobile browser app.
To locate this item, it may be necessary to expand the Recent section by tapping Show More.
Salesforce Knowledge is automatically included in the navigation menu as part of the Smart Search Items element. See “Salesforce1
Mobile App Navigation Menu” in the Salesforce Help for information about how the navigation menu is populated.

Access and Share External Microsoft and Google Files


If Salesforce Files Connect is set up for your organization, your mobile users can get more
EDITIONS
business-critical content at their fingertips. With version 7.3 of the Salesforce1 for iOS downloadable
app, users can seamlessly access files in Microsoft SharePoint, OneDrive for Business, and Google Files Connect available in:
Drive. Access to external data sources was previously available in the Salesforce1 mobile browser Enterprise, Performance,
app only. Unlimited, and Developer
When browsing the Files list, attaching files to records, or sharing files with groups or in the feed, Editions
users can access external files just as they do files stored in Salesforce. Relevant external files appear
in the Files list when these filters are applied: Recent, Owned by Me, Shared with Me, or Following.
If the Files list is collapsed, an External section lets users navigate directly to outside files.

95
Salesforce Summer ’15 Release Notes Salesforce1

External file sources are included in the Files list if your organization has Files Connect set up and you have connected file sources. See
Access and Share External Microsoft and Google Files on page 95 for more details.

Edit Microsoft Office 365 Files


If Salesforce Files Connect is set up for your organization, your mobile sales reps can seamlessly
EDITIONS
access and edit Microsoft Office 365 files stored in SharePoint or OneDrive for Business—without
having to leave Salesforce1. This feature is available only in the Salesforce1 for iOS download app, Files Connect available in:
version 7.3. Enterprise, Performance,
Users can access Office 365 files from the Files list. Excel, Word, and PowerPoint files are opened Unlimited, and Developer
directly in the appropriate Office 365 mobile app and when the user finishes editing the document, Editions
she can switch right back to Salesforce1 with a tap.
Office 365 files are included in the Files list if your organization has Files Connect set up and you
have connected file sources. See Access and Share External Microsoft and Google Files on page 95 for more details.

View All Pending Approval Requests in One Location


Salesforce1 lists all pending approval requests in one central place, making it easy for users to keep
EDITIONS
track of pending approvals and respond to requests while on the go. This feature is now available
in the Salesforce1 downloadable app for Android devices, version 7.2. It was previously released in Approvals are available in:
the Salesforce1 downloadable app for iOS devices, version 6.0 and the Salesforce1 mobile browser Professional, Enterprise,
app. Performance, Unlimited,
To view an approval request, open the Salesforce1 navigation menu and tap Approvals (or Approval and Developer Editions
Requests in the iOS downloadable app). A list of pending approvals for the current user displays.
Tap a specific approval request to view the request details and then tap Approve or Reject.
Approvers can also tap notifications to open an approval request, view request details, and approve or reject requests.
This item is included in the navigation menu by default. The layout can be configured using the Setup menu in the full site.
For more information, see “Approvals in Salesforce1: Limits and Differences from the Full Salesforce Site” in the Salesforce Help.

96
Salesforce Summer ’15 Release Notes Salesforce1

View All Paused Flow Interviews in One Location


For users who work with flows, Salesforce1 lists all paused flow interviews in one central place and
EDITIONS
makes it easy to resume interviews when out of the office. This feature is now available in the
Salesforce1 downloadable app for Android devices, version 7.2. And it’s also available in the Flows are available in:
Salesforce1 mobile browser app. Enterprise, Performance,
A flow is an application that can execute logic, interact with the Salesforce database, call Apex Unlimited, and Developer
classes, and collect data from users. You can build flows by using the Cloud Flow Designer. For Editions
example, a flow can step support representatives through a call script that provides different
questions based on selections that the user makes earlier in the call. This way, the support
representative doesn’t try to sell a product to the customer when she already has the product. A flow interview is a running instance of
a flow.
To view a paused interview in Salesforce1, select Paused Flow Interviews from the navigation menu. A list displays the flow interviews
that the current user paused. The user can tap a specific interview to view details and then tap Resume or Delete. Any valid values that
users entered before they paused are saved with the interview, so they don't have to reenter that information when they resume.
The Paused Flow Interviews item is included in the Salesforce1 navigation menu by default. You can customize where this item appears
in the navigation menu. From Setup in the full Salesforce site, click Salesforce1 Setup > Mobile Navigation.

Receive Notifications about Posts to Groups


Mobile users can learn about new posts in groups they’re members of—even if they aren’t specifically
EDITIONS
mentioned—with a new notification type. These alerts are available as in-app notifications for all
versions of Salesforce1 and also as push notifications in version 7.3 of the Salesforce1 downloadable Groups available in:
apps. Mentions and new comments in group feeds don’t trigger notifications. Professional, Enterprise,
Group notifications indicate the name of the colleague who posted and the group posted to. If Performance, Unlimited,
multiple people post to a group in the same day, each new notification reflects the total number and Developer Editions
of posts so far.
To make group notifications available to your users, Salesforce1 in-app and push notifications must
be turned on. From Setup in the full Salesforce site, click Salesforce1 Setup > Notification Options.
Users enable group notifications for themselves from the full Salesforce site by selecting the email every post option on each desired
group’s page. This option now turns on the Salesforce1 group notification type in addition to standard email notifications.
If users find group post push notifications too distracting, they can easily opt out while continuing to see in-app notifications about
these activities in the notifications list. In the Salesforce1 navigation menu, tap Settings > Push Notification Settings then turn off
Posts to a group

Note: Group notifications aren’t supported in communities.

Other Changes in Salesforce1


Learn about other changes in the Salesforce1 app.

Other Salesforce1 Setup and Rollout Enhancements


Salesforce Adoption Manager Available in More Regions
Salesforce Adoption Manager is now available for organizations based in the U.K. and Australia, as well as those in the United States.

97
Salesforce Summer ’15 Release Notes Salesforce1

Obsolete Publisher Icon Field Removed from Salesforce1 Branding Pages


The Publisher Icon field has been removed from the Salesforce1 Branding pages, which are accessible in Setup by clicking
Salesforce1 Setup > Branding. The publisher icon was removed from the Salesforce1 mobile browser app in Winter ’15 and from
the downloadable apps starting with version 7.0. Because earlier versions of the downloadable apps are no longer supported, the
Publisher Icon field is now obsolete.

Other Device and Browser Support Enhancements


Get Salesforce1 Notifications on the Apple Watch
When used on iPhones devices, the Salesforce1 for iOS app delivers all Salesforce1 push notifications to the Apple Watch, so a mobile
user can see alerts and key updates simply by turning her wrist.

Other Supported Data Enhancements


Access State and Country Picklists
State and country picklists are now available in all versions of Salesforce1. State and country picklists allow users to select states and
countries from predefined, standardized lists, instead of directly typing state and country data into text fields. You must enable state
and country picklists for your organization first. For more information, see “Enable and Disable State and Country Picklists” in the
Salesforce Help.
Access External Data with Lightning Connect
With Lightning Connect, users of the Salesforce1 downloadable app for iOS and the Salesforce1 mobile browser app can view and
search data that's stored outside your organization. Lightning Connect accesses the external data in real time via Web service callouts
and represents the data in Salesforce external objects. (Lightning Connect is available in Developer Edition and for an extra cost, in
Enterprise, Performance, and Unlimited Editions.)
Previously, you could access only Open Data Protocol–exposed data on external systems. Now you can access more types of external
systems, so all your users—including Salesforce1 users—get a more complete view of your business. For more information, see
Lightning Connect on page 219.

Other Navigation and Actions Enhancements


Scroll More Easily and with Better Context When Viewing Long Lists (Tablets Only)
When using the Salesforce1 mobile browser app on a tablet, it's easier to work with the information displayed on object home pages
and in listviews and search results. Users can scroll seamlessly through long lists of records instead of using navigation buttons to
switch between multiple pages. And column headings remain at the top of the page when scrolling, so users can always identify
the categories of data they’re looking at.
Open Most Salesforce URLs Directly in a Salesforce1 Downloadable App
The Salesforce1 downloadable app for Android, version 7.2 now supports URL schemes, same as the Salesforce1 for iOS app. When
a user taps a Salesforce URL hyperlink, or enters a Salesforce URL into a browser address bar on a mobile device, she’s taken directly
to that page in Salesforce1. This saves users from having to manually navigate to desired information in the app.
For example, a user can email a Salesforce URL for an account to some coworkers. Simply by tapping the link in the email, a coworker
using a Salesforce1 downloadable app can automatically open the account record in the app.
An administrator or developer can customize a URL scheme to perform a specific action when Salesforce1 launches. See Salesforce1
Mobile URL Schemes for more information.
Page Scrolling for Assistive Technology Users Has Changed to Buttons
For assistive technology users, scrolling in the Salesforce1 for iOS downloadable app is now done with buttons instead of three-finger
swiping. Buttons are located at the top and bottom of the page for vertical scrolling and on the left and right for horizontal scrolling

98
Salesforce Summer ’15 Release Notes Salesforce1

regions. We've replaced three-finger scrolling with scrolling buttons to improve performance and to provide users with a consistent
scrolling experience throughout the app.
Call or Log Action Renamed
The Call or Log productivity action is now named Call. We made this change to clarify the primary use of the action and to
differentiate it from the Log a Call quick action. The functionality of the Call action hasn't changed— it's still possible to use Call
to log a note on a record without making a phone call first. But it's usually faster to use the Log a Call action for this sort of activity.
This change is available in the Salesforce1 mobile browser app and in version 7.0 or later of the downloadable apps.
Google Map Images Replace the Map Productivity Action
With a map now appearing in standard address fields, users can see account or contact locations directly on record detail pages.
(For a map to display, an address must include the street, city, and either the state, postal code, or country.)

The Google Maps image feature that was released in Spring ’15 is replacing the Map productivity action. With a map image
now appearing in standard address fields, users can see account or contact locations directly on record detail pages. (For a map to
display, an address must include the street, city, and either the state, postal code, or country.) Tapping a map image opens the
address in a map app, where users can see more details or get directions. See “Maps and Location Services” in the Salesforce Help
for more information.

The old action is no longer included in the Salesforce1 action bar on accounts, contacts, or person accounts.
Account News Replaces the Read News Productivity Action
The Account News feature that was released in Spring ’15 is replacing the Read News productivity action. Now sales reps can
keep current with personalized, up-to-date news about their accounts directly from Account related information pages. Make sure
Account News is enabled—from Setup, click Salesforce1 Setup > Account News. See “Turn On Account News for the Salesforce1
Mobile App” in the Salesforce Help for more information.

Note: Accounts News is curated using technology provided by Data.com. Account News is available in English only, and only
to users in the United States.
For most accounts, Salesforce provides articles from our own news processing platform, which collects news from third-party
news providers. On occasion, if a match isn’t found in our database, we may search a third-party news provider for news specific
to your account, using the account name you’ve listed in Salesforce. Queries performed by Salesforce are performed using
secure protocols and are not linked to individual Salesforce users.

The old action is no longer included in the Salesforce1 action bar on accounts or person accounts.

Other Search Enhancements


Use Global Search to Find Information in Feed Posts
Salesforce1 mobile browser app users can now use global search in the header ( ) to find posts in the “All Company” Chatter
feed. Swipe to the end of the search scope bar and tap Feeds.
Searching the feed with global search is a little different than searching other objects. The search page doesn’t show a list of recently
viewed posts, the app doesn’t start looking for matching posts while a user is typing keywords in the search box, and the action bar
doesn’t display at the bottom of the search results page.

Other Sales Productivity Enhancements


Key Fields Automatically Update When Changing an Opportunity's Stage
Updating the sales stage, either in the Opportunity record or the Sales Path, automatically updates the Forecast Category and
Probability %. Previously, users needed to manually refresh the page for these fields to update. This enhancement is available in all
Salesforce1 apps. (Opportunities are available in Group, Professional, Enterprise, Performance, Unlimited, and Developer Editions.)

99
Salesforce Summer ’15 Release Notes Salesforce1

Other Work.com Enhancements


Track Goals and Metrics with Enhanced Goals
Help your sales teams precisely track goals and metrics related to their work with Enhanced Goals. Salesforce1 users can review, edit,
and create goals and metrics on the go. See Upgrade to Enhanced Goals (Generally Available) on page 144 for details and help setting
up Enhanced Goals. (Enhanced Goals is available in Professional, Enterprise, Performance, Unlimited, and Developer Editions.)

Other Customer Service Tools Enhancements


See File Fields on Articles
Agents and customers can now see file field content when viewing articles in the Salesforce1 for Android and Salesforce1 mobile
browser apps. This is especially useful when an article references something in an attached file that isn’t well understood without
accessing the file. (Salesforce Knowledge is available in Performance and Developer Editions, and for an additional cost in Enterprise
and Unlimited Editions.)

Other Chatter Enhancements


Dismiss Recommendations in Feeds
Salesforce1 mobile browser app users can now dismiss recommendations so they no longer appear in feeds, including community
feeds. This applies to all recommendation types, including custom recommendations and the Salesforce Today recommendation.
Add Multiple Topics to a Post
While adding topics to posts, Salesforce1 mobile browser app users can quickly separate multiple topic names with commas or the
Tab key. (Topics are available in Group, Professional, Enterprise, Performance, Unlimited, Contact Manager, and Developer Editions.)
Manage Group Members from Related Lists
Using Salesforce1, group owners and managers can do more to manage group members directly from Members related lists. Swipe
left on a name to remove the member or change their role from member to manager. (Groups are available in Professional, Enterprise,
Performance, Unlimited, and Developer Editions.)
Focus on Useful Information in Group List Views
To help mobile users focus on the most relevant information, Salesforce1 no longer clutters up group list views with the date and
time of the last activity on the feed. And the archived status field is no longer displayed—previously this information was included
in group list views when accessed on a tablet. (Groups are available in Professional, Enterprise, Performance, Unlimited, and Developer
Editions.)

Other Salesforce Communities Enhancements


Salesforce Communities are available in Enterprise, Performance, Unlimited, and Developer Editions.
Approve or Reject Approval Requests from Approval Related Lists On Records in Communities
You can now assign role-based external users as approvers on records. In all of the Salesforce1 apps, these users can see and take
action on records through the My Approvals and Approval History related lists. Role-based external users with Customer Community,
Customer Community Plus, and Partner Community licenses, and Portal users who are a member of a Salesforce community, can
use Salesforce1. Users with high-volume licenses, such as High Volume Customer Portal and Authenticated Website, can’t approve
records.
External users can’t submit requests for approval in Salesforce1.
See External Users Can Now Directly Approve or Reject Approvals from the Approval History Related List on Records on page 123 for
more information.
Add Records to Chatter Groups in Communities
Increase collaboration on the go by allowing communities members to add records to groups. This option is available in all versions
of Salesforce1. For more information, see Communities Members Can Now Add Records in Groups on page 121.

100
Salesforce Summer ’15 Release Notes Salesforce1

Create Custom Recommendations in Community Feeds from a Different Location in Community Management
Drive engagement with your mobile community users by adding custom recommendations to community feeds. Custom
recommendations are supported in the Salesforce1 mobile browser app for any community using the Salesforce Tabs + Visualforce
template. You now create custom recommendations for communities from a different location in Community Management, by
clicking Recommendations > Recommendations.
To clarify some misinformation in the Salesforce Spring ’15 Release Notes, communities using the Napili template do not support
custom recommendations in the Salesforce1 mobile browser app. We don’t recommend using Salesforce1 to access communities
that use Napili or any other Community Builder template because these communities contain rich styling that doesn’t display in the
mobile app. See “Access to Communities Using Salesforce1” in the Salesforce Help for more information.

Other Offline Enhancements


See Improved Visual Feedback During Page Loading
All Salesforce1 users now experience a smoother transition while pages are loading. We’ve added placeholder images and an activity
bar to improve transitions between pages and increase the overall responsiveness of the app.
Offline Settings Link on the Salesforce1 Setup Page Renamed
In Setup in the full site, on the Salesforce1 Setup page, the Offline Sync link has been renamed Offline Cache to match terminology
used on the Salesforce1 Offline Settings page.

Other Security Enhancements


Connected App IP Relaxation and Continuous IP Enforcement
There’s a new security setting that continuously restricts Salesforce access—including login requests from connected apps like the
Salesforce1 downloadable apps—to only the IP addresses that are defined in Login IP Ranges. If you previously relaxed IP restrictions
for any of the downloadable apps then decide to turn on the Enforce login IP ranges on every request option,
user access to the mobile apps may change. See Continuously Enforce IP Addresses in Login IP Ranges on page 314 for more
information about this new setting. And see Connected App IP Relaxation and Continuous IP Enforcement to learn how connected
app IP relaxation settings interact with continuous IP enforcement.
For other connected app enhancements, see Connected App Improvements for Finer Control and Easier Administration on page
321.
Comply with Data Protection Requirements Using Platform Encryption (Generally Available)
Data that’s encrypted with Platform Encryption is supported in all versions of Salesforce1. See Comply with Data Protection
Requirements Using Platform Encryption (Generally Available) on page 311 for more information.
When Salesforce1 users interact with encrypted data, keep in mind:
• Search can’t find data in encrypted fields.
• Related lists on Accounts and Contacts are empty when the Name field is encrypted.
• File encryption indicators don’t display in the app.
• Records cloned by users who don’t have the “View Encrypted Data” permission include masked data for encrypted fields.

Other Miscellaneous Enhancements


Experience Faster App Loading
We’ve improved performance of the Salesforce1 downloadable app for iOS, version 7.3 by changing how the app looks and behaves
when it’s loading.
• When logging in to Salesforce1 for iOS the first time, the user now sees a gray splash screen with a blue header until custom or
default branding resources, such as logo and background color, finish downloading. It’s possible this login session may complete

101
Salesforce Summer ’15 Release Notes Salesforce1

before there’s time to display any branding. When the app loads on subsequent logins, the user sees a branded splash
screen—which includes any custom branding applied to the app by your organization. See “Custom Branding for the Salesforce1
Mobile App” in the Salesforce Help..
• Whenever the user backgrounds or foregrounds the app, your organization’s custom-branded splash screen displays, as before.
But for organizations using the default Salesforce1 branding, the app simply blurs the screen during backgrounding and
foregrounding.

Salesforce1 Differences from the Full Salesforce Site


The Salesforce1 app doesn’t have all of the functionality of the full Salesforce site, and in some cases includes features that aren’t available
in the full site.
For features introduced or updated in Summer ’15, these areas have differences:
Supported Salesforce Data
Salesforce1 users can’t add products with revenue or quantity schedules to opportunities. If this is attempted, the product appears
on the opportunity, but the schedule isn’t created. Users also can’t reestablish a product schedule from an opportunity.
Notes (Beta)
• Salesforce1 users can access all of their notes from the Notes item in the Salesforce1 navigation menu. The full site doesn’t
include a Notes tab. Instead, notes are accessed from the Files tab.
• Users can't relate a note to multiple records in the full site.
Work.com Enhanced Goals
When using Enhanced Goals in Salesforce1, users can’t:
• Share goals and metrics
• Link metrics to reports
• Refresh metrics that are linked to reports
• Link parent goals and subgoals
• Add goal images
Salesforce Knowledge
When using Salesforce Knowledge in Salesforce1:
• Articles can't be created, edited, translated, or archived.
• Only published articles are available—not draft or archived articles.
• Articles can't be linked to cases.
• Videos and tables are cut off on the right side when included in article rich text fields.
These issues also exist when searching for articles in Salesforce1 for Android, version 7.3:
• Search results show up to three articles only.
• The type ahead and snippets and highlighting features aren’t available.
• Only articles in the user’s language are returned and only if that language is an active Knowledge language (from Setup,
Customize > Knowledge > Knowledge Settings). To see articles in another language, users can change to an active Knowledge
language—from My Settings, use the Quick Find search box to locate the Language & Time Zone page.
• The article promoted search term feature only works on the user’s language and only if that language is an active Knowledge
language.
Salesforce1 Reporting
Summary and matrix reports that use conditional highlighting can’t be viewed in Salesforce1.

102
Salesforce Summer ’15 Release Notes Salesforce1

Chatter Feeds
Salesforce1 users can’t edit feed posts or comments. Feed items edited in the full site do appear in Salesforce1.
Salesforce Communities
Role-based external users can approve or reject approval requests from Approval related lists on records in communities. But they
can’t use Salesforce1 to submit requests for approval.
Security
If Salesforce1 users interact with data encrypted by Platform Encryption, keep in mind:
• Search can’t find data in encrypted fields.
• Related lists on Accounts and Contacts are empty when the Name field is encrypted.
• File encryption indicators don’t display in the app.
• Records cloned by users who don’t have the “View Encrypted Data” permission include masked data for encrypted fields.
For complete details about the Salesforce features that are different in Salesforce1, see “Salesforce1 Limits and Differences from the Full
Salesforce Site” in the Salesforce Help in the Salesforce online help.

Salesforce1 App Development Overview


Several Force.com platform enhancements support Salesforce1 development.
• Lightning Components
• Visualforce
• API Support

Lightning Components
You can now render string fields as picklists in custom Lightning components you’ve configured for the Lightning App Builder. For more
information see Create Picklists for Lightning App Builder Components on page 271.
See Lightning Components on page 268 for other enhancements to the Lightning Component framework.

Visualforce
Custom marker icons let you add style or branding to a map. You can also use custom markers to show different kinds of locations on
the same map. For details, see Customize Visualforce Maps with Custom Markers on page 250.
You can add information related to a location to Visualforce maps with info windows. Info windows appear when the user clicks or taps
on a map marker. For details, see Enrich Visualforce Maps with Info Windows on page 250.

API Support
The Force.com APIs support Salesforce1 development. Unless otherwise noted, these enhancements for Salesforce1 development were
made available in API version 34.0.
Chatter REST API
There’s a new enabled parameter for the /connect/scheduled-recommendations and
/connect/scheduled-recommendations/scheduledRecommendationId resources, to indicate whether a
recommendation is scheduled.

103
Salesforce Summer ’15 Release Notes Chatter Mobile for Android No Longer Supported as of
Summer ’15

There’s a new actionUrlName parameter for the /connect/recommendation-definitions and


/connect/recommendation-definitions/recommendationDefinitionId resources, to customize the label
for recommendations.
These recommendations appear directly in the feed when using the Salesforce1 mobile browser app. For more information, see
New and Changed Chatter REST API Resources on page 286.
Metadata API
A new field, platformActionList, was added to the FlexiPage and Layout Metadata types. PlatformActionList represents the
list of actions, and their order, that display in the Salesforce1 action bar for the respective context: Lightning Page or page layout.
For more information, see Metadata Types and Fields on page 298.

Chatter Mobile for Android No Longer Supported as of Summer ’15


Shortly after completion of the Summer ’15 release, Chatter Mobile for Android, version 3.4 will be removed from Google Play and will
no longer be supported by Salesforce. To ensure uninterrupted mobile access to your Salesforce data, we recommend that your users
switch to the Salesforce1 downloadable app for Android as soon as possible.
Users who have already installed Chatter Mobile can continue to use the app after Salesforce support ends. But Salesforce will no longer
provide assistance in the form of enhancements, investigations, or bug fixes for any issues that your users encounter. After Chatter Mobile
is removed from Google Play, it won’t be possible to reinstall the app, nor will users be able to do a new installation of the app on any
Android device.
Customers are highly encouraged to migrate to the Salesforce1 downloadable app for Android. We are focused on making Salesforce1
the mobile experience that best serves your needs. Salesforce1 contains the functionality of the Chatter Mobile app, plus a broad range
of productivity and CRM features: access to Salesforce objects and records, activity management with tasks, notes, and events, and
progress monitoring with dashboards and reports. Plus you can customize Salesforce1 with mobile-optimized Visualforce pages, custom
quick actions, and custom or third-party apps.
The Salesforce1 downloadable app for Android currently supports Android phones with Android 4.2 or later. See “Requirements for the
Salesforce1 Mobile App” in the Salesforce Help for more information.

Mobile Dashboards for iPad App No Longer Supported as of Summer ’15


With the Summer ’15 release, the Mobile Dashboards for iPad app will be removed from the App Store and will no longer be supported
by Salesforce. We encourage customers who currently use the Mobile Dashboards for iPad app to switch to the Salesforce1 mobile app
instead.
Users who have the app installed on an iPad device can continue to use it, but if the app is deleted, it won’t be possible to reinstall it.
And it won’t be possible to install the app on new iPad devices.
We are focusing our mobile development resources on the Salesforce1 mobile app. Salesforce1 is available for iPad devices and has
similar functionality to the Mobile Dashboards for iPad app, in addition to other enhanced analytics features. With Salesforce1, users can
view filtered and dynamic dashboards, drill down into reports, and share dashboard snapshots in feeds.

104
Salesforce Summer ’15 Release Notes Communities: New Community Management Options,
Community Case Feed

Communities: New Community Management Options, Community


Case Feed
Summer ‘15 brings you enhancements to community analytics, improved Community Management
EDITIONS
tools, the ability to edit your conversations, associating records to groups, development of our
self-service templates with a brand new case feed built on Chatter, and much more. Available in:
• Enterprise
IN THIS SECTION: • Performance
• Unlimited
Community Management • Developer
Managing your community just got easier. Community managers can now create custom
recommendations to drive engagement, manage topics more easily, and customize their
community pages in one place. A list of resources directly in Community Management ensures they'll have what they need to be
successful.
Community Builder
Community Builder now lets you publish from the sandbox.
Community Templates
With all self-service templates in Summer '15, users can attach community files to question and answer posts and see a helpful case
list view. The new community case feed lets community users and support agents view all case interactions in a unified, Chatter-based
design. And the Napili template now highlights topic experts and lets users make their profiles public.
Community Reporting
Community reporting just got awesome! Now you can grant partner and customer users permissions to create and edit reports. In
addition, shortly after the Summer ’15 release you’ll be able to install an updated version of the Communities Dashboards package
on AppExchange. This package will include an updated Licenses dashboard, additional report filters for users, and reports on feed
editability.
Other Changes in Communities
Other important changes to Communities include community member access to records in groups, the ability to share more contact
information with guests, a new Apex method for creating Communities users, improved SEO for more targeted searching, and email
redirection improvements.

SEE ALSO:
How and When Communities Features Become Available
Video: What's New in Communities in Summer ’15
IdeaExchange: Communities Ideas Delivered in Summer ’15

Community Management
Managing your community just got easier. Community managers can now create custom recommendations to drive engagement,
manage topics more easily, and customize their community pages in one place. A list of resources directly in Community Management
ensures they'll have what they need to be successful.

105
Salesforce Summer ’15 Release Notes Community Management

IN THIS SECTION:
Streamlined Community Management Overview Page
The Community Management Overview page provides only the most relevant information you need. Links to best practices, release
information, and groups in the Success Community ensure that community managers have what they need to be successful.
More Intuitive Community Management Navigation
Some of the Administration nodes and links in Community Management have been renamed or moved.
Create Custom Recommendations
Create recommendations to drive engagement for your community, encouraging users to watch videos, take trainings, and more.
Edit these recommendations in Community Management, where they’re supported in feeds in the Salesforce1 mobile browser app
and in any community using the Summer ’15 or later version of the Napili template.
Merge, Rename, or Delete Topics in Communities
As the number of topics in your community grows, curate them to improve usability. In Community Management, you can merge,
rename, and delete topics in one convenient location. In Summer ‘15, topic merging is fully featured, now including topic-following
and endorsement data.
Customize Your Community’s Change Password and Forgot Password Pages
Use a custom Community Builder (Site.com Studio) or Visualforce page instead of the default Change Password and Forgot Password
pages.
Override Default Community Pages in Community Management
You can replace the standard Community Home page and Service Not Available page with custom company-branded pages directly
in Community Management.
Customize Visualforce Error Pages For Authenticated Users
You can use custom Visualforce error pages for authenticated users instead of the default Visualforce error pages.
Other Changes in Community Management
Other important changes in Community Management include what happens when you change your community template and
where you can flag files.

Streamlined Community Management Overview Page


The Community Management Overview page provides only the most relevant information you need. Links to best practices, release
information, and groups in the Success Community ensure that community managers have what they need to be successful.
• A list of community resources give you quick access to documentation, playbooks, and groups in the Success Community.
• Videos provide relevant release information right at your fingertips.
• Click More to access your community status and template options.
• Quick Links have been removed.
• The Force.com and Site.com Studio links under Advanced Customization are now on the Administration > Pages node.

106
Salesforce Summer ’15 Release Notes Community Management

More Intuitive Community Management Navigation


Some of the Administration nodes and links in Community Management have been renamed or moved.
We made the following changes:
• The Administration > Miscellaneous node has been renamed to Preferences.
• The Advanced Customization links to Force.com and Site.com Studio are now on the Administration > Pages node. Previously,
these links appeared on the Overview page.

Create Custom Recommendations


Create recommendations to drive engagement for your community, encouraging users to watch videos, take trainings, and more. Edit
these recommendations in Community Management, where they’re supported in feeds in the Salesforce1 mobile browser app and in
any community using the Summer ’15 or later version of the Napili template.
In Community Management, select Recommendations > Recommendations. For instructions on creating recommendations, see
Customize Recommendations in Communities in the Salesforce Help.
In the Salesforce1 mobile browser app, recommendations appear directly in the feed. In communities using the Summer ’15 or later
version of the Napili template, recommendations appear by default on the right side of the home page. Recommendations don’t appear
in other communities.

107
Salesforce Summer ’15 Release Notes Community Management

Chatter REST API and Chatter in Apex also support custom recommendations.

SEE ALSO:
IdeaExchange: Allow Customization of Chatter Recommendations

Merge, Rename, or Delete Topics in Communities


USER PERMISSIONS

To access the Community Management page: “Manage Communities”


OR
“Create and Set Up Communities”

To create topics: “Create Topics”

To merge topics: “Merge Topics”

To delete topics: “Delete Topics”

To rename topics: “Edit Topics”

As the number of topics in your community grows, curate them to improve usability. In Community Management, you can merge,
rename, and delete topics in one convenient location. In Summer ‘15, topic merging is fully featured, now including topic-following and
endorsement data.
1. From the community, click in the global header.
2. At left, click Topics > Topic Management.
3. Do any of the following:
• To create a topic (often with a plan to merge existing ones into it), click New.
• To combine existing topics, click Merge. (Merging a topic automatically redirects existing hashtags in posts.)
• To rename or delete a topic, click .

Tip: If you don’t see a topic you want to rename or delete, either search for it or click Show More below the topic list.

SEE ALSO:
IdeaExchange: Allow Topic Merging and Deleting'

Customize Your Community’s Change Password and Forgot Password Pages


Use a custom Community Builder (Site.com Studio) or Visualforce page instead of the default Change Password and Forgot Password
pages.
In Community Management, go to Administration > Login & Registration to change your page assignments. You can use a custom
Community Builder (Site.com Studio) or Visualforce page to override the default pages.
The Forgot Password page can be customized in Community Builder or Visualforce. If you want to use a custom Community Builder
Forgot Password page, first publish your page in Community Builder.

108
Salesforce Summer ’15 Release Notes Community Management

The Change Password page can only be customized in Visualforce.


Page selections made in Community Management override previous page selections specified in the Site.com and Force.com site
settings. For more information, see Use Custom Change Password and Forgot Password Pages in Your Community in the Salesforce Help.

Override Default Community Pages in Community Management


You can replace the standard Community Home page and Service Not Available page with custom company-branded pages directly
in Community Management.
The Community Home page is shown to unauthenticated users in a public community and it allows you to specify a landing page for
guest users without setting up redirects. Previously, the Community Home page was set in Visualforce or you had to create URL redirects
to specify a Site.com page.
The Service Not Available page is shown when the community is not available due to a service outage. Previously, the Service Not
Available page was set in Force.com. Use a static resource file to override the Service Not Available page.
In Community Management, go to Administration > Pages to customize your community page assignments. Select a Community
Builder (Site.com Studio) or Visualforce page to override the Community Home page.
Page selections made in Community Management override previous page selections specified in the Site.com and Force.com site
properties. For more information, see Override Default Pages in Your Community with Custom Pages in the Salesforce Help.

Customize Visualforce Error Pages For Authenticated Users


You can use custom Visualforce error pages for authenticated users instead of the default Visualforce error pages.
In Community Management, select Administration > Preferences, and then select Use custom Visualforce error
pages. Then in Administration > Pages, click Go to Force.com to specify your custom page.

109
Salesforce Summer ’15 Release Notes Community Builder

When Use custom Visualforce error pages is selected, users who are logged in to the community will only see your
custom Visualforce error pages. When Use custom Visualforce error pages is not selected, users logged in to the
community see the default Visualforce error pages. Guest users who aren’t logged in to the community will always see the custom
Visualforce error pages, regardless of whether or not you select the Use custom Visualforce error pages option.

Other Changes in Community Management


Other important changes in Community Management include what happens when you change your community template and where
you can flag files.
Changing Your Community Template Doesn’t Change Your Community Pages
If you change your community template, make sure that your community pages are still the best choice for your updated community
template.
For example, if you previously had a Salesforce Tabs + Visualforce template and switched to a Community Builder-based template,
consider updating your pages to use Community Builder pages instead of Visualforce pages. If required, customize your community
in Community Builder and publish the changes.
Flagging Files Not Available in the UI for Communities Created with Community Builder-based Templates
You can’t flag files in communities created with a Community Builder-based template in the user interface, instead you must use
the API. Even if Allow members to flag content is enabled, you won’t see the Flagged Files node in Community
Management.

Community Builder
Community Builder now lets you publish from the sandbox.

IN THIS SECTION:
Publish a Community from the Sandbox
Communities that were created using one of the three self-service templates (Koa, Kokua, or Napili) require publication to be available
to users. Previously, you could only publish such a community in production. Now you can use the sandbox to test your changes
before they go live.

Publish a Community from the Sandbox


Communities that were created using one of the three self-service templates (Koa, Kokua, or Napili) require publication to be available
to users. Previously, you could only publish such a community in production. Now you can use the sandbox to test your changes before
they go live.
For a community to be published from the sandbox, it must have a Force.com domain as the basis for its URL. Now communities built
using self-service templates are configured so you can publish them for testing purposes, regardless of their original domains.
To publish a community from your sandbox, click the Publish button in the Community Builder toolbar.

110
Salesforce Summer ’15 Release Notes Community Templates

Community Templates
With all self-service templates in Summer '15, users can attach community files to question and answer posts and see a helpful case list
view. The new community case feed lets community users and support agents view all case interactions in a unified, Chatter-based
design. And the Napili template now highlights topic experts and lets users make their profiles public.

IN THIS SECTION:
View All Case Interactions in the Community Case Feed (Generally Available)
With the community case feed, agents and community users in Summer ‘15 see the life cycle of a case from start to finish: all case
interactions appear in a unified, chronological Chatter case feed. Community users benefit from the added functionalities of Chatter,
while new features on the support side make it easier for agents to provide more efficient, personalized support.
Display Custom Recommendations in Napili Communities
Recommendations drive engagement for your community, encouraging users to watch videos, take trainings, and more.
See Knowledgeable People with the Napili Template
Highlight topic experts so the community can direct questions straight to them. The Knowledgeable People component displays
up to 5 experts, chosen based on factors such as best answers, mentions, or likes on questions and posts.
Select Files from Self-Service Communities in Question and Answer Posts
When attaching files in question and answer posts in self-service communities built on the Napili template, users can now choose
whether to select a file from the community, or upload a file from their computer or mobile device.
Contact Information Visibility Setting Added to Napili Template
Users can now choose to show their contact information details to guest users who aren’t logged in to the community.
Email Notifications Option Removed from User Profile Detail on Napili Template
We removed the Receive email notifications component from the User Profile Detail view.
Napili “Ask the Community” Component Renamed, Moved to Top of Page
We heard your feedback! The “Ask the Community” component has a new label and location.
New Look for Case List View in Community Templates
Users in communities that are built on the self-service templates now have an easily scannable, compact list view of their cases.
User Profile Details and Cases List Available in Koa and Kokua Templates
The Profile Home component on the My Cases page in the Koa and Kokua templates has been replaced with the User Profile Header,
User Profile Details, and My Cases components. Users in communities created with these templates can now see profile details and
a list of their cases when viewing their profile.
New Feed Detail Page in Self-Service Templates
Users in self-service communities where the community case feed is enabled can access the Feed Detail page, which displays an
individual case feed item and any comments on it. Users reach the page by clicking a feed item’s time stamp.

View All Case Interactions in the Community Case Feed (Generally Available)
With the community case feed, agents and community users in Summer ‘15 see the life cycle of a
EDITIONS
case from start to finish: all case interactions appear in a unified, chronological Chatter case feed.
Community users benefit from the added functionalities of Chatter, while new features on the Available in:
support side make it easier for agents to provide more efficient, personalized support. • Enterprise
The community case feed gives users in communities built on the self-service templates an intuitive, • Performance
versatile environment where they can manage their cases. Users can: • Unlimited
• Developer

111
Salesforce Summer ’15 Release Notes Community Templates

• See all case interactions in a unified feed, including Chatter posts, questions related to the case, and case emails
• Create Chatter posts and attach files to cases (1)
• Bookmark, like, and comment on posts, and mention other users
• View images and comments inline, making it easy to scan the feed for details (2)
• View all case attachments in the Attachments sidebar (3)

Meanwhile, support agents benefit from several new features on the console side. Agents can:
• View all case interactions in the console case feed
• Use the Community action in the case feed to create Chatter posts on customer cases and respond to community questions
• Edit the visibility of published case posts
The community case feed is available in all communities built on the self-service community templates, as well as those built on the
Salesforce Tabs + Visualforce template. It can be added to new communities created after the Summer ‘15 release or to communities
that have been upgraded to the Summer ‘15 templates. To learn more, see Give Agents More Options with the Community Case Feed
(Generally Available).

112
Salesforce Summer ’15 Release Notes Community Templates

Display Custom Recommendations in Napili Communities


Recommendations drive engagement for your community, encouraging users to watch videos, take trainings, and more.
If no recommendations have been created for your community, you can configure the Recommendations component. However, the
component doesn’t appear on the Home page until a recommendation is created. Create recommendations using Community
Management.

See Knowledgeable People with the Napili Template


Highlight topic experts so the community can direct questions straight to them. The Knowledgeable People component displays up to
5 experts, chosen based on factors such as best answers, mentions, or likes on questions and posts.

Communities created in Summer ‘15 and later will see the Knowledgeable People component automatically. For older communities,
complete these steps to add the component:
1. From the community, click in the global header.
2. Click Administration > Preferences, and select Enable knowledgeable people on topics.
3. Click Administration > Pages, and go to Site.com Studio.
4. In the Site Pages section, double-click the main page.
5. In the Views tab at left, double-click Napili Topic View.
6. Click the Page Elements tab , and search for the Knowledgeable People component.
7. Right-click the component, and place it in the div.cSecondaryContent section.
For more details, see the Community Templates for Self-Service Implementation Guide.

113
Salesforce Summer ’15 Release Notes Community Templates

Select Files from Self-Service Communities in Question and Answer Posts


When attaching files in question and answer posts in self-service communities built on the Napili template, users can now choose
whether to select a file from the community, or upload a file from their computer or mobile device.
When attaching a file to a question or answer post, users can choose Select a File to browse or search for a file to share.

Contact Information Visibility Setting Added to Napili Template


Users can now choose to show their contact information details to guest users who aren’t logged in to the community.
The My Settings page has a new Profile Visibility section that includes the Make profile public checkbox. Selecting the checkbox
shows user contact information details to guest users in the community. If unchecked, only internal community members see details.
The Name or Nickname and About Me fields are always visible to guest users, regardless of this setting.

114
Salesforce Summer ’15 Release Notes Community Templates

Email Notifications Option Removed from User Profile Detail on Napili Template
We removed the Receive email notifications component from the User Profile Detail view.
Your users can easily update their email notification settings in the My Settings menu. The menu is available in the Profile Header as
long as the Show User Settings in Menu checkbox is selected in the Profile Header properties. For more information, see
the Community Templates for Self-Service Implementation Guide.

Napili “Ask the Community” Component Renamed, Moved to Top of Page


We heard your feedback! The “Ask the Community” component has a new label and location.
Users in communities built on the Napili template now see the Ask a Question button in the top-right corner of the Home and Topic
View pages.

115
Salesforce Summer ’15 Release Notes Community Templates

The button still appears at the bottom of the pages for convenience.

New Look for Case List View in Community Templates


Users in communities that are built on the self-service templates now have an easily scannable, compact list view of their cases.

Users in Napili template communities reach the case list view by clicking the Cases tab on their profile. For Koa and Kokua community
users, the case list view is visible on their profile page.
Users can view details for a case by clicking the case number, and sort a column by clicking the column header.

Note: In the Napili case list view, only case numbers and case owner names are clickable. In the Koa and Kokua case list views,
only case numbers are clickable.
The case list view change applies for desktop and tablet only.

Customizing the Case List View


The order and type of the case list view columns are determined by which fields are exposed in the list view assigned to that component.
• In Napili templates, the case list view is part of the User Profile Tabs component on the Profile page.
• In Koa and Kokua templates, the case list view is part of the My Cases component of the My Cases page.
To customize the columns that appear in the case list view, either edit the assigned list view or assign a custom list view. By default, the
template uses the AllOpenCases view.

User Profile Details and Cases List Available in Koa and Kokua Templates
The Profile Home component on the My Cases page in the Koa and Kokua templates has been replaced with the User Profile Header,
User Profile Details, and My Cases components. Users in communities created with these templates can now see profile details and a
list of their cases when viewing their profile.
The User Profile Header component (1) allows you to upload your profile photo. The User Profile Details component (2) allows you to
edit profile details. The My Cases component (3) lets you view a list of your cases and create a new case.

116
Salesforce Summer ’15 Release Notes Community Templates

For more information about the case list view, see New Look for Case List View in Community Templates.

New Feed Detail Page in Self-Service Templates


Users in self-service communities where the community case feed is enabled can access the Feed Detail page, which displays an individual
case feed item and any comments on it. Users reach the page by clicking a feed item’s time stamp.
The Feed Detail page contains the Feed Item Detail component (1). The component displays the detailed view of an individual post or
comment in the case feed, and isn’t configurable.

117
Salesforce Summer ’15 Release Notes Community Reporting

Community Reporting
Community reporting just got awesome! Now you can grant partner and customer users permissions to create and edit reports. In
addition, shortly after the Summer ’15 release you’ll be able to install an updated version of the Communities Dashboards package on
AppExchange. This package will include an updated Licenses dashboard, additional report filters for users, and reports on feed editability.

IN THIS SECTION:
Report Management for Partner and Customer Users—Create and Edit Reports
Community partner and customer users can now create and edit reports in their own personal folder or in a privately shared folder
if they have sufficient permissions. You can grant partner and customer users permissions to create and edit reports through their
profiles or by using permission sets. After you grant the required permissions, they can use the drag-and-drop Report Builder tool.
Enhanced Dashboards, Reports, and Metrics Added to the Communities Dashboards Package
An updated version of the Salesforce Communities Dashboards package will be available on AppExchange shortly after the Summer
’15 release. You get an improved License dashboard, the ability to filter your reports by user detail, and report on record feeds.

Report Management for Partner and Customer Users—Create and Edit Reports
Community partner and customer users can now create and edit reports in their own personal folder or in a privately shared folder if
they have sufficient permissions. You can grant partner and customer users permissions to create and edit reports through their profiles
or by using permission sets. After you grant the required permissions, they can use the drag-and-drop Report Builder tool.
To allow partner and customer users to create and edit reports, turn on the “Create and Customize Reports,” “Report Builder,” and “Edit
My Reports” permissions through custom profiles or permission sets. These permissions were added to the following external user
licenses that already have the “Run Reports” permission:
• Customer Community Plus
• Customer Community Plus Login
• Partner Community

118
Salesforce Summer ’15 Release Notes Community Reporting

• Partner Community Login


• Gold Partner
• Silver Partner
• Customer Portal Manager
• Customer Portal Manager Custom

Note: Permissions to create and edit reports aren’t available for high-volume licenses, such as Customer Community or High
Volume Customer Portal.

Considerations and Limitations


• If your organization existed before the Summer ’13 release, you must first turn on enhanced sharing for reports and dashboards
before granting role-based users permissions. See Analytics Folder Sharing.
• Data visibility is based on two main things: the account role the partner or customer belongs to and your organization’s sharing
rules. Your organization’s field-level security is respected meaning that if a field is not visible for external users, a partner or customer
user won’t see it in Report Builder.
• If you want your external users to create or edit reports in a privately shared folder, grant them “Viewer” access on the folder.
• If you want your external users to export report data, grant them the “Export Reports” permission.
• External users can’t create, edit, or view reports in the Unfiled Public Reports folder.
• Depending on what objects, fields, and categories your external users have access to, they might see custom report types in the UI
when creating a new report. Custom report types are visible if a user has read access on any fields or objects included in the custom
report type.
For more information about setting up report management for external users, see Set Up Report Management for External Users—Create
and Edit Reports in the Salesforce Help.

SEE ALSO:
IdeaExchange: Partner Portal - Report Options

Enhanced Dashboards, Reports, and Metrics Added to the Communities Dashboards


Package
An updated version of the Salesforce Communities Dashboards package will be available on AppExchange shortly after the Summer ’15
release. You get an improved License dashboard, the ability to filter your reports by user detail, and report on record feeds.
The updated package provides:
Improved Licenses Dashboard
The License dashboard now provides daily tracking of license usage and enhanced visualization of the licenses used and allocated.
For login-based community licenses, you can track login usage for the current month compared to your allocated monthly logins.
You can determine if there are any trends in your login usage and see any possible overages using the monthly trend report. You
can also now easily track how many users are members of multiple communities. In order to use this improved dashboard, you’ll
need to specify your community license limits. For more information, see the Communities Managers Guide.
Report on Record Feeds
You can monitor record feed engagement on standard and custom objects by creating a custom report type from
Object>ObjectFeeds. This custom report type allows you to report on feed activity for all standard objects that have feed
tracking enabled, such as accounts, cases, leads, opportunities, and custom objects. You’ll also be able to track the number of feed

119
Salesforce Summer ’15 Release Notes Other Changes in Communities

edits and see what type of users are editing feeds. This package provides an Account Feeds dashboard that you can use as an example
to create your own customized dashboards.
Filter By User Detail
The Network Members custom report type gives you access to the following lookup fields: lastLoginDate, Department,
Country, Role, and Profile. These lookup fields can help you gain deeper insights into your data. To display these additional
fields in your reports, edit the custom report type layout and click Add fields related via lookup.
With access to user detail, you could re-purpose member reports to report on other things such as accounts. For example, you can
make a copy of a member report and then add the User.Account field through the Network Members lookup fields. This
approach allows you to take the Top 10 Members By Contribution report to create a new report called Top 10 Accounts by Contributor
report. You could customize reports to provide data on:
• Number of accounts by type (customer or partner)
• Top accounts by number of logins over a specific time range
• Top inactive accounts

Other Changes in Communities


Other important changes to Communities include community member access to records in groups, the ability to share more contact
information with guests, a new Apex method for creating Communities users, improved SEO for more targeted searching, and email
redirection improvements.

IN THIS SECTION:
Communities Members Can Now Add Records in Groups
Community members can now collaborate over records as a team by adding them to Chatter groups in their communities.
Edit Posts and Comments in Your Community
Users in communities created with either the Salesforce Tabs + Visualforce template or the Napili template can now edit their posts
and comments. As the administrator, you determine which users can edit posts by using two new profile permissions and a Chatter
setting.
Guest Access Available on More Contact Fields
Share more contact information with guest users in communities. You can set the visibility of Email, Fax, Manager, Mobile Phone,
Street Address, and Work Phone fields to Public to share the information with guest users, who aren’t required to log in to view a
community.
New Apex Method for Creating Community Users
Use the new Site.createExternalUser() Apex method to create community users. This method has improved exception
handling and error messages compared to the Site.createPortalUser() method.
Merge Fields in Visualforce Email Templates for Communities
Use the new global merge field type, $Network, and its properties in Visualforce email templates for your communities. Visualforce
email templates allow you to customize your emails with rich company branding.
Used and Expired Links in Text-Based Community Emails Redirect Correctly
Used and expired links in emails now correctly redirect to the community login page instead of the standard Salesforce login page.
These emails use the default text-based email templates created for each community.
Emails Sent for Approval Requests, Workflow Alerts, and Cases Now Include a Link to the Community
Emails created from a text email template with the {!<any_object>.Link} merge field now include a link to the community
when the email is sent to external users. Previously, the link directed external users to the internal organization.

120
Salesforce Summer ’15 Release Notes Other Changes in Communities

External Users Can Now Directly Approve or Reject Approvals from the Approval History Related List on Records
You can now assign role-based external users, such as users with a Customer Community Plus or Partner Community license, as
approvers on records. You can also add all role-based external users directly to queues and use the queue to assign approvals if you
don’t want to assign approvals directly to individual users.
Partner Users Can Now Read, Create, and Edit Campaigns
You can now assign users with a Partner Community license read, create, and edit permission on campaigns. Previously, partner
users could only read campaigns.
Partner and Customer Users Can Now Read, Create, and Edit Ideas
You can now assign users with Customer Community, Customer Community Plus, and Partner Community licenses read, create,
and edit permission on ideas. Previously, partner and customer users could only read and create ideas.
Zero In on Community Search Results with Improved SEO
Enjoy enhanced search functionality and performance in communities with improvements to crawling and generation of search
results. Search-related crawling is now automatically enabled for communities, so you don’t need to build a Visualforce solution to
benefit.
Enjoy Seamless Redirection from Community Emails
In communities based on a self-service template (Koa, Kokua, or Napili), emails generated by the community now link directly to
the relevant page.
Enable Case and Lead Assignment Rules More Intuitively
The options available for the Case Assignment Checkbox and Lead Assignment Checkbox now respect both the Default
setting and the Show on edit page checkbox independently. Previously, these options were not independent of each other.
Specify a Custom Forgot Password Page for Your Community in Site.com Studio
You can now configure your community to use a custom Community Builder (Site.com Studio) page from the Site.com site settings
for your community. The Forgot Password page allows users to recover or reset a forgotten community password.

Communities Members Can Now Add Records in Groups


Community members can now collaborate over records as a team by adding them to Chatter groups in their communities.
Community members must have at least Read access to the record and access to the group to add a record. For example, only a group
member or users with special permissions, such as “Modify All Data,” can add records to a private group, but anyone can add a record
to a public group.

Note: Record visibility in communities depends on user licenses, profiles, and sharing access. When a record is added to a group,
everyone in the group with the necessary access can see it, but Chatter Free users don’t see any records.
This feature is enabled by default for all organizations, but some additional setup is required:
• Include the Add Record action in the group publisher layout to allow users to add records.
• Optionally, include the Groups related list in record layouts for your organization.
Doing this setup makes the functionality available in both the internal organization and in all your communities.
For more information on setup, see Allow Users to Add Records to Chatter Groups in the Salesforce Help.

Edit Posts and Comments in Your Community


Users in communities created with either the Salesforce Tabs + Visualforce template or the Napili template can now edit their posts and
comments. As the administrator, you determine which users can edit posts by using two new profile permissions and a Chatter setting.

121
Salesforce Summer ’15 Release Notes Other Changes in Communities

For users that have the required user profile permissions, the ability to edit is available from the menu on the top right corner of text
posts and comments, questions, and answers. In the Napili template, this menu is available in the Feed Item Detail component.
For more information, see Edit Feed Posts and Comments and Enable Feed Post Editing in User Profiles or Permission Sets.

Guest Access Available on More Contact Fields


Share more contact information with guest users in communities. You can set the visibility of Email, Fax, Manager, Mobile Phone, Street
Address, and Work Phone fields to Public to share the information with guest users, who aren’t required to log in to view a community.
For more information on contact field visibility, see Share Personal Contact Information within Communities in the Salesforce Help.

New Apex Method for Creating Community Users


Use the new Site.createExternalUser() Apex method to create community users. This method has improved exception
handling and error messages compared to the Site.createPortalUser() method.
For more information, see the Force.com Apex Code Developer's Guide.

Merge Fields in Visualforce Email Templates for Communities


Use the new global merge field type, $Network, and its properties in Visualforce email templates for your communities. Visualforce
email templates allow you to customize your emails with rich company branding.
For example, when you add members to a community, you can use Visualforce to customize the appearance of the Welcome email they
receive. Previously, Communities did not support merge fields for Visualforce email templates. For more information, see Understanding
Global Variables and Merge Fields for Communities in the Salesforce Help.

SEE ALSO:
IdeaExchange: Make {!Community_URL} Available in Visualforce Email Templates

Used and Expired Links in Text-Based Community Emails Redirect Correctly


Used and expired links in emails now correctly redirect to the community login page instead of the standard Salesforce login page. These
emails use the default text-based email templates created for each community.

SEE ALSO:
IdeaExchange: {!Community_URL} Merge Field Should Point To Custom Community Pages

Emails Sent for Approval Requests, Workflow Alerts, and Cases Now Include a Link
to the Community
Emails created from a text email template with the {!<any_object>.Link} merge field now include a link to the community
when the email is sent to external users. Previously, the link directed external users to the internal organization.
Only the following scenarios include a link to the community:
• Approval requests using the {!<any_object>.Link} merge field (sent to approvers and delegated approvers)
• Workflow email alerts using the {!<any_object>.Link} merge field
• Case comment notifications to contacts and owners using the {!Case.Link} merge field

122
Salesforce Summer ’15 Release Notes Other Changes in Communities

• Case creation and update notifications to contacts using the {!Case.Link} merge field. These emails are sent when Send
contact notification is selected in Setup from Case > Support Settings.
To find out if your text email template uses these merge fields, from Setup, click Communication Templates > Email Templates, and
then click Edit next to any email template. These merge fields don’t apply to Visualforce email templates.
If the user receiving the email is a member of multiple active communities, the link directs the user to the oldest active community. If
the user is in context of a community, the link directs the user to that community. If the user is not a member of any community, the
link directs to the internal organization.

Example: When an external user who is a member of a community receives an email for an approval request notification, the
link in the email is a direct link to the approval request within the community. This link is controlled by the
{!<any_object>.Link} merge field within the email template.

External Users Can Now Directly Approve or Reject Approvals from the Approval
History Related List on Records
You can now assign role-based external users, such as users with a Customer Community Plus or Partner Community license, as approvers
on records. You can also add all role-based external users directly to queues and use the queue to assign approvals if you don’t want to
assign approvals directly to individual users.
Role-based external users can see and take action through the My Approvals and Approval History related lists on the record. Approvals
can also be triggered directly from the Chatter feed. Previously, role-based external users couldn’t be assigned as an approver and they
couldn’t see the My Approvals related list on records. They had to be members of a queue that the record was assigned to in order to
approve the record.

Note: Users with high volume licenses, such as High Volume Customer Portal and Authenticated Website, can’t approve.

If you set up email notifications for your approval workflows, the links provided in the email point users directly to the approval within
the community.
In Salesforce1, users can see and take action from the Approval History related list, but they can’t submit requests for approval. To submit
requests for approvals, the user must do so from the full Salesforce site.

Partner Users Can Now Read, Create, and Edit Campaigns


You can now assign users with a Partner Community license read, create, and edit permission on campaigns. Previously, partner users
could only read campaigns.
You can also assign permission to legacy partner portal licenses, however they can only create or edit campaigns in communities, not
in portals.
By default, create and edit permissions are turned off. Manage permissions for your partner users through their profiles or by using
permission sets. Sharing rules apply.
To work with campaigns in the UI, partner users must also be given the “Marketing User” permission to read, create, and edit campaigns.
A partner user with the “Marketing User” permission and create and edit permissions can:
• Search for and add their contact or leads as campaign members
• Access reports on their campaigns
• Mass-email and mass-assign their contacts and leads on a campaign

SEE ALSO:
IdeaExchange: Campaign Read/Write Access for Partner Community

123
Salesforce Summer ’15 Release Notes Other Changes in Communities

Partner and Customer Users Can Now Read, Create, and Edit Ideas
You can now assign users with Customer Community, Customer Community Plus, and Partner Community licenses read, create, and
edit permission on ideas. Previously, partner and customer users could only read and create ideas.
You can also assign permission to legacy portal licenses. By default, edit permission is turned off. Manage permissions for your partner
and customer users through their profiles or by using permission sets. Sharing rules apply.

Zero In on Community Search Results with Improved SEO


Enjoy enhanced search functionality and performance in communities with improvements to crawling and generation of search results.
Search-related crawling is now automatically enabled for communities, so you don’t need to build a Visualforce solution to benefit.
This change enhances search results with more topic-related URLs, particularly for topics related to articles. Users get complete and
targeted search results when searching for specific content.
Each community has a unique association with a robots.txt file that’s shared by all communities. Previously, Visualforce was required to
enable robot crawling. Now robots.txt is activated by default. This file works in conjunction with a scalable sitemap.xml file, which informs
search engines about community pages.
You can still use Visualforce to further optimize community searching.

Enjoy Seamless Redirection from Community Emails


In communities based on a self-service template (Koa, Kokua, or Napili), emails generated by the community now link directly to the
relevant page.
Emails can be generated from Chatter activity in a community, as well as from cases (for example, in the Salesforce Console). Now the
URLs that are generated along with emails dynamically route users to the source of the email. A community user simply clicks a link in
the email message to view the referenced content.
This redirection works with all community templates. Users are routed to community content as expected even if you change a community’s
template.

Note: Emails generated from communities based on the Aloha template direct users to the organization’s Aloha portal.

Enable Case and Lead Assignment Rules More Intuitively


The options available for the Case Assignment Checkbox and Lead Assignment Checkbox now respect both the Default setting
and the Show on edit page checkbox independently. Previously, these options were not independent of each other.
To update the case assignment checkbox, edit the Layout Properties of the case page layout.

Example: To force case assignment rules, select Default under Case Assignment Checkbox. This means end users won’t
see any option to turn off case assignment when editing a case. You can also decide to include the Assign using active assignment
rules checkbox by selecting Show on edit page. If you select both options, the assignment checkbox is displayed and is
checked by default. The default setting will force the assignment rule to run unless you also display the checkbox and a user
manually deselects the checkbox.

Specify a Custom Forgot Password Page for Your Community in Site.com Studio
You can now configure your community to use a custom Community Builder (Site.com Studio) page from the Site.com site settings for
your community. The Forgot Password page allows users to recover or reset a forgotten community password.

124
Salesforce Summer ’15 Release Notes Sales: Enterprise Territory Management, Forecasts, and More

Note that you can also specify a Forgot Password page in Community Management under Administration > Login & Registration,
which automatically overrides and updates your Forgot Password page selection in Site.com.

Sales: Enterprise Territory Management, Forecasts, and More


Easily assign territories to opportunities, give sales teams a clearer view of monthly and quarterly total sales numbers, and learn about
our latest email integration developments.

IN THIS SECTION:
Salesforce Engage
Salesforce Engage lets marketing share content with sales to boost your company’s selling power. Sales reps can use
marketing-approved content to reach out to prospects at the right moment and track the effectiveness of the messages. Salesforce
Engage is an add-on to Salesforce Pardot.
Enterprise Territory Management
Enterprise Territory Management gives you more options for assigning territories to opportunities and makes the process easier with
a filter-based assignment job. And there’s more: your team members can now use Chatter to collaborate on territory model
development, and you can add useful customizations that enhance territory records and provide richer data. Read on!
Collaborative Forecasts
Predict and plan the sales cycle from pipeline to closed sales, and manage sales expectations throughout the organization with
Collaborative Forecasts.
Email Connect
We’ve continued development on our new product area—Email Connect. It includes our latest email integration features to sync
your users’ contacts and events between Exchange-based email systems and Salesforce, and lets sales folks create Salesforce contacts,
or view them and other sales-related records directly in Microsoft® Outlook Web App (OWA) Outlook® 2013.
Salesforce for Outlook
Give your sales professionals a streamlined Salesforce for Outlook experience with features that give you more control with setup,
so users can be more focused on selling. Manage how you’d like to install Salesforce for Outlook on your users’ workstations and
decide how users sync their Microsoft® Outlook® items to Salesforce.
Connect for Outlook
We’re retiring Connect for Outlook in Winter ‘16. Don’t wait any longer to migrate to one of our latest email integration features!
Activities
Events and tasks are the building blocks of sales productivity. We’ve made enhancements that boost your sales teams’ edge over
the competition, along with updates to improve performance and usability.
Notes (Beta)
We’re excited to introduce Notes, an enhanced version of the Salesforce note-taking tool that lets your users take better notes faster.
Duplicate Management
Maintaining clean and accurate data is one of the most important things you can do to help your organization get the most out of
Salesforce. With Data.com Duplicate Management, you can control whether and when you allow users to create duplicate records
inside Salesforce; customize the logic that’s used to identify duplicates; and create reports on the duplicates you do allow users to
save.
Salesforce Console for Sales
The Salesforce Console for Sales gives you easy access to sales intelligence. Use a dashboard to get contextual data with fewer clicks
and less scrolling.

125
Salesforce Summer ’15 Release Notes Salesforce Engage

Other Changes in the Sales Cloud


Learn about other changes we’ve made to improve usability.

SEE ALSO:
How and When Sales Features Become Available
Video: What's New in the Sales Cloud in Summer ’15
IdeaExchange: Sales Cloud Ideas Delivered in Summer ’15

Salesforce Engage
Salesforce Engage lets marketing share content with sales to boost your company’s selling power.
EDITIONS
Sales reps can use marketing-approved content to reach out to prospects at the right moment and
track the effectiveness of the messages. Salesforce Engage is an add-on to Salesforce Pardot. Engage for Salesforce1
available in: Professional,
IN THIS SECTION: Enterprise, and Unlimited
Editions
Get Alerts When Prospects Are Active
Don’t let sales reps miss the moment when a prospect is interested in your company’s product
or service. With Engage Alerts, a rep can configure which prospect activities to watch for, such as form completion or page views,
and receive desktop alerts. A rep can view up to four days of a prospect’s actions. Engage Alerts is now available only with Salesforce
Engage.
Add a Prospect to a Campaign from Anywhere
With Engage Campaigns, a sales rep can add prospects to marketing campaigns from the web, the desktop, or Salesforce1. A rep
can send individual or bulk emails, easily customize messages, and preview emails before sending. You can help keep campaigns
out of spam filters by limiting the number of emails a salesperson can send per day. In Salesforce1, a rep can also add a lead or a
contact to a nurture program.
Use Dashboards and Reports to Monitor Campaigns
A sales rep can use Engage Reports to monitor the success of marketing campaigns. Interactive dashboards graph clicks, pages
opened, and overall click-through rates. Filters let reps see all emails created with or without a template. A rep can view a list of all
emails sent through Salesforce Engage, with key data like the date sent and time opened.
Use Gmail to Launch Campaigns
With the Engage for Gmail plug-in, a sales rep can launch an Engage campaign right from Gmail with one click. Each email is logged
in its respective prospect/lead record in Salesforce. Engage for Gmail is now available only with Salesforce Engage.

SEE ALSO:
Engage for Salesforce1
About Salesforce Engage for Pardot

126
Salesforce Summer ’15 Release Notes Salesforce Engage

Get Alerts When Prospects Are Active


Don’t let sales reps miss the moment when a prospect is interested in your company’s product or
EDITIONS
service. With Engage Alerts, a rep can configure which prospect activities to watch for, such as form
completion or page views, and receive desktop alerts. A rep can view up to four days of a prospect’s Engage for Salesforce1
actions. Engage Alerts is now available only with Salesforce Engage. available in: Professional,
Enterprise, and Unlimited
Editions

For more information, see Using Engage Alerts.

SEE ALSO:
Engage for Salesforce1
About Salesforce Engage for Pardot

Add a Prospect to a Campaign from Anywhere


With Engage Campaigns, a sales rep can add prospects to marketing campaigns from the web, the desktop, or Salesforce1. A rep can
send individual or bulk emails, easily customize messages, and preview emails before sending. You can help keep campaigns out of
spam filters by limiting the number of emails a salesperson can send per day. In Salesforce1, a rep can also add a lead or a contact to a
nurture program.

127
Salesforce Summer ’15 Release Notes Salesforce Engage

For more information, see Sending Engage Emails and Changing Engage Campaign Send Limit. For information about adding prospects
to campaigns in Salesforce1, see Engage for Salesforce1 on page 93.

SEE ALSO:
Engage for Salesforce1
About Salesforce Engage for Pardot

Use Dashboards and Reports to Monitor Campaigns


A sales rep can use Engage Reports to monitor the success of marketing campaigns. Interactive dashboards graph clicks, pages opened,
and overall click-through rates. Filters let reps see all emails created with or without a template. A rep can view a list of all emails sent
through Salesforce Engage, with key data like the date sent and time opened.

128
Salesforce Summer ’15 Release Notes Enterprise Territory Management

For more information, see Engage Reporting Overview.

SEE ALSO:
Engage for Salesforce1
About Salesforce Engage for Pardot

Use Gmail to Launch Campaigns


With the Engage for Gmail plug-in, a sales rep can launch an Engage campaign right from Gmail with one click. Each email is logged in
its respective prospect/lead record in Salesforce. Engage for Gmail is now available only with Salesforce Engage.

For more information, see Using Engage Alerts.

SEE ALSO:
Engage for Salesforce1
About Salesforce Engage for Pardot

Enterprise Territory Management


Enterprise Territory Management gives you more options for assigning territories to opportunities
EDITIONS
and makes the process easier with a filter-based assignment job. And there’s more: your team
members can now use Chatter to collaborate on territory model development, and you can add Available in:
useful customizations that enhance territory records and provide richer data. Read on! • Enterprise
For complete details on implementing Enterprise Territory Management, including instructions for • Performance
setting up these new features, see Enterprise Territory Management Implementation Guide. • Unlimited
• Developer

129
Salesforce Summer ’15 Release Notes Enterprise Territory Management

IN THIS SECTION:
Assign Territories to Opportunities More Efficiently (Generally Available)
Filter-Based Opportunity Territory Assignment lets you use a simple job to assign territories to opportunities. We provide code for
an Apex class that you can use as-is or modify as needed based on our guidelines. After you create and deploy the class, run the job
to complete the assignment process. Job options include making assignments within date ranges and assigning territories to open
opportunities only. You can also configure your settings to run the job every time an opportunity is created.
Assign Any Territory to an Opportunity
Now your organization can assign any territory within the active territory model to an opportunity—either manually, from the
opportunity record; automatically, using filter-based opportunity territory assignment; or programmatically, via the API. Your
organization is no longer restricted to assigning only a territory that is also assigned to the opportunity’s account. Manual assignments
made by users are controlled by users’ sharing access to the opportunity’s assigned (parent) account.
Use Chatter to Collaborate on Territory Models
If your organization uses Chatter, your team can now use it to collaborate on territory model development.
Associate Assignment Rules to Territories More Efficiently
Now it’s easier to choose the assignment rules you want to assign to territories. On the page where you assign rules, hover over a
rule name to view its criteria.
Buttons and Links Now Available for Territory Model and Territory Pages
Give your team easy access to territory-related features, tools, and data within Salesforce by defining buttons and links and adding
them to territory model and territory page layouts.
Integrate Territory ID Information from External Systems
Store, search for, and report on territory IDs you maintain in external systems.

Assign Territories to Opportunities More Efficiently (Generally Available)


Filter-Based Opportunity Territory Assignment lets you use a simple job to assign territories to opportunities. We provide code for an
Apex class that you can use as-is or modify as needed based on our guidelines. After you create and deploy the class, run the job to
complete the assignment process. Job options include making assignments within date ranges and assigning territories to open
opportunities only. You can also configure your settings to run the job every time an opportunity is created.
Opportunity territory assignment is enabled for qualified organizations by default.
The Apex class code Salesforce provides assigns territories to opportunities based on a number of factors.
• Is the opportunity excluded from filter-based territory assignment? If so, no territory is assigned.
• Does the opportunity have an account assigned and does that account have a territory assigned from the active territory model? If
so, the account’s territory is assigned to the opportunity. If not, no territory is assigned.
• Does the opportunity’s assigned account have multiple territories from the active model assigned? If so, the job can use a priority
value from the Territory2type object or other criteria to determine which territory (if any) to assign to the opportunity.
For complete instructions on setting up and deploying filter-based opportunity territory assignment, see Enterprise Territory Management
Implementation Guide. For details about the Apex class you need to create and deploy, see New and Changed Apex Classes on page 260.

130
Salesforce Summer ’15 Release Notes Enterprise Territory Management

Assign Any Territory to an Opportunity


Now your organization can assign any territory within the active territory model to an opportunity—either manually, from the opportunity
record; automatically, using filter-based opportunity territory assignment; or programmatically, via the API. Your organization is no longer
restricted to assigning only a territory that is also assigned to the opportunity’s account. Manual assignments made by users are controlled
by users’ sharing access to the opportunity’s assigned (parent) account.
When a territory is assigned to an opportunity, that opportunity is shared with all Salesforce users assigned to that territory's parent in
the territory model hierarchy.
For manual territory assignment (from the Territory field on the opportunity record), territory assignment is based on a user’s
sharing access for the opportunity’s account. Users who have sharing access to that account can assign any active territory to the
opportunity. Users who do not can assign only a territory that is also assigned to the opportunity’s account.
For manual territory assignments, Salesforce still suggests opportunities assigned to the territory’s account. Users with sharing access
can search for and assign any territory in the active territory model.

Example: Utel.com has six opportunities and two territories (East Coast and West Coast). They can assign East Coast, West Coast,
or any other territory within the active model to any or all of those six opportunities. One of their sales reps has sharing access to
the account assigned to one of the opportunities, so she can assign any territory to that opportunity. For the other five opportunities,
she does not have sharing access to assigned accounts. So for each of those opportunities, she can only assign a territory that is
already assigned to the opportunity’s assigned account.

Use Chatter to Collaborate on Territory Models


If your organization uses Chatter, your team can now use it to collaborate on territory model development.
After you enable and configure Chatter Feed Tracking, anyone with access to a territory model record can use Chatter to collaborate on
that model. Those who follow the record will get notifications in their own Chatter feeds when model states change and tracked fields

131
Salesforce Summer ’15 Release Notes Enterprise Territory Management

are updated. Make sure to tell others who maintain territory models that they can now use Chatter to follow and collaborate on territory
models directly from model records.
For details on enabling the Chatter feed for the Territory Model object, see the Enterprise Territory Management Implementation Guide.

Associate Assignment Rules to Territories More Efficiently


Now it’s easier to choose the assignment rules you want to assign to territories. On the page where you assign rules, hover over a rule
name to view its criteria.

Buttons and Links Now Available for Territory Model and Territory Pages
Give your team easy access to territory-related features, tools, and data within Salesforce by defining buttons and links and adding them
to territory model and territory page layouts.
For more information about working with buttons and links—including more examples—see “Actions, Buttons, and Links Overview”
in the Salesforce Help. When you create a button or link, make sure to add it to your Territory Model or Territory page layouts, as
appropriate. Let your users know it’s there and how to use it.

132
Salesforce Summer ’15 Release Notes Collaborative Forecasts

Example: Utel.com’s active territory model includes geo-based, named account, and overlay territories. They have a custom
report that shows territories that have assigned accounts, grouped by Account object’s Billing ZIP/Postal Code field.
Their administrator creates a custom link to that report and adds the link to the Territory page layout. Now, those who manage or
administer territories can quickly access the report and get a list of all territories within a ZIP code, regardless of territory dimension.

Integrate Territory ID Information from External Systems


Store, search for, and report on territory IDs you maintain in external systems.
Enterprise Territory Management now supports the ExternalID type of custom field on the Territory2 object. This means you can create
a custom field that appears on territory records and use that field to store external IDs. Query and report on that field within Salesforce.
For details on creating custom fields, see “Create Custom Fields” and “Custom Field Attributes” in the Salesforce Help. Make sure to add
your custom field to Territory record page layouts, and let your team know how to use it.

Example: For territory modeling purposes, Utel.com maintains some of their territory data in an external system. They create a
custom external ID field to map and track that data within their Salesforce territory records.

SEE ALSO:
IdeaExchange: External ID on the Territory Object

Collaborative Forecasts
Predict and plan the sales cycle from pipeline to closed sales, and manage sales expectations
EDITIONS
throughout the organization with Collaborative Forecasts.
Available in:
• Professional
Give Sales Teams a Clearer View of Their Outlook with • Enterprise
Cumulative Forecast Rollups • Performance
• Unlimited
On the Forecasts tab, Cumulative Forecast Rollup amounts combine the rollups of opportunities
• Developer
from multiple forecast categories. These rollups give users a clearer view of their total monthly or
quarterly sales numbers.
Now, you can choose between two methods of rolling up opportunities into forecasts for your sales teams.
• The original method, which rolls up the opportunities from each individual forecast category into separate forecast amounts for each
category.
• The new method, which rolls up opportunities from more than one forecast category into cumulative forecast amounts.

133
Salesforce Summer ’15 Release Notes Collaborative Forecasts

When you choose Cumulative Forecast Rollups in Setup, the way opportunities roll up to forecast amounts changes, along with the
names of the columns on the Forecasts tab. See the differences for yourself.

Category rollup method Column name in the Forecasts tab Opportunities that roll up to it
Individual Pipeline Pipeline

Best Case Best Case

Commit Commit

Closed Closed

Cumulative Open Pipeline • Pipeline


• Best Case
• Commit

Best Case Forecast • Best Case


• Commit
• Closed

Commit Forecast • Commit


• Closed

Closed Only Closed

Advantages of Cumulative Forecast Rollups


With individual forecast category rollups, each total and subtotal represents opportunities from only one of the individual forecast
categories. This type of rollup means that if forecast users want to know the total that they’re going to actually bring for the month or
quarter, they need to add the Best Case, Commit, and Closed forecast amounts together themselves.

Example: Individual forecast rollup


Forecast amounts Closed Commit Best Case Pipeline

$50 $100 $150 $200

Opportunities Closed Commit Best Case Pipeline

$50 • $50 • $50 • $50


• $50 • $50 • $50
• $50 • $50
• $50

With Cumulative Forecast Rollups, the forecast columns show cumulative amounts from the opportunities in the named forecast category,
as well as subsequent categories in your sales funnel. This view makes it easier for sales teams to see the total numbers they’re likely to
bring in, saving them from combining the category totals themselves.

134
Salesforce Summer ’15 Release Notes Collaborative Forecasts

For example, this table shows the cumulative forecast rollup amounts when there are four Pipeline, three Best Case, two Commit, and
one Closed opportunity, each worth $50.

Example: Cumulative forecast rollup


Forecast amounts Closed Only Commit Forecast Best Case Forecast Open Pipeline

$50 $150 $300 $450

Opportunities Closed Commit Best Case Pipeline

$50 • $50 • $50 • $50


• $50 • $50 • $50
• $50 • $50
• $50

Note: Forecast Historical Trending can’t be used in organizations that use Cumulative Forecast Rollups.

Enable Cumulative Forecast Rollups for Sales Reps and Managers


Your organization can use either Cumulative Forecast Rollup columns or individual forecast category
USER PERMISSIONS
columns.
Be aware that changing the forecast column display purges all adjustments to Commit and Best To view Forecast Setup:
Case forecast amounts, but not quota data. • “View Setup and
Configuration”
1. From Setup, click Customize > Forecasts > Settings.
To edit Forecast Settings:
2. Enable Cumulative Forecast Rollups. • “Customize Application”

Identify the Source of Your Forecast Amounts


Tell your sales teams the origin of their forecast amounts. In the report builder, create your custom report types (CRTs) including the
field ForecastingItemCategory.
Add the ForecastingItemCategory field when you create CRTs based on Forecasting Items, Forecasting Adjustments, or
Forecasting Owner Adjustments. This field indicates whether each forecast amount is from a cumulative forecast rollup or an individual
forecast category rollup.

Possible values for ForecastingItemCategory


For organizations using PipelineOnly Rollup from Pipeline opportunities only.
individual forecast category
BestCaseOnly Rollup from Best Case opportunities only.
rollups:
CommitOnly Rollup from Commit opportunities only.

ClosedOnly Rollup from Closed opportunities only.

For organizations using OpenPipeline Rollup from Pipeline + Best Case + Commit
cumulative forecast rollups: opportunities.

135
Salesforce Summer ’15 Release Notes Collaborative Forecasts

Possible values for ForecastingItemCategory


BestCaseForecast Rollup from Best Case + Commit + Closed
opportunities.

CommitForecast Rollup from Commit + Closed opportunities.

ClosedOnly Rollup from Closed opportunities only.

For complete details about the ForecastingItemCategory field, see API Changes for Cumulative Forecast Rollups.

API Changes for Cumulative Forecast Rollups


Understand which type of forecast rollup each of your forecast amounts and adjustments belong to when you use the API.

API
Beginning with API version 34.0, the ForecastingItem, ForecastingAdjustment, and
ForecastingOwnerAdjustment objects each include a new field: ForecastingItemCategory. This field indicates
which type of forecast rollup the forecasting item or adjustment belongs to. With the addition of the Cumulative Forecast Rollups feature,
you have these possible values for the ForecastingItemCategory field.

Forecast Rollup Method Value Description


Individual forecast category rollups PipelineOnly Rollup from Pipeline opportunities only.

BestCaseOnly Rollup from Best Case opportunities only. Adjustable.

CommitOnly Rollup from Commit opportunities only. Adjustable.

Cumulative forecast rollups OpenPipeline Rollup from Pipeline + Best Case + Commit opportunities.

BestCaseForecast Rollup from Best Case + Commit + Closed opportunities.


Adjustable.

CommitForecast Rollup from Commit + Closed opportunities. Adjustable.

Either cumulative or individual forecast ClosedOnly Rollup from Closed opportunities only.
category rollups

The ForecastingItemCategory field differs from the existing ForecastCategoryName field.


• The ForecastCategoryName field represents the forecast category of the underlying opportunities rolling up to forecast
amounts. In organizations using Cumulative Forecast Rollups, the ForecastCategoryName field can be null because the
cumulative forecast amounts include opportunities from multiple forecast categories.
• The new ForecastingItemCategory field represents the type of rollup a forecast amount or adjustment is from. In
organizations using individual forecast category columns, it contains the individual forecast rollup categories. In organizations using
Cumulative Forecast Rollups, it contains the cumulative rollup categories.
When inserting manager or owner adjustments, the values you insert for ForecastCategoryName and
ForecastingItemCategory must be compatible with each other. In organizations using Cumulative Forecast Rollups, the
ForecastCategoryName is nullable. These are the valid pairs.

136
Salesforce Summer ’15 Release Notes Email Connect

Forecast Rollup Method ForecastCategoryName ForecastingItemCategory

Individual forecast category rollups BestCase BestCaseOnly

Commit CommitOnly

Cumulative forecast rollups null BestCaseForecast

null CommitForecast

Metadata API
For complete details about how Cumulative Forecast Rollups change the Metadata API, see the ForecastingSettings entry in
Metadata Types and Fields.

Email Connect
We’ve continued development on our new product area—Email Connect. It includes our latest email integration features to sync your
users’ contacts and events between Exchange-based email systems and Salesforce, and lets sales folks create Salesforce contacts, or
view them and other sales-related records directly in Microsoft® Outlook Web App (OWA) Outlook® 2013.

Exchange Sync (Beta)


Keep the contacts and events in your users’ Exchange-based email systems in sync with contacts and events in Salesforce without asking
users to install and maintain software on their workstations.

Note: Exchange Sync is currently available as a beta feature, which means it’s a high-quality feature with known limitations. Check
out our Exchange Sync Implementation Guide to set up the feature at your company.

Sync All-Day Events with Exchange Sync


Now your users can keep more records in sync between Salesforce and your Microsoft® Exchange-based email system, because Exchange
Sync—our latest cloud-based email integration feature—is syncing all-day events.
If you’ve set up your users to sync events already, you don’t need to enable anything else—all-day events start syncing within 24 hours
of your upgrade to Summer ‘15! To set up event sync for your users, check out “Define Sync Settings for Exchange Sync Users” in the
Exchange Sync Implementation Guide.

Salesforce for Outlook


Give your sales professionals a streamlined Salesforce for Outlook experience with features that
EDITIONS
give you more control with setup, so users can be more focused on selling. Manage how you’d like
to install Salesforce for Outlook on your users’ workstations and decide how users sync their Available in all editions
Microsoft® Outlook® items to Salesforce.
Before we share the latest enhancements, we urge you to upgrade any team members still working
with Connect for Outlook to Salesforce for Outlook or Email Connect (Beta). That way, you’ll avoid the rush of migrating your teams
before Connect for Outlook’s retirement in Winter ‘16. At that time, Salesforce ends support for the feature, and Connect for Outlook will
no longer sync contacts, events, and tasks with Salesforce.
Now let’s take a look at the latest enhancements to Salesforce for Outlook.

137
Salesforce Summer ’15 Release Notes Salesforce for Outlook

IN THIS SECTION:
Install for Either One User or All Users Sharing a Computer
When users install Salesforce for Outlook v2.8, they’re prompted to install it for just themselves or everyone who can log in to their
computer.
We’ve Made Sync Settings Easier for Users to Understand
In users’ Salesforce for Outlook settings, we’ve renamed two key settings to help your users sync their Outlook items with less support
from you. Automatic is now Sync All Outlook Items and Manual is now Sync Only the Outlook Items
I Select.
Choose the Default Sync Setting and Prevent Users from Changing It
We’ve added two preferences that give you greater control over how users sync their Microsoft® Outlook® items to Salesforce.

Install for Either One User or All Users Sharing a Computer


When users install Salesforce for Outlook v2.8, they’re prompted to install it for just themselves or everyone who can log in to their
computer.

If your users are already working with earlier versions of Salesforce for Outlook, learn whether they need to uninstall those versions before
installing v2.8.

If users are And they’re installing v2.8 for They need to first They can upgrade By selecting the
upgrading from uninstall the previous to v2.8 without installation type
version uninstalling the
previous version
v2.5 or later Just themselves Me only

Everyone who can log in to their Everyone who


computer logs in to
this computer

v2.4.2 or earlier Just themselves Me only

Everyone who can log in to their Everyone who


computer logs in to
this computer

138
Salesforce Summer ’15 Release Notes Salesforce for Outlook

Specify the Installation Type for Using the .msi Installer

Important: Before you upgrade users, you may need to uninstall their earlier versions based on our upgrade specifications.
Otherwise, you risk some users having two installations on their systems.
By default, the .msi installer installs v2.8 for everyone who can log in to that computer. But if you want to change that default so that
v2.8 installs for just individual users, you need to install using this command line.
msiexec /i SalesforceForOutlook.msi /log SalesforceForOutlook.log /quiet
MSIINSTALLPERUSER=1

We’ve Made Sync Settings Easier for Users to Understand


In users’ Salesforce for Outlook settings, we’ve renamed two key settings to help your users sync their Outlook items with less support
from you. Automatic is now Sync All Outlook Items and Manual is now Sync Only the Outlook Items
I Select.
Users are prompted to review their sync settings when they install, upgrade, or check their settings from their Microsoft® Windows®
system tray by right-clicking the Salesforce for Outlook logo ( ), and then clicking Settings. These sync settings let users choose how
their Microsoft® Outlook® items sync to Salesforce.
Sync All Outlook Items creates the category Don’t Sync with Salesforce for the user in Outlook. Users can add
the category to individual Outlook items to prevent items from syncing to Salesforce. Otherwise, Salesforce for Outlook automatically
syncs all Outlook items that fall within the sync settings you set up in Outlook configurations.
Sync Only the Outlook Items I Select creates the category Sync with Salesforce for the user in Outlook.
Users can add the category to individual Outlook items to sync those items to Salesforce.
Both users who upgrade to Salesforce for Outlook v2.8. and users working in earlier versions of Salesforce for Outlook will see these new
setting names.

Choose the Default Sync Setting and Prevent Users from Changing It
We’ve added two preferences that give you greater control over how users sync their Microsoft® Outlook® items to Salesforce.
When users install or upgrade, Sync Only the Outlook Items I Select is selected by default in their Salesforce for Outlook
settings.
Now you can change the default sync setting to Sync All Outlook Items and prevent users from changing this sync setting
later. You’ll set these preferences from users’ Outlook configurations.
1. From Salesforce Setup, click Desktop Administration > Outlook Configurations.
2. Edit the Outlook configuration for which you want users to change the default setting.
3. Select Set default sync setting to Sync All Outlook Items.
4. Select Don’t let users change their sync setting to prevent users from changing their default setting. Note
that even when Overwrite configuration changes made by users is selected, users still can change their
default sync setting.
5. Click Save.
Note that users’ Salesforce for Outlook sync setting reverts to the default every time users upgrade. If you continue letting users change
their sync setting, alert upgrading users that they must set their preferred sync setting after every upgrade.

139
Salesforce Summer ’15 Release Notes Connect for Outlook

Connect for Outlook


We’re retiring Connect for Outlook in Winter ‘16. Don’t wait any longer to migrate to one of our
EDITIONS
latest email integration features!
Available in:
• Personal
Connect for Outlook is Retiring in Winter ‘16 • Contact Manager
Your Connect for Outlook users can be even more productive when they migrate to one of our • Group
latest email integration features: Salesforce for Outlook or Email Connect (Beta). • Professional
• Enterprise
To offer you the most robust Salesforce and Microsoft® email integration features, we’re retiring
• Performance
Connect for Outlook to focus our efforts on developing new features for Salesforce for Outlook and
• Unlimited
Email Connect.
This means that starting in Winter ‘16, Salesforce will no longer support Connect for Outlook and
the application will no longer sync your contacts, events, and tasks between Outlook and Salesforce, But don’t worry—if your company
uses Connect for Outlook, Salesforce is here to help!
Prepare your organization to migrate to the product that best fits your needs by checking out these resources.
• Connect for Outlook End of Life Frequently Asked Questions
• Which Microsoft® Email Integration Feature Is Right for My Company?

Activities
Events and tasks are the building blocks of sales productivity. We’ve made enhancements that boost your sales teams’ edge over the
competition, along with updates to improve performance and usability.
JunctionIdList Fields on Event and Task Objects
Easily and safely create junction relationships using the JunctionIdList field type. With this field type, you’re able to manipulate
the many-to-many relationship of an entity directly, instead of manipulating the underlying junction entity records. With the
JunctionIdList field type, you’re just a single API call away from creating or updating many-to-many simple junction
relationships while preserving data integrity. We’ve implemented JunctionIdList fields in the Event and Task objects. Create
many-to-many relationships on the Event or Task object with contacts, leads, or users in the API. For usage details see, Task Usage
or Event Usage

Important: Some JunctionIdList fields are only present when the Shared Activities feature is enabled.

Notes (Beta)
We’re excited to introduce Notes, an enhanced version of the Salesforce note-taking tool that lets
EDITIONS
your users take better notes faster.
Available in:
Note: This release contains a beta version of Notes that is production quality but has known
• Contact Manager
limitations. You can provide feedback and suggestions on the Salesforce Success Community.
• Group
• Professional
SEE ALSO: • Enterprise
IdeaExchange: Include Rich Text in Notes • Performance
• Unlimited
• Developer

140
Salesforce Summer ’15 Release Notes Notes (Beta)

Let Users Add Rich Text Notes to Records


With Notes, our enhanced note-taking tool, your users can add bulleted lists, numbered lists, and text formatting to notes. Just use the
buttons on the toolbar.

Set Up Notes
To let your users take rich text notes, you’ll need to set up Notes for your organization.
USER PERMISSIONS
Consider these items before setting up Notes.
To view page layouts:
• Once Notes is enabled for your organization, any new notes are created using Notes.
• “View Setup”
• Notes is not available for users with a Partner Portal and Customer Portal license.
To edit page layouts:
• Notes created with the old note-taking tool open in the old note-taking tool. • “Customize Application”
1. Make sure that Chatter is enabled. From Setup, click Customize > Chatter > Settings. Then, To customize action layouts
make sure Enable is selected under Chatter Settings. and page layouts:
• “Customize Application”
2. Make sure that Notes is enabled. From Setup, click Customize > Notes > Settings. Then, make
sure Enable Notes is selected.
3. Make sure that the Note quick action—not the New Note quick action—is added to the Quick Actions in the Publisher and Actions
in the Salesforce1 Action Bar sections on the global publisher layout so that your users can take notes from the Chatter publisher
and from the Salesforce1 action bar.
4. If you’ve overridden the global publisher layout on any of your object page layouts, add the Note quick action to your custom layouts,
too.
5. Complete a few additional steps to let your users easily take notes in Salesforce1.
a. Make sure your users can create tasks from notes in Salesforce1. From Setup, click Setup > Customize > Activities > Activity
Settings and select Allow Creation of Tasks from Notes.
b. Make sure that Notes appears in your organization’s Salesforce1 navigation menu. From Setup, click Mobile Administration >
Mobile Navigation and move Notes from the Available list to the Selected list. We recommend putting it above Smart Search
Items.

Guidelines for Using Notes


To help your users get the most out of Notes, make sure your users are aware of these guidelines.
• Use the Chatter publisher to quickly take notes.
• Add notes to a record the same way that you’re used to. Just click New Note in the Notes & Attachments related list.
• Manage notes on records from the Notes & Attachments related list.

141
Salesforce Summer ’15 Release Notes Duplicate Management

• Access and search notes you create by going to the Files tab.
• Create private, standalone notes from the Files tab. Click All Notes in the files menu, and then click New Note.
• Only unrelated notes created from the Files tab are private. If you relate a note to a record, the note has the same level of access as
the record.
• Notes is built on Files, so reports on your files include notes. Reports don’t include notes created with the old note-taking tool.

Note:
• Create tasks from notes only in the Salesforce1 app. See Create Tasks from Notes with a Swipe (Beta) for details.
• Relate notes to multiple records only in the Salesforce1 app. See Increase Productivity with Rich Text Meeting Notes (Beta) for
details.

Duplicate Management
Maintaining clean and accurate data is one of the most important things you can do to help your
EDITIONS
organization get the most out of Salesforce. With Data.com Duplicate Management, you can control
whether and when you allow users to create duplicate records inside Salesforce; customize the Available in:
logic that’s used to identify duplicates; and create reports on the duplicates you do allow users to • Professional
save. • Enterprise
• Performance
Note: Duplicate Management uses Data.com technology, but does not require a Data.com
• Unlimited
license.
• Developer
For more information about duplicate management, including limitations and how to create
matching and duplicate rules, see Managing Duplicate Records in Salesforce.

IN THIS SECTION:
Implement Duplicate Management for Your Custom Applications
Previously, we added a bunch of Apex classes and methods that let you implement duplicate management features for your custom
applications. Now, we’re excited to introduce new data types that let you do the same thing using the SOAP API.
Duplicate Management Available for Organizations with Force.com Licenses
If your organization has users assigned Force.com licenses, you can now control whether your users can create duplicate records.

Implement Duplicate Management for Your Custom Applications


Previously, we added a bunch of Apex classes and methods that let you implement duplicate management features for your custom
applications. Now, we’re excited to introduce new data types that let you do the same thing using the SOAP API.
For example, you have a custom application that lets users add a lead. When a user tries to save a lead, you detect whether the record
already exists in Salesforce. If it’s a duplicate, you can display an alert with a list of the duplicates.
For more information on the new duplicate management data types, see New Data Types.

Duplicate Management Available for Organizations with Force.com Licenses


If your organization has users assigned Force.com licenses, you can now control whether your users can create duplicate records.
You’ll need to set up matching and duplicate rules for your accounts, contacts, and custom objects.
Here are some resources to get you started.

142
Salesforce Summer ’15 Release Notes Salesforce Console for Sales

• For general information, including limitations and how to create matching and duplicate rules, see Managing Duplicate Records in
Salesforce.
• For information on using the SOAP API to manage duplicates for custom applications, see New Data Types.
• For information on using Apex to manage duplicates for custom applications, see the Force.com Apex Code Developer’s Guide.

Salesforce Console for Sales


The Salesforce Console for Sales gives you easy access to sales intelligence. Use a dashboard to get
EDITIONS
contextual data with fewer clicks and less scrolling.
The Salesforce Console for Sales and the Salesforce Console for Service share new features that Available in: Enterprise,
make for a smarter and simpler console. For more information, see Salesforce Console for Service. Performance, Unlimited,
and Developer Editions with
the Service Cloud
Other Changes in the Sales Cloud Available in: Performance
Learn about other changes we’ve made to improve usability. and Developer Editions with
the Sales Cloud
Enable Lead Assignment Rules More Intuitively
Separately choose whether to automatically assign leads using assignment rules and let users Available in: Enterprise and
Unlimited Editions with the
turn the rule on or off when editing or creating leads. Previously, these options depended on
Sales Cloud for an additional
each other.
cost
To include the Assign using active assignment rule checkbox in page layouts
for leads, select Default or Show on edit page under Lead Assignment Checkbox.
For more information, see “Notes on Using the Enhanced Page Layout Editor” in the Salesforce
Help.
New Search Results for Primary Campaign Source
On opportunity detail pages, when sales reps search for a primary campaign source without entering content in the search field,
sales reps now see the most recent campaigns, instead of the first 100 active campaigns.
New Apex Interface for Enterprise Territory Management
The TerritoryMgmt.OpportunityTerritory2AssignmentFilter interface lets you define filter logic for assigning
territories to opportunities. Implement the method in this interface by creating your own class. The implemented method will be
called by an Opportunity Territory Assignment job to assign territories to opportunities.

Work.com: Enhanced Goals, More Thanks and Skills Features


Help your sales managers and teams learn faster and perform better with a suite of
EDITIONS
sales-management and service-management tools that boost performance. We’ve introduced
more Thanks and Skills features, along with the Enhanced Feedback and Enhanced Performance Work.com is available for an
Summaries pilot features. We’re also bringing Enhanced Goals to all Work.com users. additional cost in
Professional, Enterprise,
IN THIS SECTION: Unlimited, and Developer
editions, and is included in
Upgrade to Enhanced Goals (Generally Available) Performance edition.
Help your sales teams precisely track goals and metrics related to their work with Enhanced
Goals! The new Goals appear faster and are customizable like other objects. Your teams can
also manage their goals on the go using Salesforce1. All organizations using goals will need to upgrade to Enhanced Goals during
the Summer ’15 release.

143
Salesforce Summer ’15 Release Notes Upgrade to Enhanced Goals (Generally Available)

Set Up Enhanced Goals


All organizations using Work.com Goals will be automatically upgraded to Enhanced Goals on Friday, August 21. You can choose to
upgrade as soon as the release is available to use the new features and give your organization more time to migrate your goals
customizations.
Customize Feedback to Fit Your Organization (Pilot)
Your sales teams can now manage feedback offers, feedback requests, and feedback related to performance summaries all in one
place! The Enhanced Feedback feature lets you customize feedback in your organization, including creating custom fields and layouts
related to feedback requests.
Use New Tools to Manage Performance Summary Cycles (Pilot)
The Performance tab is now your one-stop shop for creating and managing performance summary cycles! The Enhanced Performance
Summaries feature lets you easily gather insights about the people in your company with a custom questionnaire, and new features
like uploading users in bulk with a CSV file make it even easier to use.
Customize More Features for Thanks, Rewards, and Skills
Use more features for Thanks, Rewards, and Skills, including customizable field sets and validation rules.
Other Changes in Work.com
We’ve made other important changes in Work.com.

SEE ALSO:
How and When Work.com Features Become Available
IdeaExchange: Work.com Ideas Delivered in Summer ’15

Upgrade to Enhanced Goals (Generally Available)


Help your sales teams precisely track goals and metrics related to their work with Enhanced Goals!
EDITIONS
The new Goals appear faster and are customizable like other objects. Your teams can also manage
their goals on the go using Salesforce1. All organizations using goals will need to upgrade to Goals require a Work.com
Enhanced Goals during the Summer ’15 release. license, which is available
Access the new goals from the Goals tab or the Goals subtab on your Chatter profile. Enhanced for an additional cost in
Goals look, feel, and act more like other Salesforce objects, and users can leverage additional Professional, Enterprise,
Salesforce features. For example, administrators can create customizable fields, layouts, actions, Unlimited, and Developer
and list views related to goals. editions, and is included in
Performance edition.

144
Salesforce Summer ’15 Release Notes Upgrade to Enhanced Goals (Generally Available)

The goal detail page lists the metrics, activities, and other information related to a particular goal. Align goals with others by linking your
goals with parent goals or subgoals. There’s more control over sharing settings than before. For example, you can choose between
read-only and read/write access to better control how you collaborate.

Users can create standalone metrics or tie them to individual goals, and users can share metrics or create activities for individual metrics.
Anyone with read/write access to metrics can now refresh metric values. Metrics also appear in relevant coaching spaces and performance
summaries, and you can customize metrics to meet your organization’s needs.

Goals and metrics are also available on Salesforce1, where users can review, edit, and create goals and metrics.
Note the following limitations:
• No default list views are defined. You should create filters (such as Key Company Goals or My Goals) that are suitable for your
organization.
• The Percent metric type has been replaced with the Progress metric, which allows users to track numerical progress, including
percentages.

SEE ALSO:
IdeaExchange: Work.com Goals and Objectives

145
Salesforce Summer ’15 Release Notes Set Up Enhanced Goals

Set Up Enhanced Goals


All organizations using Work.com Goals will be automatically upgraded to Enhanced Goals on
EDITIONS
Friday, August 21. You can choose to upgrade as soon as the release is available to use the new
features and give your organization more time to migrate your goals customizations. Goals require a Work.com
For more detailed instructions, see the Goals Upgrade Guide. license, which is available
for an additional cost in
Note: During the second part of the upgrade, existing goals functionality will be read only. Professional, Enterprise,
You may want to communicate this and other changes about the new Goals feature to your Unlimited, and Developer
users in advance. editions, and is included in
In Summer ’15, administrators will see new Critical Update tasks for migrating to the new Goals Performance edition.
functionality.
USER PERMISSIONS

To view critical updates:


• “View Setup and
Configuration”
To activate critical updates:
• “Modify All Data”
AND
“Customize Application”

1. From Setup, click Critical Updates. You can also navigate to the page from the Critical Updates popup.
2. Click Activate for Goals Update 1 of 2.
This enables the new Goals functionality in read-only mode. Existing goals functionality is still fully available, and custom fields
(except for formula fields) are automatically created for new goals.

Note: Any new customizations added to the old goals objects after this point aren’t copied over to the new goals objects.

3. Migrate existing Apex, Visualforce pages, triggers, external code, reports, and packages from existing goals to new goals.
4. Click Activate for Goals Update 2 of 2.
This migrates data from existing goals into new goals. Both existing and new goals are read only during this time. After data migration
is completed, the new Goals functionality is fully available and replaces the existing Goals functionality.

146
Salesforce Summer ’15 Release Notes Customize Feedback to Fit Your Organization (Pilot)

Customize Feedback to Fit Your Organization (Pilot)


Your sales teams can now manage feedback offers, feedback requests, and feedback related to
EDITIONS
performance summaries all in one place! The Enhanced Feedback feature lets you customize
feedback in your organization, including creating custom fields and layouts related to feedback Feedback requires a
requests. Work.com license, which is
available for an additional
Note: Enhanced Feedback and Enhanced Performance Summaries are currently available
cost in Professional,
through a single pilot program. For more information on enabling these features, contact
Enterprise, Unlimited, and
Salesforce.
Developer editions, and is
The Feedback tab displays the recent feedback a user has viewed, and they can filter to see different included in Performance
types of feedback records. For example, users can select New Feedback Requests to see feedback edition.
records that require their input. You can also create custom list views with different filter options.

Sharing works the way it does for other Salesforce objects. You can also customize the look of feedback records and display custom
fields and layouts, if desired.
Note the following limitations:
• The pilot is limited to only sandbox organizations.
• Salesforce1 is not currently supported.
• The Enhanced Feedback and Enhanced Performance Summaries features are available through a single pilot program. See additional
performance summary limitations in Use New Tools to Manage Performance Summary Cycles (Pilot).

147
Salesforce Summer ’15 Release Notes Use New Tools to Manage Performance Summary Cycles
(Pilot)

Use New Tools to Manage Performance Summary Cycles (Pilot)


The Performance tab is now your one-stop shop for creating and managing performance summary
EDITIONS
cycles! The Enhanced Performance Summaries feature lets you easily gather insights about the
people in your company with a custom questionnaire, and new features like uploading users in Performance summaries
bulk with a CSV file make it even easier to use. require a Work.com license,
which is available for an
Note: Enhanced Feedback and Enhanced Performance Summaries are currently available
additional cost in
through a single pilot program. For more information on enabling these features, contact
Professional, Enterprise,
Salesforce.
Unlimited, and Developer
The performance cycle detail page lists the question sets, individual performance summary requests, editions, and is included in
and other information related to a performance cycle. Administrators can now easily upload CSV Performance edition.
files containing user IDs or usernames. Additionally, the Job Tracker tracks and displays processes
such as cycle deployment, CSV upload, and Share All.

Enhanced Performance Summaries look, feel, and act more like other Salesforce objects, and you can make additional customizations
to suit your organization. For example, you can create custom fields, layouts, and list views for different performance summaries.

148
Salesforce Summer ’15 Release Notes Customize More Features for Thanks, Rewards, and Skills

Note the following limitations:


• The pilot is limited to only sandbox organizations.
• Salesforce1 is not currently supported.
• Pulling in recent work (such as thanks, coaching, and feedback) is not currently supported.
• The Enhanced Feedback and Enhanced Performance Summaries features are available through a single pilot program.

SEE ALSO:
IdeaExchange: Performance Feedback Reminders

Customize More Features for Thanks, Rewards, and Skills


Use more features for Thanks, Rewards, and Skills, including customizable field sets and validation
EDITIONS
rules.
You can find the new features in Setup under Work.com. Rewards require a
Work.com license, which is
available for an additional
cost in Professional,
Enterprise, Unlimited, and
Developer editions, and is
included in Performance
edition.

Several additional platform features are now available:


• Field Sets—Present a group of related fields on a Visualforce page in different ways without modifying code.
• Search Layouts—Modify the fields that display for users in search results.
• Validation Rules—Verify that the data a user enters meets standards you specify before a record can be saved.
• Button, Links, and Actions—Integrate Salesforce data with external websites and services with custom buttons and links. Add features
to the Chatter publisher and Salesforce1 with actions.
• Record Types—Offer different business processes, picklist values, and page layouts to different users by creating different record
types.
• Compact Layouts—Display a record’s key fields at a glance in Salesforce1.

149
Salesforce Summer ’15 Release Notes Customize More Features for Thanks, Rewards, and Skills

Object New Features


Badge Field Sets
Search Layouts
Validation Rules
Buttons, Links, and Actions
Record Types
Compact Layouts

Badge Received Field Sets


Buttons and Links

Endorsements Field Sets


Record Types
Search Layouts

Reward Field Sets


Validation Rules
Buttons, Links, and Actions
Record Types
Compact Layouts

Reward Fund Field Sets


Search Layouts
Validation Rules
Buttons, Links, and Actions
Record Types
Compact Layouts

Reward Fund Type Field Sets


Search Layouts
Validation Rules
Buttons, Links, and Actions
Record Types
Compact Layouts

Skills Field Sets


Record Types

Skill Users Field Sets


Record Types

150
Salesforce Summer ’15 Release Notes Other Changes in Work.com

Object New Features


Search Layouts

Thanks Field Sets


Buttons and Links

Other Changes in Work.com


We’ve made other important changes in Work.com.
See Who Has Received Thanks Badges
You can now see everyone who has received a specific thanks badge from the badge’s detail page. To see Badges Received on badge
detail pages, from Setup, click Customize > Work.com > Badge > Page Layouts, and add the Recognition related list.
Add a Chatter Feed to Thanks Badges, User Skills, and Endorsements
You can now enable a Chatter feed for badges, user skills, and endorsements. To enable feeds, from Setup, click Customize >
Chatter > Feed Tracking, and select Enable Feed Tracking for Badge, Skill User, or Endorsement.

Data.com: Prospecting Insights, "Firmographic" Fields


Deliver leading business data for your sales teams with new Prospecting Insights. Data.com is the solution for delivering leading business
data inside Salesforce. Get the most up-to-date business data for contacts, leads, and accounts.

Note: The Data.com database does not contain data from all the countries where Salesforce is used. Data.com documentation
may be translated into languages used in countries not represented in the Data.com database.

IN THIS SECTION:
Prospecting Insights for Accounts
Are your sales reps spending more time hunting for prospect information than on the phone actually connecting with potential
customers? Help is here. Data.com Prospecting Insights give your reps access to existing and new fields from Data.com. We’ve
combined D&B company details and industry intelligence on one page to help your reps start smarter conversations with their
prospects and customers.
Get Prospecting Insights Fast with New Fields from the Data.com Search API
We’ve added new "firmographic" fields to the DatacloudCompany and DatacloudDandBCompany objects, which are
accessible from the Data.com Search API. The new fields allow your organization to further improve its ability to segment and assign
prospects.

Prospecting Insights for Accounts


Are your sales reps spending more time hunting for prospect information than on the phone actually connecting with potential customers?
Help is here. Data.com Prospecting Insights give your reps access to existing and new fields from Data.com. We’ve combined D&B
company details and industry intelligence on one page to help your reps start smarter conversations with their prospects and customers.
The Prospecting Insights snapshot gives reps quick insights into a company’s business, financial, competitive, and industry details–all
integrated into the Sales Cloud. Enable Prospecting Insights by adding the Prospecting Insights button to the account detail page
layout. Sales reps click the button to see key business details for account records, including the new D&B fields.

151
Salesforce Summer ’15 Release Notes Prospecting Insights for Accounts

Prospecting Insights are available only for records that were imported from, or cleaned by, Data.com. If a rep clicks Prospecting Insights
for an account whose insights aren’t available, a message recommends cleaning the record.

Prospecting Insights show key business and financial details, and give reps direct access to contacts at the company.

Prospecting Insights show industry details and identify trends and opportunities, giving your reps the account and industry information
they need to make effective prospect calls.

152
Salesforce Summer ’15 Release Notes Prospecting Insights for Accounts

Clicking the Prospecting Insights button on the account record page provides view-only insights for reps who have Data.com Prospector
Corporate and Premium licenses. The Prospecting Insights page delivers information in real time from Data.com.

Company details • Address, phone, and website


(1)
• Location size , location type, and location ownership
• Tradestyle, if any
• Year of founding

Financial details • Fiscal year end


(1)

• Stock market exchange and symbol


(1)
• S&P 500 flag
(1)
• Fortune 1000 rank
• Delinquency risk, which predicts the likelihood of this company paying 90 or more days late over
the next 12 months(1)

Important: Use this information for marketing pre-screening purposes only.

(1)
• Annual revenue for the most recent and prior year, and growth percentage
(1,2)
• Net income for the most recent year
(1)
• Employee number for the most recent and prior year, and growth percentage

Industry details • NAICS and SIC primary classifications


• Industry selector, for access to related industries based on the company’s primary NAICS and SIC
classifications
(1)
• Call prep questions to help reps tailor conversation topics
(1,2)
• Competitive landscape analysis
(1,2)
• Industry trends
(1,2)
• Industry opportunities

153
Salesforce Summer ’15 Release Notes Get Prospecting Insights Fast with New Fields from the
Data.com Search API

(1)
• Industry websites

Contacts from Data.com • Direct access to contacts, grouped by department

Top competitors • Links to websites for up to eight of the company’s top competitors, listed by revenue
(1)

(1)
New (2)Available only with a Premium license

IN THIS SECTION:
Set Up Prospecting Insights
Add the Prospecting Insights button to your Account page layout so your sales reps can use the new data today.

Set Up Prospecting Insights


Add the Prospecting Insights button to your Account page layout so your sales reps can use the new data today.
1. From Setup, click Customize > Accounts > Page Layouts.
2. From the list of page layouts, click Edit next to the layouts your Data.com Prospector reps use.
3. Click Buttons.
4. Drag the Prospecting Insights button to the Account Detail section.
5. Save your changes and let your sales reps know that Prospecting Insights is available.

Get Prospecting Insights Fast with New Fields from the Data.com Search
API
We’ve added new "firmographic" fields to the DatacloudCompany and DatacloudDandBCompany objects, which are
accessible from the Data.com Search API. The new fields allow your organization to further improve its ability to segment and assign
prospects.
The new fields include information on:
• Fortune® 1000 rank
• S&P 500® presence
• Location size
• Employee growth
• Sales growth
The new fields are included with a Data.com Prospector Corporate and Premium license.
For more information about the Data.com APIs and the new fields, see Data.com API Developer’s Guide.

Service: More Opportunities for Support, Increased Agent Productivity


Summer ’15 includes smarter service by pushing the right cases to the right agents at the right time. You can also embed support into
mobile apps for live guidance, and go beyond plain text to dynamically interact with your customers. Supercharge your agents’ productivity
with enhanced shortcuts and bulk macros, and solve cases faster by leveraging multiple agents in one chat session.

154
Salesforce Summer ’15 Release Notes Service: More Opportunities for Support, Increased Agent
Productivity

IN THIS SECTION:
Push Work to Qualified, Available Support Agents with Omni-Channel (Beta)
Omni-Channel is the Service Cloud’s comprehensive customer service solution that pushes work to agents in real time, right from
the Salesforce console!
Add In-App Support to Your Mobile App with SOS Video Chat and Screen-Sharing (Generally Available)
Want to connect with your customers in a whole new way? We’re excited to introduce SOS, the Service Cloud’s mobile support
solution. With SOS, you can add a help button to your native iOS or Android mobile application that lets your customers connect
with agents over a one-way video and two-way audio chat.
Case Feed
Case Feed gives support agents a more streamlined way of creating, managing, and viewing cases. It includes publishers, which let
agents create case notes, log calls, change the status of cases, and communicate with customers in a Chatter-like feed.
Email-to-Case
Email-to-Case helps your company efficiently receive and resolve cases via email.
Macros Increase Efficiency
Support agents who use Case Feed can use macros to complete repetitive tasks—such as selecting an email template, sending an
email to a customer, and updating the case status—all in a single click. Macros save time and add consistency to support agents’
work.
Enable Case Assignment Rules More Intuitively
You can now separately choose whether to force case assignment rules and allow end-users to turn the rule on or off when editing
or creating a case. Previously, these options were not independent of each other.
Entitlement Management
Entitlement Management lets you and your support agents verify and fulfill customers’ support contracts.
Knowledge
Salesforce Knowledge is your Knowledge Centered Support certified knowledge base.
Live Agent
Live Agent lets service organizations connect with customers or website visitors in real time through a Web-based, text-only live
chat.
Salesforce Console for Service
The Salesforce Console for Service is an app that’s designed for users in fast-paced environments who need to find, update, and
create records quickly to support their customers.
Service Communities
Summer ‘15 brings new opportunities for support agents with the community case feed, which gives agents and users in self-service
communities a comprehensive view of all case interactions—including case emails—in a unified, Chatter-based feed.
Social Customer Service
Social Customer Service is the next-generation integration between Social Studio (Radian6) and the Salesforce Service Cloud.
Customer service agents can engage with their customers by responding to cases created from Twitter and Facebook. Salesforce
Administrators can customize how the inbound social content is processed using an Apex class and they can configure who in their
organization has permission to respond using social accounts.
Assets
The Assets object tracks products that your customers own. Assets can include your company’s products and competitors’ products.

155
Salesforce Summer ’15 Release Notes Push Work to Qualified, Available Support Agents with
Omni-Channel (Beta)

Organization Sync
Organization Sync lets you set up a secondary, synced Salesforce organization that users can access when your primary organization
is undergoing maintenance. Summer ‘15 improvements to Organization Sync include auto-published fields, the option to sync
metadata, the ability to write reports and triggers for the Organization Sync log, and a new video, “How Organization Sync Works”.
Improve Your Service Cloud Implementation with Code: Introducing the Service Cloud Cookbook
Are you a developer who’s looking to take a Service Cloud implementation to the next level? Are you a savvy admin who wants to
try your hand at improving a Service Cloud implementation with some simple code? Then check out the new Service Cloud Cookbook,
a collection of simple, impactful code samples that you can add to your organization.

SEE ALSO:
How and When Service Features Become Available
Video: What's New in the Service Cloud in Summer ’15
IdeaExchange: Service Cloud Ideas Delivered in Summer ’15

Push Work to Qualified, Available Support Agents with Omni-Channel (Beta)


Omni-Channel is the Service Cloud’s comprehensive customer service solution that pushes work
EDITIONS
to agents in real time, right from the Salesforce console!
First, let’s get some legal jargon out of the way: This release contains a beta version of Omni-Channel Omni-Channel is available
that is production quality but has known limitations. You can provide feedback and suggestions in: Enterprise, Performance,
for Omni-Channel on the IdeaExchange. For information on enabling this feature for your Unlimited, and Developer
organization, contact Salesforce. Now, on to the fun stuff! Editions

Use Omni-Channel to create work items from Salesforce records and route them to the most
qualified, available agents in your organization. That’s right: You can automatically route most
Salesforce objects in a Salesforce Queue—including cases, leads, chats, and SOS video calls—to your agents.
With Omni-Channel, you can set the priority of work items to make sure that critical assignments get taken care of quickly. You can
manage your agents’ capacity and availability for work to ensure that they’re given only the number of assignments that they can handle.
You can also define which agents can work on different types of assignments. Best of all, agents no longer have to pick and choose work
items manually from a queue, and managers no longer have to triage or dispatch work to agents. Work is served to the most qualified
available agent in real time!
Omni-Channel integrates seamlessly into the Salesforce console, so it’s easy for your support agents to use. Agents can accept work
assignments right from the Omni-Channel widget in the console.

156
Salesforce Summer ’15 Release Notes Push Work to Qualified, Available Support Agents with
Omni-Channel (Beta)

Turn a Salesforce Record into a Work Item with Service Channels


Service Channels let you turn most Salesforce objects such as a case, lead, SOS session, or even a custom object into a work item.
Omni-Channel then plucks these work items from their Queues—like flowers from the garden of agent productivity—and routes them
to your agents in real time.

157
Salesforce Summer ’15 Release Notes Push Work to Qualified, Available Support Agents with
Omni-Channel (Beta)

Define How Work Items Are Pushed to Agents with Routing Configurations
Routing Configurations determine how work items are routed to agents. They let you prioritize the relative importance and size of work
items across your Omni-Channel Queues. Since not all work items take the same amount of effort, use Routing Configurations to control
the relative size of items in your queues so agents can give the right amount of attention to their work. That way, the most important
work items are handled quickly, and work is evenly distributed to your agents.

Assign Users and Routing Configurations to Queues to Start Pushing Work Items to
Agents
Associate routing configurations with a Salesforce Queues. The items in that Queue are pushed to your agents based on the settings in
the Routing Configuration. You can integrate existing Queues into Omni-Channel.

Available? Offline? Busy? Let Agents Define Their Availability with Presence Statuses
Presence Statuses indicate how “present” your agents are to receive work while they’re signed into Omni-Channel. Create statuses to
indicate whether an agent is away or available to receive incoming work items.

158
Salesforce Summer ’15 Release Notes Push Work to Qualified, Available Support Agents with
Omni-Channel (Beta)

Presence Statuses are associated with one or more Service Channels. Agents who are signed in with online statuses can receive work
items from those channels. If you have agents who can handle different work items at the same time, those agents can log in with a
Presence Status that’s associated with both of those channels.

Define Agents’ Omni-Channel Settings with Presence Configurations


Presence Configurations determine how much work agents can take on and what Omni-Channel behaviors they can access while they
assist customers. You can have multiple configurations for different types or groups of agents who handle different work. Each agent
can be assigned to only one Presence Configuration. Unless you assign them to another configuration, all your agents are assigned to
the Default Presence Configuration, which Salesforce creates for you automatically to get you started quickly.
Use Presence Configurations to specify your agents’ overall capacity for work items that is, the amount of work an agent can take on at
a time. You can also indicate how agents can interact with work that’s assigned to them, such as whether they can decline assignments.

159
Salesforce Summer ’15 Release Notes Push Work to Qualified, Available Support Agents with
Omni-Channel (Beta)

Run Reports on Your Agents’ Availability and Work Assignments


Gain insight into your Omni-Channel agents’ activities with custom reports. You can run reports on your agents’ Presence Statuses and
their work assignments.

160
Salesforce Summer ’15 Release Notes Add In-App Support to Your Mobile App with SOS Video Chat
and Screen-Sharing (Generally Available)

Want to know how much time your agents spend in a certain state or make sure they’re meeting compliance standards? Run a report
or create a dashboard on the User Presence object. The User Presence object tracks your agents’ statuses throughout their Omni-Channel
sessions.
Maybe you want to take a peek at how your agents are managing their work assignments. Create reports on the Agent Work object to
see how many work items your agents accept and decline, their average speed to answer, or average handle times.
Here’s an overview of how all the pieces of Omni-Channel fit together.

To learn more about setting up Omni-Channel and efficiently pushing work items to your agents, see Set UpOmni-Channel.

Add In-App Support to Your Mobile App with SOS Video Chat and
Screen-Sharing (Generally Available)
Want to connect with your customers in a whole new way? We’re excited to introduce SOS, the
EDITIONS
Service Cloud’s mobile support solution. With SOS, you can add a help button to your native iOS
or Android mobile application that lets your customers connect with agents over a one-way video SOS is available for an
and two-way audio chat. additional cost in:
Phew. Now back to the fun stuff! Enterprise, Performance,
Unlimited, and Developer
Gone are the days when your customers had to connect with a nameless, faceless agent over a
Editions
phone call. With just one click, your customers can see the agents they’re speaking to while your
agents provide personalized, in-app guidance with video chat, screen-sharing, and agent annotations.

161
Salesforce Summer ’15 Release Notes Add In-App Support to Your Mobile App with SOS Video Chat
and Screen-Sharing (Generally Available)

SOS is integrated into the Salesforce console for the Service Cloud. Your agents can access cases, account records, and customer
information quickly and easily during their video calls. Agents can also draw on customers’ screens during an SOS session, giving your
customers in-app guidance to solve their problems. Your customers get a comprehensive, personal support experience, and your agents
have the information they need in the console to solve customer issues.
Even better, SOS is fully integrated into Omni-Channel, the Service Cloud’s routing engine that allows you to customize how work
items—including SOS video calls—are routed to your agents. SOS calls are routed to the most available, capable agents in your
organization in real time. Omni-Channel routing is built right into the Service Cloud and the Salesforce console, so your SOS calls are
routed to your agents automatically—no third-party routing engine required!
For more information on integrating SOS into your mobile applications, ask your Salesforce account team about the SOS iOS SDK.
For more information on configuring SOS, see Set Up SOS Video Chat and Screen-Sharing.

162
Salesforce Summer ’15 Release Notes Case Feed

Case Feed
Case Feed gives support agents a more streamlined way of creating, managing, and viewing cases. It
EDITIONS
includes publishers, which let agents create case notes, log calls, change the status of cases, and
communicate with customers in a Chatter-like feed. Available in:
• Enterprise
IN THIS SECTION: • Performance
• Unlimited
Edit Posts and Comments in Case Feed • Developer
Previously, Case Feed posts and comments couldn’t be modified. Now, users can edit posts
and comments, making it easy to fix typos and add information.
Highlight Externally Visible Feed Items in Case Feed
You can highlight feed items in Case Feed that are visible to external users. Now support agents can easily distinguish between feed
items that are visible only to internal users and items that are visible to external users.

Edit Posts and Comments in Case Feed


Previously, Case Feed posts and comments couldn’t be modified. Now, users can edit posts and
EDITIONS
comments, making it easy to fix typos and add information.
See Edit Feed Posts and Comments. Available in:
• Enterprise
• Performance
• Unlimited
• Developer

Highlight Externally Visible Feed Items in Case Feed


You can highlight feed items in Case Feed that are visible to external users. Now support agents
EDITIONS
can easily distinguish between feed items that are visible only to internal users and items that are
visible to external users. Available in:
By default, Case Feed doesn’t distinguish feed items according to who can see them. • Enterprise
• Performance
You must enable both the Enable Community Case Feed and Highlight • Unlimited
Externally Visible Feed Items settings for the highlighting to work properly. • Developer
When the Enable Community Case Feed and Highlight Externally Visible
Feed Items settings are enabled, the following feed items are highlighted in the case feed:
• Public emails sent to or received from the email address for contact person on a case
• Public case comments
• All social posts (such as Facebook posts)
• Questions escalated from Communities
• Tasks that have the All with Access or Public settings
• Events that have the All with Access or Public settings
• Chatter posts that have the All with Access or Public settings
When only Highlight Externally Visible Feed Items is enabled, then the following feed items are highlighted in
the case feed:
• Incoming and outgoing email feed items that are sent to, or received from, the email address for the contact person on a case

163
Salesforce Summer ’15 Release Notes Email-to-Case

When only Enable Community Case Feed is enabled, then no feed items are highlighted.
This setting is only available for compact feed.

1. Feed items that are highlighted in orange are visible to external users, such as customers.
2. Feed items that are not highlighted are visible only to internal users, such as support agents.
Enable the Highlight Externally Visible Feed Items setting to change the background of externally visible feed items to orange. From
Setup, click Customize > Cases > Page Layouts. Select the feed-based page layout that you want to edit, and click Edit. Scroll to the
Feed View settings and select Highlight Externally Visible Feed Items.
To enable the Enable Community Case Feed setting, see Enable the Community Case Feed.

Email-to-Case
Email-to-Case helps your company efficiently receive and resolve cases via email.

Available in: Professional, Enterprise, Performance, Unlimited, and Developer Editions.

IN THIS SECTION:
Email Feed Items Now Display HTML Formatting and Inline Images
Previously, email feed items in the Salesforce Console for Service were displayed only in plain text and inline images in emails were
displayed as attachments. Now, email feed items in the compact feed layout can be displayed in HTML, allowing support agents to
easily see inline images in customer emails.
Append User Signatures After Replies in Emails
By default, user signatures in emails sent from Case Feed are always appended at the bottom of outgoing email threads. You can
now insert the user signature so it appears after the support agent’s reply, but before the email thread.
Email-to-Case Settings for Thread IDs Have Been Renamed
We’ve renamed the email-to-case settings for inserting thread IDs into email subjects and email body text.

164
Salesforce Summer ’15 Release Notes Email-to-Case

Email Feed Items Now Display HTML Formatting and Inline Images
Previously, email feed items in the Salesforce Console for Service were displayed only in plain text
EDITIONS
and inline images in emails were displayed as attachments. Now, email feed items in the compact
feed layout can be displayed in HTML, allowing support agents to easily see inline images in customer Available in: Enterprise,
emails. Performance, Unlimited,
HTML formatting and images in email feed items are available only in the compact feed layout. If Developer Editions with the
customers or support agents send emails containing HTML formatting and inline images, the email Service Cloud
feed item displays the formatting and images. Images up to 2 MB are loaded only on the first email
feed item. Images larger than 2 MB or that are in other email feed items are rendered as an icon.
When you click the icon, the image is rendered on the feed.
Previously, mailto links in the email body were disabled and rendered as plain text. Now, when you click a mailto link, such as an email
address, Salesforce loads the standard email action with the values specified in the mailto link.
To enable HTML in email feed items, from Setup, click Customize > Cases > Email-to-Case and select Enable HTML Email in
the Email-to-Case Settings page.

SEE ALSO:
IdeaExchange: Display Images Properly on HTML Email in Email-to-Case

Append User Signatures After Replies in Emails


By default, user signatures in emails sent from Case Feed are always appended at the bottom of
EDITIONS
outgoing email threads. You can now insert the user signature so it appears after the support agent’s
reply, but before the email thread. Available in:
This feature is only supported in the Email Publisher in Case Feed. It is not available when sending • Professional
emails from a related list, such as the Emails related list, on a case. • Enterprise
• Performance
Previously, user signatures weren’t shown in the standard email publisher, email Apex publisher, • Unlimited
and send email action, so users didn’t see their signature in emails. Now users can see their signatures • Developer
in emails sent from Case Feed.

Note: If the values for the email body are predefined, then the user signature isn’t appended USER PERMISSIONS
in the send email action.
To set up Email-to-Case:
1. From Setup, click Customize > Cases > Email-to-Case.
• “Customize Application”
2. Select Place User Signatures before Email Threads. If you don’t select the checkbox, the
user signature is appended at the end of the email by default.
3. Click Save.

SEE ALSO:
IdeaExchange: Signature on Reply to Emails

165
Salesforce Summer ’15 Release Notes Macros Increase Efficiency

Email-to-Case Settings for Thread IDs Have Been Renamed


We’ve renamed the email-to-case settings for inserting thread IDs into email subjects and email
EDITIONS
body text.
The Insert Thread ID in the Email Subject setting used to be called Email Available in: Professional,
Subject. Enterprise, Performance,
Unlimited, and Developer
The Insert Thread ID in the Email Body setting used to be called Email Body.

Macros Increase Efficiency


Support agents who use Case Feed can use macros to complete repetitive tasks—such as selecting
EDITIONS
an email template, sending an email to a customer, and updating the case status—all in a single
click. Macros save time and add consistency to support agents’ work. Available in: Enterprise,
You can create macros to perform multiple actions on the Case Feed. You also can use bulk macros Performance, Unlimited,
to perform the same actions on multiple records at the same time. and Developer Editions with
a Service Cloud license
Note: Macros are supported only on Feed-based layouts for Accounts, Contacts, Leads, and
Cases Objects.

IN THIS SECTION:
Create a Bulk Macro
A bulk macro is a macro that you can run on multiple records at the same time. Only macros that meet certain criteria can be run as
bulk macros.
Run Bulk Macros on Multiple Records at the Same Time
Previously, a support agent could run a macro only on one record at a time. Now, agents can run a bulk macro on multiple records
at the same time. Bulk macros let agents easily address spikes in customer cases involving the same issue.
Quickly Search Salesforce Knowledge and Attach Articles to Cases Using Macros
In the Summer 15 release, you can create macros to automatically run keyword searches for Salesforce Knowledge articles and
attach articles to cases. Using macros makes it easier and faster for support agents to find and provide relevant support articles about
common customer issues.
Post to Social Networks Using Macros
You now can create and run macros to automatically post to social networks such as Twitter or Facebook.
Replace Field Values in a Case Using Macros
You can use macros to automatically replace field values in a case, making it simple to change the content in a record. Replace
instructions tell the macro to clear the existing value in a field and replace it with the value specified in the macro. The macro replaces
the field with an empty string when no value is specified.
Insert Field Values into a Case Using Macros
You can use macros to automatically insert field values into fields, making it simple to add additional information to a record. Add
and Insert instructions tell the macro to add the specified field values to the existing values in a field.
New User Permission for Creating and Running Macros That Users Can’t Undo
Some macros perform actions that can’t be undone, such as sending outbound emails to customers or updating a case status.
Previously, any administrator or support agent with the Create Macros permission could create and run macros that performed
irreversible actions. Now, administrators and agents must have the Manage Macros Users Can’t Undo user permission
to create, edit, and run macros that contain instructions for performing irreversible actions.

166
Salesforce Summer ’15 Release Notes Macros Increase Efficiency

Enhancements to Searching for Macros


Previously, the macros search list only displayed a maximum of 400 macros. This limitation has been removed in Summer 15.
Macros List Shows Most Recently Used Macros
Previously, if the macros search box was empty, the macros list showed all existing macros. Now, if the macros search box is empty,
the macros list shows the user’s 25 most recently used macros.

Create a Bulk Macro


A bulk macro is a macro that you can run on multiple records at the same time. Only macros that
EDITIONS
meet certain criteria can be run as bulk macros.
Bulk macros are supported for the: Available in: Enterprise,
Performance, Unlimited,
• Email Publisher in Case Feed on the Salesforce Console for Service
and Developer Editions with
• All Quick Actions except for Social Quick Actions a Service Cloud license
Bulk macros are not supported for:
• Salesforce Knowlege Actions
• Community actions
• Social post actions
• “Add” and “Insert” instructions (such as the Add to Subject instruction or the Insert into HTML Body instruction for the Email Publisher)
If the bulk macro interacts with the Email Publisher, it can contain only one Email Publisher action.
A bulk macro must contain at least one Submit Action instruction.

Example: Suppose that your company has a service outage and lots of customers have contacted customer support. You want
support agents to send an email to customers who have opened cases about the outage telling them when the service outage
will end. You can create a bulk macro that uses an email template to create and send an email to these customers. See “Create a
Bulk Macro” in the Salesforce Help for steps on how to recreate this example in your organization.

Run Bulk Macros on Multiple Records at the Same Time


Previously, a support agent could run a macro only on one record at a time. Now, agents can run
EDITIONS
a bulk macro on multiple records at the same time. Bulk macros let agents easily address spikes in
customer cases involving the same issue. Available in: Enterprise,
Performance, Unlimited,
User Permissions Needed and Developer Editions with
a Service Cloud license
To view macros: “Read” on Macros

To create and edit macros: “Create” and “Edit” on Macros

To create and run irreversible macros: “Manage Macros That Users Can’t Undo”

To run bulk macros: “Run Macros on Multiple Records”

You can run bulk macros records from the Accounts, Cases, Contacts, and Leads objects. However, you can run a bulk macro only on
records in one object list view at a time. For example, you can run a bulk macro on multiple cases in the Cases list view, but not on cases
and accounts at the same time.
An icon showing a green lightning bolt with two underlines ( ) indicates whether a macro is a bulk macro.

167
Salesforce Summer ’15 Release Notes Macros Increase Efficiency

Bulk macros are processed in increments of 10 macros at a time. You can run a bulk macro on more than 10 cases, but the system
processes the macro in groups of 10 at a time.
1. In the Case list view, select the cases that you want to run the macro on.
You can filter the cases to identify which cases you want to run the macro on.

2. In the Macro widget, select the macro and click Run.


3. In the confirmation window, click OK to continue.
The macro runs on the selected cases. In the list view, the cases on which the macro ran successfully are highlighted in green and
denoted by a green check mark icon. Cases that the macro didn’t run successfully on are highlighted in red and denoted by a red X
icon. To see an explanation about why the macro didn’t work on a case, hover over the red X icon.

Example: Suppose that there’s an increase in customer cases about the same issue. You can use a macro to email these customers,
assuring them that your company is aware of the issue and is working to fix it. Select the cases that you want to apply the macro
to. In each case, the macro applies an email template to a new email, addresses the email to case contact, and sends the email.

Quickly Search Salesforce Knowledge and Attach Articles to Cases Using Macros
In the Summer 15 release, you can create macros to automatically run keyword searches for
EDITIONS
Salesforce Knowledge articles and attach articles to cases. Using macros makes it easier and faster
for support agents to find and provide relevant support articles about common customer issues. Available in: Enterprise,
Salesforce Knowledge must be set up before you can use macros to search and attach articles. Performance, Unlimited,
and Developer Editions with
Now support agents can use macros to:
a Service Cloud license and
• Search for Salesforce Knowledge articles by keyword and by article number with a Salesforce
• Attach the most relevant article to the case Knowledge
• Attach an article as a PDF or as HTML to an email in Case Feed
• Insert an article into a case as HTML

Example: You can create and run a macro to automatically select an article and attach it to a reply email to a customer. For
example, suppose customers often contact support for information about resetting their passwords. You can create a macro that
selects the “How to Reset Your Password” article and inserts it into the support agent’s reply email. This macro saves the agent
time spent searching for articles and copying and pasting them into emails.

Post to Social Networks Using Macros


You now can create and run macros to automatically post to social networks such as Twitter or
EDITIONS
Facebook.
Social Customer Service must be set up before you can use macros to post to social networks. Available in: Enterprise,
Performance, Unlimited,
Example: You can create a macro to insert Quick Text into a social post. In social post actions, and Developer Editions with
the “Insert” instruction is useful because you can retain the @mention and add text after it. a Service Cloud license

168
Salesforce Summer ’15 Release Notes Macros Increase Efficiency

Replace Field Values in a Case Using Macros


You can use macros to automatically replace field values in a case, making it simple to change the
EDITIONS
content in a record. Replace instructions tell the macro to clear the existing value in a field and
replace it with the value specified in the macro. The macro replaces the field with an empty string Available in: Enterprise,
when no value is specified. Performance, Unlimited,
and Developer Editions with
Example: You can use a macro to provide a standardized email response to a customer.
a Service Cloud license
You can create and run a macro that replaces the subject field and the email body in an email
feed item. The macro clears any existing values in an email feed item, and replaces them with
the specified subject and text.

Insert Field Values into a Case Using Macros


You can use macros to automatically insert field values into fields, making it simple to add additional
EDITIONS
information to a record. Add and Insert instructions tell the macro to add the specified field
values to the existing values in a field. Available in: Enterprise,
Add and Insert instructions append the specified value or text to the field, but do not delete any Performance, Unlimited,
values or text already in the field. and Developer Editions with
a Service Cloud license
When a macro runs an Add or Insert instruction on a single-line field, the new value is appended
to the existing values. When the field is a multi-line field, such as an email body field, the macro
inserts the specified value at the cursor position in the field.

Example: You can create a macro to insert Quick Text into a Community post. In Community actions, the “Insert” instruction is
useful because you can retain the @mention and add text after it.

New User Permission for Creating and Running Macros That Users Can’t Undo
Some macros perform actions that can’t be undone, such as sending outbound emails to customers
EDITIONS
or updating a case status. Previously, any administrator or support agent with the Create
Macros permission could create and run macros that performed irreversible actions. Now, Available in: Enterprise,
administrators and agents must have the Manage Macros Users Can’t Undo user Performance, Unlimited,
permission to create, edit, and run macros that contain instructions for performing irreversible and Developer Editions with
actions. a Service Cloud license
The Manage Macros Users Can’t Undo user permission controls whether users
(including administrators) can create, edit, and run macros that contain instructions that perform
irreversible actions. Administrators and agents without this permission can still share, clone, or delete macros that contain such instructions,
as long as they have the required permissions for these actions. Administrators and agents without this permission can still create and
edit macros that don’t contain instructions for performing irreversible actions, provided they have the required permissions for creating
and editing.
To enable this user permission, from Setup, click Administer > Manage Users > Permission Sets. Under App Permissions > Call
Center section, select Manage Macros Users Can’t Undo.

169
Salesforce Summer ’15 Release Notes Enable Case Assignment Rules More Intuitively

Enhancements to Searching for Macros


Previously, the macros search list only displayed a maximum of 400 macros. This limitation has been
EDITIONS
removed in Summer 15.
We changed the search from client-side to server-side in order to remove the 400-macro display Available in: Enterprise,
limit. As a result, searches can take longer because they are running on the server. For best Performance, Unlimited,
performance, the maximum number of macros that a user can access is 5,000 macros. and Developer Editions with
a Service Cloud license

Macros List Shows Most Recently Used Macros


Previously, if the macros search box was empty, the macros list showed all existing macros. Now,
EDITIONS
if the macros search box is empty, the macros list shows the user’s 25 most recently used macros.
A macro is considered to be “recently used” if the user has run the macro or has viewed the macro’s Available in: Enterprise,
detail page. Performance, Unlimited,
and Developer Editions with
a Service Cloud license

Enable Case Assignment Rules More Intuitively


You can now separately choose whether to force case assignment rules and allow end-users to
EDITIONS
turn the rule on or off when editing or creating a case. Previously, these options were not
independent of each other. Available in:
To force case assignment rules, select Default under Case Assignment Checkbox. This option • Group
prevents end-users from turning off case assignment when editing or creating a case. To allow • Professional
end-users to turn on or off case assignment rules, select Show on edit page under Case • Enterprise
Assignment Checkbox. If you select both options, the assignment checkbox is displayed and is • Performance
checked by default. The Default setting forces the assignment rule to run, unless you also display • Unlimited
the checkbox and a user manually deselects the checkbox. • Developer

To update the case assignment checkbox, edit the Layout Properties of the case page layout.

SEE ALSO:
IdeaExchange: Case Assignment Checkbox Hidden But Selected

Entitlement Management
Entitlement Management lets you and your support agents verify and fulfill customers’ support
EDITIONS
contracts.
Available in: Enterprise,
IN THIS SECTION: Performance, Unlimited,
and Developer Editions with
Track Remaining Time on Milestones in Actual Hours Instead of in Business Hours
the Service Cloud
Previously, if your organization had business hours enabled on its entitlements, the milestone
tracker showed that the remaining time before a milestone was due in business hours. Now,
you can track the remaining time in actual hours, even if business hours are enabled.

170
Salesforce Summer ’15 Release Notes Knowledge

Track Remaining Time on Milestones in Actual Hours Instead of in Business Hours


Previously, if your organization had business hours enabled on its entitlements, the milestone tracker
EDITIONS
showed that the remaining time before a milestone was due in business hours. Now, you can track
the remaining time in actual hours, even if business hours are enabled. Available in: Enterprise,
The remaining time for a milestone is the difference between the present time and when the Performance, Unlimited,
milestone is due. If business hours are set for milestones, the time remaining is shown in business and Developer Editions with
hours by default. the Service Cloud

Enable entitlement management and business hours before setting how the milestone tracker
displays the remaining time.
To use actual hours instead of business hours, from Setup, click Build > Customize > Entitlement Management > Settings. Under
the Milestone Tracker section, select the checkbox for Show the time remaining in actual hours, not business hours and click Save.

Example: If the remaining time is shown in business hours: For example, suppose that business hours are from 9:00 AM to 5:00
PM. Right now, it’s 4:30 PM and the support agent has a milestone due at 11:00 AM the next day. In this case, the milestone tracker
shows the remaining time in business hours, so the remaining time is 2.5 hours. (4:30-5:00 PM today and 9:00-11:00 AM tomorrow.)
If the remaining time is shown in actual hours: However, if you set the milestone tracker to show time in actual hours, the milestone
tracker ignores the business hours. Instead, the milestone tracker shows the remaining time using the full amount of time between
the present time and when the milestone is due. So, if it’s 4:30 PM now and the milestone is due at 11:00 AM tomorrow, the
remaining time would be 18.5 hours. (4:30 PM today through 11:00 AM tomorrow.)

Knowledge
Salesforce Knowledge is your Knowledge Centered Support certified knowledge base.
EDITIONS

IN THIS SECTION: Salesforce Knowledge is


Attach an Article to a Case from the Article Detail Page available in Performance
Agents can now search for articles, view the article detail page, and then attach the article to and Developer editions.
the case directly from the detail page, rather than having to go back to the article list. Salesforce Knowledge is
available for an additional
Link to an Article in Social Customer Service
cost in Enterprise and
With the Summer ‘15 release, Social Customer Service agents can insert a link to an publicly
Unlimited editions.
available article in the Social action in the case feed.
Articles Suggested for Cases are More Relevant (Generally Available)
To reduce time-to-resolution for agents and customers, enable one-click access to suggested articles when they search and create
cases. Suggestions appear in the Salesforce Console for Service and in portals and communities.
Thumbs Up or Down Ratings (Beta)
With this beta program, you can choose to rate internal articles with the existing star rating system or the new thumbs up or down
rating method.
Other Changes for Salesforce Knowledge
Learn about other changes that affect your Salesforce Knowledge users.

Attach an Article to a Case from the Article Detail Page


Agents can now search for articles, view the article detail page, and then attach the article to the case directly from the detail page,
rather than having to go back to the article list.

171
Salesforce Summer ’15 Release Notes Knowledge

In the past, an agent could only attach an article to a case from the Article Search Results list. However, they most often have to drill into
the detail page of the article to determine if it is the right article to attach. If they have to go back to the list, it may be frustrating to
determine which article in the list is the one they were just viewing.
When searching for an article from a case, not in the Service Console, an agent can click Attach to case or Attach and Return to case.

After the agent clicks Attach to case or Attach and Return to case, they become Detach from case and Detach and Return to
case.
When in Service Console, there is only Attach to case. Attach and Return to case is not needed, as you can just go to the case tab in
the Service Console.

You can also detach the article once it is attached in the Service Console.
If the agent initiates the article search from a case, they can attach and detach the article from the article detail view.

Note: These options are not available unless the agent is coming from a case article search. For example, agents must start from
a specific case that they need to attach or detach an article.

SEE ALSO:
IdeaExchange: Return 'Attach' and 'Attach and Return To Case' buttons to full view of an Article
IdeaExchange: Knowledgebase: improve attach article to case interface

Link to an Article in Social Customer Service


With the Summer ‘15 release, Social Customer Service agents can insert a link to an publicly available article in the Social action in the
case feed.
While using the Social action in the Service Console, agents can choose the Share Article Link on a public article (either the article search
widget, the attached articles, or the Knowledge sidebar). The link is pasted in the content of the Social action.

172
Salesforce Summer ’15 Release Notes Knowledge

Note: Inserting an article link into Social Customer Service isn’t supported in Internet Explorer 7.

SEE ALSO:
IdeaExchange: Share Knowledge Articles on social media. (Linked In, Facebook, Twitter, etc)

Articles Suggested for Cases are More Relevant (Generally Available)


To reduce time-to-resolution for agents and customers, enable one-click access to suggested articles when they search and create cases.
Suggestions appear in the Salesforce Console for Service and in portals and communities.
The search engine now looks for articles with similar content to the case subject and description based on the frequency and distribution
of matching search terms. The search engine also looks for articles that were attached to other cases with the same keywords in the
subject and description.

To enable, from Setup go to Customize > Knowledge > Settings, under Knowledge One check Suggest articles for
cases considering case content.

Thumbs Up or Down Ratings (Beta)


With this beta program, you can choose to rate internal articles with the existing star rating system or the new thumbs up or down rating
method.

Note: This release contains a beta version of thumbs up or down rating that is production quality but has known limitations and
is not supported in Internet Explorer 8. You can provide feedback and suggestions and get information on enabling this feature
for your organization by contacting Salesforce.
Thumbs up or down voting makes ratings easier and should encourage agents to vote more.
From Setup, go to Customize > Knowledge > Settings and select Enable thumbs up or down voting for article.
If articles already have star ratings when thumbs up or down voting is activated, their previous votes are retained. Three, four, or five
stars convert to thumbs up. One and two stars convert to thumbs down. If thumbs up or down is converted back to stars, thumbs up
equals five stars and thumbs down equals one star.

173
Salesforce Summer ’15 Release Notes Live Agent

Knowledge users vote on the Article Detail page. If a user votes thumbs up, it shows up green. If a user votes thumbs down, it shows up
red.

Note: At this time, you can’t change your vote, thumbs up or down voting is not reflected in vote statistics, the metadata API
doesn’t retain the setting, and this beta program is not available for Salesforce1or Communities.

Votes are shown in article detail page based on the current channel and the article search list shows total votes across all channels.

Other Changes for Salesforce Knowledge


Learn about other changes that affect your Salesforce Knowledge users.
Synonym Group Limit Increased
You can now add up to 1,000 synonym groups. Previously, you could add only 300.
Article File Fields in Salesforce1 and Communities
Agents and customers can now see attachments in the file field of an article in Salesforce1 and Communities. This is especially
important when the content references something in an attached file that is not well understood without accessing the file.
Editor Upgrade
The CKEditor was upgraded across all objects, including articles, to version 4.4.6.

Live Agent
Live Agent lets service organizations connect with customers or website visitors in real time through
EDITIONS
a Web-based, text-only live chat.

Live Agent is available in:


IN THIS SECTION: Performance Editions and
Transfer a Workspace with a Chat Transfer or Conference Developer Edition
When an agent transfers a chat or starts a conference, any records attached to the chat transcript organizations that were
created after June 14, 2012
will now open in the other agent's workspace when another agent accepts the chat. This way,
the agent who accepts the transferred chat has all the information to start assisting the customer Live Agent is available for an
right away, without having to search for related records. additional cost in: Enterprise
and Unlimited Editions

174
Salesforce Summer ’15 Release Notes Live Agent

Conference Multiple Agents into Chats


We’ve delivered one of our most-requested enhancements! You can now include multiple agents in a single chat to help your
customers get the solutions they need more quickly.
Block Unwelcome Chat Visitors by IP Address
Help your agents avoid troublesome customers by blocking chats from specified IP addresses.
Updates to Live Agent Browser Support
As Live Agent has gotten bigger and better, certain features won’t work with some versions of IE.
Automatically Set Agents’ Status to Away When a Chat Request Times Out
It’s hard to believe, but sometimes agents forget to update their status! We added a new option that lets you set your agents' Live
Agent status to Away automatically when a chat request that's been assigned to them times out. This can help you improve your
chat routing by removing unavailable agents from the queue.
New Button Lets Customers Cancel a Pending Chat Request
Your customers now have a button to cancel a chat request while they're waiting in a queue. When a customer clicks the Cancel
button, the chat ends immediately, which improves accuracy of the Abandoned After time.
Extreme Makeover: Live Agent Edition
Live Agent has a fresh look to help you read chats and find actions faster.
Enabling Omni-Channel with Your Existing Live Agent Implementation
So you’ve decided to take your customer service to the next level with Live Agent. That’s great! If you’re already supporting your
customers with Live Agent chat, there are a few things you need to know before you start managing chat traffic with Live Agent in
Omni-Channel.

Transfer a Workspace with a Chat Transfer or Conference


When an agent transfers a chat or starts a conference, any records attached to the chat transcript will now open in the other agent's
workspace when another agent accepts the chat. This way, the agent who accepts the transferred chat has all the information to start
assisting the customer right away, without having to search for related records.
If an agent tries to transfer a chat, but has open records that are unsaved or unattached to the chat transcript, the first agent will be
prompted to save those changes before completing the chat transfer. This way, the agent who accepts the transfer will see the most
up-to-date details about the customer.
For more information on transferring workspaces, see Transfer Chats and “Send a Chat Conferencing Request” in the Salesforce Help.

Conference Multiple Agents into Chats


We’ve delivered one of our most-requested enhancements! You can now include multiple agents in a single chat to help your customers
get the solutions they need more quickly.
If an agent needs extra help solving a customer's problem, the agent can now invite additional agents to join the chat without disrupting
the flow of the conversation. Instead of transferring the chat to another agent (who may or may not be able to solve the customer's
problem), agents can work together in the same chat to assist the customer more efficiently.
Supervisors can also monitor chat conferences in the Supervisor Panel and send whisper messages, just as they can monitor normal
chats.
For more information, see “Chat Conferencing” in the Salesforce Help.

175
Salesforce Summer ’15 Release Notes Live Agent

Block Unwelcome Chat Visitors by IP Address


Help your agents avoid troublesome customers by blocking chats from specified IP addresses.
You can enable your agents to block chat requests from specified IP addresses while they work in the console. For example, if a customer
is using abusive language or sending spam messages, the agent can block that user from starting a new chat.
As an administrator, you can block either individual IP addresses or IP ranges on the Block Visitors setup page.
Blocked visitors will see a message indicating that chat isn't available.
If a customer attempts to request a chat from a blocked IP address, the chat won't enter a queue, nor will it be routed to agents. In
addition, you can modify or delete blocking rules.
For more information on blocking chats, see ““Let Your Agents Block Visitors by IP Address” in the Salesforce Help” and “Create an IP
Blocking Rule” in the Salesforce Help.

Updates to Live Agent Browser Support


As Live Agent has gotten bigger and better, certain features won’t work with some versions of IE.
As of Summer ’15, we no longer support Live Agent functionality in the Salesforce console for agents using IE 8 and below.
Also with Summer '15, we no longer support customer-facing functionality on IE 6 or IE 7. Don’t worry—we won’t prevent functionality
from working, we’re just no longer fixing bugs and issues related to those browser versions. Additionally, we don’t support animations
for automatic chat invitations on versions below IE 10 (due to browser version limitations).
For more information, see Supported Browsers on page 45.

Automatically Set Agents’ Status to Away When a Chat Request Times Out
It’s hard to believe, but sometimes agents forget to update their status! We added a new option that lets you set your agents' Live Agent
status to Away automatically when a chat request that's been assigned to them times out. This can help you improve your chat routing
by removing unavailable agents from the queue.
Previously, you could only set agents' status to Away automatically if they declined a chat, using the Auto Away on Decline feature. Now,
in addition to the Auto Away on Decline feature, we added the ability to set agents' status to Away if they don't respond to a request
within the time specified by the Push Time-Out setting.
This option applies only when agents are assigned to chat buttons or invitations that use push routing. This option isn't available if your
organization uses Choice routing to route chats to your agents.
The Auto Away feature works only on chats that are routed through the Live Agent footer widget. It's not supported in the new
Omni-Channel widget.
For more information on Push Time-Out, see “Live Agent Configuration Settings” in the Salesforce Help.

New Button Lets Customers Cancel a Pending Chat Request


Your customers now have a button to cancel a chat request while they're waiting in a queue. When a customer clicks the Cancel button,
the chat ends immediately, which improves accuracy of the Abandoned After time.
Your customers can now cancel a chat request while they're waiting in a queue by clicking Cancel Chat. When they cancel the chat,
Live Agent:
• Removes the chat from the queue.
• Logs a Canceled by Visitor transcript event, recording when the customer clicked Cancel.
• Logs a Visitor Left transcript event, recording when the customer abandoned the chat.

176
Salesforce Summer ’15 Release Notes Live Agent

• Logs the time in the transcript's Abandoned After field.


You can even customize the Cancel Chat button in your custom chat window with the <liveAgent:clientChatCancelButton>
Visualforce component.

Extreme Makeover: Live Agent Edition


Live Agent has a fresh look to help you read chats and find actions faster.
A few highlights:
• Different-colored text backgrounds to help you distinguish each participant in the chat.
• A rearranged interaction pane, bringing the most-used actions closer to the left.
• Updated icons and colors on the chat tabs.
• Shortened tab text to help you quickly tell chats apart.
(Don’t worry, there aren’t any functional changes with this visual update, so all your agents’ tools work the same.)

177
Salesforce Summer ’15 Release Notes Live Agent

Enabling Omni-Channel with Your Existing Live Agent Implementation


So you’ve decided to take your customer service to the next level with Live Agent. That’s great! If
EDITIONS
you’re already supporting your customers with Live Agent chat, there are a few things you need to
know before you start managing chat traffic with Live Agent in Omni-Channel. Omni-Channel is available
As you know, Live Agent is powered by Live Agent Configurations, which control the behaviors in: Enterprise, Performance,
and settings that are available to Live Agent users. Similarly, Omni-Channel uses Presence Unlimited, and Developer
Configurations to control the behaviors and settings that are available to Omni-Channel users. You Editions
can integrate Live Agent with Omni-Channel. That way, chats are routed just like other work items,
and your agents are able to accept or reject chat requests from the Omni-Channel widget. In that EDITIONS
case, your Live Agent users also become Omni-Channel users, so your chat agents need to be
associated with both a Live Agent Configuration and a Presence Configuration.
Live Agent is available in:
Luckily, Salesforce does some of the heavy lifting for you when you enable Omni-Channel with Performance Editions and
your current Live Agent implementation. For each Live Agent Configuration that you already have Developer Edition
in your organization, Salesforce creates a corresponding Presence Configuration for you. If you have organizations that were
multiple Live Agent Configurations in place, Salesforce creates a different Presence Configuration created after June 14, 2012
for each Live Agent Configuration. Live Agent is available for an
Let’s say you already have Live Agent enabled, and you have 20 agents who handle chats. These additional cost in: Enterprise
agents are assigned to a Live Agent Configuration. and Unlimited Editions

When you enable Omni-Channel, Salesforce creates a new Presence Configuration for you that corresponds to your Live Agent
Configuration. Salesforce automatically assigns all 20 of your chat agents to the new Presence Configuration. That way, there’s no
disruption to your agents’ workflow when you enable Omni-Channel, and they can start accepting chats through the Omni-Channel
widget in the console right away.

178
Salesforce Summer ’15 Release Notes Salesforce Console for Service

Salesforce Console for Service


The Salesforce Console for Service is an app that’s designed for users in fast-paced environments
EDITIONS
who need to find, update, and create records quickly to support their customers.
Available in: Enterprise,
IN THIS SECTION: Performance, Unlimited,
and Developer Editions with
Add Report Charts to Console Sidebars
the Service Cloud
Adding analytics to a Salesforce console just got easier.
Available in: Performance
Salesforce Console: Simple Tab Management and Developer Editions with
We’ve made it easier for console users to find, access, and update tabs. the Sales Cloud
New API Methods for the Console Integration Toolkit Available in: Enterprise and
Access API methods to customize a console programmatically. Unlimited Editions with the
Sales Cloud for an additional
Assets and Service Contracts Fields Now Supported in Highlights Panel
cost
Previously, it wasn’t possible to show fields from asset records and service contract records in
a Salesforce console’s highlights panel. In Summer 15, you can add fields from the assets and
service contracts objects to the highlights panel. Support agents can easily see information
about customers’ assets and service contracts in the highlights panel.

Add Report Charts to Console Sidebars


Adding analytics to a Salesforce console just got easier.
With a few clicks, you can add any existing report charts to a console component so that users can see relevant charts next to records
without clicking a thing.

179
Salesforce Summer ’15 Release Notes Salesforce Console for Service

Note: Report chart sidebar components are not available to developers using the Salesforce Metadata API or for migration between
sandbox and production instances.

IN THIS SECTION:
Add a Report Chart to a Console Component
To add a report chart to the sidebars of a Salesforce console, edit the page layout of the records from which to display the chart.

Add a Report Chart to a Console Component


To add a report chart to the sidebars of a Salesforce console, edit the page layout of the records
USER PERMISSIONS
from which to display the chart.
Before you add a report chart component, make sure that the source report: To add custom console
components:
• Is in a folder that’s shared with users who need access. • “Customize Application”
• Is a summary or matrix report.
• Contains a chart.
• The report chart is added to the page layout. See “Adding a Report Chart to a Page Layout” in the Salesforce Help.
1. Go to the page layout editor for the object you’re adding the report component to.
• For a standard object, from Setup, click Customize > Object > Page Layouts.
• For a custom object, from Setup, click Create > Objects, and then choose the object.

180
Salesforce Summer ’15 Release Notes Salesforce Console for Service

2. Click Edit next to the layout.


3. Click Custom Console Components.
4. Next to the sidebar in which you want to add your component, choose how to display and organize your components. See “Sidebar
Styles for Console Components” in the Salesforce Help.
5. Specify the size of the sidebar in the console. When the height or width of the sidebar is below 150 pixels, report charts automatically
hide because they become too difficult to read.
6. Under Type, specify Report Chart.
7. Choose a report chart that’s been added to the page layout.
Since page layouts are limited to two report charts, you can add up to two report charts to a sidebar. You can add up to five
components to a sidebar and a maximum of eight components to a page layout. You can also hide report charts from pages where
they appear as components to prevent duplicate information from showing.

8. Under Label, type the name for your component as it should display to console users from the sidebar. If you don’t type a label
for a report chart, the report chart’s name is used.
9. Specify the size of the component in the sidebar by selecting height or width, and typing its percentage or number of pixels. If you
don’t specify a height or width, the component is automatically sized to appear correctly in a console.
10. Click Save.

Salesforce Console: Simple Tab Management


We’ve made it easier for console users to find, access, and update tabs.
Reopen Last-Closed Tabs
Your users can now reopen any primary tabs that they closed accidentally by clicking a button or by pressing a keyboard shortcut.
From the tab bar, click and select Reopen last-closed tab, or press SHIFT + C. Users can reopen up to ten closed tabs.
Pin Primary Tabs
Now your users can pin their favorite or most frequently visited tabs to the tab bar for instant access. Pinning a tab is easy. From the
tab bar, click and select next to a tab. When a tab is pinned, it’s moved to the front of the tab bar, and its text is removed
to provide more screen space.

Unpinning a tab is easy too. Click and select . To rearrange pinned tabs, drag them to any location on the tab bar before
the first unpinned tab. Users can’t pin tabs for new-unsaved records or new tabs that appear by clicking . Pinned tabs are
unavailable for Internet Explorer® 7 and 8.
To save users’ pinned tabs after they close their browsers or log out of a Salesforce console, check Save User Sessions for
each console. See “Save User Sessions for a Salesforce Console” in the Salesforce Help.
Bookmark Primary Tabs
Users can now bookmark their favorite or occasionally visited tabs for quick access. Bookmarking a tab is simple. From the tab bar,
click and select next to a tab. When a tab is bookmarked, it’s moved to the History component in the footer (formerly
named Most Recent Tabs).

181
Salesforce Summer ’15 Release Notes Salesforce Console for Service

Removing a bookmarked tab is easy too. Click and select , or click Remove next to the tab in the History component.
Additionally, from the History component, your users can click Get link to share the URL of the bookmarked tab with other Salesforce
users. Bookmarked tabs are unavailable for Internet Explorer® 7 and 8.
Most Recent Tabs Component Renamed History
Most Recent Tabs has been renamed to History and bookmarks were added to it to give your users a more streamlined experience
for finding and retrieving tabs. The History component is unavailable for Internet Explorer® 7 and 8, but Most Recent Tabs is still
available for those browsers.

New API Methods for the Console Integration Toolkit


Access API methods to customize a console programmatically.
New and updated methods help developers and advanced administrators customize Live Agent or console sidebar components. For
more information, see Salesforce Console API (Integration Toolkit) on page 305.

182
Salesforce Summer ’15 Release Notes Service Communities

Assets and Service Contracts Fields Now Supported in Highlights Panel


Previously, it wasn’t possible to show fields from asset records and service contract records in a
EDITIONS
Salesforce console’s highlights panel. In Summer 15, you can add fields from the assets and service
contracts objects to the highlights panel. Support agents can easily see information about customers’ Available in: Enterprise,
assets and service contracts in the highlights panel. Performance, Unlimited,
and Developer Editions with
the Service Cloud
Available in: Performance
and Developer Editions with
the Sales Cloud
Available in: Enterprise and
Unlimited Editions with the
Sales Cloud for an additional
cost

Service Communities
Summer ‘15 brings new opportunities for support agents with the community case feed, which
EDITIONS
gives agents and users in self-service communities a comprehensive view of all case
interactions—including case emails—in a unified, Chatter-based feed. Available in:
• Enterprise
IN THIS SECTION: • Performance
• Unlimited
Give Agents More Options with the Community Case Feed (Generally Available) • Developer
With the community case feed, agents and community users in Summer ‘15 see the life cycle
of a case from start to finish: all case interactions appear in a unified, chronological Chatter case
feed. Community users benefit from the added functionalities of Chatter, while new features on the support side make it easier for
agents to provide more efficient, personalized support.
External Users Now See Case Emails in the Feed
When you enable the community case feed, case emails appear in the community case feed for external users who have access to
the case. Case emails in the feed list the email’s author, recipients, text, and time sent.

Give Agents More Options with the Community Case Feed (Generally Available)
With the community case feed, agents and community users in Summer ‘15 see the life cycle of a
EDITIONS
case from start to finish: all case interactions appear in a unified, chronological Chatter case feed.
Community users benefit from the added functionalities of Chatter, while new features on the Available in:
support side make it easier for agents to provide more efficient, personalized support. • Enterprise
The community case feed gives community users an intuitive, versatile environment where they • Performance
can manage their cases. Using the publisher (1), users create posts and attach files to the case. The • Unlimited
feed (2) comes fully equipped with Chatter’s collaboration tools: users can bookmark, like, and • Developer
comment on posts, and mention other users. Images and comments appear inline, making it easy
to scan the feed for details. The Attachments sidebar (3) displays all case attachments.

183
Salesforce Summer ’15 Release Notes Service Communities

The following interactions appear in the community case feed:


• Chatter text, file, and link posts
• Questions in Chatter that are associated with the case
• Case emails

Note: To learn more about externally visible case emails, see External Users Now See Case Emails in the Feed.

If the Salesforce administrator exposes read-only social posts on cases, these also appear in the community case feed.
The community case feed is available in all communities built on the self-service community templates, as well as those built on the
Salesforce Tabs + Visualforce template. It can be added to new communities created after the Summer ‘15 release or to communities
that have been upgraded to the Summer ‘15 templates.

New Features for Support Agents


Support agents using the community case feed can scan case interactions and collaborate with customers and other agents without
leaving the console.

184
Salesforce Summer ’15 Release Notes Service Communities

Post to Cases or Community Questions in the Console


The Community action in the case feed makes it easy for agents make Chatter posts on cases, answer community questions, and
adjust the visibility of posts.

Note: Prior to Summer ‘15, agents used the Community action to make case comments and specified who could see the
comment by selecting Customer or Everyone.
Posting on a case with the Community action makes the post visible to all internal and external users with access to the case:

If a case originates from a question in the community, the Community action displays two options:
• Select Customer Case to make a post visible to all internal and external users with access to the case.
• Select Community Question to post a public answer on the community user’s question.

Note: You can still use the Post, File, and Link actions in the console to communicate with external users on a case. Just be
sure to select All with Access in the audience drop-down menu.
Edit the Visibility of Published Case Posts
When necessary, agents can change the external visibility of a published text, link, or file post on a case. This option is available only
if the compact case feed is enabled.

In the post’s drop-down menu in the compact case feed, agents can select Make Public to make an internal post visible to external
users with access to a case. Conversely, selecting Make Private makes a post visible to internal users only. Making a post private
means a customer no longer sees the post in their case feed. However, keep in mind that the customer could have been notified by
email when it was first posted.
To edit Chatter posts on a case, agents need the “Edit My Own Posts” and “Edit Posts on Records I Own” user permissions.

185
Salesforce Summer ’15 Release Notes Service Communities

IN THIS SECTION:
Set Up the Community Case Feed
To set up the community case feed in your community, enable the feature in Salesforce and add two out-of-the-box components
to your case page in Site.com Studio.

Set Up the Community Case Feed


To set up the community case feed in your community, enable the feature in Salesforce and add
USER PERMISSIONS
two out-of-the-box components to your case page in Site.com Studio.
To enable the community
Note: These steps are necessary for both new and existing communities.
case feed:
1. Enable the community case feed. • “Customize Application”
To build, edit, and manage
a. From Setup in Salesforce, select Customize > Cases > Support Settings.
Site.com sites:
b. Click Edit. • Site.com
c. Select Enable Community Case Feed. Publisher User
field enabled on the user
d. If desired, select Enable Email Notifications for Case Posts (recommended). detail page
This preference, which appears when the community case feed is enabled, notifies the case • Site administrator or
contact by email when someone makes an externally visible post on their case. Users can designer role assigned
comment on the post by replying to the email. Users in communities built on the Napili at the site level
template can turn off these notifications in their email notification settings.

Note: If you’re already using custom email notification settings, such as those
triggered by workflows, selecting this preference can create duplicate email
notifications.

e. Click Save.

2. Add new components to the Case page.


The community case feed includes two new components that let users view and create Chatter posts on cases. Add the components
to your community’s Case page in Site.com Studio.
• The Case Chatter Publisher component lets users create Chatter posts in the community case feed. It replaces the Case Publisher
component.
• The Case Feed component makes case Chatter posts and emails visible to customers. It replaces the Case Comments component.
For instructions and best practices for switching out the components, see “Set Up the Community Case Feed” in the Salesforce Help.

External Users Now See Case Emails in the Feed


When you enable the community case feed, case emails appear in the community case feed for
EDITIONS
external users who have access to the case. Case emails in the feed list the email’s author, recipients,
text, and time sent. Available in:
If the case contact is the email author or recipient, the email is visible in the case feed for all users • Enterprise
who are associated with the case, including external users. However, emails between agents aren’t • Performance
visible to external users. • Unlimited
• Developer
Note: For an external user to view the case, their profile must include access to cases in the
community.

186
Salesforce Summer ’15 Release Notes Social Customer Service

Suppose Rita, an external user, posts a question in a community. The question remains unresolved, and a community moderator creates
a case from it using the Question-to-Case action. If the support agent assigned to the case emails Rita from the email publisher, Rita and
all other users with access to the case will see the email in their case feed. Users with access include the assigned support agent, case
contact, and any partners.
You can write an Apex trigger to set the visibility of case emails to external users who have access to the case, regardless of whether
you’ve enabled the community case feed. The IsExternallyVisible field of the EmailMessage object controls the visibility
of email messages. When the field is set to true—its default value—email messages are visible to external users. To hide case emails
from external users, write a trigger that sets the IsExternallyVisible field to false when an email message is created.

Social Customer Service


Social Customer Service is the next-generation integration between Social Studio (Radian6) and
EDITIONS
the Salesforce Service Cloud. Customer service agents can engage with their customers by
responding to cases created from Twitter and Facebook. Salesforce Administrators can customize Social Customer Service is
how the inbound social content is processed using an Apex class and they can configure who in available in Enterprise,
their organization has permission to respond using social accounts. Performance, and
Unlimited editions.
The new Social Customer Service video, Support Your Customers on Their Social Networks
(2:58), provides a brief overview on getting started with Social Customer Service.

IN THIS SECTION:
Basic Business Rules
Customize your Social Customer Service Apex class within the setup interface and without making time-consuming code modifications.
Improved Twitter Direct Message Experience
Agents now have better information when they switch from a public to private Twitter conversation.
Case Creation Option with the Starter Pack
If you use the Starter Pack, you can now control which social accounts create cases on each inbound social post.
Additional Social Post Fields
If you are using the full Social Customer Service version, not the Starter Pack, and classifiers in Social Studio (Radian6) Social Hub,
four more fields are available on the social post object: Analyzer Score, Language, Classification, and Engagement Level.
Delete Outbound Posts on Google+ and Sina Weibo (Pilot)
Agents can now delete outbound comments in Google+ and Sina Weibo.
Delete Inbound Post Errors
You can now delete and clear error posts to ensure your Social Hub rules continue to process other inbound posts.
Improved Inbound Processing
Inbound posts that encounter errors are now automatically retried once, and when processing child posts, Salesforce checks to
ensure that parent posts are present before child posts are written as records.
Other Changes for Social Customer Service
Learn about other changes that affect your Social Customer Service users.

Basic Business Rules


Customize your Social Customer Service Apex class within the setup interface and without making time-consuming code modifications.
On the Social Customer Service Inbound Settings tab, administrators can select business rules for how inbound social data is handled.

187
Salesforce Summer ’15 Release Notes Social Customer Service

Note: Inbound Business Rules are not available if you are using a custom Apex class.

Enable Case Reopen


If a new post, from the same social persona, is associated to a closed case, the case is reopened within the designated number of
days. The number must be greater than or equal to 1 and less than or equal to 3000.
Use Person Accounts
Assign a person account of the selected type for the social persona parent record.
Create Case for Post Tags
Override the social hub’s case creation rules and create a case when selected post tags are present on a social post. Post Tags are
used to answer the question "What is the topic of this one post?". Post tags, set in Social Studio (Radian6) Social Hub, help to provide
further context to what the individual post is about.

Improved Twitter Direct Message Experience


Agents now have better information when they switch from a public to private Twitter conversation.
Direct messaging is the best practice for exchanging non-public information with a customer on social networks. Agents can transition
from public to private conversations on Twitter easily; increasing productivity and decreasing errors, creating smoother conversations
with customers and better service experiences.

188
Salesforce Summer ’15 Release Notes Social Customer Service

On Twitter, two parties must be mutually following each other. The new Social action shows agents if one or both of the parties need
to follow the other. This help agents follow and request to be followed and, therefore, direct message more efficiently.

Case Creation Option with the Starter Pack


If you use the Starter Pack, you can now control which social accounts create cases on each inbound social post.
Not all posts require a case, for example, a complimentary tweet or post does not need agent assistance. The full Social Customer Service
version allows administrators to control which posts create cases in the Social Studio (Radian6) Social Hub. Now, Starter Pack administrators
can decide whether they want cases created automatically or not when posts come from a particular social account.

For example, if you have two Twitter handles, one for support and one for marketing or brand-focused information, you can have cases
created automatically only from the support handle. The tweets from the marketing handle go in a social post queue for review. See
“Managing Social Posts” in the Salesforce Help.

Additional Social Post Fields


If you are using the full Social Customer Service version, not the Starter Pack, and classifiers in Social Studio (Radian6) Social Hub, four
more fields are available on the social post object: Analyzer Score, Language, Classification, and Engagement Level.

189
Salesforce Summer ’15 Release Notes Social Customer Service

Analyzer Score
Analyzer Score lets you score the relevance and importance of a social post. You can set up your own custom relevancy system using
all the conditions available in the Social Hub including number of followers, strong wording, library and proximity. You then define
and weigh each of your criteria, add and subtract to a score you associate to the post. Once in Salesforce, agents can make routing
and priority decisions based on this score.
Language
Language identifies which language the social post is written in.
Classification
Classification helps answer the question: “Why are they posting?” and separates posts into themes.
Engagement Level
Engagement level reflects the workflow status of the post at the time it was sent.
With these fields, agents have the information they need to route social posts and cases to the correct teams. You can also customize
your Apex class to assign cases appropriately.

Delete Outbound Posts on Google+ and Sina Weibo (Pilot)


Agents can now delete outbound comments in Google+ and Sina Weibo.

Note: Google+ and Sina Weibo for Social Customer Service are currently available to select customers through a pilot program.
To be nominated to join this pilot program, contact Salesforce. Additional terms and conditions may apply to participate in the
pilot program. Please note that pilot programs are subject to change, and as such, we cannot guarantee acceptance into this pilot
program or a particular time frame in which this feature can be enabled. Any unreleased services or features referenced in this
document, press releases, or public statements are not currently available and may not be delivered on time or at all. Customers
who purchase our services should make their purchase decisions based upon features that are currently available.
Agents can protect brand messaging and image by allowing Google+ comments and Sina Weibo replies and comments that contain
mistakes or inappropriate language to be deleted.

190
Salesforce Summer ’15 Release Notes Social Customer Service

Delete Inbound Post Errors


You can now delete and clear error posts to ensure your Social Hub rules continue to process other inbound posts.

In Social Customer Service Settings, on the Error Log tab, you can click Delete All to clear the error log and keep future posts processing.

Improved Inbound Processing


Inbound posts that encounter errors are now automatically retried once, and when processing child posts, Salesforce checks to ensure
that parent posts are present before child posts are written as records.
These improvements decrease error states and confusing post ordering problems that need intervention, saving time and increasing
Social Customer Service performance.

Other Changes for Social Customer Service


Learn about other changes that affect your Social Customer Service users.
External Communities Users Can View Social Posts
Administrators can now give social post read access to external community and portal users, giving their customers a complete
history of their cases directly in the community. There are three requirements to make social posts available in communities and
portals.
1. Ensure the user has access to cases in the community.
2. Give users read permission to social posts on their profiles.
3. On your organization’s Social Post object, enable visibility to individual fields through the field level security settings.

Note: Once these requirements are met, external users can see all social posts exposed to them. For example, if a case or lead
feed is exposed externally, all social posts in the feed are visible. There is currently no way to limit visibility at the social post
object level.

191
Salesforce Summer ’15 Release Notes Assets

New Field on Social Persona Object


There is a new field on newly created Social Personas to indicate which social network created the persona. This field is set on creation
and is not updateable. Social personas created prior to Summer 15 do not have this field.

Note: If your organization uses custom Apex, you need to update it to use this field. Keep in mind that personas created
before the Summer 15 release do not have the field.
New Functionalilty for Quoted Tweets.
Quoted Tweets have two parts: the original source tweet and the added comments by the retweeter. Salesforce can match by
keyword on both the original tweet and the retweet comments. However, currently only the retweeter's comments are visible in
Social Customer Service. Therefore, it is possible for an agent to receive a quoted tweet to work on for no obvious reason, and the
agent must view the post natively on the Twitter website to get the full context.
Longer Twitter Direct Messages
You can now send direct message of up to 10000 characters. That’s equivalent to a seven-page essay.

Assets
The Assets object tracks products that your customers own. Assets can include your company’s
EDITIONS
products and competitors’ products.
Assets are available in:
IN THIS SECTION: Professional, Enterprise,
Performance, Unlimited,
High-Volume Sharing Available for Assets
and Developer Editions
Previously, sharing for high-volume customer portal users and community users wasn’t supported
for asset records. Now, you can use sharing sets to assign asset records to high-volume portal
and community users.

High-Volume Sharing Available for Assets


Previously, sharing for high-volume customer portal users and community users wasn’t supported
EDITIONS
for asset records. Now, you can use sharing sets to assign asset records to high-volume portal and
community users. Available in:
See Granting High-Volume Portal or Community Users Access to User Records. • Enterprise
• Performance
• Unlimited
• Developer

Organization Sync
Organization Sync lets you set up a secondary, synced Salesforce organization that users can access
EDITIONS
when your primary organization is undergoing maintenance. Summer ‘15 improvements to
Organization Sync include auto-published fields, the option to sync metadata, the ability to write Organization Sync is
reports and triggers for the Organization Sync log, and a new video, “How Organization Sync Works”. available in: Enterprise,
Performance, Unlimited,
IN THIS SECTION: and Developer Editions

Metadata Now Supported in Organization Sync


For data to remain synced in Organization Sync, the metadata in your primary Salesforce organization must match the metadata in
your secondary organization. You can now choose to have certain types of metadata changes synced daily between your organizations.

192
Salesforce Summer ’15 Release Notes Organization Sync

Organization Sync Enhancements


Organization Sync has been enhanced to include some new user assistance, auto-published fields, auto-synced users, and the ability
to write reports and triggers for the Organization Sync log.

Metadata Now Supported in Organization Sync


For data to remain synced in Organization Sync, the metadata in your primary Salesforce organization
EDITIONS
must match the metadata in your secondary organization. You can now choose to have certain
types of metadata changes synced daily between your organizations. Organization Sync is
Inserts and updates of the following types of metadata are synced daily in one direction—from available in: Enterprise,
the primary to the secondary organization. Performance, Unlimited,
and Developer Editions
• Apex classes, components, and pages
• Custom fields
• Custom objects
• External objects
• Layouts
• Permission sets
• Record types
• Roles
• User profiles
The following actions on supported metadata aren’t synced and must be repeated in both organizations:
• Creating or updating metadata in the secondary organization
• Deleting metadata in either organization
For example, if a user in the primary organization creates or updates a permission set, the change is applied to the secondary organization
within 24 hours. However, if the permission set is updated in the secondary organization, the update doesn’t flow back to the primary
organization, and the update in the secondary organization is overwritten in the next sync.
Customers can opt to sync metadata by selecting the Sync Metadata option when setting up a replication connection. For customers
with existing replication connections, this option is on the Connection Detail page of your connection. See “Duplicate Your Metadata”
in the Salesforce Help to learn best practices for syncing metadata.

Organization Sync Enhancements


Organization Sync has been enhanced to include some new user assistance, auto-published fields,
EDITIONS
auto-synced users, and the ability to write reports and triggers for the Organization Sync log.
The Fun Stuff Organization Sync is
available in: Enterprise,
• To learn about Organization Sync, check out this short video:
Performance, Unlimited,
and Developer Editions
How Organization Sync Works (3 minutes, English only)

• Are you a new Organization Sync admin? After you add the Connections tab in Salesforce
and set up your replication connection, take this interactive jaunt through the Connection Detail page to learn how to make the
most of its features. Walk Through It: Explore the Connection Detail Page.

193
Salesforce Summer ’15 Release Notes Improve Your Service Cloud Implementation with Code:
Introducing the Service Cloud Cookbook

Auto-Published Fields
If you publish an object to the linked organization in your replication connection, that object’s fields are automatically published.
You can still edit which fields are published via the Connection Detail page. This change just saves you some clicking time. The
following field types aren’t supported:
• Rich text area (RTA) fields
• Formula fields
• Roll-up summary fields
• Fields that have a lookup to an unpublished object

Note: This change doesn’t apply to standard Salesforce to Salesforce connections.

Automatic User Sync


Users are now automatically synced in Organization Sync. As soon as you create a replication connection, all users with Standard
user licenses are copied to the secondary organization. When a user is created, updated, or deactivated, that change is automatically
applied to both organizations.

Note: If you choose not to sync metadata in Organization Sync, add users to the secondary organization by clicking Bulk
Sync Users at the top of the Connection Detail page.
Create Triggers and Reports for the Organization Sync Log
The Organization Sync Log lists data and metadata that failed to sync. You can write Apex triggers for the log to notify you or others
about log entries. For example:
• Write a trigger that emails the administrator if more than 10 new entries appeared in the log in the past 24 hours.
• If an entry appears in the log for an account, trigger a workflow rule that flags the account with a “Needs Review” flag.
To create triggers for the Organization Sync Log, from Setup, select Salesforce to Salesforce > Org Sync Log > Triggers.
You can also create custom report types to monitor the health of your Organization Sync environment. Use the Org Sync Log object
as the primary object or as the secondary object to any object supported in Organization Sync (for example, Accounts or Contacts).
For example:
• Create a custom report on the Case object that shows all log entries for records related to a case in the last month.
• Create a dashboard with reports that show:
– The number of log entries in the past 24 hours
– The number of log entries by field type

Note: Because the log displays outgoing syncing failures, the same report shows different results depending on which
organization you’re working in.

Improve Your Service Cloud Implementation with Code: Introducing the


Service Cloud Cookbook
Are you a developer who’s looking to take a Service Cloud implementation to the next level? Are you a savvy admin who wants to try
your hand at improving a Service Cloud implementation with some simple code? Then check out the new Service Cloud Cookbook, a
collection of simple, impactful code samples that you can add to your organization.
Want to improve how cases are organized? Add customizations to a Salesforce console? Personalize your Live Agent chat window? The
Service Cloud Cookbook includes code samples you can use right out of the box to solve these problems and many more.
Check out how code can help you take your customer service to the next level with the Service Cloud Cookbook

194
Salesforce Summer ’15 Release Notes Chatter: Reporting, Question-to-Case, Records in Groups

Chatter: Reporting, Question-to-Case, Records in Groups


Summer ’15 enables you to report on Chatter activity in your organization, add records to groups, and create cases from Chatter Questions.
There are also several improvements to files, feeds, and unlisted groups functionality.

IN THIS SECTION:
Feeds
Chatter Feeds now allow users to edit posts and comments, and report on record feeds.
Files
Salesforce Files in Summer ’15 lets you share and sync any file in Salesforce, increases various limits, supports folders, and provides
deeper integration with external files and data sources.
Groups
Chatter groups provide increased security for unlisted groups, more control over which custom object records are allowed in groups,
the ability to share more information, and a few formatting improvements to group emails.
Email Notifications
Join the unified user digest beta to get an improved, more mobile-friendly email digest.
Other Changes in Chatter
Smaller changes that improve your experience with Chatter.

SEE ALSO:
How and When Chatter Features Become Available
IdeaExchange: Chatter Ideas Delivered in Summer ’15

Feeds
Chatter Feeds now allow users to edit posts and comments, and report on record feeds.
EDITIONS

IN THIS SECTION: Available in:


• Group
Edit Feed Posts and Comments • Professional
Ensure that your feed posts are accurate and up-to-date with feed post editing. • Enterprise
Report on Record Feeds • Performance
You can monitor record feed engagement on standard and custom objects by creating a custom • Unlimited
report type from Object>ObjectFeeds. With this custom report type, you can track the • Contact Manager
number of Chatter feed edits and see what type of users are editing feeds. • Developer

Edit Feed Posts and Comments


Ensure that your feed posts are accurate and up-to-date with feed post editing.
Now your users can edit their own feed posts. Record owners can edit any post on records they own, no matter who created the post.
Administrators can edit posts and grant editing rights to specific individuals. We added two profile permissions and an option in Chatter
Settings that let administrators control which users can edit posts and comments.

195
Salesforce Summer ’15 Release Notes Feeds

Use the Allow users to edit posts and comments option in Chatter Settings to enable or disable the Edit Feed Post
feature for your organization. This option is enabled by default. All users that are assigned a standard profile can edit their own posts
and comments immediately, except for Chatter Free, Chatter External, and Customer Portal users. For users that are assigned custom
profiles, enable the permissions in their custom profile or permission sets.
The “Edit My Own Posts” permission allows users to edit their own posts. This permission is enabled on standard profiles, except Chatter
External, Chatter Free, and Customer Portal User profiles. To allow Chatter External, Chatter Free, or Custom Portal users to edit their own
posts, clone the profiles and enable the “Edit My Own Posts” permission in the enhanced user profile interface. Assign the cloned profiles
to the users.
The “Edit Posts on Records I Own” permission allows users to edit posts and comments on records they own, including other people’s
posts and comments. For example, a group owner or manager can edit all posts on the group’s feed. A manager for a particular record
type can edit all posts on the record. This permission is available on standard and custom profiles, but it is disabled by default.
This table summarizes the user permissions and their default settings.

User Permission Description Available in Default Setting


Edit My Own Posts Allows users to edit their Standard profiles., except Enabled in all new and existing
own text posts • Chatter External User organizations in this release

• Chatter Free User


• High Volume Customer Portal User
• Partner Community User Profile

Note: To enable the permission


for users that are assigned one of
these profiles, clone the profile
and select the permission in the
enhanced user profile interface.

Custom profiles Disabled in all new and


existing organizations

Edit Posts on Records I Own Allows record owners to Custom profiles Disabled in all new and
modify their own posts and existing organizations.
posts other users made on However, Chatter moderators,
groups and record detail community moderators, and
pages. users with “Modify All Data”
permission can always edit all
posts and comments.

The Allow users to edit posts and comments option in Chatter Settings is enabled by default. For users that have
the required user profile permissions, the Edit option is available from the drop-down menu on text posts, comments, questions, and
answers. It opens a separate Edit window, where users can modify the text.

196
Salesforce Summer ’15 Release Notes Feeds

After users save their edited version of the post, it shows an Edited time stamp to indicate that the original post was modified.

If users edit a post or comment and mention new people or groups, those people and groups receive email notifications. People and
groups who were mentioned in the original post or comment don’t receive a new email notification. Email notifications for edited posts
or comments show the Edited time stamp.
The Edit option isn’t available on posts with link or file attachments and system-generated posts like feed tracked record updates. For
community users, feed post editing is only available if the community was created using Salesforce Tabs + Visualforce or the Napili
template.
Chatter REST API and Chatter in Apex also support feed post editing.

SEE ALSO:
IdeaExchange: Edit a Chatter Post After Posting

Enable Feed Post Editing in User Profiles or Permission Sets


By default, feed post editing is disabled on all custom profiles. Enable the permissions in custom
USER PERMISSIONS
profiles or permission sets.
Here’s how you enable the permissions in a permission set. To create and edit
permission sets:
1. From Setup, click Manage Users > Permission Sets. • “Manage Profiles and
2. Click an existing permission set or create a permission set. Permission Sets”

3. In the System Permissions section, click Edit. To assign permission sets


• “Assign Permission Sets”
4. Select the edit feed post permissions you want to enable.
• Select Edit My Own Posts to allow users that are assigned this permission set to
edit their own posts and comments.
• Select Edit Posts on Records I Own to allow users that are assigned this permission set to edit posts and comments
on records they own, including posts and comments made by other users.

5. Click Save.

197
Salesforce Summer ’15 Release Notes Files

6. Assign the permission set to the users who need the permissions.

Disable Feed Post Editing for All Users


By default, all users who are assigned a profile that has the feed post editing permissions enabled
USER PERMISSIONS
can edit their posts and comments. You can disable feed post editing for all users in your organization,
regardless of their assigned user profile. To enable or disable
1. From Setup, click Customize > Chatter > Settings. features in Chatter Settings:
• “Customize Application”
2. Click Edit.
3. In the Post and Comment Modification section, deselect Allow users to edit posts
and comments.

4. Click Save.
The feed post editing feature is disabled for your entire organization. Users can no longer edit posts and comments.

Report on Record Feeds


You can monitor record feed engagement on standard and custom objects by creating a custom report type from
Object>ObjectFeeds. With this custom report type, you can track the number of Chatter feed edits and see what type of users
are editing feeds.
You can also report on feed activity for all standard objects that have feed tracking enabled, such as accounts, cases, leads, opportunities,
and custom objects.

SEE ALSO:
IdeaExchange: Make Chatter Feeds on Records Reportable

Files
Salesforce Files in Summer ’15 lets you share and sync any file in Salesforce, increases various limits, supports folders, and provides deeper
integration with external files and data sources.

IN THIS SECTION:
Share Any File with a Library
Share Chatter files and external files with a library.
Share Private (Personal) Content Files in Chatter
Share private content files (previously known as personal content files) in Chatter. All content files, whether in a library or not, can
now be shared in Chatter.
Sync Content Files
All your files from content libraries, including private files, can be synced in Chatter.

198
Salesforce Summer ’15 Release Notes Files

Sync Files to Folders


When you sync a file in Chatter, now you can sync it to a folder.
Distribute a Managed Version of Salesforce Files Sync (Beta)
The Managed Version feature of Salesforce Files Sync that was piloted in the Spring '15 release is now in beta for Summer ‘15. This
feature allows IT Administrators to deploy the Salesforce Files Sync desktop client at scale.
Include @Mentions When Sharing Files with Groups
When you share a file with groups in Chatter, now you can @mention people and groups in your message.
Files Connect
Summer ‘15 extends support to Google Drive, lets you access custom fields, and speeds up authentication and searching.
Other Changes in Salesforce Files
Salesforce Files has increased limits, improved content deliveries, and other changes.

Share Any File with a Library


Share Chatter files and external files with a library.
To leverage the permission-setting capabilities in content libraries, you are no longer limited to uploading files from your computer. You
can now share any file in Chatter with one or multiple libraries:
• Files you own
• Files that have been shared with you or with a group you belong to
• External files
Anywhere in Chatter that you can share a file, you can now share it with a library.

The ability to share Chatter files with libraries is set at the organization level with the preference Chatter Files can be published into
Content Libraries. This preference is turned off by default. Enable it in Setup > Build > Customize > Salesforce Files > Settings >
Salesforce CRM Content.

Share Private (Personal) Content Files in Chatter


Share private content files (previously known as personal content files) in Chatter. All content files, whether in a library or not, can now
be shared in Chatter.

199
Salesforce Summer ’15 Release Notes Files

When you use the Select a file from Salesforce option to attach a file to a post or comment in Chatter, you can now choose a file from
a private (personal) library.

Sync Content Files


All your files from content libraries, including private files, can be synced in Chatter.
On the Files tab, in feeds, and anywhere you can sync files in Chatter, content files can now be synced. Whether a file started as a Chatter
file or in a content library, it can be synced in Chatter. Find your content files on the Files tab under Files in my Libraries.

• Files in my Libraries (1) lists all of your libraries.


• The Sync column and icon (2) are now available for all files in libraries.

200
Salesforce Summer ’15 Release Notes Files

Note: Salesforce Files Sync must be enabled for your organization.

Sync Files to Folders


When you sync a file in Chatter, now you can sync it to a folder.
EDITIONS
Keeping your synced files organized has never been easier! Now, when you sync a file from anywhere
in Chatter (feeds, Files tab, file lists on profiles, and file detail page), sync it directly to a folder in Available in all editions
your Salesforce Files directory on your local drive.
1. Sync a file from anywhere in Chatter.
2. Choose a folder to sync it to. By default, the file syncs to the top-level Salesforce Files folder on your desktop. Or, choose one of your
subfolders.

3. Sync! Now you can quickly find your synced files just by going to the folder on your desktop where you synced them.

Distribute a Managed Version of Salesforce Files Sync (Beta)


The Managed Version feature of Salesforce Files Sync that was piloted in the Spring '15 release is now in beta for Summer ‘15. This feature
allows IT Administrators to deploy the Salesforce Files Sync desktop client at scale.

Note: The Managed Version of Salesforce Files Sync is in beta and has known limitations. We welcome your feedback on the Idea
Exchange.
Managed Version can be deployed in an organization by IT Administrators using a Group Policy or Configuration Management Software.
Enabling the Managed Version disables all user-accessible download links and banners for the Files Sync Client in Salesforce, so IT
Administrators become the only ones who can deploy and upgrade Files Sync.

What’s New in the Beta Version?


Pilot customers gave us feedback while using this feature. Now in beta, Managed Version installs the Salesforce Files Sync client in the
users’ Program Files directory instead of in \users.
Access the Managed Version settings in Setup > Administer > Desktop Administration > Salesforce Files Sync Settings.

201
Salesforce Summer ’15 Release Notes Files

Include @Mentions When Sharing Files with Groups


When you share a file with groups in Chatter, now you can @mention people and groups in your message.
When you use Share with Groups to share a file from anywhere in Chatter, you can now include @mentions in your message. This
notifies the @mentioned people and groups that you have shared the file.

Files Connect
Summer ‘15 extends support to Google Drive, lets you access custom fields, and speeds up
EDITIONS
authentication and searching.
Available in:
IN THIS SECTION: • Enterprise
• Performance
Connect to Content in Google Drive • Unlimited
With Files Connect, Salesforce users can access and share content from Google’s popular • Developer
cloud-based system. Fully integrate external content by including it in Salesforce searches.
Focus Search on a Single External Data Source
With Files Connect, users can now directly search external content from sources like Google Drive and SharePoint.

202
Salesforce Summer ’15 Release Notes Files

Streamline Authentication with Files Connect Data Sources


If you choose per-user authentication for an external data source like SharePoint, users need to provide their external credentials in
Salesforce. When they first access the data source, or when their credentials for it expire, Files Connect displays automatic prompts
that make authentication quick and easy.
Reveal External Data Sources to Specific Users
Prior to Summer ‘15, users for whom Files Connect was enabled could access all of your organization’s external data sources. Now
you can customize visibility for each data source.
Access Custom Fields from External Data Sources
Files Connect could previously access only standard fields from external data sources. But in Summer ‘15, you can add any custom
fields and display them in unique search layouts.
Lookup Relationships Supported for Files Connect External Objects
Until now, Files Connect external objects primarily existed to let users search external data sources. But in Summer ‘15, you can link
fields in external objects to standard and custom objects, integrating external data into related lists and other areas throughout
Salesforce.

Connect to Content in Google Drive


With Files Connect, Salesforce users can access and share content from Google’s popular cloud-based
USER PERMISSIONS
system. Fully integrate external content by including it in Salesforce searches.
The following online Help topics outline the setup process. (When Summer ’15 is released, these To enable Files Connect,
will include additional configuration details for Google Drive.) create an external data
source, and include that
1. Enable Files Connect for your organization. data source in search:
2. Let users access Google Drive. • “Customize Application”

3. Create an authentication provider for Google Drive.


4. Define an external data source for Google Drive.
5. To let users access external data in Salesforce searches, create an external object and give users access to its fields. This is an optional
step, but highly recommended to best integrate external data with Salesforce.
6. Ask users to provide their data source credentials. Now they can download and share external files via the Files tab and feed, and
search for them right alongside their Salesforce content.

Focus Search on a Single External Data Source


With Files Connect, users can now directly search external content from sources like Google Drive
USER PERMISSIONS
and SharePoint.
While global searches that combine external and Salesforce content require you to first create an To access cloud-based data
external object, users can immediately search on specific data sources with these quick steps: sources:
• “Files Connect Cloud”
1. In the left column of the Chatter or Files tab, click the data source name.
To access on-premises
2. In the search box that appears for the data source, enter search terms such as document title SharePoint 2010 or 2013:
or author. (The specific information you can search for depends on the configuration of the • “Files Connect
external data source.) On-premises”

203
Salesforce Summer ’15 Release Notes Files

Streamline Authentication with Files Connect Data Sources


If you choose per-user authentication for an external data source like SharePoint, users need to provide their external credentials in
Salesforce. When they first access the data source, or when their credentials for it expire, Files Connect displays automatic prompts that
make authentication quick and easy.
For detailed steps, direct users to Provide Your Credentials for External Data Sources in the Salesforce Help.

Reveal External Data Sources to Specific Users


Prior to Summer ‘15, users for whom Files Connect was enabled could access all of your organization’s
USER PERMISSIONS
external data sources. Now you can customize visibility for each data source.
1. From Setup, click Manage Users > Permission Sets or Manage Users > Profiles. To set permissions:
• “Customize Application”
2. Click a permission set or profile in which you enabled Files Connect.
3. Do one of the following:
• For a permission set, click External Data Source Access in the Apps section.
• For a profile, scroll down to the Enabled External Data Source Access list.

4. Click Edit. Then add the data sources you want users to access and authenticate with, and click Save.

Access Custom Fields from External Data Sources


Files Connect could previously access only standard fields from external data sources. But in Summer
USER PERMISSIONS
‘15, you can add any custom fields and display them in unique search layouts.
To create an external object
and provide access to its
Give Users Access to Custom Fields fields:
1. From Setup, click Manage Users > Permission Sets or Manage Users > Profiles. • “Customize Application”
2. Click a permission set or profile in which you enabled Files Connect.
3. In the Apps section, click Object Settings.
4. Click the name of the external object.
5. Click Edit, and enable Read permissions for all fields you want to reveal in Salesforce.
6. Click Save.

Choose the Layout for Global Search Results


By default, Files Connect external objects use the standard search results layout for Chatter and the Files tab. If you want to display
customized search layouts for these objects, complete the quick steps below.
1. From Setup, click Customize > Salesforce Files > Settings > Files Connect.
2. Select Use External Object Search Layout.

Lookup Relationships Supported for Files Connect External Objects


Until now, Files Connect external objects primarily existed to let users search external data sources. But in Summer ‘15, you can link fields
in external objects to standard and custom objects, integrating external data into related lists and other areas throughout Salesforce.

204
Salesforce Summer ’15 Release Notes Groups

External objects support lookup relationships similar to custom objects. However, because external data doesn’t always contain the
18-character Salesforce IDs required to associate related records, two additional types of relationships are available for external objects:
external lookups and indirect lookups.
For details, see External Object Relationships in the Salesforce Help.

Other Changes in Salesforce Files


Salesforce Files has increased limits, improved content deliveries, and other changes.
EDITIONS
Sync up to 10,000 Files
Now sync up to 10,000 files from your computer to Salesforce! Available in all editions

Share File Message Field Limit Increased to 5,000 Characters


When using Share with People or Share with Groups to share a file with individual users or groups, enter up to 5,000 characters
in the message field, instead of the previous 255 character limit.
Content Deliveries Default Bandwidth Increased to 10 GB Every 24 Hours
We’ve increased the default delivery bandwidth for content deliveries from 1 GB to 10 GB per rolling 24-hour window.
Personal Library Renamed to Private Library
Personal Files and Personal Library have been renamed to Private Files and Private Library. The tab in content libraries that was named
Personal Files is now Private Files. On the Files tab in Chatter, Personal Library is renamed to Private Library.
Improved User Experience for Password-Protected Content Deliveries
Content deliveries that are set to require a password have an improved experience for recipients who are accessing the content.

Groups
Chatter groups provide increased security for unlisted groups, more control over which custom object records are allowed in groups,
the ability to share more information, and a few formatting improvements to group emails.

IN THIS SECTION:
Manage Which Custom Object Records Can Be Added to Groups
Starting with Summer ’15, you can choose which custom object records users can add to groups. Previously, all custom object
records were allowed. This feature gives you more control over the type and number of custom object records that users can add
to groups going forward.
Group Information Field Now Allows 4000 Characters
The character limit for the Information field in groups is 4,000 characters. The previous limit was 1,000 characters.
Unlisted Groups Allow Non-Unique Names
For increased privacy and security, you no longer need to use unique names for unlisted groups. Public and private groups must
continue to use unique names.
Group Email Enhancements
Email notifications from groups have been upgraded to use FreeMarker Template Language with some formatting improvements.
Customize Groups Actions for Salesforce1 Layouts
Overriding the default Salesforce1 actions in the Groups page layout now gives you more flexibility by allowing you to customize
the appearance and location of the Edit Group, Join Group, and Leave Group actions.

205
Salesforce Summer ’15 Release Notes Groups

Manage Which Custom Object Records Can Be Added to Groups


Starting with Summer ’15, you can choose which custom object records users can add to groups. Previously, all custom object records
were allowed. This feature gives you more control over the type and number of custom object records that users can add to groups
going forward.
For each custom object you want to manage, select the Allow in Chatter Groups option on the custom object detail page, under
Optional Features.

Note: Custom object records added to a group prior to Summer ’15 won’t be removed and will continue to appear in the Group
Records list. Be sure to enable this feature for each existing custom object that you want to allow in groups.

Group Information Field Now Allows 4000 Characters


The character limit for the Information field in groups is 4,000 characters. The previous limit was 1,000 characters.
This increase in characters allows you to share more information with group members and nonmembers looking for details on the group
page.

SEE ALSO:
IdeaExchange: Increase the Character Limit on the “Information” Box in Chatter Groups

Unlisted Groups Allow Non-Unique Names


For increased privacy and security, you no longer need to use unique names for unlisted groups. Public and private groups must continue
to use unique names.
Previously, if users tried to create a group with the same name as an unlisted group, they would be asked to use a different and unique
name, and would inadvertently discover the name of an unlisted group they don’t have access to. To prevent this, we no longer require
unique names for unlisted groups. This is important for group names that contain sensitive information, such as Acme Merger.

Group Email Enhancements


Email notifications from groups have been upgraded to use FreeMarker Template Language with some formatting improvements.

Customize Groups Actions for Salesforce1 Layouts


Overriding the default Salesforce1 actions in the Groups page layout now gives you more flexibility by allowing you to customize the
appearance and location of the Edit Group, Join Group, and Leave Group actions.
From the Groups page layout, in the Actions in Salesforce1 Action Bar section, click override the predefined actions. You can then
drag the Edit Group, Join Group, and Leave Group actions to different locations in the action bar or remove them.

206
Salesforce Summer ’15 Release Notes Email Notifications

Email Notifications
Join the unified user digest beta to get an improved, more mobile-friendly email digest.
EDITIONS

IN THIS SECTION: Available in:


• Group
Unified User Digest (Beta) • Professional
Get the redesigned user digest email that’s more mobile friendly, better organized, and better • Enterprise
coordinated with group digests. • Performance
• Unlimited
• Contact Manager
Unified User Digest (Beta) • Developer
Get the redesigned user digest email that’s more mobile friendly, better organized, and better
coordinated with group digests.

Note: This release contains a beta version of unified user digest that is production quality but has known limitations. For information
on enabling this feature for your organization, contact Salesforce.
The unified user digest gives your users:
• A new format that’s easier to read on mobile devices
• Posts organized by priority so the most critical information comes first
• Posts organized under their parent group or object
• Group pictures for easier recognition
• Field values on records to summarize the status of the account, contact, case, or custom object
• Reduced overlap with group digests by excluding posts already included in group digests
Contact your account executive or open a case with Support to enable the unified user digest beta. After it’s enabled, go to Setup and
click Customize > Chatter > Email Settings and select Enable User Digest Beta.
The unified user digest uses an object’s primary compact layout to determine which fields are displayed. In most cases, the System
Default compact layout contains the most useful set of fields, but you can improve the user experience by creating a custom compact
layout and setting it as the primary. We recommend limiting the total number of fields to four or fewer. Users see only fields that they
have access to. Note the following field value limitations:
• Field values are not localized
• Some data types, such as checkboxes, are not rendered optimally
For more information, see Compact Layout Overview in the Salesforce Help.

Tip: Enabling the beta doesn’t change users’ email settings. To take advantage of the beta and to streamline email volume for
your users, we recommend:
• Setting the personal digest frequency to daily
• Changing daily and weekly group digests to never
• Keeping email on each post group digests the same

SEE ALSO:
IdeaExchange: One Digest for All Community Groups

207
Salesforce Summer ’15 Release Notes Other Changes in Chatter

Other Changes in Chatter


Smaller changes that improve your experience with Chatter.
More Preview Links Added
Salesforce provides rich media support for various URLs to make your users’ experience even better. Previews are powered by
Embed.ly, a third-party service, and include thumbnails, descriptions, and video players for links to videos. In this release, we’ve added
support for
• app.devhv.com
• app.stghv.com
• edition.cnn.com
• flickr.com
• hirevue.com, app.hirevue.com
• money.cnn.com
• on.aol.com
• streamlike.com
Improved Profile Photo Upload Time
Uploading your profile photo just got faster! Profile photo upload is now a synchronous process, decreasing the amount of time you
have to wait for your photo to upload and appear.

Marketing
Salesforce Marketing Cloud is a unified social marketing suite that allows companies to listen to and engage customers, publish content,
optimize social advertising, measure campaigns, and integrate social insights with customer data.
Marketing Cloud is the premier platform for delighting customers with 1:1 customer journeys. It enables you to build a single view of
your customer-leveraging data from any source, and plan and optimize unique customer journeys based on your business objectives.
Deliver personalized content across every channel and device at precisely the right time, and measure the impact of each interaction
on your business so you can optimize your approach in real time and deliver better results.
See the separate Marketing Cloud Release Notes for deetailed feature news.

SEE ALSO:
Video: What's New in the Marketing Cloud in Summer ’15
Marketing Cloud April Release Notes
Salesforce Marketing Cloud Facebook Page

Salesforce1 Reporting: Save, Clone, and Delete Reports from the


Reporting API
Reporting REST API enhancements enable you to delete dashboards, save, clone, and delete reports, as well as give you access to new
report properties. Apex enhancements enable you to get and set more report properties. These enhancements don’t apply to dashboards
or reports in the Salesforce1 mobile app.

208
Salesforce Summer ’15 Release Notes Deployment: Better Sandbox Performance, Testing, Migration

Also, to learn how to stay on top of your business with report notifications, check out the new Report Notifications video.

SEE ALSO:
Salesforce1 Reporting REST API
New and Changed Apex Classes
How and When Salesforce1 Reporting Features Become Available
IdeaExchange: Salesforce1 Reporting Ideas Delivered in Summer ’15

Deployment: Better Sandbox Performance, Testing, Migration


You now have new ways to deploy changes to your organization.

IN THIS SECTION:
Improved Sandbox Copy Engine for Full Sandboxes (Generally Available)
We’ve rebuilt our sandbox copy engine to optimize performance, scalability, and customer success. The new engine impacts Full
sandboxes as they are created and existing Full sandboxes as they are refreshed.
Match Production Licenses to Sandbox without a Refresh
You can match provisioned licenses in production to your sandbox organization without having to refresh your sandbox, saving you
time.
Change Sets
The Flow Definition component replaces the Flow component, which is no longer listed.
General Deployment Enhancements
Deployment enhancements shorten your deployment times to production and give you more control over test execution in sandbox
deployments. Also, the Force.com Migration Tool has expanded support for deploying recent validations and canceling deployments.
These deployment enhancements don’t apply to change sets.

Improved Sandbox Copy Engine for Full Sandboxes (Generally Available)


We’ve rebuilt our sandbox copy engine to optimize performance, scalability, and customer success.
EDITIONS
The new engine impacts Full sandboxes as they are created and existing Full sandboxes as they
are refreshed. Available in:
Several enhancements to the copy engine make sandbox creation and refresh faster and minimize • Enterprise
sandbox inconsistencies. These improvements are available on a rolling basis during the Summer • Performance
’15 release. • Unlimited
• Database.com
Intelligent Routing
The copy engine selects the best instance for your sandbox based on available storage space,
CPU consumption, and import activity on each sandbox instance.
New Data Copy Framework
The copy engine divides your organization’s data into small chunks for exporting and copying to the sandbox. Copying is faster,
because chunks are processed in parallel. Importing begins as soon as the first data chunk is exported. Export and import are
independent, so the system is robust and flexible.

209
Salesforce Summer ’15 Release Notes Match Production Licenses to Sandbox without a Refresh

New Post-Copy Framework


If a production organization changes during sandbox creation or refresh, the sandbox can contain data inconsistencies. The new
automated post-copy process quickly fixes these inconsistencies after copying is complete and tracks the fixes.
Progress Tracking
You can monitor the progress of your sandbox creation or refresh. From Setup, click Sandboxes or Data Management > Sandboxes
to view a list of your sandboxes. The list displays a progress bar for sandboxes in the queue, in process, or recently completed. Hover
over the progress bar to view the percentage completed of a copy in progress. Click a name to go to a detail page showing information
about the sandbox, including how much time before the next available refresh. If your sandbox is suspended or stopped for more
than 1 hour, contact Salesforce Customer Support.

SEE ALSO:
IdeaExchange: Sandbox Refresh Progress

Match Production Licenses to Sandbox without a Refresh


You can match provisioned licenses in production to your sandbox organization without having
EDITIONS
to refresh your sandbox, saving you time.
Matching updates sandbox license counts to match the counts in production, adds licenses that Available in:
are in production but not in sandbox, and deletes licenses that aren’t in production. • Enterprise
• Performance
To match licenses to a sandbox organization, log in to your sandbox. From Setup, click Company • Unlimited
Profile > Company Information > Match Production Licenses. You get an alert when the
matching process has started. After all licenses have been matched in sandbox, you receive a
confirmation email. The confirmation email is sent to the user who initiates the license copy.
Matching production licenses requires that your sandbox and production organizations are on the same Salesforce release. If your
sandbox has been upgraded to the next release—for example, during sandbox preview—but your production organization hasn't, you
can't match production licenses.
The Match Production Licenses tool isn’t available in trial organizations. To use the tool, you must have the “Modify All Data” permission.

SEE ALSO:
IdeaExchange: Activate the Feature License without Refreshing Sandbox

Change Sets
The Flow Definition component replaces the Flow component, which is no longer listed.
EDITIONS

Available in Enterprise,
Performance, Unlimited,
and Database.com Editions
Available in Professional
Edition with a sandbox
purchase.

210
Salesforce Summer ’15 Release Notes General Deployment Enhancements

General Deployment Enhancements


Deployment enhancements shorten your deployment times to production and give you more
EDITIONS
control over test execution in sandbox deployments. Also, the Force.com Migration Tool has
expanded support for deploying recent validations and canceling deployments. These deployment Available in:
enhancements don’t apply to change sets. • Enterprise
See related Metadata API changes in Metadata Types and Fields. • Performance
• Unlimited
• Developer
IN THIS SECTION:
Choose Which Tests to Run in a Deployment
Test levels enable you to have more control over which tests are run in a deployment. To shorten deployment time to production,
run a subset of tests when deploying Apex components. The default test execution behavior in production has also changed. By
default, if no test level is specified, no tests are executed, unless your deployment package contains Apex classes or triggers.
Run Local Tests in a Sandbox Deployment
You can now choose which tests to run in sandbox deployments to match the test run behavior in production. Previously, if you
enabled tests in your sandbox deployment, you couldn’t exclude managed package tests.
Force.com Migration Tool Enhancements
The Force.com Migration Tool has been enhanced to support deploying recent validations, canceling a deployment, and authenticating
with a session ID.

Choose Which Tests to Run in a Deployment


Test levels enable you to have more control over which tests are run in a deployment. To shorten deployment time to production, run
a subset of tests when deploying Apex components. The default test execution behavior in production has also changed. By default, if
no test level is specified, no tests are executed, unless your deployment package contains Apex classes or triggers.
As part of this change, the runAllTests deployment option is now replaced with testLevel. You can choose which tests to
run in a deployment by setting the desired test level. For a description of all test levels, see test levels for the deploy() call. In particular,
to run a subset of tests in a deployment, set testLevel to the RunSpecifiedTests value and specify the tests to run in the
runTests option.
When running a subset of tests, code coverage is computed for each class and trigger individually and is different than the overall
coverage percentage. If your deployment package contains Apex classes and triggers, the executed tests must cover each class and
trigger for a minimum of 75% code coverage.
If the code coverage of an Apex component in the deployment is less than 75%, the deployment fails. If one of the specified tests fails,
the deployment also fails. We recommend that you test your deployment in sandbox first to ensure that the specified tests cover each
component sufficiently. Even if your organization’s overall code coverage is 75% or more, the individual coverage of the Apex components
being deployed can be less. If the code coverage requirement isn’t met, write more tests and include them in the deployment.
This change is in the Metadata API and is exposed in tools that are based on Metadata API, such as the Force.com Migration Tool.

Specify Tests in the Force.com Migration Tool


To run a subset of tests in the Force.com Migration Tool, add the testLevel="RunSpecifiedTests" parameter to the deploy
target. Specify each test class to run for a deploy target in a <runTest> </runTest> child element within the sf:deploy
element. Add the test class name within the <runTest> </runTest> tags. Add as many runTest tags as you need, one for
each test class.

211
Salesforce Summer ’15 Release Notes General Deployment Enhancements

This deploy target example shows three test classes. Salesforce runs these test classes when deploying this package.
<target name="deployCode">
<sf:deploy username="${sf.username}" password="${sf.password}"
sessionId="${sf.sessionId}" serverurl="${sf.serverurl}"
deployroot="codepkg" testLevel="RunSpecifiedTests">
<runTest>TestClass1</runTest>
<runTest>TestClass2</runTest>
<runTest>TestClass3</runTest>
</sf:deploy>
</target>

Specify Tests in Metadata API


To run a subset of tests by using the Metadata API, set the RunSpecifiedTests test level on the DeployOptions object.
Next, specify each test class to run in DeployOptions. Finally, pass DeployOptions as an argument to the deploy() call.
The following example performs those steps to run only the specified test classes.
// Create the DeployOptions object.
DeployOptions deployOptions = new DeployOptions();

// Set the appropriate test level.


deployOptions.setTestLevel(TestLevel.RunSpecifiedTests);

// Specify the test classes to run.


// String array contains test class names.
String[] tests = {"TestClass1", "TestClass2", "TestClass3"};
// Add the test class names array to the deployment options.
deployOptions.setRunTests(tests);

// Call deploy() by passing the deployment options object as an argument.


AsyncResult asyncResult = metadatabinding.deploy(zipBytes,deployOptions);

Considerations for Running Specific Tests


• You can only specify test classes. You can’t specify individual test methods.
• We recommend that you refactor test classes to include the minimum number of tests that meet code coverage requirements.
Refactoring your test classes can contribute to shorter test execution times, and as a result, shorter deployment times.
• You can deactivate a trigger in the target organization by deploying it with an inactive state. However, the trigger must have been
previously deployed with an active state.

Default Test Execution in Production


When no test level is specified in the deployment options, the default test execution behavior depends on the contents of your deployment
package. When deploying to production, all tests, except those that originate from managed packages, are executed if your deployment
package contains Apex classes or triggers. If your package doesn’t contain Apex components, no tests are run by default.
In API version 33.0 and earlier, tests were run for components that required tests, such as custom objects, and not only for Apex
components. For example, if your package contains a custom object, all tests are run in API version 33.0 and earlier. In contrast, starting
with API version 34.0, no tests are run for this package. The API version corresponds to the version of your API client or the version of the
tool you’re using (Force.com Migration Tool).

212
Salesforce Summer ’15 Release Notes General Deployment Enhancements

You can run tests for a deployment of non-Apex components. You can override the default test execution behavior by setting the test
level in your deployment options. Test levels are enforced regardless of the types of components present in your deployment package.
We recommend that you run all local tests in your development environment, such as sandbox, prior to deploying to production. Running
tests in your development environment reduces the amount of tests needed to run in a production deployment.

Run Local Tests in a Sandbox Deployment


You can now choose which tests to run in sandbox deployments to match the test run behavior in production. Previously, if you enabled
tests in your sandbox deployment, you couldn’t exclude managed package tests.
As part of this change, the runAllTests deployment option has been replaced with testLevel. For a description of all test
levels that you can use in your development environment, see test levels for the deploy() call. For example, to run local tests in a
deployment and to exclude managed package tests, set testLevel to the RunLocalTests value.

Note: The RunLocalTests test level is enforced regardless of the contents of the deployment package. In contrast, tests are
executed by default in production only if your deployment package contains Apex classes or triggers. You can use
RunLocalTests for sandbox and production deployments.
If you’re using the Force.com Migration Tool, add the testLevel="RunLocalTests" parameter to the deploy target, as shown
in this example.
<target name="deployCode">
<sf:deploy username="${sf.username}" password="${sf.password}"
sessionId="${sf.sessionId}" serverurl="${sf.serverurl}"
deployroot="codepkg" testLevel="RunLocalTests">
</sf:deploy>
</target>

If you’re using Metadata API, set the test level on the DeployOptions object to TestLevel.RunLocalTests and then pass
this object as an argument to the deploy() call as follows.
// Create the DeployOptions object.
DeployOptions deployOptions = new DeployOptions();

// Set the appropriate test level.


deployOptions.setTestLevel(TestLevel.RunLocalTests);

// Call deploy() by passing the deployment options object as an argument.


AsyncResult asyncResult = metadatabinding.deploy(zipBytes,deployOptions);

Force.com Migration Tool Enhancements


The Force.com Migration Tool has been enhanced to support deploying recent validations, canceling a deployment, and authenticating
with a session ID.
Deploy a Recent Validation
To deploy a recent validation, add the <sf:deployRecentValidation> task to your target and specify the validation ID
in the recentValidationId parameter. The validation must have run successfully within the last four days. For more information,
see Quick Deployments in the Salesforce Help.
<target name="quickDeploy">
<sf:deployRecentValidation username="${sf.username}" password="${sf.password}"
sessionId="${sf.sessionId}" serverurl="${sf.serverurl}"
maxPoll="${sf.maxPoll}"

213
Salesforce Summer ’15 Release Notes Customization: Adapt Salesforce with Clicks and Code

recentValidationId="${sf.recentValidationId}"/>
</target>

Support for <sf:deployRecentValidation> starts with version 34.0 of the Force.com Migration Tool.
Cancel a Deployment
You can now cancel a deployment that’s in progress or queued with the Force.com Migration Tool. To do so, add the
<sf:cancelDeploy> task to your target. Specify the ID of the deployment in the requestId parameter.

<target name="cancelDeploy">
<sf:cancelDeploy username="${sf.username}" password="${sf.password}"
sessionId="${sf.sessionId}" serverurl="${sf.serverurl}"
maxPoll="${sf.maxPoll}
requestId="${sf.deployRequestId}"/>
</target>

Support for sf:cancelDeploy starts with version 34.0 of the Force.com Migration Tool.
Use a Session ID for Authentication
When you run the Force.com Migration Tool to perform a migration, you can authenticate with a session ID instead of a username
and password. Using session ID authentication provides more flexibility. The Force.com Migration Tool build.properties
file has been updated to include the sf.sessionId property. Similarly, the sample targets in the build.xml file have been
updated to include the sessionId parameter.
To use the session ID for authentication, uncomment this property in build.properties and add a value for the session ID.
In addition, comment out the sf.username and sf.password property pair. Both properties can’t be present at the same
time. The following is the session ID property in build.properties.
sf.sessionId = <Insert your Salesforce session ID here.>

This sample target contains the <sf:deploy> task with the sessionId parameter.
<target name="deployZip">
<sf:deploy username="${sf.username}" password="${sf.password}"
sessionId="${sf.sessionId}"
serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}"
zipFile="${sf.zipFile}" pollWaitMillis="1000"
rollbackOnError="true"/>
</target>

Support for session ID authentication is available in all new versions of the Force.com Migration Tool and in older versions since
version 17.0.

Customization: Adapt Salesforce with Clicks and Code


Customization features enable you to expand your organization by enhancing your objects, data, and fields, customizing your organization’s
look and feel, augmenting your business processes, creating websites, and creating apps—all by using point-and-click tools and maybe
some code. Customization features also include tools to administer and secure your organization.

IN THIS SECTION:
General Administration
Administration helps you manage your organization to suit your business needs.

214
Salesforce Summer ’15 Release Notes General Administration

Keep All Your Customer Data with BigObjects (Pilot)


BigObjects is a new capability to let you store and manage data at scale on the Salesforce platform. This feature helps you engage
directly with customers by preserving all your historical customer event data.
Manage Customer Data with Data Pipelines (Pilot)
We’re continuing the pilot availability of Data Pipelines, a new capability to leverage all your customer data for intelligence and
actionable information. We've now added error logging to help you when your jobs don't execute. Error messages are available via
the Tooling API and also appear with the Job Run information in the Developer Console.
Lightning Connect
We’ve expanded your options for seamlessly interacting with data that’s stored outside your Salesforce organization. Now you can
provide your users with a complete view of the business—on demand, in real time, and without copying data into your organization.
Process Builder: More Ways to Use Your Data
We expanded your options for automating business processes with improved support for formulas, new formula functions, and
more options for updating fields. You can now use multi-select picklists in more places and delete a process without the 12-hour
wait. We also updated the user interface to make it easier to manage versions, find and reference fields, and create Chatter messages.
Visual Workflow: New Variables and Formulas, Easier to Delete
We removed the 12-hour wait before you can delete a deactivated flow, and you can now validate picklist and multi-select picklist
values. In addition, we’ve added details to the flow fault email to help you troubleshoot what happened in your flow.
Globalization
Globalization tools help administrators manage resources that vary from country to country, such as currencies, languages, and
translated content.
Monitoring
Updates to Event Monitoring and Login Forensics improve your ability to track user activity in your organization. We’ve also introduced
two new pilot programs: Apex Limit Events and Data Leakage Detection.
Cross-Organization Data Sharing
Cross-organization data sharing is superseded by the Salesforce adapter for Lightning Connect.

SEE ALSO:
How and When Customization Features Become Available
IdeaExchange: Customization Ideas Delivered in Summer ’15

General Administration
Administration helps you manage your organization to suit your business needs.

IN THIS SECTION:
Login Access Policy Changed
Administrators with “Modify All Data” permission and delegated administrators with “View Setup and Configuration” permission can
log in as any user without asking end users to grant access. The Administrators Can Log in as Any User setting on the Setup >
Security Controls > Login Access Policies page is available by default. Previously, this option was only available when organizations
explicitly requested it from Salesforce.

215
Salesforce Summer ’15 Release Notes General Administration

Number of Custom Profiles Allowed


To ensure better performance, your organization can have up to 1,500 custom profiles per user license type. If your organization has
too many custom profiles, consider using permission sets to grant additional permissions and access settings to the users who need
them.
Use a Permission Set to Grant Additional Permissions for Contact Manager, Group, and Professional Editions
Contact Manager, Group, and Professional Edition organizations can now create one permission set per organization. Use the
permission set to grant additional permissions to select users.
Create Lookup Filters for Distance
You can now create lookup filters with distance criteria for location and address data types with the Metadata API. To improve user
productivity and data quality, use lookup filters to restrict the valid values and lookup dialog results for lookup, master-detail, and
hierarchical relationship fields.
End of Support for JavaScript, iFrames, CSS, and Other Advanced Markup in HTML Area Home Page Components
We are now enforcing the ban on unsupported code in HTML Area home page components. JavaScript, CSS, iframes, and other
unsupported markup is now removed when you edit and save an HTML Area home page component. A cleaned version is saved,
and all unsupported content is lost.

Login Access Policy Changed


Administrators with “Modify All Data” permission and delegated administrators with “View Setup
EDITIONS
and Configuration” permission can log in as any user without asking end users to grant access. The
Administrators Can Log in as Any User setting on the Setup > Security Controls > Login Available in:
Access Policies page is available by default. Previously, this option was only available when • Enterprise
organizations explicitly requested it from Salesforce. • Performance
If you don’t want the Administrators Can Log in as Any User setting to be available for your • Unlimited
organization, contact Salesforce to remove it. • Developer

If Salesforce removes the Administrators Can Log in as Any User feature from your organization,
a user must grant login access before an administrator can log in to that user’s account for troubleshooting. For the steps a user takes
to grant access, see “Grant Login Access” in the Salesforce Help.

SEE ALSO:
IdeaExchange: Login As Any Role, Any Profile

Number of Custom Profiles Allowed


To ensure better performance, your organization can have up to 1,500 custom profiles per user
EDITIONS
license type. If your organization has too many custom profiles, consider using permission sets to
grant additional permissions and access settings to the users who need them. Available in:
Because each profile is associated with a user license type, this limit applies to each user license • Enterprise
type. • Performance
• Unlimited
Example: Let’s say your organization has 200 users with the Salesforce user license and 50 • Developer
users with the Force.com App Subscription user license. In this case, you can have up to 1,500
custom profiles with the Salesforce user license and 1,500 custom profiles with the Force.com
App Subscription user license.

216
Salesforce Summer ’15 Release Notes General Administration

Use a Permission Set to Grant Additional Permissions for Contact Manager, Group,
and Professional Editions
Contact Manager, Group, and Professional Edition organizations can now create one permission
EDITIONS
set per organization. Use the permission set to grant additional permissions to select users.
For example, the “Two-Factor Authentication for User Interface Logins” permission isn’t enabled in Available in:
standard profiles. To grant this permission to certain users, enable it in a permission set and assign • Contact Manager
it to those users. • Group
• Professional
In Group, Professional, Enterprise, Performance, Unlimited, Developer, and Database.com editions,
organizations can have more permission sets if they’re added as part of an installed managed
package that’s publicly listed on AppExchange. In this case, organizations can have up to 1,500 permission sets.

Create Lookup Filters for Distance


You can now create lookup filters with distance criteria for location and address data types with
EDITIONS
the Metadata API. To improve user productivity and data quality, use lookup filters to restrict the
valid values and lookup dialog results for lookup, master-detail, and hierarchical relationship fields. Available in:
You can filter based on distances that are within or not within given ranges. • Enterprise
• Performance
You can’t create distance-based lookup filters in the Salesforce user interface. Instead, use the • Unlimited
Metadata API’s lookupFilter field on the CustomField metadata type. For information on • Developer
lookupFilter fields and their subfields, see “CustomField” in the Metadata API Developer's
Guide.
For information about the benefits of lookup filters, see “About Lookup Filters” in the Salesforce Help.

End of Support for JavaScript, iFrames, CSS, and Other Advanced Markup in HTML
Area Home Page Components
We are now enforcing the ban on unsupported code in HTML Area home page components.
EDITIONS
JavaScript, CSS, iframes, and other unsupported markup is now removed when you edit and save
an HTML Area home page component. A cleaned version is saved, and all unsupported content is Available in all editions
lost.
In Summer ’14, we replaced the rich text editor in HTML Area home page components and notified
you that we would start removing unsupported code in Summer ’15. (See “Home Page Components” in the Summer ’14 release notes.)
At runtime, HTML Area home page components that contain unsupported markup are dynamically stripped upon rendering.
To use JavaScript or other advanced HTML elements in a home page component, we recommend that you use a Visualforce Area
component instead.

217
Salesforce Summer ’15 Release Notes Keep All Your Customer Data with BigObjects (Pilot)

Keep All Your Customer Data with BigObjects (Pilot)


BigObjects is a new capability to let you store and manage data at scale on the Salesforce platform.
EDITIONS
This feature helps you engage directly with customers by preserving all your historical customer
event data. Available in:
It’s easy to integrate BigObjects with your live Salesforce data. You can process BigObjects with • Enterprise
SOQL, Bulk, REST and SOAP APIs, and Data Pipelines, a powerful tool for batch-processing massive • Performance
volumes of data. • Unlimited
• Developer
Note: We provide this feature to selected customers through a pilot program that requires
agreement to specific terms and conditions. To be nominated to participate in the program,
contact Salesforce. Because pilot programs are subject to change, we can’t guarantee
acceptance. This pilot feature isn’t generally available, as referenced in this document or in
press releases or public statements. We can’t guarantee general availability within any particular
time frame or at all. Make your purchase decisions only on the basis of generally available
features.
The BigObjects feature initially targets the following use cases.
• Customer 360—Store point-of-sale data, orders and line items, guest relationship data, and guest interactions in Big Objects and
then process and correlate that data with your core CRM data.
• Data archive—Orchestrate records from production storage to an archival data store, such as for FINRA compliance, without moving
the data out of Salesforce’s trusted platforms.
• Data lake—Store massive data in its native format until you need it.
• Email event ingest—Preserve email for customer interaction history, segmentation, and sentiment analysis.
In the initial pilot, you can use the Metadata API to define BigObjects, which can include lookups to standard or custom sObjects. Once
they’re defined, you can populate BigObjects via the Bulk API or the SOAP API. After you create them, BigObjects are read-only.
To learn more about the pilot, see the BigObject Implementation Guide.
For more information about joining the pilot, contact your account team or Salesforce Customer Support.

Manage Customer Data with Data Pipelines (Pilot)


We’re continuing the pilot availability of Data Pipelines, a new capability to leverage all your customer
EDITIONS
data for intelligence and actionable information. We've now added error logging to help you when
your jobs don't execute. Error messages are available via the Tooling API and also appear with the Available in:
Job Run information in the Developer Console. • Enterprise
Data Pipelines helps you engage with customers and build data-driven applications. With Data • Performance
Pipelines, you can use the power of custom Apache Pig scripts on Hadoop to process large-scale • Unlimited
data that’s stored in Salesforce. • Developer

Note: We provide this feature to selected customers through a pilot program that requires
agreement to specific terms and conditions. To be nominated to participate in the program,
contact Salesforce. Because pilot programs are subject to change, we can’t guarantee
acceptance. This pilot feature isn’t generally available, as referenced in this document or in
press releases or public statements. We can’t guarantee general availability within any particular
time frame or at all. Make your purchase decisions only on the basis of generally available
features.
To learn more about the pilot, see the Data Pipelines Implementation Guide.

218
Salesforce Summer ’15 Release Notes Lightning Connect

For more information about joining the pilot, contact your account team or Salesforce Customer Support.

Lightning Connect
We’ve expanded your options for seamlessly interacting with data that’s stored outside your
EDITIONS
Salesforce organization. Now you can provide your users with a complete view of the business—on
demand, in real time, and without copying data into your organization. Available in: Developer
Edition
IN THIS SECTION: Available for an extra cost
Access Data Across Multiple Organizations with the Lightning Connect Salesforce Connector in: Enterprise, Performance,
and Unlimited Editions
Collaborate more effectively and improve processes by sharing data across your Salesforce
organizations. Provide users with a seamless view of data in your other organizations so that
they have a complete view of the business. Setting up the Salesforce adapter for Lightning
Connect is quick and easy with point-and-click tools.
Access Any Data Anywhere with the Lightning Connector Apex Framework
Use the Apex Connector Framework to develop your own custom adapter when the other available Lightning Connect adapters
aren’t suitable for your needs. The custom adapter can retrieve data from external systems and synthesize data locally. Lightning
Connect then represents that data in Salesforce external objects, which your users and the Force.com platform interact with.
Access Government and Health Data with the OData 2.0 Adapter for Lightning Connect
Lightning Connect can now access data from endpoints that are backed by Socrata Open Data Portal™. Socrata Open Data Portal is
commonly used for sharing health data and for collaboration between governments and their citizens.
Increased Limits for the OData 2.0 Adapter for Lightning Connect
We doubled a few of our limits to let you integrate with even more external systems.
Enable Server-Driven Paging for an External Data Source
It's common for Lightning Connect queries of external data to have a large result set that's broken into smaller batches or pages.
Enable server-driven paging to let the external system control the page sizes and batch boundaries. You can optimize the external
system’s paging settings to provide data to your organization more efficiently than client-driven paging.
Control Whether to Request Total Row Counts in OData Queries
Some external systems don’t support the $inlinecount=allpages system query option. When you try to access their data
via the OData 2.0 adapter for Lightning Connect, you receive errors or notice long load times. If needed, you can now exclude that
system query option from OData queries for a specified external data source.
Customize Search Layouts with the Name Field for External Objects
Previously, you couldn't change whether or where a search layout included the name field for an external object. Now you can
customize your search layouts to display an external object’s name field in a specified position.
View Names of Parent Records in Lookup Relationship Fields on External Objects
Previously, a lookup relationship field on an external object record displayed the record ID of the parent record. Now the lookup
relationship field displays the parent record name, which is more relevant to your users.
Removed Select All Checkbox for Syncing an External Data Source
Many administrators accidentally reached the organization limit of 100 external objects because they selected all the tables that
were available for syncing from the external system. Now, when you click Validate and Sync on an external data source, select
each table that you want to sync. The checkbox for selecting all tables is no longer available.

219
Salesforce Summer ’15 Release Notes Lightning Connect

Access Data Across Multiple Organizations with the Lightning Connect Salesforce
Connector
Collaborate more effectively and improve processes by sharing data across your Salesforce organizations. Provide users with a seamless
view of data in your other organizations so that they have a complete view of the business. Setting up the Salesforce adapter for Lightning
Connect is quick and easy with point-and-click tools.
The Salesforce adapter for Lightning Connect uses the Force.com REST API to access the data in other organizations. Your users and the
Force.com platform interact with the other organizations’ data via external objects. See the Salesforce Help for details about the Salesforce
adapter for Lightning Connect.

Example: Suppose you store your inventory of products in one Salesforce organization. Perhaps you want your regional and
local branch offices, who have their own organizations, to see the latest information about your stock. With the Salesforce adapter
for Lightning Connect, those other organizations can easily access your data while respecting access restrictions that you control.

Access Any Data Anywhere with the Lightning Connector Apex Framework
Use the Apex Connector Framework to develop your own custom adapter when the other available Lightning Connect adapters aren’t
suitable for your needs. The custom adapter can retrieve data from external systems and synthesize data locally. Lightning Connect then
represents that data in Salesforce external objects, which your users and the Force.com platform interact with.
The data that you expose as external objects from Apex can come from anywhere. For example:
• Retrieve data via Apex callouts, Web service callouts, SOQL, and SOSL
• Manipulate or generate data programmatically
To create a custom adapter for Lightning Connect, create two Apex classes.
1. Create a DataSource.Connection class that accesses the external system with these methods.
• sync obtains the metadata schema of the external system so that the administrator can select which external tables to convert
into Salesforce external objects.
• query obtains data from the external system when a user views an external object in Salesforce or when a SOQL query is
executed on an external object.
• search obtains data from the external system when a user performs a Salesforce global search or when a SOSL query is
executed on an external object.

2. Create a DataSource.Provider class that declares:


• The types of authentication that can be used to access the external system, such as OAuth or basic password authentication
• The functional capabilities that the external system supports, such as SOQL queries, search and SOSL queries, total row counts,
or server-driven paging
• Whether the external data source requires an endpoint URL
• Whether the endpoint URL must start with https://
• The associated DataSource.Connection class

Once your Apex classes compile correctly, define the external data source. For the Type field, select the DataSource.Provider
class name. Then sync to create the external objects and enable user access.

Note: See the following documents for details about Lightning Connect custom adapters and the Apex Connector Framework.
Some of this documentation is available only in English until Winter ’16.
• “Access External Data with a Custom Adapter for Lightning Connect” in the Salesforce Help
• “Get Started with the Apex Connector Framework” in the Force.com Apex Code Developer’s Guide

220
Salesforce Summer ’15 Release Notes Lightning Connect

• “DataSource Namespace” in the Force.com Apex Code Developer’s Guide

Example: These sample classes illustrate how to use a callout and OAuth to access an external system. In a real-world
implementation, you’d request offline access when setting up OAuth so that Salesforce can obtain and maintain a refresh token
for your connections.
Sample DataSource.Connection Class
/**
* Extends the DataSource.Connection class to enable
* Salesforce to sync the external system’s metadata schema
* and to handle queries and searches of the external data.
**/
global class DriveDataSourceConnection extends
DataSource.Connection {
private DataSource.ConnectionParams connectionInfo;

/**
* Constructor for DriveDataSourceConnection.
**/
global DriveDataSourceConnection(
DataSource.ConnectionParams connectionInfo) {
this.connectionInfo = connectionInfo;
}

/**
* Called when the administrator clicks “Validate and Sync”
* in the user interface for the external data source.
**/
override global List<DataSource.Table> sync() {
List<DataSource.Table> tables =
new List<DataSource.Table>();
List<DataSource.Column> columns;
columns = new List<DataSource.Column>();
columns.add(DataSource.Column.text('title', 255));
columns.add(DataSource.Column.text('description',255));
columns.add(DataSource.Column.text('createdDate',255));
columns.add(DataSource.Column.text('modifiedDate',255));
columns.add(DataSource.Column.url('selfLink'));
columns.add(DataSource.Column.url('DisplayUrl'));
columns.add(DataSource.Column.text('ExternalId',255));
tables.add(DataSource.Table.get('googleDrive','title',
columns));
return tables;
}

/**
* Called to query and get results from the external
* system for SOQL queries, list views, and detail pages
* for an external object that’s associated with the
* external data source.
*
* The queryContext argument represents the query to run
* against a table in the external system.
*

221
Salesforce Summer ’15 Release Notes Lightning Connect

* Returns a list of rows as the query results.


**/
override global DataSource.TableResult query(
DataSource.QueryContext c){
DataSource.Filter filter = c.tableSelection.filter;
String url;
if (filter != null) {
String cName = filter.columnName;
if (cName != null && cName.equals('ExternalId'))
url = 'https://www.googleapis.com/drive/v2/'
+ 'files/' + filter.columnValue;
else
url = 'https://www.googleapis.com/drive/v2/'
+ 'files';
} else {
url = 'https://www.googleapis.com/drive/v2/'
+ 'files';
}

/**
* Filters, sorts, and applies limit and offset clauses.
**/
List<Map<String, Object>> rows =
DataSource.QueryUtils.process(c, getData(url));
return DataSource.TableResult.get(true, null,
c.tableSelection.tableSelected, rows);
}

/**
* Called to do a full text search and get results from
* the external system for SOSL queries and Salesforce
* global searches.
*
* The searchContext argument represents the query to run
* against a table in the external system.
*
* Returns results for each table that the searchContext
* requested to be searched.
**/
override global List<DataSource.TableResult> search(
DataSource.SearchContext c){
List<DataSource.TableResult> results =
new List<DataSource.TableResult>();

for (Integer i =0; i< c.tableSelections.size();i++){


String entity = c.tableSelections[i].tableSelected;
String url = 'https://www.googleapis.com/drive/v2/files'+
'?q=fullText+contains+\''+c.searchPhrase+'\'';
results.add(DataSource.TableResult.get(
true, null, entity, getData(url)));
}

return results;
}

222
Salesforce Summer ’15 Release Notes Lightning Connect

/**
* Helper method to parse the data.
* The url argument is the URL of the external system.
* Returns a list of rows from the external system.
**/

public List<Map<String, Object>> getData(String url){


HttpResponse response = getResponse(url);

List<Map<String, Object>> rows =


new List<Map<String, Object>>();

Map<String, Object> m = (
Map<String, Object>)JSON.deserializeUntyped(
response.getBody());

/**
* Checks errors.
**/
Map<String, Object> error =
(Map<String, Object>)m.get('error');
if (error!=null){
List<Object> errorsList =
(List<Object>)error.get('errors');
Map<String, Object> errors =
(Map<String, Object>)errorsList[0];
String ms = (String)errors.get('message');
throw new DataSource.OAuthTokenExpiredException(ms);
}

List<Object> fileItems=(List<Object>)m.get('items');
if (fileItems != null){
for (Integer i=0; i< fileItems.size(); i++){
Map<String, Object> item =
(Map<String, Object>)fileItems[i];
rows.add(createRow(item));
}
} else {
rows.add(createRow(m));
}

return rows;
}

/**
* Helper method to populate the External ID and Display
* URL fields on external object records based on the ‘id’
* value that’s sent by the external system.
*
* The item argument maps to the data that
* represents a row.
*
* Returns an updated map with the External ID and

223
Salesforce Summer ’15 Release Notes Lightning Connect

* Display URL values.


**/
public Map<String, Object> createRow(
Map<String, Object> item){
Map<String, Object> row = new Map<String, Object>();
for ( String key : item.keySet() ){
if (key == 'id') {
row.put('ExternalId', item.get(key));
} else if (key=='selfLink'){
row.put(key, item.get(key));
row.put('DisplayUrl', item.get(key));
} else {
row.put(key, item.get(key));
}
}
return row;
}

/**
* Helper method to make the HTTP GET call.
* The url argument is the URL of the external system.
* Returns the response from the external system.
**/
public HttpResponse getResponse(String url) {
Http httpProtocol = new Http();
HttpRequest request = new HttpRequest();
request.setEndPoint(url);
request.setMethod('GET');
request.setHeader('Authorization', 'Bearer '+
this.connectionInfo.oauthToken);
HttpResponse response = httpProtocol.send(request);
return response;
}
}

Sample DataSource.Provider Class


/**
* Extends the DataSource.Provider base class to create a
* custom adapter for Lightning Connect. The class informs
* Salesforce of the functional and authentication
* capabilities that are supported by or required to connect
* to an external system.
**/
global class DriveDataSourceProvider
extends DataSource.Provider {

/**
* Declares the types of authentication that can be used
* to access the external system
**/
override global List<DataSource.AuthenticationCapability>
getAuthenticationCapabilities() {
List<DataSource.AuthenticationCapability> capabilities =
new List<DataSource.AuthenticationCapability>();

224
Salesforce Summer ’15 Release Notes Lightning Connect

capabilities.add(DataSource.AuthenticationCapability.OAUTH);
capabilities.add(
DataSource.AuthenticationCapability.ANONYMOUS);
return capabilities;
}

/**
* Declares the functional capabilities that the
* external system supports.
**/
override global List<DataSource.Capability>
getCapabilities() {
List<DataSource.Capability> capabilities =
new List<DataSource.Capability>();
capabilities.add(DataSource.Capability.ROW_QUERY);
capabilities.add(DataSource.Capability.SEARCH);
return capabilities;
}

/**
* Declares the associated DataSource.Connection class.
**/
override global DataSource.Connection getConnection(
DataSource.ConnectionParams connectionParams) {
return new DriveDataSourceConnection(connectionParams);
}
}

Access Government and Health Data with the OData 2.0 Adapter for Lightning Connect
Lightning Connect can now access data from endpoints that are backed by Socrata Open Data Portal™. Socrata Open Data Portal is
commonly used for sharing health data and for collaboration between governments and their citizens.
External data sources of type “Lightning Connect: OData 2.0” now have a Special Compatibility field. If you set this field to
Socrata, Lightning Connect adjusts how it accesses the external data to accommodate Socrata-specific requirements. See “Socrata™
Considerations for Lightning Connect—OData 2.0 Adapter” in the Salesforce Help.

Increased Limits for the OData 2.0 Adapter for Lightning Connect
We doubled a few of our limits to let you integrate with even more external systems.

Previous Limit New Limit


Maximum HTTP request size for OData 4 MB 8 MB

Maximum HTTP response size for OData 4 MB 8 MB

Maximum OData result set size 8 MB 16 MB

225
Salesforce Summer ’15 Release Notes Lightning Connect

Enable Server-Driven Paging for an External Data Source


It's common for Lightning Connect queries of external data to have a large result set that's broken into smaller batches or pages. Enable
server-driven paging to let the external system control the page sizes and batch boundaries. You can optimize the external system’s
paging settings to provide data to your organization more efficiently than client-driven paging.
The external system’s paging settings can optimize the external system’s performance and improve the load times for external objects
in your organization. Also, the external data set can change while your users or the Force.com platform are paging through the result
set. Typically, server-driven paging adjusts batch boundaries to accommodate changing data sets more effectively than client-driven
paging.
When you enable server-driven paging on an external data source, the external system ignores any specified batch or page sizes in
queries. How you enable server-driven paging depends on the Lightning Connect adapter.
• The Salesforce adapter always uses server-driven paging.
• To enable server-driven paging for the OData 2.0 adapter, select Server Driven Pagination on the external data source.
By default, the OData 2.0 adapter uses client-driven paging, specifically by using the $top and $skip system query options in
OData requests.

• To enable server-driven paging for custom adapters, which you create with the Apex Connector Framework, declare the
QUERY_PAGINATION_SERVER_DRIVEN capability on the getCapabilities method in the adapter’s
DataSource.Provider class. Also, the Apex code must generate a query token for fetching the next batch of results.
By default, custom adapters don’t automatically support paging of any kind. If you can’t implement server-driven paging, implement
client-driven paging by using LIMIT and OFFSET clauses to page through result sets. For more information about custom
adapters, see Access Any Data Anywhere with the Lightning Connector Apex Framework on page 220.

Control Whether to Request Total Row Counts in OData Queries


Some external systems don’t support the $inlinecount=allpages system query option. When you try to access their data via
the OData 2.0 adapter for Lightning Connect, you receive errors or notice long load times. If needed, you can now exclude that system
query option from OData queries for a specified external data source.
By default, Salesforce sends each OData request with the $inlinecount=allpages system query option. The response then
includes the total row count after applying the $filter system query options that were in the request.
To disable $inlinecount=allpages, deselect Request Row Counts on the external data source. If you do so, however,
the external data source and its associated external objects don’t support the SOQL COUNT() aggregate function, which requires the
total row count.

Customize Search Layouts with the Name Field for External Objects
Previously, you couldn't change whether or where a search layout included the name field for an external object. Now you can customize
your search layouts to display an external object’s name field in a specified position.
By default, the External ID standard field on the external object is the name field. You can, however, select the Is Name Field
attribute on a different field to set that field as the name field for the external object.

View Names of Parent Records in Lookup Relationship Fields on External Objects


Previously, a lookup relationship field on an external object record displayed the record ID of the parent record. Now the lookup relationship
field displays the parent record name, which is more relevant to your users.

226
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

Removed Select All Checkbox for Syncing an External Data Source


Many administrators accidentally reached the organization limit of 100 external objects because they selected all the tables that were
available for syncing from the external system. Now, when you click Validate and Sync on an external data source, select each table
that you want to sync. The checkbox for selecting all tables is no longer available.

Process Builder: More Ways to Use Your Data


We expanded your options for automating business processes with improved support for formulas, new formula functions, and more
options for updating fields. You can now use multi-select picklists in more places and delete a process without the 12-hour wait. We
also updated the user interface to make it easier to manage versions, find and reference fields, and create Chatter messages.

IN THIS SECTION:
Compare and Return Values in Formulas
Use newly supported functions to compare and return values in the Process Builder.
Update Fields Using Formulas and Date Functions
When your process updates fields, you can now use formulas and date functions as the value.
Reference System-Provided Values
Use system variables in formulas to easily reference information in your organization.
Use Multi-Select Picklists in More Places
Previously, multi-select picklists were supported only when creating and updating records. Now you can also use multi-select picklists
in process criteria, formulas, and quick actions.
Define Additional Conditions When Updating Records
When you update records in your process, you can now filter the records you’re updating using conditions.
Update Fields With More Value Types
We added more options for updating fields and made it easier to specify value types.
Immediately Delete a Process
After you deactivate a process, you no longer have to wait 12 hours before you delete it.
Process Builder User Interface Enhanced
We’ve improved the Process Builder user interface so it’s easier to manage versions, find and reference fields, create Chatter messages
and more.

Compare and Return Values in Formulas


Use newly supported functions to compare and return values in the Process Builder.
These new functions are now available to use in formulas.
• INCLUDES
• ISCHANGED
• ISNEW
• ISPICKVAL
• PRIORVALUE
For example, check whether a case’s contact changed by using ISCHANGED([Case].ContactId). If this formula evaluates to
true, your process executes the associated actions.

227
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

Note: Picklist fields are no longer evaluated as text fields in formulas. If your process uses a formula to reference a picklist field
(for example, [Account].Industry = 'Agriculture'), we recommend changing the formula to use TEXT or ISPICKVAL
instead (for example, ISPICKVAL([Account].Industry) = 'Agriculture').

SEE ALSO:
IdeaExchange: Support ISNEW Formula Functions in Process Criteria
IdeaExchange: Update Picklist Fields Using Formulas

Update Fields Using Formulas and Date Functions


When your process updates fields, you can now use formulas and date functions as the value.
For example, you can:
• Use mathematical formulas to calculate values like pricing discounts, commission rates, and shipping costs.
• Use relative date functions—like NOW() and TODAY()—when populating a date field, or set a date in the future when creating
a record.
For example, check whether a case’s contact changes by using ISCHANGED([Case].ContactId). If this formula evaluates to
true, your process executes the associated actions.
This example shows how a formula is used to update the due date field on a task record related to a case. The task due date is set for
five days after the case closes.

SEE ALSO:
IdeaExchange: Support Relative Date Functions When Updating a Date Field

Reference System-Provided Values


Use system variables in formulas to easily reference information in your organization.
To add a system variable, click System Variable when you build your formula.

228
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

You can use these system variable types in your formula:


• $API
• $Organization
• $Profile
• $System
• $User
• $UserRole

Example: Your process notifies the owner of a contact record if it’s changed by another user. Use a system variable in your formula
criteria to reference the user value.
[Case].ContactId <> $User.ContactId
If this formula evaluates to true, your process notifies the contact record’s owner.
For more information, see “Understanding Global Variables” in the Salesforce Help.

Use Multi-Select Picklists in More Places


Previously, multi-select picklists were supported only when creating and updating records. Now you can also use multi-select picklists
in process criteria, formulas, and quick actions.
Let’s say your process checks whether changes were made to an account’s office locations. If any of the office locations are in Washington,
Oregon, or California, the process notifies the West Coast Sales Manager.
Check whether an account’s office locations include any of these multi-select picklist values by:
• Using a formula.
INCLUDES ( [Account].Offices__c, "Washington" ) || INCLUDES ( [Account].Offices__c,
"Oregon" ) || INCLUDES ( [Account].Offices__c, "California" )

• Or setting conditions in your process criteria.

229
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

Define Additional Conditions When Updating Records


When you update records in your process, you can now filter the records you’re updating using conditions.
To add conditions in an Update Records action:
1. Select the Updated records meet all conditions option.
2. Set the conditions that you want to use to filter the updated records.

Example: Let’s say your process updates the status of a parent case when the status of the child case is changed. You can now
specify conditions (2) so that, for example, you won’t update the parent case (1) if its status is set to On Hold (3).

230
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

Update Fields With More Value Types


We added more options for updating fields and made it easier to specify value types.
The available value types depend on the field you’ve selected and include:
• Currency—manually enter a currency value.
• Boolean—choose a true/false boolean value.
• DateTime or Date—manually enter a date/time or date value.
• Formula—create a formula expression.
• Global Constant—choose a global constant to set a value to null or an empty string—for example, choose $GlobalConstant.Null.
• ID—manually enter a Salesforce ID value, for example, 00300000003T2PGAA0.
• MultiPicklist—choose one or more multi-select picklist values.
• Number—manually enter a number value.
• Picklist—choose a picklist value.
• Reference—choose a field on the record or on a related record.
• String—manually enter a string value.

Example: Choose the Reference value type to reference a parent account field, or choose the Picklist value type to select a
picklist value.

231
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

Immediately Delete a Process


After you deactivate a process, you no longer have to wait 12 hours before you delete it.
Now you can delete a process, as long as it:
• Isn’t active
• Doesn’t have any pending scheduled actions
If the process has pending scheduled actions, wait for those actions to execute or delete them.

SEE ALSO:
Immediately Delete a Flow Version
Salesforce Help: Delete a Process Version
IdeaExchange: Remove the 12-Hour Wait When Deleting a Process

Process Builder User Interface Enhanced


We’ve improved the Process Builder user interface so it’s easier to manage versions, find and reference fields, create Chatter messages
and more.
Welcome Page Updated
We updated the welcome page with more resources to help you get started. The welcome page appears only when you have no
processes, so check out these resources before you start creating processes
Manage Versions More Easily
You can now view, open, and delete versions of a process by expanding the version list directly on the process management page.
Process versions are listed from newest to oldest and include a version number to help you identify the order in which they were
created. Click anywhere on the process name (1) to expand the list and open or delete a process.

232
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

Show and Hide Advanced Options


We moved advanced options to an expandable area of the side panel so you can focus on the essential settings in your process.
Click Advanced to show or hide advanced options.
Advanced options are available when you:
• Add objects to your processes
• Add criteria to your processes

We separated these options because we think it's important to consider the ways they can affect your process. In fact, we highly
recommend reviewing the Salesforce Help to make sure that you understand these options before choosing them.
“Was Set” Operator Removed
The “was set” operator is no longer available when you define conditions. We removed this operator because it can cause inconsistent
results when used in process criteria.
Find and Reference Fields More Easily
We've made finding fields a whole lot easier by grouping:
• Fields that reference related records (1)
• Fields on the current record (2)

233
Salesforce Summer ’15 Release Notes Process Builder: More Ways to Use Your Data

Select Dates for Scheduled Actions with a Drop-Down List


We simplified how you select a time for your scheduled actions. You can now select dates from the list instead of a separate dialog.
You can even type in the field to filter the list of available values.

Post to Chatter Action Updated


When you create Chatter messages in a Post to Chatter action, you'll see a slightly new design. We made it more straightforward to
insert mentions, merge fields, and topics.
Here’s how the Post to Chatter message area looked in Spring ’15.

Here’s the message area updated for Summer ’15.

234
Salesforce Summer ’15 Release Notes Visual Workflow: New Variables and Formulas, Easier to
Delete

Also, your mentions now display in blue text in the message field.
New Video Added to Explain How to Avoid Unwanted Actions in a Process
We added a video to provide more information about avoiding unwanted actions in your process. To watch the video, hover over
the information bubble and click video when you define criteria in your process. This option is located in the Advanced area of the
side panel.

Visual Workflow: New Variables and Formulas, Easier to Delete


We removed the 12-hour wait before you can delete a deactivated flow, and you can now validate
EDITIONS
picklist and multi-select picklist values. In addition, we’ve added details to the flow fault email to
help you troubleshoot what happened in your flow. Available in:
• Enterprise
IN THIS SECTION: • Performance
• Unlimited
Verify Picklist Values in a Flow • Developer
You can now create flow variables to represent picklist values. Consequently, we added support
for the ISPICKVAL() function in flow formulas.
Verify Multi-Select Picklist Values in a Flow
You can now create flow variables to represent multi-select picklist values. Consequently, we added support for the INCLUDES()
function in flow formulas.
Immediately Delete a Flow Version
After you deactivate a flow version, you no longer have to wait 12 hours before you delete can it. Now you can delete a flow version
as long as it isn’t active and doesn’t have paused or waiting interviews.

235
Salesforce Summer ’15 Release Notes Visual Workflow: New Variables and Formulas, Easier to
Delete

Reference Global Variables in a Flow


Visual Workflow now supports a subset of Salesforce global variables. Reference a global variable to access information about your
organization or the user who’s running flow without using a query. Previously, you could access some of this information through
lookup elements. However, unlike lookup elements, global variables don’t count against SOQL query limits.
See the Path That a Flow Interview Took Before It Failed (Beta)
When a flow interview fails, the flow creator receives an email with the subject “Unhandled process fault occurred…”. The email
provides a message describing what went wrong. We added a list of every flow element that the interview executed so that you
can see the exact path the interview took.

Verify Picklist Values in a Flow


You can now create flow variables to represent picklist values. Consequently, we added support for the ISPICKVAL() function in
flow formulas.
To create a picklist variable, create a variable like usual. For Data Type, select Picklist. This data type isn’t available for collection
variables, and it doesn’t support default values.
ISPICKVAL() requires the following format, where picklist_value is a reference to a picklist variable or a picklist field on an
sObject variable and string is a manually entered value.

ISPICKVAL ( picklist_value, "string" )

Example: The following formula expression checks whether an opportunity is an existing business and the deal was lost.

ISPICKVAL ( {!varOpptyType}, "Existing Business" )


&& ISPICKVAL ( {!varOpptyStage}, "Closed Lost" )

Verify Multi-Select Picklist Values in a Flow


You can now create flow variables to represent multi-select picklist values. Consequently, we added support for the INCLUDES()
function in flow formulas.
To create a multi-select picklist variable, create a variable like usual. For Data Type, select Picklist (Multi-Select). This data type isn’t
available for collection variables, and it doesn’t support default values.
INCLUDES() requires the following format, where msp_value is a reference to a multi-select picklist variable or a multi-select
picklist field on an sObject variable and string is a manually entered value.

INCLUDES ( msp_value, "string" )

Example: The following formula expression checks whether a multi-select picklist resource contains “yellow”, “blue”, and “green”.

INCLUDES ( {!mspvar} , "yellow" )


&& INCLUDES ( {!mspvar} , "blue" )
&& INCLUDES ( {!mspvar} , "green" )

Immediately Delete a Flow Version


After you deactivate a flow version, you no longer have to wait 12 hours before you delete can it. Now you can delete a flow version as
long as it isn’t active and doesn’t have paused or waiting interviews.

236
Salesforce Summer ’15 Release Notes Visual Workflow: New Variables and Formulas, Easier to
Delete

If a flow version has paused or waiting interviews, wait for those interviews to finish or delete them.

SEE ALSO:
Immediately Delete a Process
Salesforce Help: Delete a Flow

Reference Global Variables in a Flow


Visual Workflow now supports a subset of Salesforce global variables. Reference a global variable to access information about your
organization or the user who’s running flow without using a query. Previously, you could access some of this information through lookup
elements. However, unlike lookup elements, global variables don’t count against SOQL query limits.
The following global variables and their merge fields are available in flow formulas.
• $Api
• $Label—available only if custom labels exist in your organization
• $Organization
• $Permission—available only if custom permissions exist in your organization
• $Profile
• $Setup—available only if hierarchy custom settings exist in your organization
• $System
• $User
• $UserRole
To add a global variable to a flow formula from the Cloud Flow Designer, open the Resources drop-down list and expand the GLOBAL
AND SYSTEM VARIABLES section.

Example: Your flow greets the user who’s running the flow by name.
Before, you would add ?userId={!User.Id} to the end of the flow URL and then reference that ID in a Record Lookup to
get the FirstName and LastName field values.
With global variables, you instead create a formula with the following expression.
{!$User.FirstName} & " " & {!$User.LastName}

See the Path That a Flow Interview Took Before It Failed (Beta)
When a flow interview fails, the flow creator receives an email with the subject “Unhandled process fault occurred…”. The email provides
a message describing what went wrong. We added a list of every flow element that the interview executed so that you can see the exact
path the interview took.
For example, if your flow includes a Decision element, use this list to figure out which route the interview took.

Note: This release contains a beta version of the flow fault email that is production quality but has known limitations. We welcome
your feedback on IdeaExchange.
The beginning of the email identifies the errors that occurred and the element where each error occurred. If the flow uses fault connectors,
multiple errors can occur before the interview finishes.
The email also includes details about the flow and the interview that failed, as well as a list of the elements that the interview executed.

237
Salesforce Summer ’15 Release Notes Globalization

• If the element that failed has a fault connector, the interview continues until the next error or until there are no more elements to
execute. The failed element isn’t necessarily the last one in the list. In fact, multiple elements could have failed.
• If the element that failed doesn’t have a fault connector, the interview stops at that element. The failed element is the last element
that’s listed in the email.
Use the list of elements to determine exactly which path the flow interview took. For example, determine which way a Decision element
routed your interview.

Example: Your flow calculates the discount for an opportunity based on its account’s annual revenue. You run an interview of
that flow, and it fails. The fault email that you receive begins with the following error message.
An error occurred at element Submit_Record.
No applicable approval process was found.

Then it lists the elements that the interview executed.


Record Lookup: Find_Acct
Decision: Determine_Discount
Assignment: No_Discount
Record Update: Update_Discount_Field
Subflow: Submit_for_Approval
Submit for Approval: Submit_Record

Through this list, you see that the interview followed the path that we’ve highlighted in green. The interview failed in the flow
that’s referenced by the “Submit_for_Approval” Subflow element.

Globalization
Globalization tools help administrators manage resources that vary from country to country, such as currencies, languages, and translated
content.

238
Salesforce Summer ’15 Release Notes Globalization

IN THIS SECTION:
Display Currency Symbols in Multi-Currency Organizations with Only One Currency
Choose whether to use ISO codes or currency symbols in organizations that have multiple currencies enabled but are using only
one currency. Organizations with multiple currencies enabled see ISO codes instead of currency symbols. However, if you have only
one currency in your multi-currency organization, you can set a preference to display currency symbols.
Choose from 59 New Locales
Your locale settings determine the display formats for date and time, users’ names, addresses, and whether to use commas or periods
in numbers. For single-currency organizations, locale names with a country in parentheses also set the default currency for the
organization when they’re selected in the Currency Locale picklist on the Company Information page. Salesforce now offers
a broader range of locales.

Display Currency Symbols in Multi-Currency Organizations with Only One Currency


Choose whether to use ISO codes or currency symbols in organizations that have multiple currencies
EDITIONS
enabled but are using only one currency. Organizations with multiple currencies enabled see ISO
codes instead of currency symbols. However, if you have only one currency in your multi-currency Available in:
organization, you can set a preference to display currency symbols. • Group
To display currency symbols, search Setup for User Interface, and then select Show • Professional
currency symbols instead of ISO codes in the Currency Display Settings section • Enterprise
of the User Interface settings page. If you later enable more currencies in your organization, ISO • Performance
codes display and this preference are no longer available. This preference applies only in the standard • Unlimited
Salesforce user interface. • Developer
• Database.com
To learn about using multiple currencies in your organization, see “Manage Multiple Currencies” in
the Salesforce Help.

Choose from 59 New Locales


Your locale settings determine the display formats for date and time, users’ names, addresses, and
EDITIONS
whether to use commas or periods in numbers. For single-currency organizations, locale names
with a country in parentheses also set the default currency for the organization when they’re selected Available in:
in the Currency Locale picklist on the Company Information page. Salesforce now offers a • Group
broader range of locales. • Professional
To change your organization’s locale, search Setup for Company Information. On the • Enterprise
Company Information page, click Edit, select a locale from the Default Locale drop-down • Performance
menu, and then click Save. The following locales have been added. • Unlimited
• Developer
• Database.com
ISO Code Locale Name
en_UG English (Uganda)

en_KY English (Cayman Islands)

en_TT English (Trinidad and Tobago)

ta_LK Tamil (Sri Lanka)

en_SH English (Saint Helena)

so_DJ Somali (Djibouti)

239
Salesforce Summer ’15 Release Notes Globalization

ISO Code Locale Name


dz_BT Dzongkha (Bhutan)

fr_HT French (Haiti)

en_SX English (Sint Maarten (Dutch part))

en_SL English (Sierra Leone)

en_SC English (Seychelles)

en_FK English (Falkland Islands)

en_MW English (Malawi)

en_ER English (Eritrea)

en_PG English (Papua New Guinea)

en_AG English (Antigua and Barbuda)

en_GI English (Gibraltar)

en_RW English (Rwanda)

fa_IR Persian (Iran)

en_BW English (Botswana)

en_BS English (Bahamas)

en_VU English (Vanuatu)

ti_ET Tigrinya (Ethiopia)

en_FJ English (Fiji)

pt_ST Portuguese (São Tomé and Príncipe)

fr_WF French (Wallis and Futuna)

en_JM English (Jamaica)

en_MG English (Madagascar)

fr_MR French (Mauritania)

en_WS English (Samoa)

rn_BI Rundi (Burundi)

fr_KM French (Comoros)

fr_GN French (Guinea)

en_SB English (Solomon Islands)

my_MM Burmese (Myanmar [Burma])

pt_CV Portuguese (Cape Verde)

240
Salesforce Summer ’15 Release Notes Globalization

ISO Code Locale Name


en_KE English (Kenya)

nl_AW Dutch (Aruba)

pt_MZ Portuguese (Mozambique)

yo_BJ Yoruba (Benin)

en_LR English (Liberia)

en_MU English (Mauritius)

en_BZ English (Belize)

lu_CD Luba-Katanga (Congo - Kinshasa)

es_CU Spanish (Cuba)

en_GM English (Gambia)

en_CM English (Cameroon)

uz_Latn_UZ Uzbek (LATN,UZ)

en_GY English (Guyana)

ps_AF Pashto (Afghanistan)

ne_NP Nepali (Nepal)

en_NA English (Namibia)

so_SO Somali (Somalia)

lo_LA Lao (Laos)

en_SZ English (Swaziland)

en_TO English (Tonga)

en_TZ English (Tanzania)

ko_KP Korean (North Korea)

sr_RS Serbian (Serbia)

For a complete list, see “Supported Locales” in the Salesforce Help.

241
Salesforce Summer ’15 Release Notes Monitoring

Monitoring
Updates to Event Monitoring and Login Forensics improve your ability to track user activity in your
EDITIONS
organization. We’ve also introduced two new pilot programs: Apex Limit Events and Data Leakage
Detection. Available in:
• Enterprise
IN THIS SECTION: • Performance
• Unlimited
Updates to the Event Monitoring Feature • Developer
Event monitoring now includes even more functionality for tracking and analyzing events in
your organization. You can monitor CPU time and database request time to analyze performance
and check whether bottlenecks are occurring in the database or in your code.
Enhancements and Data Loss for Login Forensics (Pilot)
Fortunately, you can now relate multiple events to a single user session in your organization. Unfortunately, Login Forensics data
created before the Summer ’15 release is no longer stored in Salesforce.
Track Your Organization’s Apex Transactions with Apex Limit Events (Pilot)
The Apex Limit Events Pilot allows you to monitor occurrences of non-zero governor limits in your organization.
Monitor Data Loss With Data Leakage Detection (Pilot)
Companies continue to view data loss as a major concern. Data leakage, when left undetected, makes it difficult to identify when a
specific employee removes data from Salesforce for their own purposes. The Data Leakage Detection pilot is designed so administrators
can monitor and detect when users access data through the Salesforce platform.

Updates to the Event Monitoring Feature


Event monitoring now includes even more functionality for tracking and analyzing events in your
EDITIONS
organization. You can monitor CPU time and database request time to analyze performance and
check whether bottlenecks are occurring in the database or in your code. Available in:
In addition, the new log line QUEUED_EXECUTION_EVENT lets you track queued jobs in your • Developer
organization—batch Apex jobs, for example. • Enterprise
• Performance
For details on how you can enhance your organization’s monitoring capabilities, see Supported • Unlimited
Event Types in the EventLogFile object reference.

Enhancements and Data Loss for Login Forensics (Pilot)


Fortunately, you can now relate multiple events to a single user session in your organization.
EDITIONS
Unfortunately, Login Forensics data created before the Summer ’15 release is no longer stored in
Salesforce. Available in:
The addition of the LoginHistoryId field to the LoginEvent object allows you to track user • Enterprise
activity to a specific login instance. This enhancement increases your forensic capabilities, making • Performance
it easier to understand user behavior in your organization. • Unlimited
• Developer
As a result of modifications made to this pilot, existing LoginEvent tables have been dropped from
the database. Moving forward, you can continue to collect and query Login Forensics data as usual.

Note: Login Forensics is currently available through a pilot program. Any unreleased services or features referenced in this or
other press releases or other public statements aren’t currently available and might not be delivered on time or at all. Customers
who purchase our services should make their decisions based upon features that are currently available. You may need to purchase
additional services or subscriptions to use this feature. For pricing details, please contact your Salesforce account executive.

242
Salesforce Summer ’15 Release Notes Monitoring

Track Your Organization’s Apex Transactions with Apex Limit Events (Pilot)
The Apex Limit Events Pilot allows you to monitor occurrences of non-zero governor limits in your
EDITIONS
organization.
Apex is a strongly typed, object-oriented programming language. It allows developers to execute Available in:
flow and transaction control statements on the Force.com Platform server along with calls to the • Enterprise
Force.com API. • Performance
• Unlimited
Apex runs in a multitenant environment. The runtime engine strictly enforces limits to ensure that • Developer
any one organization’s Apex code doesn’t monopolize shared resources. If a piece of Apex code
ever exceeds a limit, the associated governor issues a runtime exception that can’t be handled.
It’s frustrating to hit these limits because it can cause mission-critical apps to fail. But what if you could monitor these limits in a production
environment?
The Apex Limit Events pilot provides API access to a stream of near real-time tracking of Apex executions that hit a governor limit. You
can also access hourly roll-up summary metrics that help you monitor the ongoing health of your organization’s Apex executions.

Note: This pilot only supports monitoring of hard Apex limits, not the newer soft limits.

Note: Apex Limit Events is currently available through a pilot program. Any unreleased services or features referenced in this
document, press releases, or public statements are not currently available and may not be delivered on time or at all. Customers
who purchase our services should make their purchase decisions based upon features that are currently available. You may need
to purchase additional services or subscriptions to use this feature. For pricing details, please contact your Salesforce account
executive.

Monitor Data Loss With Data Leakage Detection (Pilot)


Companies continue to view data loss as a major concern. Data leakage, when left undetected,
EDITIONS
makes it difficult to identify when a specific employee removes data from Salesforce for their own
purposes. The Data Leakage Detection pilot is designed so administrators can monitor and detect Available in:
when users access data through the Salesforce platform. • Enterprise
Users can access data through a programmatic interface such as the API or through a web interface • Performance
like a browser. • Unlimited
• Developer
The initial pilot of Data Leakage Detection tracks queries in near real time in the SOAP, REST, and
Bulk APIs. Because greater than half of all data accessed on the platform is performed via these APIs,
organizations can gain greater insights into:
• Who saw what data
• When they saw that data
• Where they accessed the data
• What fields they accessed
• How long a query took
• How many records they accessed
When combined with the Login Forensics Pilot, you can also track every query back to a unique login to identify anomalies in user
behavior.

Note: Data Leakage Detection is currently available through a pilot program. Any unreleased services or features referenced in
this or other press releases or public statements aren’t currently available and might not be delivered on time or at all. Customers

243
Salesforce Summer ’15 Release Notes Cross-Organization Data Sharing

who purchase our services should make their purchase decisions based on features that are currently available. You may need to
purchase additional services or subscriptions to use this feature. For pricing details, please contact your Salesforce account executive.

Cross-Organization Data Sharing


Cross-organization data sharing is superseded by the Salesforce adapter for Lightning Connect.
EDITIONS

IN THIS SECTION: Available in:


• Developer
Cross-Organization Data Sharing Pilot No Longer Available
Starting in Summer ’15, the cross-organization data sharing pilot program isn't available for
new organizations. Its functionality is superseded by the Salesforce adapter for Lightning Connect. Organizations that are already
using cross-organization data sharing continue to have access, but are encouraged to transition to Lightning Connect.

Cross-Organization Data Sharing Pilot No Longer Available


Starting in Summer ’15, the cross-organization data sharing pilot program isn't available for new organizations. Its functionality is
superseded by the Salesforce adapter for Lightning Connect. Organizations that are already using cross-organization data sharing
continue to have access, but are encouraged to transition to Lightning Connect.
For more information, see Access Data Across Multiple Organizations with the Lightning Connect Salesforce Connector on page 220.

Development: Create Your Own Salesforce App


Force.com helps you develop new applications and integrations to help your organization or for resale to other organizations.

IN THIS SECTION:
Developer Console
Use improved Developer Console features to more easily manage code in your organization.
Visualforce
Develop apps that combine Visualforce and maps, including Salesforce1 and other mobile apps.
Apex Code
Apex enhancements enable you to rely on the debug log's order of precedence, and use location and distance bind variables. Also,
enhancements include code coverage changes and new classes and methods.
Lightning Components
The Lightning Component framework powers Salesforce1. Use the framework to build mobile apps and pages faster than ever.
API
Access more metadata types and data objects in API version 34.0.
ISVforce
Summer ’15 includes packaging enhancements.

244
Salesforce Summer ’15 Release Notes Developer Console

Configure Apps with Custom Metadata Types (Generally Available)


Use custom metadata types to define configurations and create reusable app components and features that you can package and
deploy. You and others can then create custom metadata that uses the characteristics of the custom type.

SEE ALSO:
How and When Development Features Become Available
IdeaExchange: Development Ideas Delivered in Summer ’15

Developer Console
Use improved Developer Console features to more easily manage code in your organization.
EDITIONS

IN THIS SECTION: Available in: Enterprise,


Performance, Unlimited,
Work with More Precise Numbers and Locations
Developer, and
You can now view and save latitude, longitude, and number fields with up to 18 decimal places Database.com Editions
in the Developer Console’s Query Editor. Previously, when you navigated between fields or
saved a record, these fields were rounded to two decimal places.
View Query Plan Notes
You can now view notes on your query plans in the Developer Console’s Query Editor. Salesforce displays all notes that are available
for your highest-ranked query plan.
Retrieve Query Plans for Reports and List Views
You can view query plans for your reports and list views in the Developer Console’s Query Editor. Discover why your slow-to-run
reports and list views take a long time to load.

Work with More Precise Numbers and Locations


You can now view and save latitude, longitude, and number fields with up to 18 decimal places in the Developer Console’s Query Editor.
Previously, when you navigated between fields or saved a record, these fields were rounded to two decimal places.

View Query Plan Notes


You can now view notes on your query plans in the Developer Console’s Query Editor. Salesforce displays all notes that are available for
your highest-ranked query plan.
To enable the Query Plan button in the Query Editor, click Help > Preferences, set Enable Query Plan to true, and then click Save.
The Notes pane displays in your Query Plan results.

245
Salesforce Summer ’15 Release Notes Developer Console

Retrieve Query Plans for Reports and List Views


You can view query plans for your reports and list views in the Developer Console’s Query Editor.
USER PERMISSIONS
Discover why your slow-to-run reports and list views take a long time to load.
1. Find the ID of your report or list view in its URL. To use the Developer
Console:
• “View All Data”

246
Salesforce Summer ’15 Release Notes Developer Console

2. To enable the Query Plan button in the Query Editor, click Help > Preferences, set Enable Query Plan to true, and then click Save.
3. Enter the report or list view ID in the Query Editor, and then click Query Plan.

4. Inspect the query plan for your report or list view. If custom indexes are available for your organization, use query plans to help you
decide when to request a custom index from Salesforce Support.

247
Salesforce Summer ’15 Release Notes Visualforce

Visualforce
Develop apps that combine Visualforce and maps, including Salesforce1 and other mobile apps.
EDITIONS
Visualforce language and feature improvements make app development easier. Enhancements in
this release are focused on improving the experience of developing apps that combine Visualforce, Available in: Contact
JavaScript, and location-based data. These release notes explain new features, and include concise Manager, Group,
code samples showing how these features can be used. Professional, Enterprise,
Performance, Unlimited,
For further information on features affected by these enhancements, refer to the Visualforce
and Developer Editions
Developer’s Guide.

IN THIS SECTION:
Add an Analytics Cloud Dashboard to a Visualforce Page
By embedding a Wave dashboard into a Visualforce page, you can provide an interactive presentation of your data. Users can drill
down and explore the dashboard within the frame on the Visualforce page or in a new window in the Analytics Cloud. You can also
set filters to be applied at run time, control the visibility of the dashboard’s title, and specify whether the dashboard appears on the
page, if an error occurs.
Customize Visualforce Maps with Custom Markers
Custom marker icons let you add style or branding to a map. You can also use custom markers to show different kinds of locations
on the same map.
Enrich Visualforce Maps with Info Windows
You can add information related to a location to Visualforce maps with info windows. Info windows appear when the user clicks or
taps on a map marker.
New <liveAgent:clientChatCancelButton> Component
The liveAgent:clientChatCancelButton is a new component available in API versions 34.0 and later. It provides a
button within a Live Agent chat window that a visitor can click to cancel a chat request before an agent accepts it.
New Attribute for <liveAgent:clientChatAlertMessage>
The liveAgent:clientChatAlertMessage component supports a new attribute, chatBlockedLabel, in API
versions 34.0 and later. This attribute specifies the message that appears to a customer when an agent blocks that customer from
a chat.

248
Salesforce Summer ’15 Release Notes Visualforce

Accessibility: “*” Annotation in Labels for Required Fields Restored


Visualforce adds a “*” character to the labels of required input fields to improve accessibility in screen readers. This feature was
inadvertently disabled and is now restored.
Remote Action Response Encoding Includes Single Straight Quotation Marks
String values in a remote action response are encoded to escape characters, such as “<” and “>”, that have special meaning in HTML.
Encoding now includes the single straight quotation mark character ('). Encoding response string values makes them safe to handle
in your Visualforce pages, with or without your own explicit encoding.
Enable Clickjack Protection for Visualforce Pages Even When Headers Are Disabled
Clickjack protection secures your Visualforce pages against user interface redress attacks. You can enable clickjack protection for
Visualforce pages that suppress the standard header. The setting is global to your organization and applies to all your Visualforce
pages.
Reduced Access for Apex Classes Using with sharing Keyword
Apex classes defined with the with sharing keyword no longer have unfiltered access to the User object if it’s set to private
by the organization’s sharing rules.
Serve Static Resources from the Visualforce Domain
This critical update changes the way that your static resources, such as images, JavaScript, and CSS files, are served from Salesforce.
To avoid broken references to static resources, make sure that you review our recommended best practices.
PageReference getContent() and getContentAsPDF() Methods Behave as Callouts
This critical update changes the way calls made to the PageReference methods getContent() and getContentAsPDF()
are treated and improves the semantics of the transaction for the calling page.

Add an Analytics Cloud Dashboard to a Visualforce Page


By embedding a Wave dashboard into a Visualforce page, you can provide an interactive presentation
EDITIONS
of your data. Users can drill down and explore the dashboard within the frame on the Visualforce
page or in a new window in the Analytics Cloud. You can also set filters to be applied at run time, Available for an extra cost
control the visibility of the dashboard’s title, and specify whether the dashboard appears on the in: Enterprise, Performance,
page, if an error occurs. and Unlimited Editions
To add a dashboard to your Visualforce page, configure the <wave:dashboard> component.
With the filter attribute, you can use a JSON notation to filter dataset fields at run time. With
the openLinksInNewWindow attribute, you can specify where links from the dashboard to other assets are opened.
Here are two examples. Note that the dashboard is identified by the dashboardId, which is an 18-character code beginning with
0FK. You can find the dashboardId at the end of the URL when viewing a dashboard.
<apex:page sidebar="true" standardController="account">

<wave:dashboard dashboardId="0FKB000000006Y7OAI"
showTitle="true"
height="475px"
openLinksInNewWindow="true"
filter="{'opportunities': {'Id': ['{!Account.Id}']}}" />

</apex:page>

<apex:page sidebar="true" standardController="account">

<wave:dashboard dashboardId="0FKB000000006Y7OAI"

249
Salesforce Summer ’15 Release Notes Visualforce

showTitle="true"
height="1500px"
openLinksInNewWindow="false"
filter="{'service': {'account': ['{!Account.Name}'],'industry': [
'{!Account.Name}']}}" />

</apex:page>

Note: Only dimensions that have a list selector on the dashboard can be included in the filter attribute JSON.

You can add one dashboard per Visualforce page. However, the dashboard can include links to other dashboards or Analytics Cloud
assets.

Customize Visualforce Maps with Custom Markers


Custom marker icons let you add style or branding to a map. You can also use custom markers to
EDITIONS
show different kinds of locations on the same map.
To customize a marker’s icon, set the icon attribute to an absolute or fully qualified URL to the Available in: Contact
graphic to use. You can reference any image on the Web, for example, if your graphics are distributed Manager, Group,
in a CDN. You can also use graphics stored in a static resource. If you use images from a static Professional, Enterprise,
resource, use the URLFOR() function to obtain the image URL. For example: Performance, and
Unlimited Editions

<apex:mapMarker title="{! Account.Name }"


position="{!Account.BillingStreet},{!Account.BillingCity},{!Account.BillingState}"
icon="{! URLFOR($Resource.MapMarkers, 'moderntower.png') }" />

Use a common graphics format, such as PNG, GIF, or JPEG. The preferred marker size is 32 × 32 pixels. Other sizes are scaled, which
doesn’t always produce ideal results.

SEE ALSO:
IdeaExchange: Allow Us to Specify an Icon for apex:mapMarker in VisualForce

Enrich Visualforce Maps with Info Windows


You can add information related to a location to Visualforce maps with info windows. Info windows
EDITIONS
appear when the user clicks or taps on a map marker.
To add an info window to a map marker, add an <apex:mapInfoWindow> component as a Available in: Contact
child component of the associated <apex:mapMarker>. The body of the Manager, Group,
<apex:mapInfoWindow> component is displayed in the info window when users click or Professional, Enterprise,
tap the marker, and can be Visualforce markup, HTML and CSS, or plain text. Performance, and
Unlimited Editions
This complete page uses Visualforce markup for the contents of the info window.

<apex:page standardController="Account">

<!-- This page must be accessed with an Account Id in the URL. For example:
https://<salesforceInstance>/apex/AccountContactsCustomMarker?id=001D000000JRBet
-->

250
Salesforce Summer ’15 Release Notes Visualforce

<apex:pageBlock >
<apex:pageBlockSection title="Contacts For {! Account.Name }">

<apex:dataList value="{! Account.Contacts }" var="contact">


<apex:outputText value="{! contact.Name }" />
</apex:dataList>

<apex:map width="600px" height="400px" mapType="roadmap"


center="{!Account.BillingStreet},{!Account.BillingCity},{!Account.BillingState}">

<!-- Add markers for account contacts -->


<apex:repeat value="{! Account.Contacts }" var="ct">
<apex:mapMarker title="{! ct.Name }"
position="{! ct.MailingStreet },{! ct.MailingCity },{! ct.MailingState }">

<!-- Add info window with contact details -->


<apex:mapInfoWindow >
<apex:outputPanel layout="block" style="font-weight: bold;">
<apex:outputText>{! ct.Name }</apex:outputText>
</apex:outputPanel>

<apex:outputPanel layout="block">
<apex:outputText>{! ct.MailingStreet }</apex:outputText>
</apex:outputPanel>

<apex:outputPanel layout="block">
<apex:outputText>{! ct.MailingCity }, {! ct.MailingState }</apex:outputText>

</apex:outputPanel>

<apex:outputPanel layout="block">
<apex:outputLink value="{! 'tel://' + ct.Phone }">
<apex:outputText>{! ct.Phone }</apex:outputText>
</apex:outputLink>
</apex:outputPanel>
</apex:mapInfoWindow>

</apex:mapMarker>
</apex:repeat>

</apex:map>

</apex:pageBlockSection>
</apex:pageBlock>

</apex:page>

This code produces the following map.

251
Salesforce Summer ’15 Release Notes Visualforce

New <liveAgent:clientChatCancelButton> Component


The liveAgent:clientChatCancelButton is a new component available in API versions
EDITIONS
34.0 and later. It provides a button within a Live Agent chat window that a visitor can click to cancel
a chat request before an agent accepts it.
Live Agent is available in:
The clientChatCancelButton attribute lets you customize the text of the button. The Performance Editions and
default English label is “Cancel Chat.” This corresponds to our new Cancel Chat feature. Developer Edition
organizations that were
created after June 14, 2012
Live Agent is available for an
additional cost in: Enterprise
and Unlimited Editions

New Attribute for <liveAgent:clientChatAlertMessage>


The liveAgent:clientChatAlertMessage component supports a new attribute,
EDITIONS
chatBlockedLabel, in API versions 34.0 and later. This attribute specifies the message that
appears to a customer when an agent blocks that customer from a chat.
Live Agent is available in:
With this release, agents can now block chat customers from chatting with them. For example, if Performance Editions and
a customer is verbally abusive to an agent, the agent can protect themselves and other agents by Developer Edition
blocking that user’s IP address from starting a new chat. The chatBlockedLabel attribute organizations that were
lets you customize the message that appears to customers in the chat window after they’ve been created after June 14, 2012
blocked. This corresponds to our new Block Unwelcome Chat Visitors by IP Address feature.
Live Agent is available for an
additional cost in: Enterprise
and Unlimited Editions

252
Salesforce Summer ’15 Release Notes Visualforce

Accessibility: “*” Annotation in Labels for Required Fields Restored


Visualforce adds a “*” character to the labels of required input fields to improve accessibility in screen readers. This feature was inadvertently
disabled and is now restored.
This change affects the <label> tags added by all Visualforce input components. The “*” annotation is added to required fields
regardless of why the field is required—whether it’s required by the data model, layout, or Visualforce markup.
The “*” character doesn’t appear when Visualforce pages are viewed in a standard Web browser. For sighted users, there’s no visible
change in the way required fields are indicated.

Remote Action Response Encoding Includes Single Straight Quotation Marks


String values in a remote action response are encoded to escape characters, such as “<” and “>”, that have special meaning in HTML.
Encoding now includes the single straight quotation mark character ('). Encoding response string values makes them safe to handle in
your Visualforce pages, with or without your own explicit encoding.
This change affects string values in the response, whether the response is a primitive single string, an sObject, or a collection of values.

Enable Clickjack Protection for Visualforce Pages Even When Headers Are Disabled
Clickjack protection secures your Visualforce pages against user interface redress attacks. You can enable clickjack protection for Visualforce
pages that suppress the standard header. The setting is global to your organization and applies to all your Visualforce pages.
To enable clickjack protection for Visualforce pages that suppress the standard header, select Enable clickjack protection for customer
Visualforce pages with headers disabled under Setup > Security Controls > Session Settings.
Clickjack protection is implemented by adding a X-Frame-Options: SAMEORIGIN header to Visualforce pages. When headers
are suppressed by setting showHeader="false" on a page, this header isn’t added to the page, and clickjack protection is disabled.
Normally, suppressing headers is the desired behavior because it strips out unnecessary resources and provides a clean slate for your
Visualforce pages. This new session setting lets you turn only the clickjack protection functionality back on, which adds the required
header to your Visualforce pages.
Enabling clickjack protection for Visualforce pages has some side effects. When this header is activated, only pages served from the
Visualforce domain can wrap Visualforce pages in an <iframe>, or otherwise embed Visualforce pages.
Some existing Salesforce features embed Visualforce in frames. If you enable clickjack protection for Visualforce pages, these features
no longer work. Examples include custom console components in the Salesforce Console, custom dashboards that embed Visualforce
pages, and other features you have extended using Visualforce. We recommend that you test clickjack protection in a sandbox or
Developer Edition organization to verify the behavior before enabling it in your production organization.
If your organization displays Visualforce pages within a frame or <iframe>, it’s possible that the clickjack-protected pages display
either as a blank page or without the frame. The behavior varies depending on your browser and its version. Although there are reasons
to frame pages, hackers can abuse framed pages.
You have two options for handling existing framed Visualforce pages.
• Discontinue displaying these pages within a frame or <iframe>. This solution is recommended.
• Don’t enable clickjack protection for your Visualforce pages. This option allows you to continue framing Visualforce pages, but the
pages are vulnerable to clickjack attacks. This option isn’t recommended.

Note: Along with this new setting, labels for the existing clickjack protection settings are updated for consistency and clarity
across all four clickjack settings. The behavior of the existing settings is unchanged.

253
Salesforce Summer ’15 Release Notes Visualforce

Reduced Access for Apex Classes Using with sharing Keyword


Apex classes defined with the with sharing keyword no longer have unfiltered access to the User object if it’s set to private by
the organization’s sharing rules.
This keyword is often used in custom Visualforce controllers and controller extensions. For more information, see Reduced Access for
Apex Classes Using with sharing Keyword on page 259.
This change also applies to the Visualforce standard controller. Since this is documented behavior, this change shouldn’t affect pages
that use standard controllers.

Serve Static Resources from the Visualforce Domain


This critical update changes the way that your static resources, such as images, JavaScript, and CSS files, are served from Salesforce. To
avoid broken references to static resources, make sure that you review our recommended best practices.
Prior to this release, some static resources, such as images and CSS files, were loaded from the Salesforce Domain. With this update, all
static resources are loaded from the Visualforce Domain. Changing the origin domain can cause absolute references to static resources
to break.
It’s a best practice to reference static resources by using the $Resource global variable and the URLFOR() function instead of
static strings. For example:
• <apex:includeScript value="{!$Resource.MyJavascriptFile}"/>
• <apex:image url="{!URLFOR($Resource.TestZip, 'images/Bluehills.jpg')}" width="50"
height="50"/>
These references are safe to use regardless of your organization’s settings.
We recommend that you test this update in a sandbox or Developer Edition organization to verify correct behavior of your pages before
enabling it in your production organization.
To activate this critical update:
1. From Setup, click Critical Updates.
2. Click Activate for “Serve Static Resources from the Visualforce Domain.”

PageReference getContent() and getContentAsPDF() Methods Behave as


Callouts
This critical update changes the way calls made to the PageReference methods getContent() and getContentAsPDF() are
treated and improves the semantics of the transaction for the calling page.
A PageReference is a reference to an instantiation of a Visualforce page. The getContent() and getContentAsPDF() instance
methods return the content of a rendered page as HTML and PDF, respectively. With this update, calls made to these methods behave
as callouts, and the calls are tracked against the limits of the calling transaction.
We recommend that you test this update in a sandbox or Developer Edition organization to verify correct behavior of your pages before
enabling it in your production organization.
To activate this critical update:
1. From Setup, click Critical Updates.
2. Click Activate for “PageReference getContent() and getContentAsPDF() Methods Treated as Callouts.”

254
Salesforce Summer ’15 Release Notes Apex Code

Apex Code
Apex enhancements enable you to rely on the debug log's order of precedence, and use location
EDITIONS
and distance bind variables. Also, enhancements include code coverage changes and new classes
and methods. Available in: Enterprise,
For detailed information about these enhancements, refer to the Force.com Apex Code Developer's Performance, Unlimited,
Guide. Developer, and
Database.com Editions

IN THIS SECTION:
New Code Coverage Calculation for Multiline Statements
Code coverage has changed for statements that are written on multiple lines. Each line that contains an expression is now included
in the code coverage calculation for covered and uncovered code. Previously, a multiline statement was calculated as one line of
code in code coverage. This change affects all API versions.
Iteration Order for Maps and Sets Is Now Predictable
The order of elements in unordered collections (Map and Set) is now the same each time your code is run. Previously, the order
of elements in unordered collections was arbitrary, and you couldn’t rely on the order of elements in maps and sets.
Receive Debug Logs Predictably
Debug log levels now have a clear order of precedence. Previously, it was difficult to predict whether some events would be logged.
Location and Distance Variables Allowed in SOQL and SOSL Queries in Apex
You can now use location and distance variables within bind expressions in Apex. Bind expressions let you reference Apex variables
in SOQL and SOSL queries.
Reduced Access for Apex Classes Using with sharing Keyword
Apex classes defined with the with sharing keyword no longer have unfiltered access to the User object if it’s set to private
by the organization’s sharing rules. In previous releases, the User object was exempt from the with sharing keyword. Because
organization-wide sharing defaults for the User object default to public read-only, this behavior had no effect in most organizations.
However, if an organization sets the organization-wide sharing defaults for the User object to private, the with sharing keyword
could produce unexpected results.
See Apex Method Parameters at a Glance
Method topic titles in the Force.com Apex Code Developer’s Guide now include sample parameter names. Previously, topic titles for
Apex methods stated the data types of the parameters to be passed to the methods. However, we received feedback that headings
like methodName(String, String, Boolean, String) aren’t useful.
New and Changed Apex Classes
These classes, methods, annotations, and interfaces are new or have changed in this release.

New Code Coverage Calculation for Multiline Statements


Code coverage has changed for statements that are written on multiple lines. Each line that contains an expression is now included in
the code coverage calculation for covered and uncovered code. Previously, a multiline statement was calculated as one line of code in
code coverage. This change affects all API versions.
As a result of this change, code coverage numbers can sometimes be calculated differently from the calculation done in Summer ’15.
The new calculation can be higher or lower, depending on the scenario. When multiline statements are present, more lines are counted
as part of the code coverage calculation. Therefore, if those lines are covered, they can contribute to a higher coverage. Similarly, if those
lines aren’t covered, they can contribute to a lower coverage.

255
Salesforce Summer ’15 Release Notes Apex Code

This example shows how code coverage can be higher. The following code snippet results in six lines that are counted toward code
coverage. Those lines are Integer n = getSomeNumber1(), + getSomeNumber2(), + getSomeNumber3(), +
getSomeNumber4();, if (myVar==true) {, and notCovered();. In this example, only the notCovered();
statement isn’t covered, so the total number of covered lines is five. The code coverage is 5/6 or 83%.

Previously, three lines of code were counted, because all the expressions in the first assignment statement (Integer n =) were
counted as one line. The code coverage was 2/3 or 66%.

This next example shows how code coverage can be lower. The expressions in the if condition result in three lines that are counted
toward code coverage. Because fooReturnsFalse() returns a false value, the remaining expressions in the condition aren’t
evaluated, and therefore aren’t covered. The code coverage is 1/3 or 33%.

Previously, all three expressions in the if condition were counted as one line for code coverage, and the code coverage was 1/1 or
100%.

Note:
• If a statement consists of multiple expressions and is written on one line, it’s counted as one line for code coverage. If one part
of this statement is covered and other parts aren’t, the entire statement is counted as a covered line because it counts as one
line total.
• The Apex compiler sometimes optimizes expressions in a statement. For example, if multiple string constants are concatenated
with the + operator, the compiler replaces those expressions with one string constant internally. If the string concatenation
expressions are on separate lines, the additional lines aren’t counted as part of the code coverage calculation after optimization.

256
Salesforce Summer ’15 Release Notes Apex Code

To illustrate this point, a string variable is assigned to two string constants that are concatenated. The second string constant
is on a separate line.
String s = 'Hello'
+ ' World!';

The compiler optimizes the string concatenation and represents the string as one string constant internally. The second line
in this example is ignored for code coverage.
String s = 'Hello World!';

SEE ALSO:
Understanding Expressions
Testing and Code Coverage

Iteration Order for Maps and Sets Is Now Predictable


The order of elements in unordered collections (Map and Set) is now the same each time your code is run. Previously, the order of
elements in unordered collections was arbitrary, and you couldn’t rely on the order of elements in maps and sets.
Ideally, you don’t want your code to depend on the order of elements in unordered collections. If you have such code, it could sometimes
fail before this change. This change makes your code more robust because the iteration order in maps and sets is always the same.
This example illustrates how the iteration order is deterministic in a map. A map is created with two elements. Next, the for loop
iterates over the map elements and writes the key and value of each element to the debug log. Each time you execute this snippet, the
iteration order of the elements in the for loop is the same.
Map<String, String> currencyMap = new Map<String, String>();
currencyMap.put('France','Euro');
currencyMap.put('Japan', 'Yen');
// Iterate through the map elements.
for (String mapKey : currencyMap.keySet()) {
System.debug('Key: ' + mapKey +
', Value: ' + currencyMap.get(mapKey));
}

// The output is:


Key: France, Value: Euro
Key: Japan, Value: Yen

Note: A critical update for this change (Predictable Iteration Order for Apex Unordered Collections) was added before Summer
’15. This update provided you time to test your applications to ensure that the change caused no failures or to fix failures that
occurred. In rare cases, the change causes your order-dependent logic to fail. This update is now applied to all organizations and
API versions.

Receive Debug Logs Predictably


Debug log levels now have a clear order of precedence. Previously, it was difficult to predict whether some events would be logged.
The order of precedence for debug log levels is:
1. Trace flags set in the Developer Console override all other logging logic. The Developer Console sets a trace flag when it loads, and
that trace flag remains in effect until it expires.

257
Salesforce Summer ’15 Release Notes Apex Code

• To access your trace flags and their expiration times, open the Developer Console and click Debug > Change Log Levels.
• To add trace flags for a class or trigger, click Add, select a class or trigger, and then click Add. Double-click fields to adjust your
log levels.

Note: Setting trace flags doesn’t cause logs to be generated or saved. Trace flags override other logging levels, but they don’t
cause logging to occur. If logging is enabled when classes or triggers execute, logs are generated at the time of execution.

2. If you don’t have active trace flags, synchronous and asynchronous Apex tests execute with the default logging levels. Default logging
levels are:
DB
INFO
APEX_CODE
DEBUG
APEX_PROFILING
INFO
WORKFLOW
INFO
VALIDATION
INFO
CALLOUT
INFO
VISUALFORCE
INFO
SYSTEM
DEBUG

3. If no relevant trace flags are active, and no tests are running, your API header sets your logging levels. API requests that are sent
without debugging headers generate transient logs—logs that aren’t saved—unless another logging rule is in effect. For more
information, see “DebuggingHeader” in the Force.com Apex Code Developer's Guide .
4. If you enable system logs for a user, you get debug logs for that user’s next 20 requests. To learn how to set up user-based debug
logs, see “Monitoring Debug Logs” in the Salesforce Help.
5. If your entry point sets a log level, that log level is used. For example, Visualforce requests can include a debugging parameter that
sets log levels.
If none of these cases apply, logs aren’t generated or persisted. For more information on debug log levels, see “Working with Logs in
the Developer Console” in the Force.com Apex Code Developer's Guide .

Location and Distance Variables Allowed in SOQL and SOSL Queries in Apex
You can now use location and distance variables within bind expressions in Apex. Bind expressions let you reference Apex variables in
SOQL and SOSL queries.
SOQL and SOSL statements in Apex can reference Apex code variables and expressions if they’re preceded by a colon (:). This use of a
local code variable within a SOQL or SOSL statement is called a bind. The Apex parser first evaluates the local variable in code context
before executing the SOQL or SOSL statement.

258
Salesforce Summer ’15 Release Notes Apex Code

These queries are now allowed.


Double myLatitude = 10;
Double myLongitude = 10;
List<Account> accountList =
[SELECT Id, Name, BillingLatitude, BillingLongitude
FROM Account
WHERE DISTANCE(My_Location_Field__c, GEOLOCATION(:myLatitude, :myLongitude), 'mi') <
10];

Location myLocation = Location.newInstance(10, 10);


Double myDistance = 100;
List<Account> accountList =
[SELECT Id, Name, BillingLatitude, BillingLongitude
FROM Account
WHERE DISTANCE(My_Location_Field__c, :myLocation, 'mi') < :myDistance];

Apex bind variables aren’t supported for the units parameter in DISTANCE or GEOLOCATION functions. This query doesn’t work.
String units = 'mi';
List<Account> accountList =
[SELECT ID, Name, BillingLatitude, BillingLongitude
FROM Account
WHERE DISTANCE(My_Location_Field__c, GEOLOCATION(10,10), :units) < 10];

Reduced Access for Apex Classes Using with sharing Keyword


Apex classes defined with the with sharing keyword no longer have unfiltered access to the User object if it’s set to private by
the organization’s sharing rules. In previous releases, the User object was exempt from the with sharing keyword. Because
organization-wide sharing defaults for the User object default to public read-only, this behavior had no effect in most organizations.
However, if an organization sets the organization-wide sharing defaults for the User object to private, the with sharing keyword
could produce unexpected results.
By default, Apex code runs in the system context and has full access to all of an organization’s data. The with sharing keyword
tells the class to take the sharing rules for the current user into account when accessing data. For more information, see “Using the with
sharing or without sharing Keywords” in the Force.com Apex Code Developer's Guide.
Beginning in API version 34.0, the User object is no longer exempt from the additional filtering that results from the with sharing
keyword. This change is versioned. Update your code to API version 34.0 or later to access the new behavior.
If you have code that depends on the old behavior, you have two options to preserve compatibility.
• Don’t update affected Apex classes beyond API version 33.0.
• Change the affected classes to use without sharing and implement any filtering based on the context user yourself.

See Apex Method Parameters at a Glance


Method topic titles in the Force.com Apex Code Developer’s Guide now include sample parameter names. Previously, topic titles for Apex
methods stated the data types of the parameters to be passed to the methods. However, we received feedback that headings like
methodName(String, String, Boolean, String) aren’t useful.
We’ve also standardized our parameter name format and clarified some parameter names. To see the new method headings, check out
the Reference chapter of the Summer ’15 version of the Force.com Apex Code Developer’s Guide.

259
Salesforce Summer ’15 Release Notes Apex Code

New and Changed Apex Classes


These classes, methods, annotations, and interfaces are new or have changed in this release.

New Methods
The following existing classes have new methods.
Auth.AuthConfiguration Class
getForgotPasswordUrl()
Returns the URL for the standard or custom Forgot Password page that is specified for a community or portal by the administrator.
Reports.ReportMetadata Class
These methods enable you to get or set report properties, such as the division, whether the report has detailed data, whether the
report includes the record count, the scope of the data, the field used for sorting, standard date filters, and default filters. The new
methods are:
• getDivision
• getHasDetailRows
• getHasRecordCount
• getScope
• getSortBy
• getStandardDateFilter
• getStandardFilters
• setDivision
• setHasDetailRows
• setHasRecordCount
• setScope
• setSortBy
• setStandardDateFilter
• setStandardFilters
The Reporting REST API also exposes report metadata properties. See Changed Salesforce1 Reporting REST API Request and Response
Bodies.
System.Search Class
find(String)
Performs a search using a dynamic SOSL query that can include a WITH SNIPPET clause. Snippets provide context for
Salesforce Knowledge article search results so that users can identify the content they’re looking for.
suggest(String, String, Search.SuggestionOption)
Returns a list of records or Salesforce Knowledge articles whose names or titles match the user’s search query string. Use this
method to provide users with shortcuts to navigate to relevant records or articles before they perform a search.
System.Site Class
Use the createExternalUser() methods instead of the createPortalUser() for better error handling. Each method
creates a new community or portal user and associates them with the specified account in a community or portal. Each method
throws Site.ExternalUserCreateException when user creation fails.
createExternalUser(name, accountId)
Creates a community or a portal user for the given account and associates it with the community.

260
Salesforce Summer ’15 Release Notes Apex Code

createExternalUser(name, accountId, password)


Creates a community or a portal user for the given account and associates it with the community. This method sends an email
with the specified password to the user.
createExternalUser(name, accountId, password, sendEmailConfirmation)
Creates a community or portal user and associates it with the given account. This method sends the user an email with the
specified password as well as a new user confirmation email.
System.String Class
equals(stringOrId)
Returns true if the passed-in object is not null and represents the same binary sequence of characters as the current string.
Use this method to compare a string to an object that represents a string or an ID.
The new equals(Object) method replaces equals(String), which is deprecated. Previously, you could compare
a string to an ID by using the equals(String) method, because the Apex runtime converts IDs to strings. The new
equals(Object) method compares the current string to any object, including a string or an ID. This new method provides
more robust handling of string-to-ID comparisons.

Changed Methods
The following classes have changed methods.
System.Date Class
valueOf(fieldValue)
In API version 33.0 or earlier, if you call Date.valueOf with an object that represents a Datetime, the method returns a
Date value that contains the hours, minutes, and seconds. In version 34.0 and later, Date.valueOf converts the object to
a valid Date without the time information. To convert a variable of type Datetime to a Date, use the Datetime.date
method.

New Properties
The following classes have new properties.
DMLOptions.DuplicateRuleHeader Class
includeRecordDetails
Set to true to get fields and values for records detected as duplicates. Set to false to get only record IDs for records detected
as duplicates.
runAsCurrentUser
Set to true to make sure that sharing rules for the current user are enforced when duplicate rules run. Set to false to use
the sharing rules specified in the class for the request. If no sharing rules are specified, Apex code runs in system context and
sharing rules for the current user are not enforced.

New Classes
The following classes have been added.
Classes in the DataSource Namespace
A new namespace, DataSource, and classes have been added for the Apex Connector Framework. Those classes enable you to
create a custom adapter for Lightning Connect to access data that’s stored outside your Salesforce organization. See Access Any
Data Anywhere with the Lightning Connector Apex Framework on page 220.

261
Salesforce Summer ’15 Release Notes Apex Code

Classes in the Search Namespace


A new namespace, Search, and classes have been added.
These classes support the System.Search.find(String) method, which performs dynamic SOSL queries that can include
the WITH SNIPPET clause:
• Search.SearchResult—A wrapper object that contains an sObject and search metadata. This class has these methods:
– getSObject()—Returns an sObject from a SearchResult object.
– getSnippet()—Returns a snippet from a SearchResult object based on the default field.
– getSnippet(String)—Returns a snippet from a SearchResult object based on the specified field name.

• Search.SearchResults—Wraps the results returned by the Search.find(String) method. This class has one
method:
– get(String)—Returns a list of Search.SearchResult objects that contain an sObject of the specified type.

These classes support the System.Search.suggest(String, String, Search.SuggestionOption) method,


which returns a list of records or Salesforce Knowledge articles whose names or titles match the user’s search query string:
• Search.KnowledgeSuggestionFilter—Filter settings that narrow the results from a call to
System.Search.suggest(searchQuery, sObjectType, options) when the SOSL search query contains
a KnowledgeArticleVersion object. This class has these methods:
– addArticleType(String)—Adds a filter that narrows suggestion results to display the specified article type. This
filter is optional.
– addDataCategory(String, String)—Adds a filter that narrows suggestion results to display articles in the
specified data category. This filter is optional.
– setChannel(String)—Sets a channel to narrow the suggestion results to articles in the specified channel. This filter
is optional.
– setDataCategories(Map)—Adds filters that narrow suggestion results to display articles in the specified data
categories. Use this method to set multiple data category group and name pairs in one call. This filter is optional.
– setLanguage(String)—Sets a language to narrow the suggestion results to display articles in that language. This
filter value is required in calls to System.Search.suggest(String, String,
Search.SuggestionOption).
– setPublishStatus(String)—Sets a publish status to narrow the suggestion results to display articles with that
status. This filter value is required in calls to System.Search.suggest(String, String,
Search.SuggestionOption).
– setValidationStatus(String)—Sets a validation status to narrow the suggestion results to display articles with
that status. This filter is optional.

• Search.SuggestionOption—Options that narrow record and article suggestion results returned from a call to
System.Search.suggest(String, String, Search.SuggestionOption). This class has these methods:
– setFilter(Search.KnowledgeSuggestionFilter)—Set filters that narrow Salesforce Knowledge article
results in a call to System.Search.suggest(String, String, Search.SuggestionOption).
– setLimit(Integer)—The maximum number of record or article suggestions to retrieve.

• Search.SuggestionResult—A wrapper object that contains an sObject. This class has this method:
– getSObject()—Returns the sObject from a SuggestionResult object.

• Search.SuggestionResults—Wraps the results returned by the Search.suggest(String, String,


Search.SuggestionOption) method. This class has these methods:

262
Salesforce Summer ’15 Release Notes Apex Code

– getSuggestionResults()—Returns a list of SuggestionResult objects from the response to a call to


Search.suggest(String, String, Search.SuggestionOption).
– hasMoreResults()—Indicates whether a call to System.Search.suggest(String, String,
Search.SuggestionOption) has more results available than were returned.

New Interfaces
The following interfaces have been added.
TerritoryMgmt.OpportunityTerritory2AssignmentFilter Interface
A new namespace, TerritoryMgmt, and an interface have been added for Enterprise Territory Management. Implement the
interface to define filter logic for a job that assigns territories to opportunities based on a territory priority value. The interface supports
the getOpportunityTerritory2Assignments(List<Id>) method. The implemented method will be called by an
Opportunity Territory Assignment job to assign territories to opportunities. Input is a list of up to 1,000 opportunityIds that have
IsExcludedFromTerritory2Filter=false. The method returns a map of OpportunityId to Territory2Id, which is used to
update the Territory2Id field on the Opportunity object. We provide a sample class that we recommend you use or modify.
For details, see “OpportunityTerritory2AssignmentFilter Interface” in the Force.com Apex Code Developer’s Guide.

IN THIS SECTION:
ConnectApi (Chatter in Apex)
Use Chatter in Apex to create custom experiences in Salesforce. This release you can edit feed posts and comments, associate records
with groups, find enhanced support for custom recommendations, and more.

ConnectApi (Chatter in Apex)


Use Chatter in Apex to create custom experiences in Salesforce. This release you can edit feed posts and comments, associate records
with groups, find enhanced support for custom recommendations, and more.
Many Chatter REST API resource actions are exposed as static methods on Apex classes in the ConnectApi namespace. These methods
use other ConnectApi classes to input and return information. The ConnectApi namespace is referred to as Chatter in Apex.
In Apex, it’s possible to access some Chatter data using SOQL queries and objects. However, ConnectApi classes expose Chatter
data in a much simpler way. Data is localized and structured for display. For example, instead of making many calls to access and assemble
a feed, you can do it with a single call.

Note: To integrate mobile apps, intranet sites, and third party Web applications with Chatter and Communities, use Chatter REST
API.

IN THIS SECTION:
General Updates to Chatter in Apex
New and Changed Chatter in Apex Classes
New and Changed Chatter in Apex Input Classes
New and Changed Chatter in Apex Output Classes
New and Changed Chatter in Apex Enums

263
Salesforce Summer ’15 Release Notes Apex Code

General Updates to Chatter in Apex

Create Custom Labels for Action Links


If the labels in the Label Key drop-down list don’t make sense for an action link, set Label Key to None and enter a custom
label in the Label field. You can create a custom label only in an action link template.

Action links have four statuses: NewStatus, PendingStatus, SuccessStatus, and FailedStatus. These strings are appended to the label for
each status:
• label
• label Pending
• label Success
• label Failed
For example, if the value of label is “See Example,” the values of the four action link states are: See Example, See Example Pending,
See Example Success, and See Example Failed.

New and Changed Chatter in Apex Classes

Feeds
These methods are in the ConnectApi.ChatterFeeds class.
Determine if a post or comment is editable by the context user
• isCommentEditableByMe(communityId, commentId)—Indicates whether the context user can edit a comment.
• isFeedElementEditableByMe(communityId, feedElementId)—Indicates whether the context user can
edit a feed element. Feed items are the only type of feed element that can be edited.
Edit a post or comment
• updateComment(communityId, commentId, comment)—Edits a comment.
• updateFeedElement(communityId, feedElementId, feedElement)—Edits a feed element. Feed items
are the only type of feed element that can be edited.

264
Salesforce Summer ’15 Release Notes Apex Code

Groups
These methods are in the ConnectApi.ChatterGroups class.
Associate a record with a group
• addRecord(communityId, groupId, recordId)—Associates a record with a group.
Get information about a group record
• getRecord(communityId, groupRecordId)—Returns information about a record associated with a group.
Remove a group record
• removeRecord(communityId, groupRecordId)—Removes the association of a record with a group.
Get group records in communities
These methods now support group records in communities:
• getRecords(communityId, groupId)
• getRecords(communityId, groupId, pageParam, pageSize)

Recommendations
These methods are in the ConnectApi.Recommendations class.
Reject a static recommendation
• rejectRecommendationForUser(communityId, userId, action, objectEnum)—Rejects the static
recommendation for the context user.
Get custom recommendations
These existing methods can now be used to get custom recommendations:
• getRecommendationForUser(communityId, userId, action, objectId)
• getRecommendationsForUser(communityId, userId, contextAction, contextObjectId,
maxResults)
• getRecommendationsForUser(communityId, userId, action, contextAction,
contextObjectId, maxResults)
• getRecommendationsForUser(communityId, userId, action, objectCategory,
contextAction, contextObjectId, maxResults)
Reject a custom recommendation
This existing method can now be used to reject a custom recommendation.
• rejectRecommendationForUser(communityId, userId, action, objectId)

New and Changed Chatter in Apex Input Classes

Groups
ConnectApi.GroupRecordInput
This new class has one property, recordId, that is the ID of the record to associate with the group.

265
Salesforce Summer ’15 Release Notes Apex Code

New and Changed Chatter in Apex Output Classes

Action Links
ConnectApi.ActionLinkDefinition
This class has one new property, label, which specifies a custom label to display on an action link button.
Action links have four statuses: NewStatus, PendingStatus, SuccessStatus, and FailedStatus. These strings are appended to the label
for each status:
• label
• label Pending
• label Success
• label Failed
For example, if the value of label is “See Example,” the values of the four action link states are: See Example, See Example Pending,
See Example Success, and See Example Failed.
An action link can use either label or labelKey to generate label names, it can’t use both. If label has a value, the value
of labelKey is None. If labelKey has a value other than None, the value of label is null.

Communities
ConnectApi.UserSettings
This class has one new property, canViewCommunitySwitcher, that specifies whether the user can see the community
switcher menu.

Feeds
ConnectApi.CommentCapabilities
This output class has this new property:
• edit—If a comment has this capability, users who have permission can edit it.
ConnectApi.EditCapability
This new output class has these properties:
• isEditRestricted—Specifies whether editing this feed element or comment is restricted. If true, the context user can’t
edit this feed element or comment. If false, the context user may or may not have permission to edit this feed element or
comment. To determine if a feed element or comment is editable by the context user, use the
isFeedElementEditableByMe(String, String) or isCommentEditableByMe(String, String)
method.
• isEditableByMeUrl—The URL to check if the context user is able to edit this feed element or comment.
• lastEditedBy—Who last edited this feed element or comment.
• lastEditedDate—The most recent edit date of this feed element or comment.
• latestRevision—The most recent revision of this feed element or comment.
• relativeLastEditedDate—Relative last edited date, for example, “2h ago.”
ConnectApi.FeedElementCapabilities
This output class has this new property:
• edit—If a feed element has this capability, users who have permission can edit it.

266
Salesforce Summer ’15 Release Notes Apex Code

ConnectApi.FeedEntityIsEditable
This new output class has these properties:
• feedEntityUrl—URL of the feed element or comment.
• isEditableByMe—true if the context user can edit the feed element or comment, false otherwise.

Files
ConnectApi.UserSettings
This output class has one new property, hasFileSyncManagedClientAutoUpdate, that indicates whether the administrator
for the user’s organization allows file sync clients to update automatically.

Maintenance
ConnectApi.MaintenanceInfo
This new class represents information about upcoming scheduled maintenance for an organization and has these properties:
• description—Description of the maintenance.
• maintenanceTitle—Title of the maintenance.
• maintenanceType—Specifies the type of maintenance. One of the following:
– Downtime—Downtime maintenance.
– GenerallyAvailable—Maintenance with generally available mode.
– MaintenanceWithDowntime—Scheduled maintenance with downtime.
– ReadOnly—Maintenance with read-only mode.

• messageEffectiveTime—Effective time when users start seeing the maintenance message.


• messageExpirationTime—Expiration time of the maintenance message.
• scheduledEndDowntime—Scheduled end of downtime. null for GenerallyAvailable and ReadOnly
maintenance types.
• scheduledEndMaintenanceTime—Scheduled end of maintenance. null for Downtime maintenance type.
• scheduledStartDowntime—Scheduled start of downtime. null for GenerallyAvailable and ReadOnly
maintenance types.
• scheduledStartMaintenanceTime—Scheduled start time of maintenance. null for Downtime maintenance
type.
ConnectApi.OrganizationSettings
This class has one new property, maintenanceInfo, that provides information about a list of upcoming scheduled maintenances
for the organization.

Motif
ConnectApi.Motif
This output class has a new svgIconUrl property, which is the URL to an icon in SVG format that represents a record type.

Recommendations
ConnectApi.AbstractRecommendation
This abstract class has these new properties:
• platformActionGroup—A platform action group instance with state appropriate for the context user.

267
Salesforce Summer ’15 Release Notes Lightning Components

• url—URL for the recommendation.


ConnectApi.Actor
This abstract class is a superclass of the new ConnectApi.RecommendedObject class, and its type property now supports
the recommendedObject value.
ConnectApi.EntityRecommendation
The entity property of this output class can now contain a ConnectApi.RecommendedObject, which represents a
custom recommendation.
ConnectApi.NonEntityRecommendation
This output class isn’t used in version 34.0 and later, and the ConnectApi.EntityRecommendation class is now used for
all recommendations.
ConnectApi.RecommendedObject
This new output class represents custom recommendations and has these properties:
• idOrEnum—ID of a recommendation definition for a custom recommendation.
• motif—Motif of the recommended object.

New and Changed Chatter in Apex Enums


For complete information about these enums, see “ConnectApi Enums” in Apex Code Developer’s Guide.
ConnectApi.FeedElementCapabilityType
This enum has a new Edit value that indicates whether users who have permission can edit the feed element.
ConnectApi.MaintenanceType
This new enum has these values:
• Downtime—Downtime maintenance.
• GenerallyAvailable—Maintenance with generally available mode.
• MaintenanceWithDowntime—Scheduled maintenance with downtime.
• ReadOnly—Maintenance with read-only mode.
ConnectApi.RecommendedObjectType
This new enum has this value:
• Today—Static recommendations that don’t have an ID, for example, the Today app recommendation.

Lightning Components
The Lightning Component framework powers Salesforce1. Use the framework to build mobile apps
EDITIONS
and pages faster than ever.
Use out-of-the-box components or build your own components with JavaScript, HTML, CSS, Apex, Available for use in: Contact
or any web-enabled code. Manager, Group,
Professional, Enterprise,
The AppExchange for Components enables you to install components created by Salesforce partners
Performance, Unlimited,
or publish your own components.
and Developer Editions
For more information, refer to the Lightning Components Developer’s Guide. Create Lightning
components using the UI in
Enterprise, Performance,
Unlimited, Developer
Editions or a sandbox.

268
Salesforce Summer ’15 Release Notes Lightning Components

IN THIS SECTION:
Standalone Lightning Apps (Generally Available)
Lightning components in standalone apps (.app resources) are generally available. Integrating Lightning components with
Salesforce1 is in a beta release that is production quality but has some limitations.
Lightning Components
Components help you build apps faster. Use them in your Lightning apps or in Salesforce1.
Lightning Events
Events add a layer of interaction to your components.
Other Changes in Lightning Components
We’ve made additional changes in Lightning Components.

Standalone Lightning Apps (Generally Available)


Lightning components in standalone apps (.app resources) are generally available. Integrating Lightning components with Salesforce1
is in a beta release that is production quality but has some limitations.
Lightning components in standalone apps are available by default. You can enable Lightning components in Salesforce1 from Setup
by navigating to Develop > Lightning Components.

Lightning Components
Components help you build apps faster. Use them in your Lightning apps or in Salesforce1.

Changed Components
The following components now have simpler body structures that improve performance. These performance enhancements enable
components to load faster, especially in apps or pages with large numbers of input and output components, such as the record edit
page in Salesforce1.
ui:input
You can no longer pass a body into an input component that extends ui:input. For example, you can no longer pass a body in
ui:inputCheckbox to override the body that ui:inputCheckbox provides.
ui:outputEmail
The root element of this component is now a <span> tag. The client-side controller for ui:outputEmail now contains the
logic that appends a mailto: prefix to a given text value, which renders like the following example.
<span class="uiOutputEmail">
<a href="mailto:[email protected]">[email protected]</a>
</span>

ui:outputPhone
The client-side controller for ui:outputPhone now contains the logic that appends a tel: prefix to a given value on mobile
devices. This change is a performance enhancement and doesn’t affect your implementation.
ui:outputURL
The client-side controller for ui:outputURL now contains the logic that builds the body of the <a> tag, based on whether
the iconClass attribute is used. This change is a performance enhancement and doesn’t affect your implementation.

269
Salesforce Summer ’15 Release Notes Lightning Components

Lightning Events
Events add a layer of interaction to your components.
The following ui events are now available.

Event Name Description


ui:clearErrors Indicates that any validation errors should be cleared.

ui:validationError Indicates that the component has validation errors.

Other Changes in Lightning Components


We’ve made additional changes in Lightning Components.

IN THIS SECTION:
Use My Domain with Lightning Components
Lightning components now work if you use custom domains with My Domain.
Use Custom Labels in Lightning Components
Use custom labels in Lightning components with the $Label global value provider.
New empty() Expression Function
The empty(v.attributeName) function returns true if the argument is empty.
Create Picklists for Lightning App Builder Components
You can now render string fields as picklists in custom Lightning components you’ve configured for the Lightning App Builder.
Changes to Design Files for Lightning App Builder Components
We made two changes to what design files support for Lightning App Builder components.
Referential Integrity Validation Expanded
An expanded range of changes to Lightning components and component dependencies are validated when saved to ensure that
the changes don’t break existing code.
Default Namespace Usable in More Contexts
The default namespace, “c”, which was introduced in the previous release, is available in additional contexts. You can use the default
namespace to refer to resources using <aura:dependency>.
Use App Templates to Customize Startup Screen for Custom Apps
You can create custom templates for an app by creating a Lightning component that extends the default aura:template
template.
Cache Additional Web Resources Using AppCache
In addition to the default AppCache resources, you can cache additional resources like JavaScript files, CSS stylesheet files, and image
files.
Slimmed Down the JavaScript API Doc
The JavaScript API section of the reference doc app has been filtered to only show the methods that you need to build Lightning
components.

270
Salesforce Summer ’15 Release Notes Lightning Components

Use My Domain with Lightning Components


Lightning components now work if you use custom domains with My Domain.
For more information about My Domain, see the online help.

Use Custom Labels in Lightning Components


Use custom labels in Lightning components with the $Label global value provider.
Custom labels are custom text values that can be translated into any language Salesforce supports. Custom labels enable developers to
create multilingual applications by automatically presenting information (for example, help text or error messages) in a user's native
language.
Use this syntax to access custom labels in Lightning components:
• $Label.c.labelName for the default namespace
• $Label.namespace.labelName if your org has a namespace
Here are some examples.
Label in a markup expression using the default namespace
{!$Label.c.labelName}
Label in JavaScript code if your org has a namespace
$A.get("$Label.namespace.labelName")

Note: Custom labels referenced in a Lightning component are not automatically added when you create a package containing
the Lightning component. To include a custom label in a package, another member of the package, such as a Visualforce page,
must reference the custom label.

New empty() Expression Function


The empty(v.attributeName) function returns true if the argument is empty.
This function works for arguments of type String, Array, Object, List, Map, or Set.
An empty argument is undefined, null, an empty array, or an empty string. An object with no properties is not considered empty.

Example: {! !empty(v.myArray)} evaluates faster than {!v.myArray && v.myArray.length > 0} so


we recommend empty() to improve performance.

Create Picklists for Lightning App Builder Components


You can now render string fields as picklists in custom Lightning components you’ve configured for the Lightning App Builder.
To render a field as a picklist, add a datasource onto the attribute in the design resource, like this:
<design:attribute name="Name" datasource="value1,value2,value3" />

Any string attribute with a datasource in a design resource is treated as a picklist. How the Lightning App Builder renders it depends
on the data type that you define in the component. For example:
• <aura:attribute name="Name" type="String" /> renders as a picklist
• <aura:attribute name="Name" type="String[]" /> renders as a multi-select picklist

271
Salesforce Summer ’15 Release Notes Lightning Components

Changes to Design Files for Lightning App Builder Components


We made two changes to what design files support for Lightning App Builder components.
Design files no longer support the type field. Define attribute types in the component file, then expose the attributes in the design
file.
In addition, a design file now supports only attributes of type int, string, or boolean.

Referential Integrity Validation Expanded


An expanded range of changes to Lightning components and component dependencies are validated when saved to ensure that the
changes don’t break existing code.
You can reference component names, custom object and field names, class names, and so on in your Lightning components markup.
When they change—for example, if you change the name of a custom component—code that references the changed item also needs
to change. In some cases—for example, changing the name of a custom object—these changes are made automatically and happen
behind the scenes. In other instances, you need to make code changes manually. In those cases, you receive a compilation error when
you try to save the incompatible change.
Referential integrity checking is expanded to include explicit dependency references using <aura:dependency> and references
that extend through an inheritance hierarchy. References to custom fields are also validated and updated more thoroughly.
Referential integrity validation still has a few gaps, mostly to do with references within JavaScript code and inside of expressions. Even
complete validation can’t prevent many kinds of errors. Nevertheless, this validation makes it easier to refactor and grow your code, and
gives you confidence as you do it.

Default Namespace Usable in More Contexts


The default namespace, “c”, which was introduced in the previous release, is available in additional contexts. You can use the default
namespace to refer to resources using <aura:dependency>.
Here’s an example of an explicit dependency using the default namespace.
<aura:dependency resource="markup://c:myComponent" />

Previously, if your organization had a namespace set, you were required to use the full namespace.
It remains a best practice to always use your organization’s namespace if it’s set. These changes make it easier to reuse code that’s shared
in articles, GitHub repositories, and so on.

Use App Templates to Customize Startup Screen for Custom Apps


You can create custom templates for an app by creating a Lightning component that extends the default aura:template template.
For a sample app, this looks like:
<aura:component isTemplate="true" extends="aura:template">
<aura:set attrivute="title" value="Doc Sample"/>
...
</aura:component>

Cache Additional Web Resources Using AppCache


In addition to the default AppCache resources, you can cache additional resources like JavaScript files, CSS stylesheet files, and image
files.

272
Salesforce Summer ’15 Release Notes API

To specify these resources, add the additionalAppCacheURLs system attribute to the aura:application tag in your
.app file. The additionalAppCacheURLs attribute value holds the URLs of the additional resources.

Note: The useAppCache="true" attribute must also be set to enable caching.

Slimmed Down the JavaScript API Doc


The JavaScript API section of the reference doc app has been filtered to only show the methods that you need to build Lightning
components.
Previously, the JavaScript API doc was showing many objects and methods that should only be used internally in the framework code
so it was promoting anti-patterns for developers. You should limit your code to only use the set of supported methods. Existing code
that uses other methods will not break in this release but we are not guaranteeing support for these methods in future releases.
Access the reference doc app at:
https://<mySalesforceInstance>.lightning.force.com/auradocs/reference.app, where
<mySalesforceInstance> is the name of the instance hosting your org; for example, na1.

API
Access more metadata types and data objects in API version 34.0.
EDITIONS

IN THIS SECTION: Available in:


• Developer
New and Changed Objects • Enterprise
These objects are new or have changed. • Unlimited
API Status Code Changes • Performance
A new, more accurate error code replaces INVALID_READ_ONLY_USER_DML .
SOQL
New nested semi-joins for the TopicAssignment object allow queries on Knowledge articles assigned to specific topics.
SOSL
REST API
REST API includes new and changed resources.
Chatter REST API
Use Chatter REST API to integrate mobile apps, intranet sites, and third-party web applications with Salesforce. This release you can
edit feed posts and comments, associate records with groups, find enhanced support for custom recommendations, and more.
Salesforce1 Reporting REST API
The Reporting REST API includes new resources and properties.
Data.com API
The Data.com APIs provide access to the most up-to-date Data.com records. You can search, match, and purchase company and
contact records.
Tooling API
Tooling API provides SOAP and REST interfaces that allow you to build custom development tools for Force.com applications.
SOAP API
SOAP API includes new data types and changed calls.

273
Salesforce Summer ’15 Release Notes API

Metadata API
Use the Metadata API to manage customization information, such as custom object definitions and page layouts, for your organization.
Salesforce Console API (Integration Toolkit)
The toolkit includes new and updated methods that let you customize a console programmatically.
Open CTI API
Open CTI includes a new method that helps you customize and integrate Salesforce with Computer-Telephony Integration (CTI)
systems.
Invocable Actions
Invocable Actions represent the actions that can be accomplished on Salesforce with APIs.

New and Changed Objects


These objects are new or have changed.

IN THIS SECTION:
New Objects
These objects are new.
Changed Objects
These objects have changed.

New Objects
These objects are new.
AgentWork
Represents a work assignment that has been routed to an agent.
ContentFolder
Represents a folder in a ContentWorkspace for adding files (ContentDocuments).
ContentFolderLink
In a ContentWorkspace that has folders enabled, defines the association between the ContentWorkspace and its root ContentFolder.
ContentFolderMember
Defines the association between a ContentDocument and a ContentFolder.
Custom Metadata Type__mdt
Represents a custom metadata record.
FeedRevision
Holds the revision history of a specific feed item or comment, including a list of attributes that changed for each revision.
ListViewChartInstance
Retrieves metadata for all standard and custom charts for a given entity in context of a given list view.
LiveChatBlockingRule
Represents a rule for blocking chat visitors’ IP addresses from starting new chats with agents.
LoginGeo
Represents the geographic location of the user’s IP address for a login event. Due to the nature of geolocation technology, the
accuracy of geolocation fields (for example, country, city, postal code) may vary.

274
Salesforce Summer ’15 Release Notes API

NetworkPageOverride
Represents information about custom pages used to override the default pages in communities.
NetworkSelfRegistration
Represents the account that self-registering community members are associated with by default.
PresenceUserConfig
Represents a configuration that determines a presence user’s settings.
PresenceUserConfigProfile
Represents a configuration that determines the settings that are assigned to presence users who are assigned to a specific profile.
User-level configurations override profile-level configurations.
PresenceUserConfigUser
Represents a configuration that determines the settings that are assigned to a presence user. These user-level configurations override
profile-level configurations.
ProfileSkillEndorsementFeed
Represents a single feed item in the feed displayed on the detail page for a ProfileSkillEndorsement record.
ProfileSkillUserFeed
Represents a single feed item in the feed displayed on the detail page for a ProfileSkillUser record.
QueueRoutingConfig
Represents the settings that determine how work items are routed to agents.
ServiceChannel
Represents a channel of work items that are received from your organization—for example, cases, chats, or leads.
ServiceChannelStatus
Represents the status that’s associated with a specific service channel.
ServicePresenceStatus
Represents a presence status that can be assigned to a service channel.
SOSDeployment
Represents the general settings for deploying SOS video call capability in a native mobile application.
SOSSession
This object is automatically created for each SOS session and stores information about the session.
SOSSessionActivity
Captures information about specific events that occur during an SOS video call, such as when an SOS call begins or ends.
SOSSessionHistory
This object is automatically created for each SOS session and stores information about changes made to the session.
SOSSessionOwnerSharingRule
Represents the rules for sharing an SOS session record with users other than the record owner.
SOSSessionShare
Represents a sharing entry on an SOS session.
TenantSecret
This object stores an encrypted organization-specific key fragment that is used to produce organization-specific data encryption
keys.

Note: This information applies to Platform Encryption and not to Classic Encryption. See the Salesforce Online Help for more
information.

275
Salesforce Summer ’15 Release Notes API

UserProvisioningConfig
Represents information for a flow to use during a user provisioning request process, such as the attributes for an update. The values
of this object are read-only.
UserProvisioningRequestOwnerSharingRule
Represents a rule for sharing a UserProvisioningRequest object with users other than the owner.
UserProvisioningRequestShare
Represents a sharing entry on a UserProvisioningRequest record.
WorkFeedbackTemplate
This object is reserved for future use.
WorkFeedbackTemplateShare
This object is reserved for future use.

Changed Objects
These objects have changed.
ActionLinkTemplate
Label—A custom label to display on the action link button. If none of the LabelKey values make sense for an action link, use
a custom label. Set the LabelKey field to None and enter a label name in the Label field.
AppMenuItem
A new field, CanvasOptions, has been added. It indicates the enabled options for a canvas connected app.
Attachment
You can set audit field values on the Attachment object. If you import Attachment data and want to set the value for an audit field,
such as CreatedDate, contact Salesforce.
IsEncrypted—

Note: This information applies to Platform Encryption and not to Classic Encryption. See the Salesforce Online Help for more
information.
Indicates whether the attachment is encrypted using Platform Encryption (true) or not (false).
AuthSession
LoginGeo indicates the geographic location of the user’s IP address for a login event. Due to the nature of geolocation technology,
the accuracy of geolocation fields (for example, country, city, postal code) varies.
CollaborationGroupRecord
NetworkId stores information about the community that the group belongs to.
ContentDocument
ContentDocument can now be SOQL-queried by high-volume portal users.
ContentDocumentLink
Share all types of files with a library by creating links to ContentWorkspace in the SObject API.
ContentNote
IsReadOnly indicates whether the note is read only.
ContentVersion
IsEncrypted—

Note: This information applies to Platform Encryption and not to Classic Encryption. See the Salesforce Online Help for more
information.

276
Salesforce Summer ’15 Release Notes API

Indicates whether the document is encrypted using Platform Encryption (true) or not (false).
TagCsv Field lets those with sufficient permissions add tags as metadata to all files.
ContentVersion can now be SOQL-queried by high-volume portal users.
DatacloudCompany
These fields represent Firmographic data used in Prospecting Insights with Data.com Prospector.
• EmployeeQuantityGrowthRate—The yearly growth rate of the number of employees in a company expressed as a
decimal percentage. The data includes the total employee growth rate for the past two years.
• FortuneRank—The numeric value of the company’s Fortune 1000 ranking. A null or blank value means that the company
isn’t ranked as a Fortune 1000 company.
• IncludedInSnP500— A true or false value. If true, the company is listed in the S&P 500 Index. If false, the company
isn’t listed in the S&P 500 Index.
• PremisesMeasure—A numeric value for the measurement of the premises.
• PremisesMeasureReliability—A descriptive accuracy of the measurement such as actual, estimated, or modeled.
• PremisesMeasureUnit—A descriptive measurement unit such as acres, square meters, or square feet.
• SalesTurnoverGrowthRate—The increase in annual revenue from the previous value for an equivalent period expressed
as a decimal percentage.
DatacloudDandBCompany
These fields represent Firmographic data used in Prospecting Insights with Data.com Prospector.
• EmployeeQuantityGrowthRate—The yearly growth rate of the number of employees in a company expressed as a
decimal percentage. The data includes the total employee growth rate for the past two years.
• FortuneRank—The numeric value of the company’s Fortune 1000 ranking. A null or blank value means that the company
isn’t ranked as a Fortune 1000 company.
• IncludedInSnP500— A true or false value. If true, the company is listed in the S&P 500 Index. If false, the company
isn’t listed in the S&P 500 Index.
• PremisesMeasure—A numeric value for the measurement of the premises.
• PremisesMeasureReliability—A descriptive accuracy of the measurement such as actual, estimated, or modeled.
• PremisesMeasureUnit—A descriptive measurement unit such as acres, square meters, or square feet.
• SalesTurnoverGrowthRate—The increase in annual revenue from the previous value for an equivalent period expressed
as a decimal percentage.
Event
• AcceptedEventInviteeIds—A string array of contact or lead IDs who accepted this event. This JunctionIdList
is linked to the AcceptedEventRelation child relationship.
• DeclinedEventInviteeIds—A string array of contact, lead, or user IDs who declined this event. This
JunctionIdList is linked to the DeclinedEventRelation child relationship.
• EventWhoIds—A string array of contact or lead IDs used to create many-to-many relationships with a shared event.
EventWhoIds is available when the shared activities setting is enabled. The first contact or lead ID in the list becomes the
primary WhoId if you don’t specify a primary WhoId.
• UndecidedEventInviteeIds—A string array of contact, lead, or user IDs who are undecided about this event. This
JunctionIdList is linked to the UndecidedEventRelation child relationship.

277
Salesforce Summer ’15 Release Notes API

EmailMessage
IsExternallyVisible, a new field, controls the external visibility of email messages in communities, and is accessible only
if the community case feed is enabled. When this field is set to true—its default value—email messages are visible to external
users in the case feed.
EntitlementTemplate
NamespacePrefix specifies the namespace, if any, for the field.
FeedComment
The FeedComment object now supports update() and upsert() calls. The CommentBody field supports the Update
property. The following fields were also added.
• LastEditById—ID of the user who last edited the feed comment.
• LastEditDate—The date the feed comment was last edited.
• Revision—The revision number of the comment.
FeedItem
The FeedItem object now supports update() and upsert() calls. The Body field supports the Update property. The Title
field can only be updated on Question posts. The Visibility field can only be updated on record posts. The following fields
were added.
• LastEditById—ID of the user who last edited the feed item.
• LastEditDate—The date the feed item was last edited.
• Revision—The revision number of the feed item.
ForecastingAdjustment
• A new field, ForecastingItemCategory, has been added. This field indicates which forecast rollup the forecast adjustment
belongs to. For complete details, see API Changes for Cumulative Forecast Rollups.
• The ForecastCategoryName field is now nillable.
ForecastingItem
• A new field, ForecastingItemCategory, has been added. This field indicates which forecast rollup the forecasting item
belongs to. For complete details, see API Changes for Cumulative Forecast Rollups.
• The ForecastCategoryName field is now nillable.
ForecastingOwnerAdjustment
A new field, ForecastingItemCategory, has been added. This field indicates which forecast rollup the forecast adjustment
belongs to. For complete details, see API Changes for Cumulative Forecast Rollups.
Goal
The Progress field no longer supports the Create or Update properties.
Group
• Query the Group object to retrieve its name using Related.Name. Related.Name is supported for public groups, user
roles, territories, manager groups, and user names.
• The Type field has new picklist values: Manager and ManagerAndSubordinatesInternal. These groups are
read-only.
– Manager—Public group that includes a user’s direct and indirect managers.
– ManagerAndSubordinatesInternal—Public Group that includes a user and the user’s direct and indirect reports.

278
Salesforce Summer ’15 Release Notes API

LiveChatTranscript
The Status field has a new available picklist value: Blocked. This value applies when an agent or administrator blocks an IP
address.
LiveChatTranscriptEvent
The Type field has two new available picklist values. AgentBlocked applies when an agent blocks an IP address during a chat.
CancelBlocked applies when and existing Blocking Rule blocks a chat request.
LiveChatUserConfig
• OptionsHasChatConferencing specifies whether your chat agents can invite more agents into customer chats. Use
it to turn your agents’ boring customer chats into veritable support parties!
• OptionsHasVisitorBlocking specifies whether your agents can block visitors by IP address.
• OptionsIsAutoAwayOnPushTimeout specifies whether agents' status automatically change to Away when a chat
request that's been pushed to them times out.
LoginHistory
• AuthenticationServiceId indicates the authentication service for a login event. Use it to create reports that identify
the SAML or authentication provider configuration with which a user logged in.
• LoginGeoId indicates the geographic location of the user’s IP address for a successful or unsuccessful login event. Due to
the nature of geolocation technology, the accuracy of geolocation fields (for example, country, city, postal code) varies.
Metric
CurrentValue, InitialValue, and TargetValue support the property Default on create.
MetricDataLink
The Name field supports the properties Autonumber and Defaulted on create, but the field no longer supports the Create, Update,
and Group properties.
Network
The FirstActivationDate field indicates the date the community was first activated. If the community was activated or
inactive before the release of API version 34.0, this field returns the date the community was created.
OauthToken and ThirdPartyAccountLink
These objects were enhanced to help manage high instance counts. A query() call returns up to 500 rows. A queryMore()
call returns 500 more, up to 2500 total. No more records are returned after 2500. To make sure that you don’t miss any records, issue
a COUNT() query in a SELECT clause for the object. This query gives you the total number of records. If there are more than 2500
records, divide your query by filtering on fields, like UserId, to return subsets of less than 2500 records.
Opportunity
The Pricebook2 field can be used in Opportunity page layouts.
PartnerNetworkConnection
The ConnectionStatus field has a new value, BulkSyncMetadata. The connection status displays this value when
metadata is being synced from the primary to the secondary Salesforce organization. It applies only for Salesforce to Salesforce
replication connections whose administrators have opted to sync metadata.
PartnerNetworkSyncLog
• The PartnerNetworkSyncLog object now supports the search() call.
• The LocalRecordId field was replaced by the LocalRecord field, which represents the record being inserted or updated
in a Salesforce to Salesforce replication connection.
ProfileSkillEndorsement
The ProfileSkillEndorsement object supports the search() call.

279
Salesforce Summer ’15 Release Notes API

ProfileSkillUser
The ProfileSkillUser object supports the search() call.
Quote
The Discount field uses values .01 to 1 instead of 1 to 100 to express a percentage when used in a formula.
Task
TaskWhoIds—A string array of contact or lead IDs related to this task. This JunctionIdList field is linked to the
TaskWhoRelations child relationship. TaskWhoIds is only available when the shared activities setting is enabled. The first
contact or lead ID in the list becomes the primary WhoId if you don’t specify a primary WhoId.
TopicAssignment
The EntityKeyPrefix field is case-sensitive, letting you precisely identify object types with three-character IDs. Unless you
have older reports that rely on this field, however, use the EntityType field, which uses standard object names such as “FeedItem”
and “Account.”
User
These fields determine a Guest user’s access to information on a user’s profile in a community.
• UserPreferencesShowEmailToGuestUsers
• UserPreferencesShowFaxToGuestUsers
• UserPreferencesShowManagerToGuestUsers
• UserPreferencesShowMobilePhoneToGuestUsers
• UserPreferencesShowStreetAddressToGuestUsers
• UserPreferencesShowWorkPhoneToGuestUsers
UserProvisioningRequest
• ManagerId is the Salesforce ID of the user who manages the user specified in the SalesforceUserId field. If an approval
process is configured for the user provisioning request. this value allows the manager to approve the request.
• UserProvConfigId identifies the associated UserProvisioningConfig object.
WorkBadge
The WorkBadge object supports the describeLayout() call.
WorkFeedbackRequest
• AdHocFeedback—The content of the feedback.
• AdHocQuestion—The content of the feedback question.
• IsDeployed—If true, the feedback is part of a deployed performance summary cycle.
• IsUnsolicited—If true, the feedback request is unsolicited feedback offered to another user.
• SharingScope—The users that see the feedback.
• TemplateId—The ID of the associated feedback template.
The FeedbackType field includes the Unspecified picklist value.
WorkFeedbackQuestion
The Type field has the Rating picklist value.

280
Salesforce Summer ’15 Release Notes API

API Status Code Changes


A new, more accurate error code replaces INVALID_READ_ONLY_USER_DML .
EDITIONS
Available in version 34.0:
Available in:
INSERT_DELETE_UPDATE_NOT_ ALLOWED_DURING_MAINTENANCE
• Developer
The message for this status code: • Enterprise
• Unlimited
• Performance

Updates can’t be made during maintenance. Try again when maintenance is complete.

This error code replaces INVALID_READ_ONLY_USER_DML, which is still available for backward compatibility.
DUPLICATES_DETECTED
Used when your organization has active duplicate rules and duplicate records have been detected.
Used when a record is saved and there’s an Error object with a data type of DuplicateError. For more information on these data types,
see New Data Types

SOQL
New nested semi-joins for the TopicAssignment object allow queries on Knowledge articles assigned to specific topics.
For example:
SELECT parentId FROM KnowledgeArticleViewStat
WHERE parentId in (SELECT KnowledgeArticleId FROM KnowledgeArticleVersion
WHERE publishStatus = 'Online' AND language = 'en_US'
AND Id in (select EntityId from TopicAssignment where TopicId ='0T0xx0000000xxx'))
ORDER by NormalizedScore DESC LIMIT 900

SOSL
Use the Salesforce Object Search Language (SOSL) to perform text searches using Salesforce APIs.
SOSL Support for the ContentDocument and ContentNote Objects
SOSL searches now support the ContentDocument and ContentNote objects.
For example:
FIND {5551212} IN ALL FIELDS RETURNING ContentNote

Previously, the only content object SOSL supported was ContentVersion. You can’t use the ContentDocument or ContentNote
objects in the same RETURNING clause as the ContentVersion object. For example, this search () call is invalid:
FIND {5551212} IN ALL FIELDS RETURNING ContentNote, ContentVersion

REST API
REST API includes new and changed resources.

281
Salesforce Summer ’15 Release Notes API

New Resources
Composite Resources
Salesforce introduces two composite resources for improving your application’s performance by minimizing the number of round
trips between client and server.
Batch
vXX.X/composite/batch
The Batch resource lets you execute a sequence of independent subrequests. For example, you can update the name on an
account and get the account’s field values in a single request.
{
"batchRequests" : [
{
"method" : "PATCH",
"url" : "v34.0/sobjects/account/001D000000K0fXOIAZ",
"richInput" : {"Name" : "NewName"}
},{
"method" : "GET",
"url" : "v34.0/sobjects/account/001D000000K0fXOIAZ"
}]
}

The response contains the status codes of each subresponse and the responses themselves.
{
"hasErrors" : false,
"results" : [
{
"statusCode" : 204,
"result" : null
},{
"statusCode" : 200,
"result" : { Account attributes }
}]
}

The Batch resource supports batching for the following resources and resource groups.
Versions
/
Resources by Version
vXX.X
Limits
vXX.X/limits
SObject resources
vXX.X/sobjects/
Query
vXX.X/query/?q=soql
QueryAll
vXX.X/queryAll/?q=soql

282
Salesforce Summer ’15 Release Notes API

Search
vXX.X/search/?q=sosl
Connect resources
vXX.X/connect/
Chatter resources
vXX.X/chatter/
SObject Tree
vXX.X/composite/tree

Note: The SObject Tree resource is available through a pilot program. For information on enabling this resource for your
organization, contact Salesforce.
The SObject Tree resource lets you create multiple sObject trees that share a root record type. An sObject tree is a collection of
nested, parent-child records with a single root record. Once the request is processed, the records are created and parents and
children are automatically linked by ID. In the request data, you supply the record hierarchies, required and optional field values,
each record’s type, and a reference ID for each record.
{
"records" :[{
"attributes" : {"type" : "Account", "referenceId" : "ref1"},
"name" : "SampleAccount",
"phone" : "1234567890",
"website" : "www.salesforce.com",
"numberOfEmployees" : "100",
"type" : "Analyst",
"industry" : "Banking",
"Contacts" : {
"records" : [{
"attributes" : {"type" : "Contact", "referenceId" : "ref2"},
"lastname" : "Smith",
"title" : "President",
"email" : "[email protected]"
},{
"attributes" : {"type" : "Contact", "referenceId" : "ref3"},
"lastname" : "Evans",
"title" : "Vice President",
"email" : "[email protected]"
}]
}
},{
"attributes" : {"type" : "Account", "referenceId" : "ref4"},
"name" : "SampleAccount2",
"phone" : "1234567890",
"website" : "www.salesforce2.com",
"numberOfEmployees" : "100",
"type" : "Analyst",
"industry" : "Banking"
}]
}

283
Salesforce Summer ’15 Release Notes API

Upon success, the response contains the IDs of the created records.
{
"hasErrors" : false,
"results" : [{
"referenceId" : "ref1",
"id" : "001D000000K0fXOIAZ"
},{
"referenceId" : "ref2",
"id" : "001D000000K0fXPIAZ"
},{
"referenceId" : "ref3",
"id" : "003D000000QV9n2IAD"
},{
"referenceId" : "ref4",
"id" : "003D000000QV9n3IAD"
}]
}

If an error occurs while creating a record, the entire request fails and the response contains only the reference ID of the record
that caused the error and the error information.
A single request can contain up to 200 records. Because an sObject tree can contain a single record, you can use this resource
to create up to 200 unrelated records of the same type.

Changed Resources
Describe Global
/vXX.X/sobjects
The If-Modified-Since HTTP request header is now supported, enabling you to determine if an object’s metadata has
changed. You can include the If-Modified-Since header with a date in EEE, dd MMM yyyy HH:mm:ss z format
when you use the Describe Global resource. If you do, response metadata is returned only if an available object’s metadata has
changed since the provided date. If no metadata has been modified since the provided date, a 304 Not Modified status
code is returned with no response body.
Suggest Article Title Matches
/vXX.X/search/suggestTitleMatches
The Suggest Article Title Matches resource now suggests Salesforce Knowledge articles whose titles contain the entire query string,
except stopwords, such as “a,” “for,” and “the.” Results now include articles if their titles contain words from the query string in a
different order.

SEE ALSO:
IdeaExchange: Configure Apex REST Services to Accept Multiple Records in Requests (POST / PUT)
IdeaExchange: Creating or Updating Multiple Objects through REST API

Chatter REST API


Use Chatter REST API to integrate mobile apps, intranet sites, and third-party web applications with Salesforce. This release you can edit
feed posts and comments, associate records with groups, find enhanced support for custom recommendations, and more.

Note: To create custom Chatter and Communities experiences in Salesforce, use ConnectApi (Chatter in Apex).

284
Salesforce Summer ’15 Release Notes API

IN THIS SECTION:
General Updates to Chatter REST API
New and Changed Chatter REST API Resources
New and Changed Chatter REST API Request Bodies
New and Changed Chatter REST API Response Bodies

General Updates to Chatter REST API

Create Custom Labels for Action Links


If the labels in the Label Key drop-down list don’t make sense for an action link, set Label Key to None and enter a custom
label in the Label field. You can create a custom label only in an action link template.

Action links have four statuses: NewStatus, PendingStatus, SuccessStatus, and FailedStatus. These strings are appended to the label for
each status:
• label
• label Pending
• label Success
• label Failed
For example, if the value of label is “See Example,” the values of the four action link states are: See Example, See Example Pending,
See Example Success, and See Example Failed.

285
Salesforce Summer ’15 Release Notes API

New and Changed Chatter REST API Resources

Communities
Get a user profile feed that includes only feed elements scoped to a community
Feed elements that have a User or Group parent record type are always scoped to a community. Feed elements with other parent
record types (such as Account) are visible across all communities. To get a user profile feed that contains only feed elements scoped
to a community, pass a new filter parameter with the value CommunityScoped to these resources:
• /connect/communities/communityId/chatter/feeds/user-profile
/userId/feed-elements?filter=CommunityScoped
This resource contains feed elements from the community specified in the communityId.

• /chatter/feeds/user-profile/userId/feed-elements?filter=CommunityScoped
This resource contains feed elements from the internal community.

Feeds
Edit a comment
Make a PATCH request to the existing /chatter/comments/commentId resource with the Comment Input to edit a
comment.
Determine if a comment is editable by the context user
Make a GET request to the new /chatter/comments/commentId/capabilities/edit/is-editable-by-me
resource to determine if a comment is editable by the context user.
Edit a post
Make a PATCH request to the existing /chatter/feed-elements/feedElementId resource with the Feed Item Input
to edit a post.
Determine if a post is editable by the context user
Make a GET request to the new
/chatter/feed-elements/feedElementId/capabilities/edit/is-editable-by-me resource to
determine if a post is editable by the context user.

Groups
Associate a record with a group
Make a POST request to the existing /chatter/groups/groupID/records resource to associate a record with a group.
Get group records in communities
Make a GET request to the new /connect/communities/communityId/chatter/groups/groupID/records
resource to get a list of group records in a community.
Get information about a group record or remove the association between a record and group
Make a GET or DELETE request to the new /chatter/group-records/groupRecordId resource to get information
about a group record or to remove the association between a record and a group.

286
Salesforce Summer ’15 Release Notes API

Recommendations
Get and delete static recommendations
Make a GET or DELETE request to the new /chatter/users/userId/recommendations/action/objectEnum
resource, where action is view and objectEnum is Today, to get or delete a static recommendation that doesn’t have an
id.
Get custom recommendations
Make a GET request to these existing resources to get custom recommendations:
• /chatter/users/userId/recommendations
• /chatter/users/userId/recommendations/view
• /chatter/users/userId/recommendations/view/custom
• /chatter/users/userId/recommendations/view/0RD
• /chatter/users/userId/recommendations/view/customRecommendationId
Delete custom recommendations
Make a DELETE request to the existing /chatter/users/userId/recommendations/action/objectID resource,
where action is view and objectId is customRecommendationId, to delete a custom recommendation.
Schedule a recommendation
Make a POST request to the existing /connect/scheduled-recommendations resource or a PATCH request to the
existing /connect/scheduled-recommendations/scheduledRecommendationId resource with the new
enabled parameter to indicate whether a recommendation is scheduled.
Only community managers (users with the “Create and Set Up Communities” or “Manage Communities” permission) and users with
the “Modify All Data” permission can access, create, and delete recommendation definitions and scheduled recommendations. These
recommendations appear directly in the feed in communities in the Salesforce1 mobile browser app. They also appear, by default,
on the right side of the home page in communities using the Summer ’15 or later version of the Napili template.
Customize the button label for recommendations
Make a POST request to the existing /connect/recommendation-definitions resource or a PATCH request to the
existing /connect/recommendation-definitions/recommendationDefinitionId resource with the new
actionUrlName parameter to customize the label for recommendations.
Only community managers (users with the “Create and Set Up Communities” or “Manage Communities” permission) and users with
the “Modify All Data” permission can access, create, and delete recommendation definitions and scheduled recommendations. These
recommendations appear directly in the feed in communities in the Salesforce1 mobile browser app. They also appear, by default,
on the right side of the home page in communities using the Summer ’15 or later version of the Napili template.

New and Changed Chatter REST API Request Bodies

Groups
Group Record Input
This new request body has one property, recordId, that is the ID of the record to associate with the group.

Recommendations
Recommendation Definition Input
This request body has one new property, actionUrlName, that is the text label of the action URL in the user interface.
Scheduled Recommendation Input
This request body has one new property, enabled, that indicates whether the recommendation is scheduled.

287
Salesforce Summer ’15 Release Notes API

New and Changed Chatter REST API Response Bodies

Action Links
Action Link Definition
This response body has one new property, label, which specifies a custom label to display on an action link button.
Action links have four statuses: NewStatus, PendingStatus, SuccessStatus, and FailedStatus. These strings are appended to the label
for each status:
• label
• label Pending
• label Success
• label Failed
For example, if the value of label is “See Example,” the values of the four action link states are: See Example, See Example Pending,
See Example Success, and See Example Failed.
An action link can use either label or labelKey to generate label names, it can’t use both. If label has a value, the value
of labelKey is None. If labelKey has a value other than None, the value of label is null.

Communities
User Settings
This response body has one new property, canViewCommunitySwitcher, that specifies whether the user can see the
community switcher menu.

Feeds
Comment Capabilities
This response body has this new property:
• edit—If a comment has this capability, users who have permission can edit it.
Edit Capability
This new response body has these properties:
• isEditRestricted—Specifies whether editing this feed element or comment is restricted. If true, the context user can’t
edit this feed element or comment. If false, the context user may or may not have permission to edit this feed element or
comment. To determine if the context user can edit a feed element or comment, use the Feed Elements, Editability or the
Comment Capability, Editability resource.
• isEditableByMeUrl—The URL to check if the context user is able to edit this feed element or comment.
• lastEditedBy—Who last edited this feed element or comment.
• lastEditedDate—The most recent edit date of this feed element or comment.
• latestRevision—The most recent revision of this feed element or comment.
• relativeLastEditedDate—Relative last edited date, for example, “2h ago.”
Feed Element Capabilities
This response body has this new property:
• edit—If a feed element has this capability, users who have permission can edit it.
Feed Entity Is Editable
This new response body has these properties:

288
Salesforce Summer ’15 Release Notes API

• feedEntityUrl—URL of the feed element or comment.


• isEditableByMe—true if the context user can edit the feed element or comment, false otherwise.

Files
User Settings
This response body has one new property, hasFileSyncManagedClientAutoUpdate, that indicates whether the
administrator for the user’s organization allows file sync clients to update automatically.

Maintenance
Maintenance Information
This new response body represents information about upcoming scheduled maintenance for an organization and has these properties:
• description—Description of the maintenance.
• maintenanceTitle—Title of the maintenance.
• maintenanceType—Specifies the type of maintenance. One of the following:
– Downtime—Downtime maintenance.
– GenerallyAvailable—Maintenance with generally available mode.
– MaintenanceWithDowntime—Scheduled maintenance with downtime.
– ReadOnly—Maintenance with read-only mode.

• messageEffectiveTime—Effective time when users start seeing the maintenance message.


• messageExpirationTime—Expiration time of the maintenance message.
• scheduledEndDowntime—Scheduled end of downtime. null for GenerallyAvailable and ReadOnly
maintenance types.
• scheduledEndMaintenanceTime—Scheduled end of maintenance. null for Downtime maintenance type.
• scheduledStartDowntime—Scheduled start of downtime. null for GenerallyAvailable and ReadOnly
maintenance types.
• scheduledStartMaintenanceTime—Scheduled start time of maintenance. null for Downtime maintenance
type.
Organization
This response body has one new property, maintenanceInfo, that provides information about a list of upcoming scheduled
maintenances for the organization.

Motif
Motif
This response body has a new svgIconUrl property, which is the URL to an icon in SVG format that represents a record type.

Recommendations
Non-Entity Recommendation
This response body is no longer used in version 34.0 and later. In version 34.0 and later, the Recommendation response body is used
for all recommendations.
Recommendation
The entity property can now contain a Recommended Object response body, which represents a custom recommendation.

289
Salesforce Summer ’15 Release Notes API

In addition, the Recommendation response body has these new properties:


• platformActionGroup—A platform action group instance with state appropriate for the context user.
• url—URL for the recommendation.
Recommendation Definition
This response body has one new property, actionUrlName, that is the text label to the action URL in the user interface.
Recommendations Capability
The items property of this response body no longer includes Non-Entity Recommendations. In version 34.0 and later, the
Recommendation response body is used for all recommendations.
Recommended Object
This new response body represents custom recommendations and has these properties:
• idOrEnum—ID of a recommendation definition for a custom recommendation.
• motif—Motif of the recommended object.
• name—Name of the recommended object.
• type—RecommendedObject
Scheduled Recommendation
This response body has one new property, enabled, that indicates whether the recommendation is scheduled.

Salesforce1 Reporting REST API


The Reporting REST API includes new resources and properties.

IN THIS SECTION:
New Reporting REST API Resources
You can now save, clone, and delete reports, and delete dashboards using the new Reporting REST API resources.
Changed Salesforce1 Reporting REST API Request and Response Bodies
Salesforce1 Reporting REST API includes new reportMetadata properties for the request and response bodies for the Describe,
Execute Sync, and Execute Async resources.

New Reporting REST API Resources


You can now save, clone, and delete reports, and delete dashboards using the new Reporting REST API resources.
The Reporting REST API has the following new REST resources.

Resource Description Supported Resource URL


HTTP
Method
Save Saves changes to the report. PATCH /services/data/v34.0/analytics/reports/<reportId>

Clone Creates a copy of a report, which can be POST /services/data/v34.0/analytics/reports?cloneId=<reportID>


a custom, standard, or public report.

Delete Deletes the report. Deleted reports are DELETE /services/data/v34.0/analytics/reports/<reportId>


moved to the Recycle Bin.

290
Salesforce Summer ’15 Release Notes API

Resource Description Supported Resource URL


HTTP
Method
Delete Deletes the dashboard. Deleted DELETE /services/data/v34.0/analytics/dashboards/<dashboardId>
dashboards are moved to the Recycle
Bin.

For more information about these resources, see the Salesforce1 Reporting REST API Developer’s Guide.

Changed Salesforce1 Reporting REST API Request and Response Bodies


Salesforce1 Reporting REST API includes new reportMetadata properties for the request and response bodies for the Describe,
Execute Sync, and Execute Async resources.
reportMetadata contains the following new properties.

Property Description
division Determines the division of records to include in the report. For example, West Coast and East
Coast.
Available only if your organization uses divisions to segment data and you have the “Affected
by Divisions” permission. If you do not have the “Affected by Divisions” permission, your reports
include records in all divisions.

standardDateFilter Standard date filters available in reports. Each standard date filter contains the following
properties:
• column–API name of the date field on which you filter the report data.
• durationValue–The range for which you want to run the report. The value is a date literal
or 'CUSTOM.'
• startDate–Start date.
• endDate–End date.

standardFilters List of filters that show up in the report by default. The filters vary by report type. For example,
standard filters for reports on the Opportunity object are Show, Opportunity Status, and
Probability. This list appears as name-value string pairs.

hasDetailRows Indicates whether to include detailed data with the summary data.

Note: This property is not new for the response bodies for Execute Sync and Execute
Async resources.

folderId Folder ID.

Note: When the report is in the My Personal Custom Reports folder, folderId = userId.
When the report is in the Unfiled Public Reports folder, folderId = orgId.

sortBy API name of the field on which the report is sorted and the direction of the sort (asc or desc).

291
Salesforce Summer ’15 Release Notes API

Property Description
scope Defines the scope of the data on which you run the report. For example, you can run the report
against all opportunities, opportunities you own, or opportunities your team owns. Valid values
depend on the report type.

name Report name.

Note: This property is not new for the Describe response body, Execute Sync request
body, and Execute Async response body.

currency Report currency, such as USD, EUR, GBP, for an organization that has Multi-Currency enabled.
Value is null if the organization does not have Multi-Currency enabled.

Note: This property is not new for the Execute Sync request body and Execute Async
response body.

For more information about these resources, see the Salesforce1 Reporting REST API Developer’s Guide.

Data.com API
The Data.com APIs provide access to the most up-to-date Data.com records. You can search, match,
EDITIONS
and purchase company and contact records.
New Firmographics fields in the DatacloudCompany Object Available in: Developer
Represents the fields for Data.com company records. This object is available in API version 30.0 Edition, Professional Edition
or later. (add-on), Enterprise Edition,
and Unlimited Edition.
New Firmographics fields in the DatacloudDandBCompany Object
Represents a set of read-only fields that are used to return D&B company data from Data.com
API calls.

Tooling API
Tooling API provides SOAP and REST interfaces that allow you to build custom development tools for Force.com applications.

New Features
Strongly typed WSDL
You can now use a strongly typed WSDL for Tooling API.
POST JSON arrays of test methods to runTestsAsynchronous
You can now POST a JSON array of test methods to the runTestsAsynchronous endpoint. Formerly, in POST methods,
the runTestsAsynchronous endpoint accepted only comma-separated lists of class IDs.
Format:
POST
/runTestsAsynchronous/
Body:
{"tests":<tests array>}

292
Salesforce Summer ’15 Release Notes API

Example <tests array>:


[{
"classId" : "<classId 1>",
"testMethods" : ["testMethod1","testMethod2","testMethod3"]
},{
"classId" : "<classId 2>",
"testMethods" : ["testMethod1","testMethod2"]
}];

New Objects
EntityLimit
Represents the limits on an object that are displayed in the Setup UI.
EntityParticle
Represents the distinct parts of an object that can be individually presented in a describe call, with one field for every field in the
describe call. In contrast, FieldDefinition represents the distinct parts of a type that are defined in the Metadata API.
FieldDefinition
FieldDefinition represents the fields of an object defined in the Metadata API. FieldDefinition has one field for every field in the
Metadata API. In contrast, EntityParticle represents the parts of an object that are individually presented in a describe call.
Flow
Represents the metadata associated with a flow.
FlowDefinition
The parent of all versions of a particular flow.
LookupFilter
Previously unavailable in the Tooling API.
Publisher
Indicates who has published the object: Salesforce, a managed package, or a user.
RelationshipDomain
Represents the relationships an object has with other objects.
UserEntityAccess
Represents the running user's access to an object.
SearchLayout
Represents a search layout.
UserEntityAccess
Represents the running user's access to an object.
WebLink
Previously unavailable in the Tooling API.

New and Changed Fields


All fields are new unless otherwise noted.
CustomTab
• ContentId—The ID of the item that the custom tab points to. For Lightning components, this field’s value is the ID of the
component bundle. For custom object tabs, this field’s value is null.
• EncodingKey—The type of encoding assigned to the URL called by the tab.

293
Salesforce Summer ’15 Release Notes API

• MotifName—The name of the tab style assigned to the custom tab.


EntityDefinition
More than 30 new fields have been added in support of data and metadata objects that are now available in the Tooling API WSDL.
SymbolTable
• Previously, only the STATIC and TEST modifiers were reported in symbol tables. Now, in all API versions, available values
for modifiers fields include:
– abstract
– final
– global
– override
– private
– protected
– public
– static
– testMethod (now has camel-case capitalization)
– transient
– virtual
– webService (now has camel-case capitalization)
– with sharing
– without sharing

• Modifiers can now include more values than those values explicitly specified in classes and methods. All relevant modifiers,
including implicit ones, are now returned. For example, all webservice methods have an implicit global modifier. Also,
because fields and methods are private unless otherwise specified, the private modifier is returned by default.
• The testMethod modifier is now returned when either the testMethod modifier or the IsTest annotation is used.
• An annotations field is now available on the constructors, externalReferences, methods, properties,
tableDeclaration, and variables fields. Available annotations include:
– Deprecated
– Future
– HttpDelete
– HttpGet
– HttpPatch
– HttpPost
– HttpPut
– InvocableMethod
– InvocableVariable
– IsTest
– ReadOnly
– RemoteAction
– TestSetup
– TestVisible

294
Salesforce Summer ’15 Release Notes API

– RestResource

• A new parentClass field returns parents of inner classes and extending classes.
• The interfaces field for inner classes and interfaces is now populated accurately. Previously, the implemented interfaces
in inner classes and interfaces were sometimes reported incorrectly.
• Because the available modifiers now contain all possible visibility combinations, the visibility field—which erroneously
combined PROTECTED with PRIVATE—is no longer available.
User
We unintentionally exposed custom fields on User in previous releases. This behavior has been corrected, and custom fields can’t
be retrieved in the Tooling API.
FullName and Metadata Fields

New Header
AllOrNoneHeader
Enables the rollback of all record changes when some of the records in a call result in failures. When this header is set to true,
changes are saved only when all records are processed successfully.
The AllOrNoneHeader header is available for the Tooling API requests that create, update, or delete records.

Documentation Changes
CompactLayoutItemInfo
Information about CompactLayoutItemInfo is available.
CompactLayoutInfo
Information about CompactLayoutInfo is available.
Metadata
More information about metadata exposed by Tooling API is available.
QueryResult
Information about QueryResult is available.
Scontrol
Information about Scontrol is available.
ServiceFieldDataType
Information about ServiceFieldDataType is available.
StandardAction
Information about StandardAction is available.
FullName and Metadata Fields
Query these fields only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record
exists, use multiple queries to retrieve the records. This limit protects performance.
SOQL Limitations
The following objects in Tooling API don’t support SOQL operations COUNT(), GROUP BY, LIMIT, LIMIT OFFSET, OR,
and NOT.
• CompactLayoutInfo
• CompactLayoutItemInfo
• DataType

295
Salesforce Summer ’15 Release Notes API

• EntityDefinition
• EntityLimit
• EntityParticle
• FieldDefinition
• PicklistValueInfo
• Publisher
• RelationshipDomain
• RelationshipInfo
• SearchLayout
• ServiceFieldDataType
• StandardAction
• UserEntityAccess
• UserFieldAccess

Resources
The Force.com Tooling API Developer’s Guide contains all Tooling API information.

SOAP API
SOAP API includes new data types and changed calls.

New Data Types


Duplicate Management
Here are new data types you can use to manage duplicate records. When you create or update a record, you get a SaveResult object. If
you have active duplicate rules and a duplicate is detected, SaveResult will contain an Error object with a data type of DuplicateError.
Use DuplicateError and its constituent data types to manage duplicate records. For more information and code examples, check the
SOAP API Developer’s Guide.
DuplicateRule
Represents a duplicate rule for detecting duplicate records.
DuplicateRuleHeader
Determines options for using duplicate rules to detect duplicate records. Duplicate rules are part of the Duplicate Management
feature.
DuplicateError
Contains information about an error that occurred when an attempt was made to save a duplicate record. Use if your organization
has set up duplicate rules, which are part of the Duplicate Management feature.
The new StatusCode of DUPLICATES_DETECTED is used for an Error with a data type of DuplicateError.
DuplicateResult
Represents the details of a duplicate rule that detected duplicate records and information about those duplicate records.
MatchResult
Represents the duplicate results for a matching rule.
MatchRecord
Represents a duplicate record detected by a matching rule.

296
Salesforce Summer ’15 Release Notes API

AdditionalInformationMap
Represents other information, if any, about matched records.
FieldDiff
Represents the name of a matching rule field and how the values of the field compare for the duplicate and its matching record.
JunctionIdList Junction Relations
JunctionIdList is a new field type.
JunctionIdList Field Type
Starting in API version 34.0, the JunctionIdList field type lets you manipulate the many-to-many relationship of an entity
directly. You no longer need to manipulate underlying junction entity records. JunctionIdList fields can be queried and
updated like any other field on the entity. Queries or updates to JunctionIdList fields act as queries or updates to the underlying
junction entity records. Fields of type JunctionIdList appear in the WSDL as an unbounded array of type ID.

Changed Calls
describeFlexiPages() and DescribeFlexiPageResult
The following field has been added:
• region—This field is reserved for future use.
describeLayout() and DescribeLayoutResult
The following fields have been added:
• feedView—Feed view related layout data for a feed-based layout. This field is null for page layouts that are not feed-based.
• DescribeLayoutFeedFilter—Represents an individual feed filter option that you can use to filter the feed.
• DescribeLayoutFeedView—Represents the layout of the feed view for a feed-based page layout.
The following type has been added to LayoutComponentType:
• AnalyticsCloud—An Analytics Cloud dashboard on the page layout.
describeSObjects() and DescribeSObjectResult
The following field has been added to the Field object:
• encrypted—Indicates whether this field is encrypted using Platform Encryption. This value is available in API version 31.0
and later for backwards compatibility. For more information, see Comply with Data Protection Requirements Using Platform
Encryption (Generally Available).

Metadata API
Use the Metadata API to manage customization information, such as custom object definitions and page layouts, for your organization.

IN THIS SECTION:
Metadata API Calls
Metadata API calls were modified or added in version 34.0.
Metadata Types and Fields
Metadata types and fields were modified or added in version 34.0.

Metadata API Calls


Metadata API calls were modified or added in version 34.0.

297
Salesforce Summer ’15 Release Notes API

Updated Metadata Calls


The following Metadata API calls changed.
createMetadata(), updateMetadata(), upsertMetadata(), and deleteMetadata()
The default behavior for creating and updating sets of metadata components changed. In API version 33.0 and earlier, the
createMetadata(), updateMetadata(), and upsertMetadata() calls saved all records only when there are no
failures in any record in the call. Starting in API version 34.0, the default behavior allows saving a partial set of records for records
that have no errors. The deleteMetadata() call allows saving a partial set of records in all API versions.
Also, createMetadata(), updateMetadata(), upsertMetadata(), and deleteMetadata() now support a
new header, AllOrNoneHeader. This header enables the rollback of all metadata changes when some of the records in a call
result in failures. When this header is set to true, changes are saved only when all records are processed successfully.
createMetadata(), readMetadata(), updateMetadata(), and deleteMetadata()
For custom metadata types only, the metadata argument now has a limit of 200.
checkRetrieveStatus()
The checkRetrieveStatus(ID id, boolean includeZip) call now accepts a second boolean parameter. Use
this parameter to indicate whether to retrieve the zip file. This optional parameter enables you to retrieve the zip file in a background
service. By default, checkRetrieveStatus() returns the zip file on the last call when the retrieval is completed
(RetrieveResult.isDone() == true) and deletes the file from the server. Subsequent calls to
checkRetrieveStatus() for the same retrieve operation can’t retrieve the zip file after it has been deleted. By using the
includeZip parameter, you can retrieve the zip file in a separate process after the retrieval operation is completed. After the zip
file is retrieved by passing true to the boolean parameter, it is deleted from the server. For example, a background file transfer
service can call checkRetrieveStatus(id, true) to retrieve the zip file. This service is separate from another process
that polls the retrieval status by calling checkRetrieveStatus(id, false) in a loop.
describeValueType() (ValueTypeField)
ValueTypeField contains the new field valueRequired. This field indicates whether the described value type field must have a
value (true) or can be null (false). ValueTypeField is contained within DescribeValueTypeResult, which is the result that
describeValueType() returns.
deploy()
A new deployment option, testLevel, has been added. This option enables you to specify which tests to run in the deploy()
call. The values of the TestLevel enumeration are:
• NoTestRun—No tests are run. This test level applies only to deployments to development environments, such as sandbox,
Developer Edition, or trial organizations. This test level is the default for development environments.
• RunSpecifiedTests—Only the tests that you specify in the runTests option are run. Code coverage requirements
differ from the default coverage requirements when using this test level. Each class and trigger in the deployment package must
be covered by the executed tests for a minimum of 75% code coverage. This coverage is computed for each class and trigger
individually and is different than the overall coverage percentage.
• RunLocalTests—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.
• RunAllTestsInOrg—All tests are run. The tests include all tests in your organization, including tests of managed packages.
The runAllTests deployment option in the DeployOptions object has been removed and is replaced by testLevel.

Metadata Types and Fields


Metadata types and fields were modified or added in version 34.0.

298
Salesforce Summer ’15 Release Notes API

New Metadata Types


Custom Metadata Types (CustomObject)
Represents the metadata associated with a custom metadata type.
CustomMetadata
Represents a record of a custom metadata type.
FlowDefinition
Represents a flow’s version number and description. You can now activate and deactivate a flow with the activeVersionNumber
field.
PathAssistant
Represents Sales Path records for Opportunity.
PathAssistantSettings
Represents the Sales Path preference setting.

Updated Metadata Types and Fields


These metadata types have changed, or have fields that have been added or changed in API version 34.0.
ActionLinkTemplate
The following field has been added:
label
A custom label to display on the action link button. If none of the LabelKey values make sense for an action link, use a custom
label. Set the LabelKey field to None and enter a label name in the Label field.
CustomApplication
The following fields have been added:
enableCustomizeMyTabs
Indicates if a Salesforce console app has Customize My Tabs enabled, which lets users hide, display, and organize items in the
navigation tab.
enablePinTabs
Indicates if a Salesforce console app has pinned tabs enabled, which lets users pin primary tabs to the tab bar for quick access.
CustomField
The following field has been updated:
type
ExternalLookup and IndirectLookup have been added to the supported FieldType enumeration values.
The following field is new:
encrypted
Indicates whether this field is encrypted (true) or not (false).

Note: This information applies to Platform Encryption and not to Classic Encryption. See the Salesforce Online Help for
more information.
CustomObject
The following fields have been added:
allowInChatterGroups
Indicates whether records of this custom object type can be added to Chatter groups.

299
Salesforce Summer ’15 Release Notes API

visibility
When this field is present, this component is not a custom object, but a custom setting or custom metadata type. This field
returns the visibility of the custom setting or custom metadata type.
The following field has been removed:
customSettingsVisibility
The visibility field replaces customSettingsVisibility.
CustomSite
The following field as been added:
forgotPasswordPage
The name of the Visualforce page to be displayed when a user clicks the Forgot Password link on the site’s login page. This field
is only applicable for Communities sites.
ExternalDataSource
The following field has been updated:
customConfiguration
This JSON-encoded configuration string has the following new parameters, listed with their corresponding fields in the user
interface.
For an external data source of type SfdcOrg:
• apiVersion—API Version
• environment—Connect to
For an external data source of type OData:
• compatibility—Special Compatibility
• inlineCountEnabled—Request Row Counts
• pagination—Server Driven Pagination
The following field has been updated:
type
ExternalDataSourceType has enumeration values for the new Lightning Connect adapters.
• SfdcOrg—Salesforce adapter
• ApexClassId—DataSource.Provider class that defines the custom adapter created via the Apex Connector
Framework
FlexiPage
The following field has been added:
platformActionList
The list of actions, and their order, that display in the Salesforce1 action bar for the Lightning Page.
FlexiPage now contains these child subtypes: PlatformActionList and PlatformActionListItem.
Flow
The following fields have been updated:
dataType
The dataType field for the FlowVariable subtype has these new values:
• Picklist
• Multipicklist
These new data types don’t support default values.

300
Salesforce Summer ’15 Release Notes API

operator
The operator field for the FlowAssignmentItem subtype has this new value:
• AddItem
This operator is supported only if the assignToReference refers to a Multipicklist variable or a multi-select picklist field on an
sObject variable. The operator automatically adds the semi-colon required to mark a new selected item.
The following field of the FlowAction subtype has been updated:
actionType
A new action type enumeration value is now supported: contentWorkspaceEnableFolders. This type of action
enables folders in a library.
ForecastingSettings
forecastingTypeSettings
The following fields have been added to the forecastingTypeSettings subtype:
forecastedCategoryApiNames
This field appears four times to specify the four forecast rollup categories used in the organization, for either Cumulative
Forecast Rollups, or individual forecast category rollups.
Valid values for organizations using Cumulative Forecast Rollups:
• openpipeline
• bestcaseforecast
• commitforecast
• closedonly
Valid values for organizations using individual forecast category rollups:
• pipelineonly
• bestcaseonly
• commitonly
• closedonly
Changing from one set of four values to the other changes the organization setting for Enable Cumulative Forecast Rollups
in Setup. If this field is omitted, the setting is not changed.
displayedCategoryApiNames
This read-only field appears four times to specify the four forecast rollup categories displayed in the Forecasts tab, for either
Cumulative Forecast Rollups, or individual forecast category rollups. Always use the same 4 values for both
displayedCategoryApiNames and forecastedCategoryApiNames.
Valid values for organizations using Cumulative Forecast Rollups:
• openpipeline
• bestcaseforecast
• commitforecast
• closedonly
Valid values for organizations using individual forecast category rollups:
• pipelineonly
• bestcaseonly
• commitonly

301
Salesforce Summer ’15 Release Notes API

• closedonly
managerAdjustableCategoryApiNames
This read-only field appears twice to specify the two forecast rollup categories that forecast managers can adjust in the
organization for either Cumulative Forecast Rollups or individual forecast category rollups. This field can only be used when
the enableAdjustments field contains a value of true. If both the managerAdjustableCategoryApiNames
and ownerAdjustableCategoryApiNames fields are being used, they must contain the same two values. Their
values must also be consistent with the values of the enableAdjustments and enableOwnerAdjustments
fields.
Valid values for organizations using Cumulative Forecast Rollups:
• bestcaseforecast
• commitforecast
Valid values for organizations using individual forecast category rollups:
• bestcaseonly
• commitonly
ownerAdjustableCategoryApiNames
This read-only field appears twice to specify the two forecast rollup categories that forecast owners can adjust in the
organization, for either Cumulative Forecast Rollups, or individual forecast category rollups. This field can only be used when
the enableOwnerAdjustments field contains a value of true. If both the
managerAdjustableCategoryApiNames and ownerAdjustableCategoryApiNames fields are being
used, they must contain the same two values. Their values must also be consistent with the values of the
enableAdjustments and enableOwnerAdjustments fields.
Valid values for organizations using Cumulative Forecast Rollups:
• bestcaseforecast
• commitforecast
Valid values for organizations using individual forecast category rollups:
• bestcaseonly
• commitonly
enableOwnerAdjustments
This field is a subfield of the adjustmentsSettings field. Set this subfield to true to enable the forecast users to adjust
their own forecast amounts.
forecastingCategoryMappings
This subtype appears eight times within the ForecastingSettings type. Each occurrence includes fields that specify a
type of forecast category rollup, which forecast categories each rollup includes, and the weight of each forecast category in the
rollup. Organizations using either Cumulative Forecast Rollups or individual forecast category columns must include all eight
occurrences of this subtype. Each forecastingCategoryMappings subtype contains the following fields.
forecastingItemCategoryApiName
This field specifies the API name of the rollup type. The valid values are:
• openpipeline
• bestcaseforecast
• commitforecast
• pipelineonly
• bestcaseonly

302
Salesforce Summer ’15 Release Notes API

• commitonly
• closedonly
• omittedonly
weightedSourceCategories
This field can occur more than once when specifying more than one forecast category to include in the rollup type. Each
occurrence contains two subfields that specify a forecast category to include in the forecast rollup type and its weight. Some
rollup types include more than one forecast category. This table shows the forecast categories that are included in each
rollup type.

Rollup Type Forecast Categories


openpipeline pipeline, best case, commit

bestcaseforecast best case, commit, closed

commitforecast commit, closed

pipelineonly pipeline

bestcaseonly best case

commitonly commit

closedonly closed

omittedonly omitted

sourceCategoryApiName
This subfield of weightedSourceCategories specifies the API name of a forecast category to include in the
rollup type. The valid values are.
• pipeline
• best case
• commit
• closed
• omitted
weight
This subfield of weightedSourceCategories specifies the weight given to the forecast category when calculating
the forecast for the rollup type. The only supported value is 1.0.
Layout
The following field has been added:
platformActionList
The list of actions, and their order, that display in the Salesforce1 action bar for the layout.
Layout now contains these child subtypes: PlatformActionList and PlatformActionListItem
The following field has been added to the LayoutItem subtype:
analyticsCloudComponent
Refers to an Analytics Cloud dashboard that you can add to a standard or custom object page.

303
Salesforce Summer ’15 Release Notes API

LiveChatAgentConfig
The following fields have been added to the LiveChatAgentConfig object:
enableAutoAwayOnPushTimeOut
Indicates whether an agent appears as “away” (true) or not (false) when a chat request that's been pushed to the agent
times out.
enableChatConferencing
Indicates whether chat conferencing is enabled for agents (true) or not (false).
enableVisitorBlocking
Indicates whether an agent can block a visitor by IP address (true) or not (false).
SecuritySettings
The following field has been added to the IpRange subtype:
description
The description of the trusted IP range. Use this field to identify the range, such as which corporate network corresponds to this
range.
The following fields have been added to the SessionSettings subtype:
enableClickjackNonsetupUserHeaderless
Indicates whether clickjack protection for customer Visualforce pages with standard headers turned off is enabled (true) or
disabled (false).
enforceIpRangesEveryRequest
If true, the IP addresses in Login IP Ranges are enforced when a user accesses Salesforce (on every page request), including
access from a client application. If false, the IP addresses in Login IP Ranges are enforced only when a user logs in. This field
affects all user profiles that have login IP restrictions.
logoutURL
The URL to which users are redirected when they log out of Salesforce.
The following enumeration value has been added to the minPasswordLength field in the PasswordPolicies subtype:
FifteenCharacters
Requires at least fifteen characters in a valid password.
XOrgHub and XOrgHubSharedObject
These types are no longer available. See Cross-Organization Data Sharing Pilot No Longer Available on page 244.

304
Salesforce Summer ’15 Release Notes API

Salesforce Console API (Integration Toolkit)


The toolkit includes new and updated methods that let you customize a console programmatically.
EDITIONS
For more information (English only) about the toolkit, see the Salesforce Console Integration Toolkit
Developer's Guide. Available in: Enterprise,
Performance, Unlimited,
The following methods are new or have changed in API version 34.0.
and Developer Editions with
acceptAgentWork the Service Cloud
Accepts an Omni-Channel work item that’s assigned to an agent.
Available in: Performance
closeAgentWork and Developer Editions with
Changes the status of a work item to “Closed” and removes it from the list of work items in the the Sales Cloud
Omni-Channel widget. Available in: Enterprise and
declineAgentWork Unlimited Editions with the
Declines an Omni-Channel work item that’s assigned to an agent. Sales Cloud for an additional
cost
focusSidebarComponent()
Focuses the browser on a sidebar component. Use this method to focus on a component with
the tab or accordion sidebar style.
getAgentWorks
Returns a list of Omni-Channel work items that are currently assigned to an agent and open in the agent’s workspace.
getServicePresenceStatusChannels
Retrieves the service channels that are associated with a Omni-Channel user’s presence status.
getServicePresenceStatusId
Retrieves an Omni-Channel agent’s current presence status.
login
Logs an agent into Omni-Channel with a specific presence status.
logout
Logs an agent out of Omni-Channel.
setServicePresenceStatus
Sets an Omni-Channel agent's presence status to a status with a particular ID.

Open CTI API


Open CTI includes a new method that helps you customize and integrate Salesforce with
EDITIONS
Computer-Telephony Integration (CTI) systems.
For more information (English only) about Open CTI, see the Open CTI Developer's Guide. Available in:
• Professional
The following method is new in API version 34.0.
• Enterprise
reloadFrame() • Performance
Reloads the frame that contains the page making the call. • Unlimited
• Developer

305
Salesforce Summer ’15 Release Notes ISVforce

Invocable Actions
Invocable Actions represent the actions that can be accomplished on Salesforce with APIs.
EDITIONS
All invocable actions are invoked using a common request object so you don’t have to interface
with different SOAP objects or REST JSON body shapes. Invocable actions provide “describe” support Available in:
so you can programmatically learn what each action’s valid input parameters are, as well as an • Professional
action’s output values. • Enterprise
• Performance
Invocable actions are available only through the REST API and provide the following attributes: • Unlimited
• Dynamic input and output values • Developer
• Programmatic describe support
• Consistent invocation interface
The following Standard actions are new for Summer ’15. These actions can be invoked as-is and don’t need any setup or creation of an
instance.
• Enable Folders for a Content Library
• Refresh Metric Value
For more information on invocable actions, see Invocable Actions in the REST API Developer’s Guide.

ISVforce
Summer ’15 includes packaging enhancements.

IN THIS SECTION:
Request Metadata API Access in Professional Edition
As an ISV partner, you can request Metadata API access to Professional Edition organizations for your certified apps. After Metadata
API access is granted, your app can make Metadata API calls to customers’ Professional Edition organizations.
Streamline Managed Packages by Deleting Unused Components
When updating a managed package, you can now delete permission sets and custom settings. By removing components that are
no longer used by the app, you reduce its complexity and help create a more streamlined user experience for your customers. The
ability to delete these components builds on similar functionality that was introduced in the Summer ’15 release.
See Which Apps, Tabs, and Objects Count Toward Organization Limits
The number of custom apps, tabs, and objects that you can create or install in your organization depends on your edition and set
of products purchased. You can now easily track how many you’ve used in your installed packages and how close you are to the
limit for each.

Request Metadata API Access in Professional Edition


As an ISV partner, you can request Metadata API access to Professional Edition organizations for
EDITIONS
your certified apps. After Metadata API access is granted, your app can make Metadata API calls to
customers’ Professional Edition organizations. Available in:
To be eligible for Metadata API access to Professional Edition organizations, your app must pass • Professional
the AppExchange security review. To request Metadata API access: • Developer

1. Submit your app for security review. See Steps in the Security Review.

306
Salesforce Summer ’15 Release Notes ISVforce

2. After your app is approved, log a case in the Partner Community in AppExchange and Feature Requests > API Token Request,
and specify SOAP for the type of token.
To make calls to the Metadata API, add an API token (client ID) in your app. Append this API token to the CallOptions SOAP header
in API calls. This special key enables your app to make calls to Professional Edition organizations even if the customer doesn’t have API
access.

Streamline Managed Packages by Deleting Unused Components


When updating a managed package, you can now delete permission sets and custom settings. By
EDITIONS
removing components that are no longer used by the app, you reduce its complexity and help
create a more streamlined user experience for your customers. The ability to delete these components Available in:
builds on similar functionality that was introduced in the Summer ’15 release. • Developer

Note: This feature is available to eligible Salesforce partners. For more information on the
Partner Program, including eligibility requirements, visit www.salesforce.com/partners.
In complex packages, the number of components can grow very large over multiple release cycles. Deleting unused managed components
allows you to keep your app clutter-free while you maintain and upgrade it.

Important:
• Deleting a component permanently deletes the data that exists in that component, deletes tracked history data, and changes
integrations that rely on the component, such as assignment or escalation rules. When you delete a component in a managed
package, you can’t restore it or create another component with the same API name.
However, no data or metadata is ever deleted in a subscriber organization without specific action by the customer. Subscribers
who upgrade to the new package version still have the deleted components available in their organization. They’re displayed
in the Unused Components section of the Package Details page. Keeping the components ensures that subscribers have the
opportunity to export data and modify custom integrations that involve those components before explicitly deleting them.

• It’s your responsibility to educate your customers about the potential impact of any components that you delete. Salesforce
recommends that you list all deleted custom components and notify customers of required actions in the release notes for
your upgrade package.

The following restrictions apply when deleting managed components.


• If a component is referenced by other metadata, such as workflow rules, validation rules, or Apex classes, you can’t delete that
component.
You can delete managed components declaratively from the user interface or programmatically using the Metadata API. In the latter
case, specify the components you want to delete in a destructiveChanges.xml manifest file and then use the standard
deploy() call. The process is identical to that for deleting components that aren’t managed. For more information about the API,
see the Metadata API Developer’s Guide. For more information about deleting components in managed packages, see the ISVforce Guide.

307
Salesforce Summer ’15 Release Notes ISVforce

See Which Apps, Tabs, and Objects Count Toward Organization Limits
The number of custom apps, tabs, and objects that you can create or install in your organization
EDITIONS
depends on your edition and set of products purchased. You can now easily track how many you’ve
used in your installed packages and how close you are to the limit for each. Available in:
Not all items are counted as part of the limit. The custom apps, tabs, and objects in certain managed • Group
packages—including most of those available on the AppExchange—don’t count toward the limits. • Professional
Previously, you couldn’t see which counted and which didn’t. We’ve added new user interface • Enterprise
details to reveal this information. The list view in Setup > Installed Packages now shows how • Performance
many apps, tabs, and objects each package includes (2). If the package contents count toward your • Unlimited
organization’s limits, a check mark appears in the Limits column (1). • Developer

You can also find this information on each package’s Package Detail page.

308
Salesforce Summer ’15 Release Notes Configure Apps with Custom Metadata Types (Generally
Available)

Configure Apps with Custom Metadata Types (Generally Available)


Use custom metadata types to define configurations and create reusable app components and
EDITIONS
features that you can package and deploy. You and others can then create custom metadata that
uses the characteristics of the custom type. Available in:
Platform developers commonly use custom settings or custom objects to define configurations • Enterprise
and create reusable app components and features. But because these entities’ records are data and • Performance
not metadata, you can’t package, deploy, upgrade, and customize these types in a manageable • Unlimited
way. With custom metadata types, you can build apps defined and driven by your own types of • Developer
metadata. • Database.com

With custom metadata types, you can:


• Speed your development by 25% by writing fewer deployment tools.
• Use just a few custom metadata types to accomplish what previously took tens of thousands of lines of code.
• Upgrade installed apps up to 50% faster.
The essential tasks for custom metadata types are:
• Create custom metadata types and records.
• Create a user interface to accommodate the process of creating, editing, and deleting custom metadata records.
• Package custom metadata types and records in unmanaged packages, managed packages, or managed package extensions.
• Deploy packages that contain custom metadata types and records to Professional, Developer, Enterprise, Performance, Unlimited,
and Database.com Edition organizations.
• Use change sets to deploy custom metadata types and records from a sandbox.
• Use all field types that are available in custom settings, except for currency fields, in custom metadata types.
• Use SOQL queries to retrieve data from custom metadata types and their records. Unlike other Apex transactions, you can make
unlimited SOQL queries for custom metadata types and records.
For more information.
• Read this blog post on developer.salesforce.com

Note: This post is in English only.

• See the Custom Metadata Types Implementation Guide

SEE ALSO:
IdeaExchange: Custom Metadata Types

Security and Identity


We’ve made the powerful security features in Salesforce even stronger, while adding simplicity of management and ease of use. Now
you can encrypt sensitive data for regulatory compliance, manage user accounts on other services based on changes to your own user
accounts, and much more.

IN THIS SECTION:
Comply with Data Protection Requirements Using Platform Encryption (Generally Available)
Platform Encryption encrypts sensitive data for compliance with common regulatory requirements.

309
Salesforce Summer ’15 Release Notes Security and Identity

Data Residency Option (DRO) Feature Retirement


We are retiring the Data Residency Option solution on August 15, 2015. After that date, we will no longer support new installations,
and we will discontinue support for existing installations. While you can continue to use the DRO solution, we can’t guarantee it will
be compatible with future Salesforce releases.
Block Login from Users in Restricted Countries
To comply with U.S. export control and economic laws and regulations, and Salesforce’s corporate policies, users with IPs from
restricted countries can’t log in to Salesforce.
Continuously Enforce IP Addresses in Login IP Ranges
The Enforce login IP ranges on every request Session Settings option restricts the IP addresses from which
users can access Salesforce to only the IP addresses defined in Login IP Ranges. This option affects all user profiles that have login IP
restrictions.
Track Geographic Location of User Logins
You can now track the geographic location of the IP addresses of user logins from the Login History or Session Management pages,
or by querying the LoginGeo object.
Track Authentication Service by ID with Login History
The authentication service ID is now associated with a user’s login history. For example, this addition allows developers to create
reports that track the SAML or authentication provider configuration for a login event.
Simplified OAuth Flows for External Data Sources and Named Credentials
Previously, OAuth flows for external data sources and named credentials sometimes required users to click Allow on two consent
screens—one for the external system and one for Salesforce. The Salesforce consent screen no longer appears, simplifying the
authentication process.
Log In Once for Concurrent Apps That Use OpenID Connect
After users log in and authorize an application to access their Salesforce user data, they aren’t prompted to log in again when they
authorize other applications. This behavior applies to single sign-on using OpenID Connect (or OAuth, if a user logs in to another
Salesforce app).
Create Single Sign-On Settings from a File or URL
You can configure SAML for single sign-on by importing the settings from an XML file or public URL, instead of having to specify
them manually. This streamlines setup and lets you use settings from your identity provider easily.
Access SAML Metadata URL for a Community or Custom Domain
You can share the SAML configuration information for a community or custom domain with your service provider via a public URL.
The URL points to metadata that your service provider can conveniently use to configure single sign-on settings to connect to
Salesforce.
Edit Endpoints for Google and LinkedIn Authentication Providers
When you set up a Google or LinkedIn authentication provider, you can now edit the Authorize Endpoint URL and Token
Endpoint URL. In addition, you can edit the Google User Info Endpoint URL.
Choose the Logout Page for Salesforce Users
Direct users to a specific logout destination that maintains your own branding experience after they log out of Salesforce. Or, send
them to a specific authentication provider’s page.
Test and Use Advanced Networking Protocols
Apex callouts, workflow outbound messaging, delegated authentication, and other HTTPS callouts now support Transport Layer
Security (TLS) version 1.2, TLS 1.1, and server name indication (SNI). HTTPS callouts continue to support TLS 1. We recommend that
you test your callouts for compatibility in a sandbox before the upgrade.

310
Salesforce Summer ’15 Release Notes Comply with Data Protection Requirements Using Platform
Encryption (Generally Available)

SMS for Identity Confirmation Renamed in Session Settings


In Session Settings, under Identity Confirmation, the Enable SMS-based identity confirmation setting is renamed.
The new name is Enable the SMS method of identity confirmation.
Comply with FedRAMP Standards by Setting Minimum Password Length at 15 Characters
We’ve added the option to set the minimum password length for your organization at 15 characters. Requiring this minimum length
puts your organization in compliance with United States Federal Risk and Authorization Management Program (FedRAMP) and
Defense Information Systems Agency (DISA) security standards. Previously, the longest minimum password length you could require
was 12 characters.
Supported Login Flow Types
When you connect a login flow to a profile in your organization, only flows of type Flow are supported.
Two-Factor Authentication Available for Contact Manager, Group, and Professional Editions Through Permission Sets
You can now enable two-factor authentication in the Contact Manager, Group, and Professional editions by assigning a permission
set to users.
User Provisioning for Connected Apps (Generally Available)
Automatically create, update, and delete user accounts on services, such as Google and Box, based on changes to user accounts in
your Salesforce organization or Active Directory service. This feature dramatically reduces the time required to on-board new users,
update user accounts, or deactivate accounts. It also provides a centralized view of all user accounts across applications and services.
Connected App Improvements for Finer Control and Easier Administration
Salesforce introduces several changes to the administration of connected apps for quick adjustments to a connected app’s
configuration.
Get a Delegated Approver Using SCIM (System for Cross-Domain Identity Management)
Developers can use the REST API to get the ID and display name of the assigned approver for an approval process from Salesforce.
Get Quicker Updates on My Domain Name Propagation
The time Salesforce takes to check the status of the DNS propagation of a new domain decreased from 10 minutes to 30 seconds.
This change means you can receive notification that your new domain propagation is complete sooner than in previous releases.
Test Your My Domain Login Page Settings Before You Deploy the Domain to All Users
Previously, you deployed a new domain to your users to test the login settings. Now, you can set up a new domain and test the
login page settings without deploying the domain to all users.

Comply with Data Protection Requirements Using Platform Encryption


(Generally Available)
Platform Encryption encrypts sensitive data for compliance with common regulatory requirements.
EDITIONS
Note: You may need to purchase additional services or subscriptions to use this feature. For
pricing details, please contact your Salesforce account executive. Platform Encryption is not Available in: Enterprise,
available if your instance is in the Government Cloud. Performance, and
Unlimited Editions. Available
Platform Encryption lets customers encrypt data stored throughout Salesforce, whether in the Sales in Developer Edition at no
Cloud, Service Cloud, or even custom apps. Encrypt sensitive, confidential, and private data at rest charge for organizations
on the Salesforce1 Platform to help meet privacy policies, regulatory requirements, and contractual created in Summer '15 and
obligations for handling private data. later.
Salesforce Platform Encryption sets up in minutes, with no additional hardware or software, and
uses native strong, standards-based encryption. Platform Encryption provides an extra layer to
Salesforce's security while enabling customers to enjoy business critical Platform features, such as search, workflow, and validation rules.

311
Salesforce Summer ’15 Release Notes Comply with Data Protection Requirements Using Platform
Encryption (Generally Available)

You can:
• Encrypt files and attachments.
• Encrypt certain standard and custom fields.
• Use an advanced key management system.
With Platform Encryption, sensitive field data is masked to limit who can see information. Controls help to protect your data. These
controls include the use of derived data encryption keys and customer-controlled key rotation, generation, and destruction processes.

Platform Encryption Process Flow

The encryption process follows these steps:


1. Data is sent to the application server.
2. The application server checks if the data encryption key exists in memory.
3. One of the following occurs:
a. If the data encryption key is found in the cache, the application server retrieves it.
b. If the data encryption key is not found, the application server reads the organization's encrypted active tenant secret from the
database. The application server then requests a key from the key derivation server with accompanying information such as the
encrypted tenant secret and release version. The key derivation server derives the key in the HSM using the master secret and
the tenant secret and provides it to the application server.

4. The encryption service encrypts the data on the application server.


5. The encrypted data is stored.

312
Salesforce Summer ’15 Release Notes Comply with Data Protection Requirements Using Platform
Encryption (Generally Available)

What’s the Difference Between Classic Encrypted Custom Fields and Platform
Encryption?
The following table compares Classic Encrypted Custom Fields and Platform Encryption solutions.

Feature Classic Encrypted Custom Platform Encryption


Fields (included in base user (additional fee applies)
license)
Encryption at Rest

Native Solution (No Hardware or Software is Required)

Encryption Algorithm 128-bit Advanced Encryption 256-bit Advanced Encryption


Standard (AES) Standard (AES)

HSM-based Key Derivation

“Manage Encryption Keys” Permission

Generate, Export, Import, and Destroy Keys

PCI-DSS L1 Compliance

Text (Encrypted) Field Type


(Dedicated custom field type,
limited to 175 characters)

Masking

Mask Types and Characters

“View Encrypted Data” Permission is Required to Read


Encrypted Field Values

Email Template Values Respect “View Encrypted Data”


Permission

Encrypted Standard Fields *

Encrypted Attachments, Files, and Content

Encrypted Custom Short Text, Long Text Area, Phone, Email,


and URL Fields

Encrypt Existing Fields for Supported Custom Field Types

Search (UI, Partial Search, Lookups)

API Access

Available in Workflow Rules and Workflow Field Updates

Available in Approval Process Entry Criteria and Approval Step


Criteria

313
Salesforce Summer ’15 Release Notes Data Residency Option (DRO) Feature Retirement

*On the Account object, you can encrypt Account Name. On the Contact object, you can encrypt Email, Fax, Home Phone,
Mailing Address (Mailing Street and Mailing City), Mobile, Name (First Name, Middle Name, and
Last Name), Other Phone, and Phone.

Data Residency Option (DRO) Feature Retirement


We are retiring the Data Residency Option solution on August 15, 2015. After that date, we will no
EDITIONS
longer support new installations, and we will discontinue support for existing installations. While
you can continue to use the DRO solution, we can’t guarantee it will be compatible with future Available in:
Salesforce releases. • Unlimited
If you have specific and strict data residency requirements (for example, data cannot leave your
firewall or country borders), we encourage you to evaluate the options offered on the AppExchange.
If you have questions about this change, please contact your account manager.

Block Login from Users in Restricted Countries


To comply with U.S. export control and economic laws and regulations, and Salesforce’s corporate
EDITIONS
policies, users with IPs from restricted countries can’t log in to Salesforce.
For details about restricted countries, see http://trust.salesforce.com/trust/blocked. Available in all editions

Continuously Enforce IP Addresses in Login IP Ranges


The Enforce login IP ranges on every request Session Settings option restricts
EDITIONS
the IP addresses from which users can access Salesforce to only the IP addresses defined in Login
IP Ranges. This option affects all user profiles that have login IP restrictions. Available in all editions
1. From Setup, click Security Controls > Session Settings.
2. Select Enforce login IP ranges on every request. USER PERMISSIONS
This option enforces the IP addresses in Login IP Ranges for all Salesforce access requests, To set session security:
including logins from client applications. If this option is not selected, login IP ranges are enforced • “Customize Application”
only when users log in.

Track Geographic Location of User Logins


You can now track the geographic location of the IP addresses of user logins from the Login History
EDITIONS
or Session Management pages, or by querying the LoginGeo object.
When a user attempts to log in to Salesforce, geographic information about the login attempt is Available in all editions
captured in the LoginGeo object. Due to the nature of geolocation technology, the accuracy of
geolocation fields (for example, country, city, postal code) may vary. For details about the LoginGeo
object, see New Objects.

314
Salesforce Summer ’15 Release Notes Track Authentication Service by ID with Login History

Track Authentication Service by ID with Login History


The authentication service ID is now associated with a user’s login history. For example, this addition
EDITIONS
allows developers to create reports that track the SAML or authentication provider configuration
for a login event. Available in all editions
This value is included as a field in the LoginHistory standard object. For more information, see
Changed Objects. USER PERMISSIONS

To set session security:


• “Customize Application”

Simplified OAuth Flows for External Data Sources and Named Credentials
Previously, OAuth flows for external data sources and named credentials sometimes required users
EDITIONS
to click Allow on two consent screens—one for the external system and one for Salesforce. The
Salesforce consent screen no longer appears, simplifying the authentication process. Named credentials are
Now the behavior is as follows. During the OAuth flow, the external system prompts the user to available in: All Editions.
log in. Some external systems require the user to click Allow on a consent screen. Then the user Lightning Connect external
returns to the Salesforce organization, unless the external system redirects the user elsewhere upon data sources are available
login. in: Developer Edition and for
External data sources that use the Salesforce adapter for Lightning Connect have a slightly longer an extra cost in: Enterprise,
OAuth flow. The same browser session is used to log in to the external system, which in this case Performance, and
Unlimited Editions.
is another Salesforce organization. After successfully logging in to that provider organization, the
user is prompted to log out and log back in to the original subscriber organization. See the Salesforce Files Connect external data
Help for details about the Salesforce adapter for Lightning Connect. sources are available in:
Enterprise, Performance,
Unlimited, and Developer
Editions.

Log In Once for Concurrent Apps That Use OpenID Connect


After users log in and authorize an application to access their Salesforce user data, they aren’t
EDITIONS
prompted to log in again when they authorize other applications. This behavior applies to single
sign-on using OpenID Connect (or OAuth, if a user logs in to another Salesforce app). Available in all editions
There are times when users must log in again, such as when:
• The other application explicitly requires a login USER PERMISSIONS
• The other application is configured to bypass IP restrictions To manage, create, edit,
• The user’s session times out and delete OAuth
applications:
Even if users don’t need to log in again, they are still prompted to allow an application to access
• “Manage Connected
their data. For example, a user visits an application and is prompted to log in to Salesforce to Apps”
authorize access to their Salesforce user information. After the user authorizes the application, the
user visits another third-party application that requires access to their Salesforce data. The user isn’t
prompted to log in to Salesforce again, but the user still allows or denies access to their data.

315
Salesforce Summer ’15 Release Notes Create Single Sign-On Settings from a File or URL

Create Single Sign-On Settings from a File or URL


You can configure SAML for single sign-on by importing the settings from an XML file or public
EDITIONS
URL, instead of having to specify them manually. This streamlines setup and lets you use settings
from your identity provider easily. Available in all editions
The XML file must contain SAML 2.0 settings from your identity provider. If you use a URL, it must
be public, point to a valid XML file, and be listed in Security Controls > Remote Site Settings.
For more information, see Configuring SAML Settings for Single Sign-On in the Salesforce Help.

Access SAML Metadata URL for a Community or Custom Domain


USER PERMISSIONS EDITIONS

To read: “Customize Application” Connected Apps can be


created in: Group,
To create, update, or delete: “Customize Application” AND either
Professional, Enterprise,
“Modify All Data” OR “Manage Connected Performance, Unlimited,
Apps” and Developer Editions
Connected Apps can be
To update all fields except Profiles, “Customize Application”
installed in: All Editions
Permission Sets, and Service Provider SAML
Attributes:

To update Profiles, Permission Sets, and “Customize Application” AND “Modify All
Service Provider SAML Attributes: Data”

To uninstall: “Download AppExchange Packages”

You can share the SAML configuration information for a community or custom domain with your service provider via a public URL. The
URL points to metadata that your service provider can conveniently use to configure single sign-on settings to connect to Salesforce.
The Connected App detail page displays the URL of the SAML configuration metadata. The URL appears only if your organization is
enabled as an identity provider, and only with connected apps that use SAML.
1. From Setup, click Manage Apps > Connected Apps.
2. Click the name of a connected app to view its detail page.
3. In the SAML Login Information section, copy the URL in Metadata Discovery Endpoint and share it with your service provider.
The Identity Provider page now also includes SAML identity provider information for your custom domain and each community.
1. From Setup, click Security Controls > Identity Provider.
2. In SAML Metadata Discovery Endpoints, select the URL you want to share with your service provider. Only the URLs that apply to
your org appear. For example, if you don’t have a community in your org, a community URL doesn’t display.
• Salesforce Identity - URL of identity provider metadata for your custom domain in My Domain.
• Community Name Community Identity - URL of identity provider metadata for the named community.

316
Salesforce Summer ’15 Release Notes Edit Endpoints for Google and LinkedIn Authentication
Providers

Edit Endpoints for Google and LinkedIn Authentication Providers


When you set up a Google or LinkedIn authentication provider, you can now edit the Authorize
EDITIONS
Endpoint URL and Token Endpoint URL. In addition, you can edit the Google User
Info Endpoint URL. Available in:
To enter endpoint URLs, from Setup, click Security Controls > Auth. Providers and then create • Professional
a Google or LinkedIn authentication provider. Enter the appropriate endpoint information from • Enterprise
your own third-party application. You also must specify values for the Consumer Key and Consumer • Unlimited
Secret. • Performance
• Developer
Example: You can add query string parameters to the base URL in Authorize
Endpoint URL. For example, to get a refresh token from Google for offline access, use
https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force.
In this example, the additional approval_prompt parameter is necessary to ask the user
to accept the refresh action so that Google continues to provide refresh tokens after the first
one.

Choose the Logout Page for Salesforce Users


Direct users to a specific logout destination that maintains your own branding experience after
EDITIONS
they log out of Salesforce. Or, send them to a specific authentication provider’s page.
From Setup, go to Security Controls > Session Settings. Set the Logout Page Settings to provide Available in:
the URL of the custom logout page. If none is provided, the default is • Group
https://login.salesforce.com unless MyDomain is enabled. If My Domain is enabled, • Professional
the default is https://customdomain.my.salesforce.com. • Enterprise
• Unlimited
• Performance
SEE ALSO: • Developer
IdeaExchange: Control Logout URL
IdeaExchange: Customize Logout URL Instead of Salesforce Logout Page

Test and Use Advanced Networking Protocols


Apex callouts, workflow outbound messaging, delegated authentication, and other HTTPS callouts
EDITIONS
now support Transport Layer Security (TLS) version 1.2, TLS 1.1, and server name indication (SNI).
HTTPS callouts continue to support TLS 1. We recommend that you test your callouts for compatibility Available in all editions
in a sandbox before the upgrade.
Endpoints running older software sometimes fail to negotiate with TLS when TLS 1.2 or SNI are
present in the connection request. A TLS negotiation failure prevents the callout from working. Ensure compatibility with your HTTPS
callout endpoints before Salesforce upgrades your production instance to keep your HTTPS callouts functional.
If your instance is NA21 or your sandbox is CS32 or CS33, only TLS 1.2 is enabled in HTTPS callouts.

SEE ALSO:
IdeaExchange: Add TLS 1.2 Support for Outbound HTTPS Callouts/Encryption Requests

317
Salesforce Summer ’15 Release Notes SMS for Identity Confirmation Renamed in Session Settings

SMS for Identity Confirmation Renamed in Session Settings


In Session Settings, under Identity Confirmation, the Enable SMS-based identity
EDITIONS
confirmation setting is renamed. The new name is Enable the SMS method of
identity confirmation.
Available in: Personal,
The setting was renamed to clarify that SMS delivery can be enabled or disabled, but the email Contact Manager, Group,
method of identity confirmation can't be disabled. Professional, Enterprise,
Performance, Unlimited,
Developer, and
Database.com Editions

USER PERMISSIONS

To set session security:


• “Customize Application”

Comply with FedRAMP Standards by Setting Minimum Password Length


at 15 Characters
We’ve added the option to set the minimum password length for your organization at 15 characters.
EDITIONS
Requiring this minimum length puts your organization in compliance with United States Federal
Risk and Authorization Management Program (FedRAMP) and Defense Information Systems Agency Available in:
(DISA) security standards. Previously, the longest minimum password length you could require was • Group
12 characters. • Professional
Set the minimum length and specify other password requirements for your organization from Setup • Enterprise
in Security Controls > Password Policies. • Performance
• Unlimited
• Developer
• Contact Manager
• Database.com

318
Salesforce Summer ’15 Release Notes Supported Login Flow Types

Supported Login Flow Types


When you connect a login flow to a profile in your organization, only flows of type Flow are
EDITIONS
supported.
For more information, see Connect a Login Flow to a Profile in the Salesforce Help. Available in:
• Enterprise
• Performance
• Unlimited
• Developer

USER PERMISSIONS

To open, edit, or create a


flow in the Cloud Flow
Designer:
• “Manage Force.com
Flow”

Two-Factor Authentication Available for Contact Manager, Group, and


Professional Editions Through Permission Sets
You can now enable two-factor authentication in the Contact Manager, Group, and Professional
EDITIONS
editions by assigning a permission set to users.
For more information, see Permission Set Access for Contact Manager, Group, and Professional Available in:
Editions on page 217. To set up two-factor authentication, see the video Enhancing Security with • Contact Manager
Two Factor Authentication. • Group
• Professional

User Provisioning for Connected Apps (Generally Available)


USER PERMISSIONS EDITIONS

To read: “Customize Application” Connected Apps can be


created in: Enterprise,
To create, update, or delete: “Customize Application” AND either
Performance, Unlimited,
“Modify All Data” OR “Manage Connected and Developer Editions
Apps”
Connected Apps can be
installed in: All Editions
To update all fields except Profiles, “Customize Application”
Permission Sets, and Service Provider SAML
Attributes:

To update Profiles, Permission Sets, and “Customize Application” AND “Modify All
Service Provider SAML Attributes: Data”

To uninstall: “Download AppExchange Packages”

319
Salesforce Summer ’15 Release Notes User Provisioning for Connected Apps (Generally Available)

Automatically create, update, and delete user accounts on services, such as Google and Box, based on changes to user accounts in your
Salesforce organization or Active Directory service. This feature dramatically reduces the time required to on-board new users, update
user accounts, or deactivate accounts. It also provides a centralized view of all user accounts across applications and services.

User provisioning for connected apps captures user events (such as creating a user, assigning a permission set or profile, or changing
user information) in a Salesforce organization and applies updates to the corresponding account on a third-party service.
For example, you can configure user provisioning for a Google Apps connected app in your organization. Then assign the profile
“Employees” to that connected app. When a new user is created in your organization and assigned the “Employees” profile, the user is
automatically provisioned in Google Apps. Additionally, when the user is deactivated, or the profile assignment changes, the user is
automatically de-provisioned from Google Apps. You can also configure an approval process to request a manager’s approval before a
provisioning or de-provisioning action.
Add Salesforce Identity Connect to capture events in an Active Directory installation and apply user provisioning updates to an external
application. Identity Connect is an on-premise add-on that provides Active Directory integration with Salesforce. It synchronizes Active
Directory with your Salesforce user accounts. User provisioning for connected apps can capture Active Directory changes through Identity
Connect to provision or de-provision users on a third-party system or application.

User Provisioning for Connected Apps Benefits


A wizard for quick configuration
Run the User Provisioning Wizard to configure user provisioning.
Support for approval processes
Include an approval process to give management control over new user accounts and user account changes.
Stronger security
Automatically disable user accounts in third-party applications when a user leaves the company.
Auditing and compliance
Discover and manage the apps your users use. You can get a centralized view of all the accounts a user has across all connected
apps. Run reports and set up alerts.
IT efficiency
Reduce maintenance time on user accounts and save time provisioning users for applications.
Customization
Apex and Visual Workflow support for full customization.

320
Salesforce Summer ’15 Release Notes Connected App Improvements for Finer Control and Easier
Administration

User Provisioning for Connected Apps Requirements


A connected app for the third-party service
Any connected app can support user provisioning, including a “bookmark” connected app.
Named credentials
Named credentials identify the third-party system and its authentication settings. Calls to the third-party system, such as creating,
editing, or deleting accounts, use the third-party authentication settings in the named credential. For the named credential, you
specify a Named Principal, which can be an account on the third-party system or an OAuth authorization for an existing Auth. Provider
in your organization. The User Provisioning Wizard asks for this named credential.
A flow created with the Flow Designer
Flows manage provisioning requests to the third-party system. Salesforce provides a connectors package on the AppExchange
containing pre-configured flows to simplify your user provisioning setup process. You associate one of these flows with the connected
app using the User Provisioning Wizard.
For more information, see User Provisioning for Connected Apps in the online help.

Connected App Improvements for Finer Control and Easier Administration


Salesforce introduces several changes to the administration of connected apps for quick adjustments
EDITIONS
to a connected app’s configuration.
The following changes improve the administration and usability of connected apps. Connected Apps can be
created in: Group,
Session Timeout for OAuth connected apps
Professional, Enterprise,
Set a Timeout Value for individual OAuth connected apps when you edit the connected app
Performance, Unlimited,
settings. The Timeout Value sets the expiration of the access tokens for the connected app's
and Developer Editions
session. If you don’t set a Timeout Value or None is selected (the default), Salesforce uses the
Timeout Value in the user’s profile. If the profile has no value set, Salesforce uses the Timeout Connected Apps can be
Value in the organization’s Session Settings. installed in: All Editions

Edit user provisioning for connected apps account linkage settings on the user’s detail
page or connected app detail page
User provisioning for connected apps links a Salesforce user account with their account on a third party system, such as Google
Apps. Once linked, you can edit the account link settings in two places:
• (New) The user’s detail page in the User Provisioning Accounts section. From Setup, click Manage Users > Users.
• The connected app detail page. From Setup, click Manage Apps > Connected Apps and click the connected app name.

Get a Delegated Approver Using SCIM (System for Cross-Domain Identity


Management)
Developers can use the REST API to get the ID and display name of the assigned approver for an
EDITIONS
approval process from Salesforce.
Salesforce supports the open-standard SCIM specification 1.1 and provides extensions so that you Available in all editions
can edit and manage user properties using the REST API. When a developer requests identity
information from a Salesforce SCIM endpoint, Salesforce returns the data in JSON format.
The returned values now include the Delegated Approver’s ID and display name under the uniform resource name (URN):
urn:scim:schemas:extension:enterprise:1.0.
For more information, see “Use the System for Cross-Domain Identity Management” in the online help.

321
Salesforce Summer ’15 Release Notes Get Quicker Updates on My Domain Name Propagation

Example: "urn:scim:schemas:extension:enterprise:1.0":{
"organization":"00DD00############", "delegatedApprover":{
"delegatedApproverId":"005D00############", "displayName":"Renee Moreau" } }

Get Quicker Updates on My Domain Name Propagation


The time Salesforce takes to check the status of the DNS propagation of a new domain decreased
EDITIONS
from 10 minutes to 30 seconds. This change means you can receive notification that your new
domain propagation is complete sooner than in previous releases. Available in:
Before you can log in and test your new domain, Salesforce propagates the new name to its servers. • Performance
Previously, Salesforce checked the status of the DNS propagation every 10 minutes. Salesforce now • Unlimited
checks on the status of the propagation every 30 seconds, possibly decreasing your wait time for • Enterprise
notification that the process is complete. • Developer
• Professional
DNS propagation is not the same as deploying the domain to your users. Deploying your custom • Group
domain is a separate process. For more information, see My Domain Overview.

Test Your My Domain Login Page Settings Before You Deploy the Domain
to All Users
Previously, you deployed a new domain to your users to test the login settings. Now, you can set
EDITIONS
up a new domain and test the login page settings without deploying the domain to all users.
Customize the appearance of the login page before deploying a new custom domain to your users. Available in:
Test the login page and confirm the authentication services. You can then roll out the configuration • Performance
with your initial deployment to your users. For more information, see Set Up a Domain Name. • Unlimited
• Enterprise
• Developer
Critical Updates • Professional
• Group
This release includes updates that improve the performance, logic, and usability of Salesforce but
might affect your existing customizations.
To ensure a smooth transition, each critical update has an opt-in period, which ends on the auto-activation date that’s displayed on the
Critical Updates page in Setup. During this period, you can manually activate and deactivate the update as often as you need to evaluate
the impact on your organization and modify affected customizations. After the opt-in period has passed, the update is automatically
activated. For more details, see “Critical Updates Overview” in the Salesforce Help.
Serve Static Resources from the Visualforce Domain
This critical update changes the way that your static resources, such as images, JavaScript, and CSS files, are served from Salesforce.
To avoid broken references to static resources, make sure that you review our recommended best practices.
PageReference getContent() and getContentAsPDF() Methods Behave as Callouts
This critical update changes the way calls made to the PageReference methods getContent() and getContentAsPDF()
are treated and improves the semantics of the transaction for the calling page.
Set Up Enhanced Goals
All organizations using Work.com Goals will be automatically upgraded to Enhanced Goals on Friday, August 21. You can choose to
upgrade as soon as the release is available to use the new features and give your organization more time to migrate your goals
customizations.

322
Salesforce Summer ’15 Release Notes Help and Training: Walkthroughs, Trailhead, Developer
Cookbook

Help and Training: Walkthroughs, Trailhead, Developer Cookbook


We added walkthroughs, created a cookbook for Service Cloud developers, and updated instructional videos and some of our trust and
compliance documents. We’re also introducing Trailhead modules!

IN THIS SECTION:
Trailhead Modules
Looking for a good way to get started with Salesforce or dive into a new feature? Meet Trailhead, a fun, guided, and interactive tool
to learn Salesforce. You can follow guided learning paths for admins or developers, or choose your own adventure with self-paced
modules.
Walkthroughs
A walkthrough is a series of interactive steps that guides you through a task or feature. We created some walkthroughs to introduce
you to different features in Salesforce, and more are on the way!
Introducing the Service Cloud Cookbook Developer Guide
Are you a developer who’s looking to take a Service Cloud implementation to the next level? Are you a savvy admin who wants to
try your hand at improving a Service Cloud implementation with some simple code? Then check out the new Service Cloud Cookbook,
a collection of simple, impactful code samples that you can add to your organization.
Videos
We created and updated a number of instructional videos to help your users learn about new and improved Salesforce features.
Trust and Compliance Documentation
The Salesforce Trust and Compliance Documents have undergone seasonal updates.

Trailhead Modules
Looking for a good way to get started with Salesforce or dive into a new feature? Meet Trailhead, a fun, guided, and interactive tool to
learn Salesforce. You can follow guided learning paths for admins or developers, or choose your own adventure with self-paced modules.
Check out Trailhead at https://developer.salesforce.com/trailhead and find the right trail for you. We offer these modules, with more on
the way.
Apex Basics & Database
Use Apex to add business logic and manipulate your Force.com data.
Apex Testing
Write robust code by executing Apex unit tests.
Apex Triggers
Write Apex triggers to perform custom database actions.
Application Lifecycle Management
Learn best practices for team app development and lifecycle management.
Change Management
Safely deploy changes by developing them like apps.
Process Automation
Save time across your organization by using our point-and-click tools to automate repetitive business processes.
Chatter Basics
Develop a Chatter rollout strategy and help your users get started with enterprise social collaboration.

323
Salesforce Summer ’15 Release Notes Walkthroughs

UI Customization
Customize your app's user interface without code.
Data Management
Import and export data in Force.com.
Data Modeling
Give your data structure with objects, fields, and relationships.
Data Security
Control access to data using point-and-click security tools.
Lightning App Builder
Build Salesforce1 mobile apps quickly with point-and-click tools.
Lightning Components
Build modern apps faster with reusable UI components.
Lightning Connect
Access, display, and integrate data from an external data source in real time.
Formulas & Validations
Tailor your apps without writing code by using point-and-click logic.
Reports & Dashboards
Build real-time reports and charts to visualize key business metrics.
Salesforce1 Mobile Basics
Customize your mobile experience with Salesforce1.
Salesforce Platform Basics
Get introduced to the platform, navigate use cases, and build your first app.
Visualforce Basics
Use Visualforce to build custom user interfaces for mobile and web apps.
Visualforce Mobile
Use Visualforce to customize and expand your Salesforce1 mobile experience.

Walkthroughs
A walkthrough is a series of interactive steps that guides you through a task or feature. We created some walkthroughs to introduce you
to different features in Salesforce, and more are on the way!
Before you start a walkthrough, make sure you have the correct user permissions and license associated with the feature so you can
access the proper pages in Salesforce. Bon voyage!

Important: Keep in mind that walkthroughs guide you through your own Salesforce account, so you’re actually making changes
to the data in your organization as you walk through the steps. If you’re concerned about making these changes, follow the
walkthrough in a sandbox account or other test environment first.

Feature Walkthroughs You’ll need...


Case Feed Case Feed Setup • Chatter
• Feed tracking on cases
• Publisher Actions

324
Salesforce Summer ’15 Release Notes Walkthroughs

Feature Walkthroughs You’ll need...


Chatter Groups Allow Users to Add Records to Chatter “Customize Application” and “View Setup”
Groups permissions
Add the Groups Related List to Records

Consoles Create a Salesforce Console App Service Cloud User feature license or “Sales
Console” permission

Lightning Process Builder Create an Automated Follow-Up Task “Interaction (Flow)” and “View All Data”
permissions

Notes “Customize Application” and “View Setup”


Set Up Notes
permissions

Organization Sync Explore the Connection Detail Page • Salesforce to Salesforce replication
connection
• “Manage Connections” permission

Permission Sets Create, Edit, and Assign a Permission Set “Manage Profiles and Permission Sets” and
"Assign Permission Sets" permissions

Platform Encryption Create an Encrypted Custom Field • Platform Encryption


• “Customize Application” and “View
Setup” permissions
• “View Encrypted Data” permission (for
viewing encrypted field values)

Reporting Create a Knowledge Search Activity “Manage Custom Report Types” and
Report Type “Manage Public Reports” permissions

Sales Path Set Up a Sales Path • Sales Path enabled


• “View Setup” permission
• “Modify All Data” permission
• “Customize Application” permission

Salesforce1 Customize the Salesforce1 Navigation “Customize Application” permission


Menu
Create a Global Quick Action
Customize Global Publisher Layouts

SEE ALSO:
What's a walkthrough?

325
Salesforce Summer ’15 Release Notes Introducing the Service Cloud Cookbook Developer Guide

Introducing the Service Cloud Cookbook Developer Guide


Are you a developer who’s looking to take a Service Cloud implementation to the next level? Are you a savvy admin who wants to try
your hand at improving a Service Cloud implementation with some simple code? Then check out the new Service Cloud Cookbook, a
collection of simple, impactful code samples that you can add to your organization.
Want to improve how cases are organized? Add customizations to a Salesforce console? Personalize your Live Agent chat window? The
Service Cloud Cookbook includes code samples you can use right out of the box to solve these problems and many more.
Check out how code can help you take your customer service to the next level with the Service Cloud Cookbook.

Videos
We created and updated a number of instructional videos to help your users learn about new and improved Salesforce features.
• Organization Sync lets you set up a secondary, synced Salesforce organization that users can access when your primary organization

is undergoing maintenance. To learn about Organization Sync, check out this short video: How Organization Sync Works

The new Social Customer Service video, Support Your Customers on Their Social Networks, provides a brief overview on
getting started with Social Customer Service.

The new Avoid Unwanted Actions in Your Process video shows you how to set options in the Process Builder so you can, for
example, avoid sending a bunch of emails to the VP every time a high-value opportunity is updated.

The new Report Notifications video shows you how to set up report notifications to stay on top of your business.

The new Who Sees What: Record Types video shows you how to organize and gather data for the same object, in different
ways, using record types.

The new Searching in Salesforce video walks you through searching in Salesforce, and within Chatter, so you can locate files,
posts, records, and topics quickly.

The new How to Search In Help video shows you how to fine tune your search settings and luse the filters so that you can
find exactly what you need, every time.

The new Formulas: Tips and Gotchas video gives you some best practices, such as writing your formula in plain language and
using formatting to organize the formula so its easy to read. We also cover how to handle blank fields in both addition or subtraction,
and division.

The new Custom Fields: Picklists video walks you through creating a picklist field as well as adding new values to the field,
and deleting old values.

Trust and Compliance Documentation


The Salesforce Trust and Compliance Documents have undergone seasonal updates.

Notices and Licenses


The following changes have been made in the Notices and Licenses Documentation:

326
Salesforce Summer ’15 Release Notes Trust and Compliance Documentation

Salesforce
Updated third party notices to reflect current product offerings, including adding new third party content providers.
Updated “Distributed Software” section to include licenses for Salesforce Authenticator for iOS and Android.
Updated open source table.
Analytics Cloud
Updated open source table.
Pardot
Updated open source table.
Removed notices applicable to integrations that are no longer available.
ExactTarget
Updated Restricted Uses of Information section.
Updated third-party notices to reflect current product offerings, including adding new third-party services.
Removed notices applicable to products that are no longer available.
Marketing Cloud
Updated third-party notices to reflect current product offerings, including adding new third-party services.
Predictive Intelligence
Updated third-party notices to reflect current product offerings, including adding new third-party services.
Desk.com
Updated “Third-Party Applications” sections to include the following apps: AMC Technology, Amity, AnswerDash, DataHero, FullStory,
GetFeedback, HelpIQ, Helppier, NewVoiceMedia, OneReach, Quisbee, RingCentral, Slack, Swiftype, Teckst, and ThinkCS
Updated “Third-Party Applications” sections to remove the following app: Lexity.
Heroku
Clarified that the Heroku Toolbelt and the Heroku Command Line Interface are each licensed pursuant to the MIT license.

Security, Privacy, and Architecture


The following changes have been made in the Security, Privacy, and Architecture Documentation:
Salesforce
Audits and Certifications: Clarified that the SOC 1 report is performed under both the American SSAE 16 standard and international
ISAE 3402 standard.
Audits and Certifications: Added a link to Help & Training to provide additional background on Encrypted Custom Fields.
Security Procedures, Policies, and Logging: Clarified that the cryptographic technology used to protect user passwords is a one-way
salted hash.
Work.com on Salesforce
Security Procedures, Policies, and Logging: Clarified that the cryptographic technology used to protect user passwords is a one-way
salted hash.
Reliability and Backup: Added information on replication of Customer Data, clarifying that it is replicated to the disaster recovery site.
Reliability and Backup: Clarified differences between data backup periods for production and Sandbox environments.
Analytics Cloud
Security Procedures, Policies, and Logging: Clarified that the cryptographic technology used to protect user passwords is a one-way
salted hash.
Reliability and Backup: Added information on replication of Customer Data, clarifying that it is replicated to the disaster recovery site.

327
Salesforce Summer ’15 Release Notes Other Salesforce Products: Desk.com, Heroku

Pardot
User Authentication: Clarified the user authentication may be supported by means other than a user ID and password combination,
such as a single sign-on system (SSO).
ExactTarget
Audits and Certifications: Updated information to reflect that SOC reports now cover broader aspects of Salesforce’s information
security control environment and are not limited to Salesforce’s data centers.
Security Controls: Updated information noting controls related to secure transport, customer configurable security, and customer
configurable roles and permissions.
Reliability and Backup: Added additional information to reflect that backups on backup media are encrypted.
Predictive Intelligence
Reliability and Backup: Added clarifications that data is protected via replication in three zones.
Radian6
Salesforce.com Infrastructure/Audits and Certifications: Removed information on Softlayer, reflecting Salesforce’s discontinued use
of Softlayer in providing the Radian6 Services.
Audits and Certifications: Updated information to reflect that the Radian6 Services’ information security management system is
within the scope of an ISO 27001 certification.
Audits and Certifications: Updated information to reflect that the information security control environment applicable to the Radian6
Services now undergoes an independent evaluation in the form of a SOC 2 report.
Reliability and Backup: Added additional disclosures relating to redundant configurations that support the Radian6 Services.
Reliability and Backup: Added additional disclosures that backups are verified for integrity and stored in Salesforce data centers.
Data Encryption: Updated information on the encryption of social account OAuth tokens.
Buddy Media
Audits and Certifications: Updated information to reflect that the Buddy Media Services’ information security management system
is within the scope of an ISO 27001 certification.
Audits and Certifications: Updated information to reflect that the information security control environment applicable to the Buddy
Media Services now undergoes an independent evaluation in the form of a SOC 2 report.
Reliability and Backup: Added disclosures relating to redundant configurations that support the Buddy Media Services.
Viruses: Provide background on scanning by Buddy Media Services of uploaded images and videos for known viruses, which do not
store images and videos found to contain a virus.
Social.com
Salesforce Infrastructure: Added description of the infrastructure used to host Customer Data submitted to the Social.com Services,
reflecting transition from Softlayer to infrastructure owned or controlled by Salesforce.com.
Third-Party Infrastructure: Removed information on Softlayer and other references to third-party infrastructure to reflect the transition
from Softlayer to Salesforce infrastructure in providing the Social.com Services.
Deletion of Customer Data: Updated to reflect data deletion periods associated with Salesforcec infrastructure.

SEE ALSO:
Salesforce.com Trust and Compliance Documents

Other Salesforce Products: Desk.com, Heroku


Desk.com and Heroku have release notes you can consult separately.

328
Salesforce Summer ’15 Release Notes Other Salesforce Products: Desk.com, Heroku

desk.com
Desk.com is an all-in-one customer support app for small businesses and growing teams.
For information on new features, go to the Desk.com Product Updates Blog.

Heroku
Heroku is a cloud-based application platform for building and deploying web apps.
For information on new features, go to the Heroku Changelog.

329

You might also like