Salesforce Spring11 Release Notes
Salesforce Spring11 Release Notes
Note: 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.
Table of Contents
About the Release Notes.......................................................................................................................................................................3
Summary of Spring '11 Features and Impact on Salesforce Users.........................................................................................................4
Collaboration Cloud Enhancements.........................................................................................................................................4
Sales Cloud Enhancements.......................................................................................................................................................5
Service Cloud Enhancements....................................................................................................................................................6
Analytics Enhancements...........................................................................................................................................................8
Force.com Enhancements..........................................................................................................................................................9
Collaboration Cloud..........................................................................................................................13
Chatter Desktop Enhancements.............................................................................................................................................13
Chatter Feeds Enhancements..................................................................................................................................................17
Chatter Files Enhancements...................................................................................................................................................19
Chatter Groups Enhancements...............................................................................................................................................23
Chatter Topics Enhancements................................................................................................................................................24
Chatter for Mobile Devices.....................................................................................................................................................24
Chatter Notifications Enhancements......................................................................................................................................29
Chatter Recommendation Enhancements...............................................................................................................................30
Chatter Search Enhancements................................................................................................................................................30
Additional Chatter Enhancements..........................................................................................................................................31
Sales Cloud........................................................................................................................................32
Sales Cloud Enhancements.....................................................................................................................................................32
Service Cloud....................................................................................................................................37
Multiple Languages for Salesforce Knowledge........................................................................................................................37
Salesforce Knowledge Sidebar for the Service Cloud Console................................................................................................44
Additional Service Cloud Enhancements................................................................................................................................45
Analytics............................................................................................................................................48
Analytics Enhancements.........................................................................................................................................................48
Force.com..........................................................................................................................................53
Criteria-Based Sharing Rules—Generally Available...............................................................................................................53
Force.com Flow—Generally Available....................................................................................................................................55
Packaging Enhancements........................................................................................................................................................57
Force.com Apex Code Enhancements.....................................................................................................................................59
Visualforce Enhancements......................................................................................................................................................62
Field Sets—Beta......................................................................................................................................................................64
API Enhancements.................................................................................................................................................................66
i
Table of Contents
Force.com Development as a Service Enhancements..............................................................................................................70
Change Sets—Generally Available..........................................................................................................................................72
Security Enhancements...........................................................................................................................................................81
Additional Force.com Enhancements.....................................................................................................................................83
ii
About the Release Notes
3
Summary of Spring '11 Features and Impact on Salesforce Users
4
Summary of Spring '11 Features and Impact on Salesforce Users
Desktop Notifications
Retry Sync
OAuth
Opportunities
5
Summary of Spring '11 Features and Impact on Salesforce Users
Quotes
6
Summary of Spring '11 Features and Impact on Salesforce Users
Customer Portal
7
Summary of Spring '11 Features and Impact on Salesforce Users
Entitlement Management
Analytics Enhancements
Report Builder Enhancements
Dashboard Enhancements
8
Summary of Spring '11 Features and Impact on Salesforce Users
Force.com Enhancements
Globalization
9
Summary of Spring '11 Features and Impact on Salesforce Users
Visualforce Enhancements
Customization
Sites
Security
10
Summary of Spring '11 Features and Impact on Salesforce Users
11
Summary of Spring '11 Features and Impact on Salesforce Users
12
COLLABORATION CLOUD
October 2010 saw the first release of Chatter Desktop—a desktop app for collaborating in Chatter outside of the browser.
Now with Spring '11, a new version of Chatter Desktop is available with performance optimizations and enhancements that
let you:
In addition, Spring '11 includes a managed version of Chatter Desktop for enterprise deployments, and administration controls
for controlling access to Chatter Desktop in your organization.
Chatter Desktop is a free desktop application that lets you collaborate in Chatter without a browser. Use Chatter Desktop to
post and comment in Chatter, and receive updates about the people, records, and files you follow and your groups. Chatter
Desktop also displays Chatter updates in popup notifications in your Windows taskbar or Mac OS X Dock.
Chatter Desktop is enabled for most organizations, but administrators can control access to Chatter Desktop as follows:
13
Collaboration Cloud Chatter Desktop Enhancements
Salesforce.com provides two Chatter Desktop installers: a standard version for individual installations and a managed version
for enterprise deployments.
To install the standard version, go to the Chatter tab and click Get Chatter Desktop under What To Do Next. Alternatively,
you can install the standard version as follows:
Note: Administrators can disable the Chatter Desktop download page and block users from accessing Chatter Desktop.
1. Deploy Adobe® Integrated Runtime (AIR®) version 2.0.4 or later to the machines on which you plan to deploy Chatter
Desktop. AIR is Adobe's cross-platform runtime environment for desktop applications, and is a prerequisite for Chatter
Desktop.
Tip: Visit these links before deploying AIR:
14
Collaboration Cloud Chatter Desktop Enhancements
• Installation information:
http://help.adobe.com/en_US/air/redist/WS485a42d56cd19641-70d979a8124ef20a34b-8000.html
• Administration information:
http://help.adobe.com/en_US/air/admin/WS485a42d56cd1964167ea49bd124ef17d52a-8000.html
Important: Chatter Desktop uses Adobe® Acrobat® Reader to preview PDF files. Before previewing files with
Chatter Desktop, install Adobe Acrobat and open it at least one time to complete the installation. You can download
it from Adobe's website.
By default, Chatter Desktop connects to the Production instance of Salesforce. If your organization uses multiple instances
of Salesforce on different servers, manually configure Chatter Desktop to connect with those instances:
1. Click the icon in the upper right corner of the Chatter Desktop interface and select Settings.
2. In the Connections section, enter a name for the connection and the URL you use to log into the instance. The URL must
begin with https:// and end with salesforce.com. For example, if your organization has a European subsidiary that
you log into from https://emea.salesforce.com, enter that URL and name the connection Europe.
3. Click Add.
4. To optionally configure Chatter Desktop to connect to this instance by default, select the radio button next to the name
of the connection.
5. Restart Chatter Desktop. When Chatter Desktop relaunches, an authentication screen appears. Follow the on-screen
instructions to authenticate Chatter Desktop to connect with the new instance.
To post a link to Chatter, type the link in the text box at the top of the Chatter tab, or click the icon that appears when
you type a post.
15
Collaboration Cloud Chatter Desktop Enhancements
Tip: Chatter Desktop synchronizes with Salesforce automatically; however, synchronization does not always happen
The default Chatter Desktop configuration is appropriate for most users, but several Chatter Desktop settings are configurable.
To access Chatter Desktop settings, click the icon in the upper right corner and select Settings. From the Settings screen,
you can:
Figure 1: Comparison of Chatter Desktop Setting with and without Comments in Feed
16
Collaboration Cloud Chatter Feeds Enhancements
To disallow Chatter Desktop from accessing your Salesforce data, click Your Name ➤ Setup ➤ My Personal Information
➤ Personal Information, and click Revoke next to Chatter Desktop in the Remote Access section. Do this if the computer
on which you installed Chatter Desktop is stolen or lost.
Chatter Desktop uses Adobe® Integrated Runtime (AIR®), Adobe's cross-platform runtime environment for desktop applications.
This table provides troubleshooting information for the most common AIR application issues. For more information, see the
Adobe® knowledge base.
Problem Solution
Chatter Desktop installation fails. Change your default browser to another application and then
back to your preferred browser. This ensures that your
operating system opens the Chatter Desktop installation files
correctly.
Chatter Desktop on Linux freezes, presents an empty window, Troubleshoot your Encrypted Local Storage (ELS) keystore.
does not save your password, or malfunctions in another way. See
http://kb2.adobe.com/cps/492/cpsid_49267.html.
Chatter Desktop does not preview PDF files. Chatter Desktop uses Adobe® Acrobat® Reader to preview
PDF files. Before previewing files with Chatter Desktop,
install Adobe Acrobat and open it at least one time to complete
the installation. You can download it from Adobe's website.
@Mentions
When you post an update in Chatter, you can mention a person's name to make sure that person sees your update. Mentioning
a person is a way to keep them informed when you're discussing something relevant to their job.
For example, let's say you see a post from a coworker who is looking for leads at the company Universal Paper, and you know
that Bob Smith has contacts at that company. You can reply to your coworker's post with the following comment: “Talk to
17
Collaboration Cloud Chatter Feeds Enhancements
@Bob Smith—he knows a few folks at the company.” Bob Smith would then be notified about your post and your coworker
could click on “@Bob Smith” in the update to view Bob's Chatter profile and learn more about him.
To mention someone in an update:
1. Enter @ followed by the first few letters of the person's name.
2. Select the person from the list of matches.
3. Post your update.
The following happens:
• The person's name becomes a blue link that others can click to view the person's profile.
• Your update appears on the mentioned person's profile feed and in their To: Me filter.
• Chatter emails a notification to the person you mentioned. The person also receives a notification every time somebody
comments on the update where they were mentioned.
You can't have more than 10 mentions in a single post or comment.
Chatter enforces all the security and sharing rules in Salesforce. If you post an update to a record or private group and mention
someone who doesn't have access to that record or isn't a member of the private group, the mentioned person won't see your
update. Specifically:
• The mentioned person isn't notified about the update.
• The update doesn't appear in the mentioned person's profile feed or in their To: Me filter.
• The mention appears as a gray link (instead of a blue link). Whenever you see a mention in gray, the mentioned person
isn't able to see the update.
For example, let's say you create a private group for your sales team and forget to add your coworker Sandy Dunn to the group.
When you post an update to this group and mention Sandy Dunn, she won't be notified about the update and won't see the
update because she's not a member of the private group. If you later add Sandy to the group, Chatter doesn't notify her about
the previous mentions.
Live Updates
Liking Posts
• To stop liking a post, click Unlike. When you stop liking a post, you won't receive email notifications for subsequent
comments.
• View the profiles of others who have liked a post by clicking their name at the bottom of the post, for example, “John
Smith likes this.”
18
Collaboration Cloud Chatter Files Enhancements
• If more than three people like a post, click the link to see the full list; for example, “You, John Smith, and 2 others like
this.” From that list, you can follow or stop following people.
19
Collaboration Cloud Chatter Files Enhancements
Click next to a person's name to stop sharing the file with them.
Note:
• Links are listed on the Files tab, but can't be shared in Chatter.
• Web links and Google Docs from Salesforce CRM Content are listed on the Files tab, but can't be shared in
Chatter.
• Documents from the Documents tab and attachments from the Notes and Attachments related list aren't listed
on the Files tab and can't be shared in Chatter.
• Salesforce CRM Content files in Chatter may be shared with more people than shown on the Sharing dialog box
if they are part of a content pack or delivery.
• The maximum number of times a file can be shared is 100. Sharing a file includes when a file is privately shared
or shared with your company. If a file is privately shared and nears the 100 share maximum, consider making the
file public by posting it to your feed.
• See who the file is shared with and their permission: owner or viewer.
• Click Share with more people to share the file with specific people. Anyone who can see a file, can share it. Note that files
in your personal workspace must first be published before they can be shared.
• Click Make private to remove the file from everywhere it's been shared. Or click Restrict access if the file originated in
a Salesforce CRM Content workspace. Only owners and user's with the “Modify all Data” permission can make a file
private ( ) or restrict access. Alternately, click Restrict access (if the file originated in a Salesforce CRM Content workspace)
to remove the file from everywhere it's been shared except the workspace.
• Click next to a person's name to stop sharing the file with them.
• Click Next and Previous to see more of the list, or click Done to close the window.
20
Collaboration Cloud Chatter Files Enhancements
2. On the Sharing dialog box, click Make private (or Restrict access if the file originated in a Salesforce CRM Content
workspace).
3. On the confirmation dialog box, click Make private (or Restrict access).
If there is no description and you want to add one, click Add Description or click the edit icon ( ) next to the description
File owners and users with the “Modify All Data” permission can edit file details.
21
Collaboration Cloud Chatter Files Enhancements
Privately Shared ( ) The file has only been shared with specific A file is privately-shared when it's:
people and locations. It's not available to • Only shared with specific people
all Chatter users in your company. Only • Posted to a private group
the file owner, users with “Modify All • Posted to a feed on a record
Data” or “View all Data” permission, and
• Published to a shared workspace
specific file viewers can find and view this
file.
Your Company ( ) All Chatter users in your company can find A file is shared with your company when
and view this file. it's posted to a feed on the Home tab,
Chatter tab, a profile, a record or a public
group
This table describes the actions that can be performed by users based on their permission:
Note:
• Users with the “Modify All Data” permission can view, preview, download, share, attach, make private, restrict
access, edit, and delete files they don't own (unless the file is in a personal workspace, then only the file owner has
access to it), but they can't upload a new version.
22
Collaboration Cloud Chatter Groups Enhancements
• Users with the “View All Data” permission can view and preview files they don't own (unless the file is in a personal
workspace, then only the file owner has access to it).
• Groups (including group members) and records have viewer permission for files posted to their feeds.
• Permissions for files shared with workspaces are determined by the workspace.
• Click Accept to accept. If there are more than two requests, you can accept them all by clicking Accept x of y, for
example, Accept 3 of 3.
• Click to decline. Optionally enter a message that will be included with your decline email and click Send. If you
change your mind, you can click Cancel to go back.
Group Filters
You can now filter the groups list on the Groups tab:
• All Groups shows all groups in your company
• Recently Viewed shows the groups you recently looked at, starting with the group you viewed last
• My Groups shows the groups you belong to, own, or manage
Group Columns
The columns on the Groups tab, which allow you to sort the groups list, have changed:
• Group: Sorts by the group name. Also includes the group description, number of members, and owner's name.
• Last Activity: Sorts by the date of the last post or comment on the group feed.
23
Collaboration Cloud Chatter Topics Enhancements
• Membership: Sorts by your membership status in the group, either Member, Manager, or Owner. You can also Join public
groups or Ask to Join private groups.
Trending Topics
The Chatter tab now includes a Trending Topics area that shows the topics your coworkers are discussing right now in Chatter.
The more frequently people include a specific topic in their posts and comments over a short period of time, the more likely
it is to become a trending topic. For example, if your coworkers are attending the upcoming Dreamforce conference and have
started discussing it in Chatter, you may see a trending topic for #Dreamforce.
A trending topic usually relates to a one-time or infrequent event that has a spike in activity, such as a conference or a project
deadline. A topic that is consistently used in posts and comments over a long period of time isn't considered a trending topic.
A topic falls off the trending topics list when fewer people add that topic to their posts and comments, or when people start
using new topics more frequently.
When determining which topics are trending, Chatter doesn't look at record and private group feeds. Only topics you include
when updating your status, posting to a person's profile, or posting to a public group can become a trending topic.
Autocomplete Lets You Quickly Add Previously Used or Popular Topics to Your Updates
When you enter “#” followed by the first few characters of a topic, you now see a list of your recently used topics as well as
your company's most popular topics. You can then select one of these topics to add it to your post or comment, or continue
typing to add a topic that's not in the autocomplete list.
24
Collaboration Cloud Chatter for Mobile Devices
Install the free Chatter mobile app on your Apple or BlackBerry device to collaborate in Chatter on the go.
• Receive updates about the people and records you follow and your groups.
• View and create posts and comments.
• Post photos from your device.
• Find and follow people in your organization.
• Find and join groups in your organization.
• View your coworkers' profiles to see their contact information, bio, who they're following, and who's following them.
• Email, call, or text people directly from their profiles.
The Chatter mobile app is available for the Apple iPhone, iPad, and iPod Touch with iOS 4.0 or higher. A beta version is
available for BlackBerry devices with BlackBerry 5 OS or higher. To download the app for Apple devices, search for it on the
Apple App Store. To download the app for BlackBerry devices, access www.salesforce.com/blackberrybeta from
your BlackBerry.
Tip: If you don't have a device that the Chatter mobile app supports, you can still access Chatter on your mobile
device with Chatter for mobile browsers.
The Chatter mobile app is enabled for use in most organizations by default. If it is not enabled in your organization or you
want to change the default settings, see Configuring the Chatter Mobile App.
Tips
• To post to the Chatter feed you're viewing, choose on Apple devices or Post on BlackBerry devices.
•
When posting, choose to select from the photos on your device. When posting from a device with a camera, choose
to take a picture to attach to the post.
• To comment on a post, navigate to the post and choose on Apple devices or Comment on BlackBerry devices.
• To refresh a feed on Apple devices, scroll to top of the feed, then drag your finger down and release.
• To log out on your Apple device, choose Chatter in your device settings and toggle Log Out Now.
• To add to your Favorites on an iPad, press your finger on the icon next to a person, group, or record until the icon highlights
and drag it to the Favorites section.
• To view information about a user or group on an iPad, navigate to the user's or group's feed and choose .
• To search for users or groups on an iPad, choose .
• To email, call, or text people directly from their profiles, first configure email and telephony on your device.
• Use the following keyboard shortcuts on BlackBerry devices:
- c = Enter a comment.
- t = Go to the top of the feed.
- b = Go to the bottom of the feed.
25
Collaboration Cloud Chatter for Mobile Devices
Limitations
The Chatter mobile app does not have all of the functionality of Chatter in Salesforce. The following matrix shows the
limitations of the mobile app on each device.
The beta version of the Chatter mobile app for BlackBerry has the following additional limitations:
• Detail views and search functionality are unavailable.
• You cannot deauthorize the use of the Chatter mobile app for BlackBerry devices in your organization.
• The Chatter mobile app for BlackBerry does not let users protect their mobile device with a passcode.
26
Collaboration Cloud Chatter for Mobile Devices
4. Select Enable Chatter Mobile. Users receive an error message if they try to use the Chatter mobile app in an
organization in which the app is disabled.
Note: You cannot deauthorize the use of the Chatter mobile app for BlackBerry devices in your organization.
5. Select the mobile device types your organization allows to use Chatter mobile app. The Chatter mobile app displays an
error message if a user tries to use the Chatter mobile app on a restricted device.
6. Optionally set the session security timeout for the Chatter mobile app. When a session expires, users must enter their
passcode to access the Chatter mobile app on their mobile device. You don’t need to set this option if the operating system
automatically locks the device after a period of inactivity.
7. Click Save.
Note: If your organization restricts login IP ranges on profiles, exempt the users and groups that need to access the
Chatter mobile app outside of your organization's login IP range.
Restart the Chatter mobile app if configuration changes in Salesforce do not appear on your mobile device.
If your organization restricts login IP ranges on profiles, exempt the users and groups that need to access the Chatter mobile
app outside of your organization's login IP range.
1. Click Your Name ➤ Setup ➤ Mobile Administration ➤ Chatter Mobile ➤ IP Restricted Users.
Note: The IP restriction bypass settings appear only in organizations with profile-based IP restrictions.
2. Specify the users and groups that can bypass the restrictions with the Chatter mobile app.
3. Click Send Email. Salesforce sends them an email with download links for the mobile apps your organization supports
and a unique activation link. Clicking the activation link from a mobile device exempts the device from your organization's
profile-based IP restrictions.
Important: Users with IP restricted profiles cannot use the Chatter mobile app unless they click the activation
link from their mobile device. The activation link cannot be shared or transferred.
27
Collaboration Cloud Chatter for Mobile Devices
To view Chatter mobile app activity in your organization, including the date each user activated or used the app, click Your
Name ➤ Setup ➤ Mobile Administration ➤ Chatter Mobile ➤ Users and Devices.
You can also remotely revoke access to the Chatter mobile app for a specific device if the device is lost or stolen. Revoking
access prevents the device from accessing Chatter and deletes Chatter data from the device the next time the device attempts
to synchronize with Salesforce.
To revoke access for your own mobile device:
1. Click Your Name ➤ Setup ➤ Mobile Administration ➤ Chatter Mobile ➤ Users and Devices.
2. Select the users for whom you want to revoke access.
3. Click Revoke.
In addition to the Chatter mobile app for Apple and BlackBerry devices, salesforce.com provides a mobilized Web version of
Chatter that you can access from a mobile device browser without installing an app.
Note: Chatter for mobile browsers is currently available as a pilot feature and has the following limitations:
• You can only post text; you cannot post photos and other files from your mobile device.
• You cannot search for people and groups.
• Apple and Android devices are supported but BlackBerry is not.
• If your organization has IP restrictions, your mobile device must be within your organization's IP range to access
Chatter for mobile browsers. In some instances, this may require users to log into their company's internal wireless
network or virtual private network.
Contact salesforce.com to enable Chatter for mobile browsers for you organization.
28
Collaboration Cloud Chatter Notifications Enhancements
In organizations that enable Chatter for mobile browsers, pointing a mobile browser to www.salesforce.com redirects to
the mobilized Web version of Chatter at www.salesforce.com/m. From the mobilized Web version, users can click More...
➤ Full Site to access the standard Web version of Salesforce.
Organizations without Chatter for mobile browsers cannot access the URLs for the mobilized version of Chatter.
Note: Replies are subject to these advanced email authentication protocols to verify the sender's legitimacy before
processing the message: SPF, SenderId, DomainKeys, and DKIM. If the sending server doesn’t fail any of these
protocols, the reply email is processed. If the server fails a protocol, the email is ignored.
29
Collaboration Cloud Chatter Recommendation Enhancements
email frequency. This setting only applies to new groups that a user joins or is added to, and users can still customize email
frequency for each group after they've joined. It doesn't change the notification frequency for groups that the user is already
a member of.
Recommended Records
In addition to recommending people and groups, Chatter now recommends records to follow. Following records helps keep
you up-to-date on important changes to accounts, contacts, opportunities, and more. Chatter recommends records that you've
viewed or edited, as well as records that you own (and aren't already following).
Chatter won't recommend records that your Salesforce administrator has disabled feed tracking for. Only opportunities,
accounts, leads, contacts, and articles are included in record recommendations.
View your record recommendations on the Chatter tab. To see an expanded list of your recommendations, click More. If no
recommendations appear, then you're already following all the recommended records.
For more information, see “Search Fields” in the Salesforce online help.
30
Collaboration Cloud Additional Chatter Enhancements
31
SALES CLOUD
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Cloud Scheduler is now enabled by default for all organizations, making it much simpler for administrators to offer this feature
to users. You can now automatically see the New Meeting Request button on all eligible contact, lead, and person account
detail pages. Meeting organizers can use Cloud Scheduler to request meetings with customers, and have customers select
preferred times before confirming the meeting. For an overview and demo, see “About Cloud Scheduler” in the Salesforce
online help.
In addition, administrators can add or remove the New Meeting Request button on multiple page layouts using the new
Cloud Scheduler quick setup method. This method complements the manual setup method, which involves customizing page
layouts individually to add or remove the button. If you want finer control over whether the button displays on individual page
layouts, consider using the manual setup method instead of or in combination with the quick method.
To add or remove the New Meeting Request button on multiple page layouts:
1. Click Your Name ➤ Setup ➤ Customize ➤ Activities ➤ Cloud Scheduler.
2. If you're adding the button and the new user interface theme isn't already enabled, you must enable it from Your Name
➤ Setup ➤ Customize ➤ User Interface.
3. Click Add Button to add the New Meeting Request button to the Open Activities related list on all eligible page layouts.
Eligible layouts have fewer than four buttons in the Open Activities related list (to prevent unintended crowding). Click
Remove Button to remove the button from all current page layouts.
Note: Cloud Scheduler isn't supported in Microsoft® Internet Explorer version 6.0. Users will see the New Meeting
Request button on page layouts but won't be able to use Cloud Scheduler meeting request pages.
For new organizations, the Attachments related list is now automatically added to task and event records. Existing organizations
still need to manually add the related list to the activity page layout. In addition, attachments are now searchable for tasks and
events. HTML attachments aren't allowed if the Disallow HTML documents and attachments checkbox is selected
in sYour Name ➤ Setup ➤ Security Controls ➤ HTML Documents and Attachments Settings.
32
Sales Cloud Sales Cloud Enhancements
Attachments on emails that are sent using Email to Salesforce or Salesforce for Outlook can now be saved with the email's
task record in Salesforce. Click Your Name ➤ Setup ➤ Email ➤ My Email to Salesforce and select Always save email
attachments to enable this feature. The size limit for an attached file is 5 MB. The size limit for all files attached to an
email is 10 MB.
You asked for it! These ideas are from an idea on IdeaExchange.
Email to Any Object
When emails are sent to Salesforce using Email to Salesforce or Salesforce for Outlook, some are automatically assigned
to related records based on your Email to Salesforce settings. The rest are added to My Unresolved Items, where you
can either assign them to related Salesforce records or confirm that you want to leave them unassigned.
1. Access your unresolved emails in any of these ways:
• Click My Unresolved Items in the banner on an individual email that hasn't been assigned to other records.
• Click My Unresolved Emails in the My Tasks section on the Home tab.
• Click My Unresolved Items on the My Email to Salesforce page, located at Your Name ➤ Setup ➤ Email ➤
My Email to Salesforce.
• If you're syncing contacts or events using Salesforce for Outlook, right-click the Salesforce for Outlook system
tray icon ( ) and click Salesforce ➤ My Unresolved Items.... Click the Emails tab.
2. Depending on how you want to resolve an email, choose either of these actions.
• Assign to related records—Enter a related record in one or both fields. If you need to, first select the correct
record type from the drop-down list. If you assign a lead, you can't assign additional records. Clear an entry to
cancel an assignment.
• Leave unassigned—Click Don't Assign. The text Unresolved Email: is removed from the subject line and
the email is assigned to you as a completed task. If the task's Status picklist includes more than one “completed”
status, we use the first one.
3. Click Save to save your changes. All modified items are removed from the list. You can return any time to resolve
remaining items. Clicking Cancel cancels all changes on the page. The email is added to the Activity History or
Open Activities related list of the associated records.
33
Sales Cloud Sales Cloud Enhancements
Email to Salesforce includes some new settings that let users further specify what happens when emails are sent to
Salesforce using their Email to Salesforce address or the Salesforce for Outlook Add Email button. To access these
settings: Click Your Name ➤ Setup ➤ Email ➤ My Email to Salesforce.
You can now:
• Choose whether you'd like all emails to be sent to My Unresolved Items so you can manually assign them to related
records or whether you'd like us to first try to automatically assign them.
• Choose whether you'd like emails we couldn't automatically assign to be sent to My Unresolved Items.
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Desktop Notifications
Salesforce for Outlook configurations include a new checkbox that lets administrators notify users when product updates
are available. When a new version of the product is available, users see a system tray notification that takes them to the
Salesforce for Outlook download page in Salesforce. Users are alerted every 14 days until they download the new version
or hide system tray alerts.
Retry Sync
The Salesforce for Outlook Error dialog box includes a new Try Again button that allows you to refresh the list of errors.
When you click this button, Salesforce for Outlook syncs your data and removes any errors that have been resolved.
OAuth
Salesforce for Outlook now uses OAuth-based authentication to securely store user login information. As part of this
enhancement, the setup wizard displays updated login steps, and users no longer need to manage password changes in
Salesforce for Outlook. API tokens are also no longer required.
Opportunity Enhancements
You can now sort products in the Products related list on an opportunity. Syncing a quote with an opportunity also syncs
product sort order.
34
Sales Cloud Sales Cloud Enhancements
Quote line items now include the Product Code field. To display the field in the Quote Line Items list on your quotes,
use the page layout editor.
You can now sort line items in the Quote Line Items related list on a quote. Syncing a quote with an opportunity also
syncs product sort order.
Share Salesforce CRM Content Files in Chatter with Updated Workspace Permission
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
In Spring '11, Chatter users can share files privately with other people in Chatter. The Salesforce CRM Content workspace
permission Post Content to Chatter Feeds, is now Attach or Share Content in Chatter to make Salesforce
CRM Content files from a workspace available to attach to posts and share in Chatter.
In Spring '11, you can create custom report types with data that shows how your organization uses Salesforce Mobile. For
example, the reports can show how often users access Salesforce Mobile, which mobile device models are in use, and so forth.
To create a custom report type with Salesforce Mobile usage data, select the Mobile Session Primary Object when defining
a custom report type. When you select the fields for the custom report type, choose from the following Salesforce Mobile-specific
fields.
35
Sales Cloud Sales Cloud Enhancements
Note:
• Mobile sessions are similar to Web-based sessions in login history reports; however, mobile sessions have a fixed
timeout value of 20 minutes. Salesforce creates a new Mobile Session when a user logs into or launches Salesforce
Mobile after 20 minutes of inactivity in the app or on the device in general.
• Mobile session reports only have usage data for the Salesforce Mobile app and not the Chatter mobile app.
• Some devices do not provide every physical attribute. For example, Apple devices do not provide brand.
36
SERVICE CLOUD
1. An author or reviewer submits an article for translation to another knowledge base user (the assignee).
2. The assignee translates the article using the article editor, then assigns the finished translation to a reviewer or publisher.
3. The reviewer publishes the article. Publishing an article automatically includes both the source article and its completed
translations. Note that a translated version of an article can be published before its source article, but it will only be visible
to readers when its source article is also published.
Implementation Tips
• Before you add languages to your knowledge base, decide for each language whether you want to translate articles directly
in Salesforce or export articles to a translation vendor. Communicate your decision to the people involved in the translation
process (authors, reviewers, translation managers, publishers).
• When adding a language to your knowledge base, keep in mind that it can't be deleted; however, you can hide a language
by making it inactive. Deactivating a language means it no longer appears as a choice in the New Article dialog or the
Submit for Translation dialog. Also, if articles are already published in the language, those articles are no longer visible to
readers as soon as the language is deactivated.
• You can only add languages supported by Salesforce to your knowledge base.
• To enable the article export feature, you must create one or more queues; authors and reviewers will select the queue when
they submit an article for translation. Make sure they know which queue to choose for which language.
• You must place all the translation files (meaning, those exported from Salesforce and translated by your vendor) in a folder
whose name is the same as the language code . For example, put French articles in a fr folder. Zip up this folder to create
your import file.
37
Service Cloud Multiple Languages for Salesforce Knowledge
Best Practices
• To hide translated articles for a specific language, deactivate the language by unchecking Active on the Settings page.
• To successfully import translated articles, verify that the file structure of the articles to import matches the file structure
of the articles exported for translation. For example, if the target language is French, the file structure begins as follows:
export.properties
-fr
--articletypearticlename_kav
---articlename.csv
---[Article collateral, html, images, etc.]
1. If you will send articles to a vendor for translation, you must create a translation queue. For a description of the translation
process, see “Supporting Multiple Languages in Your Knowledge Base” in the Salesforce online help.
2. On the Your Name ➤ Setup ➤ Customize ➤ Knowledge ➤ Settings page click Edit.
3. Select Multiple Languages and add the languages you want to include in your knowledge base. You can only add
languages supported by Salesforce.
4. Optionally, choose the following settings for each language:
Setting Description
Active Only active languages appear in the New Article dialog and
the Submit for Translation dialog. Also, active/inactive status
determines whether a published article is visible. For
example, if articles are published in Spanish to your partner
portal and then you make Spanish an inactive language, the
articles are no longer visible to partners.
Default Assignee This value appears in the Assign To field of the Submit
for Translation dialog. Choose a person or a queue: the
individual responsible for translating articles into this
language, or the queue used for exporting articles to a
localization vendor.
38
Service Cloud Multiple Languages for Salesforce Knowledge
Setting Description
Default Reviewer Select the person who should be assigned to review or publish
translations imported in this language.
5. Click Save.
1. Click the Article Management tab and select Translations in the View area.
2. Select Draft Translations.
3. Optionally, change the Assigned To filter to view articles that are not assigned to you for translation. For example, you
may want to view articles assigned to a translation queue.
4. Click Edit next to the article and language you want to translate.
5. Enter your translation.
6. Click Save.
Note: You can also edit a published translation. It reverts to draft status until you republish it, although you can
choose to keep the existing version published while you update it.
39
Service Cloud Multiple Languages for Salesforce Knowledge
If your organization sends Salesforce Knowledge articles to a vendor for translation, articles are put into a translation queue.
To generate an export file containing the articles that have been submitted for translation:
1. Click Your Name ➤ Setup ➤ Data Management ➤ Export Articles for Translation.
2. Select the queue that contains the articles you're exporting.
3. Click either:
4. Click Continue.
5. Select the source and target language pairs you want to export. Salesforce creates a separate zip file for every article type
in each language pair.
Attention: You must retain the zip file structure for a successful import. For more information, see Importing
Article Translations on page 42.
6. Select a user or a queue to assign the translations to after export for review or publishing.
7. Select the file character encoding:
8. Select the delimiter for the cvs files. The delimiter is the separator for columns when the file is coverted to table form.
40
Service Cloud Multiple Languages for Salesforce Knowledge
• Tab default
• Comma
If your organization sends articles for translation outside of Salesforce, , you must create one or more translation queues. When
authors or reviewers submit an article for translation, they select the queue. . You can create one queue for each language or
combine languages within queues.
To create a queue:
All queue members individually when new records are placed Leave Queue Email blank
in the queue
41
Service Cloud Multiple Languages for Salesforce Knowledge
Before you can import translated articles into Salesforce, consider the following information:
• You can only import articles that have been exported from the same Salesforce organization. For example, you can't export
articles from your test or sandbox organization and import them into your production organization.
• You must place all the translation files (meaning, those exported from Salesforce and translated by your vendor) in a folder
whose name is the same as the language code . For example, put French articles in a fr folder. Zip up this folder to create
your import file.
• To successfully import translated articles, verify that the file structure of the articles to import matches the file structure
of the articles exported for translation. For example, if the target language is French, the file structure begins as follows:
export.properties
-fr
--articletypearticlename_kav
---articlename.csv
---[Article collateral, html, images, etc.]
42
Service Cloud Multiple Languages for Salesforce Knowledge
Option Description
Review imported translations on the Article Add imported translations to a queue from which users can
Management tab before publishing review them.
Publish translations immediately on import Publish imported translations without reviews.
Salesforce Knowledge synonyms are words or phrases that are treated as equivalent in article searches, letting you optimize
search results. When searching articles, users can enter search terms that don't match any terms in your articles, but are
synonymous with those terms.
When building synonym groups, work with knowledge managers and other subject matter experts in your organization to
create relevant synonyms.
With Spring '11, you can add supported Salesforce Knowledge languages to synonym groups.
For more information, see “Managing Salesforce Knowledge Synonyms” in the Salesforce online help.
43
Service Cloud Salesforce Knowledge Sidebar for the Service Cloud Console
Implementation Tips
• To learn more about Salesforce Knowledge, see “What is Salesforce Knowledge?” in the Salesforce online help.
• To see the Salesforce Knowledge sidebar, console users need the Service Cloud User and Knowledge User feature licenses.
To add these licenses to a user:
1. Click Your Name ➤ Setup ➤ Manage Users ➤ Users.
2. Click Edit next to a user's name.
3. Select the feature licenses and click Save.
For more information, see “Viewing Feature Licenses” in the Salesforce online help.
• Only Salesforce Knowledge articles updated within the last 30 days are automatically displayed in the sidebar, but you can
view older articles by specifying a search term or filtering search results.
After you set up Salesforce Knowledge and a Service Cloud console app, you can turn on the Knowledge sidebar:
1. Click Your Name ➤ Setup ➤ Customize ➤ Cases ➤ Page Layouts.
2. Click Edit next to a page layout.
3. Click Layout Properties.
4. Check Knowledge Sidebar, and click OK.
5. Click Save.
Repeat these steps for each case page layout assigned to console users.
For more information, see “Setting Up Salesforce Knowledge” and “Setting Up a Service Cloud Console” in the Salesforce
online help.
44
Service Cloud Additional Service Cloud Enhancements
The Salesforce Knowledge sidebar automatically displays when you select a case in a Service Cloud console. Suggested articles
display in the sidebar as you enter details in the Subject of a case. Only articles updated within the last 30 days are displayed,
but you can view older articles by specifying a search term or filtering search results. The sidebar appears if it's set up by your
administrator and Salesforce Knowledge is enabled.
Salesforce Knowledge is a knowledge base where users can easily create and manage content, known as articles, and quickly
find and view the articles they need. Now, all articles are automatically assigned a unique Article Number so that you can
better identify, search, and report on articles. Numbering for articles starts at “000001000.” You can't change the format or
numbering for this field.
For more information, see “What is Salesforce Knowledge?” in the Salesforce online help.
45
Service Cloud Additional Service Cloud Enhancements
Additional Case Article Fields Available for Reports and the Articles Related List
Salesforce Knowledge is a knowledge base where users can easily create and manage content, known as articles, and quickly
find and view the articles they need. With Spring '11, you can view even more information about articles attached to cases by
adding the following fields to the Cases with Articles report and the Articles related list on cases:
• Case Article Created By
• Case Article Created Date
• Case Article Created By Alias
For more information, see “What is Salesforce Knowledge?,” “Support Reports,” and “Customizing Related Lists” in the
Salesforce online help.
Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud
Milestones are required steps in your support process, such as first response and resolution times on cases. They're available
if you've enabled the entitlement management feature. With Spring '11, you can add validation rules to case milestones so
that when users update a milestone on a case, it meets the standards you specify before they can save it. For example, you can
create a validation rule that ensures users select milestone completion dates that occur after case creation dates.
If you have the “Customize Application” permission, you can create validation rules for case milestones:
1. Click Your Name ➤ Setup ➤ Customize ➤ Cases ➤ Case Milestones ➤ Validation Rules ➤ New.
2. Enter details for the rule:
Error Message The message that displays to the user The milestone Completion Date must
when a field fails the validation rule. occur after the date the case was created
and before the case was closed.
If your organization uses the
Translation Workbench, you can
translate the error message into the
languages Salesforce supports. See
46
Service Cloud Additional Service Cloud Enhancements
Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud
The Service Cloud console is designed for users in fast-paced environments who need to find, update, and create records
quickly. With Spring '11, Global Search is the sole search tool for the console, so more items are automatically searched when
you type keywords in the Search box in the header and click Search. Unlike the advance search and sidebar search capabilities
that used to be available for the console, Global Search searches more record types, including articles, documents, products,
solutions, and Chatter feeds, files, groups, and people. Global Search also searches more field types, including custom fields
and long text fields such as descriptions, notes, and task and event comments.
For more information, see “Service Cloud Console Overview” in the Salesforce online help.
47
ANALYTICS
Analytics Enhancements
Salesforce analytics enhancements in Spring '11 include:
With Spring '11, we're delivering the following enhancements to report builder:
48
Analytics Analytics Enhancements
Report builder is now available to all users of Group and Professional Editions! Previously, only users with the System
Administrator profile could use it.
To enable report builder for a Group or Professional Edition organization, enable the report builder upgrade.
Scatter Charts
We're providing a new chart type for reports—scatter! To use them, enable the report builder upgrade.
Use this type when you want to show the correlation between the axis values for one important grouping. Optionally, set the
Group By option to show the Plot By values broken down by another group. For example, to see the correlation between
the stage duration and the number of activities for opportunities, group your report by Opportunity Name and select it for
Plot By. Then set Stage Duration as the Y-axis and Record Count as the X-axis. The chart displays a point for
each opportunity, and you can see whether the stage duration is shorter for opportunities that have more activities.
To use scatter charts in dashboards, use the Use chart as defined in source report option.
49
Analytics Analytics Enhancements
Filters are now editable inline. In report builder, double-click a filter, or hover over it to see the Edit and Remove links.
If you've already created a logical condition for your filters, such as 1 AND (2 OR 3), then add a fourth field filter, Salesforce
automatically updates the filter logic by adding it at the end with the AND operator. The new logic becomes:
Dashboard Enhancements
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
You asked for it! Spring '11 addresses these ideas for dynamic dashboards on IdeaExchange: make dynamic
dashboards available for Enterprise Edition, increase the dynamic dashboards limit.
Dynamic dashboards are now available for Enterprise Edition, in addition to Unlimited and Developer Editions. And we
increased the limits:
• Enterprise Edition—Up to five per organization
• Unlimited Edition—Up to 10 per organization
50
Analytics Analytics Enhancements
Dashboard Alerts
You can now follow individual dashboard components in Chatter!
If feed tracking is enabled for dashboards, you can view updates and field changes in the Chatter feed. You can also follow
dashboards and certain dashboard components. When you follow a dashboard, you automatically follow all eligible components.
Following components isn't supported for dynamic dashboards.
Only metrics and gauges with conditional highlighting set are eligible for following. When the dashboard is refreshed, if the
value for a followed component crosses a breakpoint, an alert is posted to your Chatter feed. If you don't see feeds on dashboards,
ask your administrator to enable them.
For example, to receive alerts when total sales for a gauge fall below a certain amount, set conditional highlighting on that
component, then follow it.
To follow a component:
1.
Hover over a component to display the menu. To clear the hover menu, click an empty part of the screen.
2. Click Follow this Component.
51
Analytics Analytics Enhancements
3. Write a comment in the text box and click OK. The snapshot and comment immediately appear in the selected Chatter
feed.
Note: Snapshot images display in feeds for four months. After four months, only the comments remain.
52
FORCE.COM
In Spring '11, you can create sharing rules based on record criteria. Criteria-based sharing rules determine whom to share
records with based on field values in records. For example, let's say you use a custom object for job applications, with a custom
picklist field named “Department.” You can create a criteria-based sharing rule that shares all job applications in which the
Department field is set to “IT” with all IT managers in your organization.
Criteria-based sharing rules are ideal for complex business scenarios or companies with complex sharing requirements that
extend beyond owner-based sharing. Don't use criteria-based sharing rules if your company has open access to all records, or
if sharing is based only on record ownership.
Note: Currently, you can't use Apex or the Metadata API to create criteria-based sharing rules.
53
Force.com Criteria-Based Sharing Rules—Generally Available
5. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
6. Select the sharing access setting for users.
Note:
• For account and account territory sharing rules, the Contact Access, Opportunity Access, and Case
Access options only apply to the contacts, opportunities, and cases associated with the shared accounts.
Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.
• In opportunity sharing rules (either owner-based or criteria-based with ownership as criteria), the Opportunity
Access level applies to opportunities owned by the group, role, or territory members, regardless of the associated
account.
7. Click Save.
For existing criteria-based sharing rules, you can edit the criteria as well as the sharing access settings.
Note:
• Although criteria-based sharing rules are based on values in the records and not the record owners, a role or territory
hierarchy still allows users higher in the hierarchy to access the records.
• You can't include high-volume portal users in sharing rules because they don't have roles and can't be in public
groups.
54
Force.com Force.com Flow—Generally Available
In Winter '11, we introduced you to the pilot of Visual Process Manager, now known as Force.com Flow and formerly known
as Firefly, which provides a robust, business-friendly scripting tool for the Force.com platform.
With Spring '11, Force.com Flow is generally available, and we've added new functionality:
• The setup audit trail now tracks changes to Force.com Flow files.
• Flows are now formatted using Visualforce.
• You can now embed flows in Visualforce pages using the <flow:interview /> component, enabling you to use, secure,
and customize flows in the same way as any Visualforce page.
• Flows are now enabled for Force.com Sites, the Customer Portal and the partner portal.
• Requirements have changed for variables, API code, and flow elements in the Flow Designer.
Important: If you have flows in Salesforce that were uploaded in previous releases, their format may not be
compatible with changes made in the current release. To ensure that all your flows are up-to-date and will run
properly, download the latest version of the Flow Designer from the flow list page, open the original flow files,
clean up their contents based on any errors you get, then save them and re-upload. You may have to do this more
than once if you receive any new errors upon re-uploading the flow.
If your organization has Force.com Flow enabled, you can make any active flow available in your Force.com site, Customer
Portal, or partner portal by embedding it as a component in a Visualforce page.
Note: Users can only run flows that have an active version. If the flow you embed doesn't have an active version, users
see an error message. If the flow you embed includes a subflow, that subflow must have an active version.
To add a Force.com flow to a Visualforce page, embed it using the <flow:interview> component:
a. Go to the flow list page at Your Name ➤ Setup ➤ Create ➤ Workflow & Approvals ➤ Flows.
b. Click the name of the flow you want to embed.
2. Define a new Visualforce page or open one that you want to edit.
55
Force.com Force.com Flow—Generally Available
<apex:page>
<flow:interview name="MyUniqueFlowName">
</apex:page>
5. Restrict which users can run the flow by setting the page security for the Visualforce page that contains it. Any user with
a profile assigned to the Visualforce page can run the embedded flow.
For more advanced examples of using flows in Visualforce, see the Visualforce Developer's Guide.
Flows in Force.com Sites, the Customer Portal and the Partner Portal
Available in: Enterprise, Unlimited, and Developer Editions
If your organization has Force.com Flow enabled, you can make any active flow available in your Force.com site, Customer
Portal, or partner portal by embedding it as a component in a Visualforce page. Give your site and portal users access to
sophisticated self-service tools and dynamic applications that you build with Force.com Flow and customize with Visualforce.
Since the flow is embedded in a Visualforce page, you can customize the appearance of the flow so it uses your company's
branding and style.
Note: When making a flow available to site or portal users through a custom link or Visualforce tab, point the tab or
link to the URL of the Visualforce page that contains the embedded flow, not to the URL of the flow itself. Site and
portal users don't have the privileges to run flows directly.
When moving from version 5.5 to version 7.0 of the Flow Designer, you may encounter errors when importing older flows.
Requirements have changed for variables, API code, and flow elements. The following internal functions are no longer
supported and are treated as regular text in the Flow Designer:
• [(Event Description)]
• [(Event Message)]
• [(Event Name)]
• [(Event Number)]
• [(Fault Stack Trace)]
• [(Space ID)]
• [(Spark ID)]
56
Force.com Packaging Enhancements
Packaging Enhancements
With Spring '11, Salesforce supports new features for both subscribers and publishers of AppExchange packages.
If you've installed an application from the AppExchange, you can grant the publisher setup access to your organization
without exchanging passwords or login information. Setup access allows the publisher's support personnel to view your
organization's setup configuration in a read-only mode. They can look at information in the App Setup area of your
organization, including the pages under the Create, Customize, and Develop sections, but can't make any changes to
setup configuration or modify any data. Typically setup access is enough to troubleshoot most configuration problems.
In order to grant publisher access to your organization:
• You must have installed a licensed package from the publisher.
• The licensed package must have an "active" or "trial" status.
• An administrator must grant access to the publisher. An administrator with the default Administrator user profile
may perform this grant, or any administrator with the "Permit User to grant login access to salesforce.com partner"
user perm.
To grant a package publisher access to your organization:
1. Click Your Name ➤ Setup ➤ Administration Setup ➤ Security Controls ➤ Package Support Access.
2. Click in the field next to the publisher's name.
3. Enter a date in the future. Access is revoked on the specified expiration date.
Note: You can revoke a grant by removing the date from the field.
4. Click Save.
Note: You can see a log of all publisher setup accesses to your organization by clicking Your Name ➤ Setup
➤ Administration Setup ➤ Manage Users ➤ Login History.
Package Support Access allows AppExchange publishers to access an organization that has installed their licensed
package, to identify installation problems or perform other support activities without exchanging credentials. As an
AppExchange publisher, Package Support Access gives you read-only access to the App Setup area of a subscriber
organization, including the pages under the Create, Customize, and Develop sections. Configuration issues commonly
occur on initial package installation, particularly when the package requires manual configuration on the part of the
subscriber administrator. Setup access is usually enough to troubleshoot configuration issues.
Prerequisites:
• The package must be licensed with the License Management Organization (LMA).
57
Force.com Packaging Enhancements
• You need to log a case in the Partner Portal and ask for package support access to be enabled for your package. If
you have previously used push upgrades, then you already have access to this feature.
• Users who want to access subscriber organizations must be given the "Permit User to login in to subscriber org" user
permission by an administrator in the publisher's LMO organization. To protect the security of the subscriber
organization, it's important that only trusted support and engineering personnel be given this permission. We
recommend adding this permission to a custom profile for people whose main role is customer support.
To add the Subscriber Support tab to the LMA:
1. In the License Management Organization, click <your name> ➤ Setup ➤ Create ➤ Apps.
2. Click Select License Management App.
3. Click Edit.
4. Add the Subscriber Support tab to the Selected Tabs.
5. Assign to the customer support rep profile (the profile of users who are authorized to use this feature).
To grant "Permit User to login in to subscriber org":
1. Click <your name> ➤ Setup ➤ Manage Users ➤ Profiles.
2. Select an appropriate profile name.
3. Use Ctrl-F to search for the perm name "Permit User to login in to subscriber org" and select the box.
4. Click Save.
To access a subscriber organization:
1. Select the License Management Application in the app picker in the upper right hand side of their screen.
2. Select the Subscriber Support tab to see a list of subscriber organizations that have granted access.
Note: If you don't see the subscriber listed, the subscriber's system administrator has not granted you access.
Ask the administrator to go to Your Name ➤ Setup ➤ Administration ➤ Security Controls ➤ Package
Support Access and grant you permission.
3. Find the subscriber's organization name or id and click Access. You will be redirected and logged into the subscriber's
organization.
4. Once inside the subscriber organization, navigate into App Setup tree to view the subscriber's configuration.
5. When you have completed troubleshooting, be sure to log out of the subscriber organization using the logout link.
Trialforce Email Branding allows you to modify system-generated emails so that they appear to come from your company
rather than from Salesforce.com. Trialforce Email Branding only works for people who sign up for your application through
Trialforce.
To change Trialforce Email Branding:
1. Click Your Name ➤ Setup ➤ Create ➤ Packages.
2. Click the package you want to change the branding on.
3. Click Branding.
4. On the Package Branding detail page, click Edit.
5. Select Enable to use your own branding or clear the checkbox to use salesforce.com branding.
6. Enter information about your company in the fields provided.
58
Force.com Force.com Apex Code Enhancements
7. Click Save.
Note: Trialforce Email Branding is specific to a version of the uploaded package, to change branding, you must upload
a new package.
Force.com Apex code includes the following enhancements in Spring '11. Refer to the Force.com Apex Code Developer's
Guide for complete information about Apex.
The following enhancement is pilot:
ReadOnly Annotation
The @ReadOnly annotation provides developers the ability to perform unrestricted queries against the Force.com
database. It is important to note this annotation, while removing the limit of the number of returned rows for a request,
blocks the developer from performing any DML within the request.
All other limits still apply.
The @ReadOnly annotation is only available for Web services and the schedulable interface. To use the @ReadOnly
annotation, the top level request must be in the schedule execution of a batch job or the webservice invocation.
59
Force.com Force.com Apex Code Enhancements
• FeedItem and FeedComment objects don't support updates. Don't use before update or after update triggers.
• FeedItem and FeedComment objects can't be undeleted. Don't use the after undelete trigger.
• Only FeedItems of Type TextPost, LinkPost, and ContentPost can be inserted, and therefore invoke the
before or after insert trigger.
• While FeedPost objects were supported for API versions 18.0, 19.0, and 20.0, don't use any insert or delete triggers
saved against versions prior to 21.0.
• The total number of DML statements issued for a process has gone from 20 for triggers, and 100 for everything else,
to 150 for all contexts.
• Total number of records retrieved by SOQL queries has gone from 10,000 to 50,000
Deprecated limits
The following limit methods have been deprecated. Existing code with these methods now returns the same value as
the specified method.
60
Force.com Force.com Apex Code Enhancements
getLimitFindSimilarCalls getLimitSoslQueries
getRunAs getDMLStatements
getLimitRunAs getLimitDMLStatements
getSavepointRollbacks getDMLStatements
getLimitSavepointRollbacks getLimitDMLStatements
getSavepoints getDMLStatements
getLimitSavepoints getLimitDMLStatements
You asked for it! This enhancement is from these ideas on the IdeaExchange.
With Spring '11, it's even easier to run your Apex unit tests. Two new pages have been added:
Apex Test Execution
Run just one, a set, or all the tests in your organization. Tests are run asynchronously: start them, then go work on other
things. You can then monitor the tests, add more tests to the ones that are running, or abort running tests. Once a test
finishes running, you can see additional information about that test run. For example, if there were any errors, the first
error message displays, as well as the stack trace. Click Your Name ➤ Setup ➤ Develop ➤ Apex Test Execution.
In addition, after you execute your unit tests, you can see how much of your existing code is covered. Click Your Name ➤
Setup ➤ Develop ➤ Apex Classes, then click Calculate your organization's code coverage.
You can also verify which lines of code are covered by tests for an individual class. Click Your Name ➤ Setup ➤ Develop
➤ Apex Classes, then click the percentage number in the Code Coverage column for a class.
61
Force.com Visualforce Enhancements
• A new tab in the Executed Units section: Summary. This tab highlights the duration and composition of a request. With
this perspective, developers can easily identify and isolate execution hotspots, simplifying the overall development experience.
• A new section: Variables. This section details the value of variables during a request. With this new section, developers
can verify that variable assignments are being made correctly.
Note: Variable assignments only display in the debug log when the logging level for Apex Code is set to Finest.
Visualforce Enhancements
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Custom controllers and standard controller extensions are not supported in Group or Professional Editions.
Spring '11 introduces several new features that enhance the capabilities of previous versions of Visualforce. For detailed
information on these new features, see the Visualforce Developer's Guide.
The following enhancements are now available in Visualforce:
Visualforce Dynamic Bindings
This release introduces the concept of dynamic Visualforce bindings, which is a way of writing generic Visualforce pages
that display information about records without necessarily knowing which fields to show. In other words, fields on the
page are determined at runtime, rather than compile time.
Dynamic bindings are useful for Visualforce pages included in managed packages, as they allow for the presentation of
data specific to each subscriber with very little coding involved.
For more information on dynamic bindings, see Dynamic Visualforce Bindings.
• <apex:dataList>
• <apex:dataTable>
62
Force.com Visualforce Enhancements
• <apex:form>
• <apex:outputField>
• <apex:pageBlock>
• <apex:pageBlockSection>
• <apex:pageBlockTable>
• <apex:repeat>
Inline editing is not supported for rich text areas (RTAs) or dependent picklists when using <apex:outputField>.
For more information, see the Enabling Inline Editing Quick Start tutorial.
Note: The @RemoteAction annotation is currently available as a Developer Preview. You must contact
Salesforce.com Support to enable this feature.
Starting with API version 21.0, Visualforce now provides support for some methods in Apex controllers to be called via
Javascript. Your Visualforce pages and Apex classes must be running API version 21.0.
Javascript remoting calls use the following syntax:
}, {escape:true});
@RemoteAction
global static String getItemId(String objectName) { ... }
63
Force.com Field Sets—Beta
Field Sets—Beta
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Note: This release contains a beta version of field sets that is production-quality but has known limitations.
The Winter '11 release introduces a new customization feature called field sets. A field set is a grouping of fields. For example,
you could have a field set that contains fields describing a user's first name, middle name, last name, and business title. When
a field set is added to a Visualforce page, developers can loop over its fields and render them. If the page is added to a managed
package, administrators can add, remove, or reorder fields in a field set to modify the fields presented on the Visualforce page
without modifying any code. The same Visualforce page can present different sets of information, depending on which fields
a subscriber prefers to keep.
Field sets can be created through the user interface or the Metadata API.
Implementation Tips
• As an administrator, you can create or edit field sets for your organization, or edit any installed field set. Field sets are
available on all standard objects that support custom fields.
• Fields added to a field set can be in one of two categories:
- If a field is marked as Available for the Field Set, it exists in the field set, but the developer hasn’t presented
it on the packaged Visualforce page. Administrators can display the field after the field set is deployed by moving it
from the Available column to the In the Field Set column.
- If a field is marked as In the Field Set, the developer has rendered the field on the packaged Visualforce page by
default. Administrators can remove the field from the page after the field set is deployed by removing it from the In
the Field Set column.
64
Force.com Field Sets—Beta
Note: Merging has the potential to remove fields in your field set. The only way to prevent this is to not install the
upgraded package. To retrieve data associated with removed fields, you will need to make a custom tab or implement
your own layout that uses the field.
2. Enter a Field Set Label. This is the name presented to subscribers who install the field through a managed package.
3. Enter a Field Set Name for your field set. This is used by your Visualforce page to reference the field set.
4. In the Where is this used? area, provide a brief description of which Visualforce pages use the field set, and for what
purpose. This information helps a subscriber understand where and how an installed field set is being used, so that they
can populate it with their own fields.
5. To add fields to the field set, select which fields on the object to include and which to display. The first list contains all
the object's fields that are available to add to your field set. The second list contains fields marked as Available for
the Field Set. These fields are not initially visible on the Visualforce page. The third list contains fields marked as In
the Field Set. These fields are visible by default on a Visualforce page.
To move a field between the lists, highlight it by clicking on the field's name, and then click the appropriate left or right
arrows. The vertical order of the In the Field Set list indicates the order of how the fields render on Visualforce
pages.
6. Click Save.
<apex:page standardController="Contact">
<apex:repeat value="{!$ObjectType.Contact.FieldSets.properNames}" var="f">
<apex:outputField value="{!Contact[f]}" />
</apex:repeat>
</apex:page>
To properly render additional information, such as field labels or types, you must make your references like this:
<apex:page standardController="Contact">
<apex:repeat value="{!$ObjectType.Contact.FieldSets.properNames}" var="f">
{!$ObjectType.Contact.Fields[f].label}
({!$ObjectType.Contact.Fields[f].type}):
<apex:outputField value="{!Contact[f]}"/>
<br/>
</apex:repeat>
</apex:page>
65
Force.com API Enhancements
• Subscribers with installed field sets can always add fields that your page didn't account for. Since there is no logic checking
involved, make sure that any field rendered through your field set works for all field types.
• We recommend that you add only non-essential fields to your field set. This ensures the scenario in which even if a
subscriber does remove all the fields in the field set, the Visualforce page still functions normally.
API Enhancements
Available in: Enterprise, Unlimited, and Developer Editions
Force.com API protocols, version 21.0, contain new features and bug fixes that improve the capabilities of applications that
leverage the Force.com platform. Considerable effort has been made to ensure backwards capability for applications that have
been written against previous versions of the API, starting with the SOAP Web ServicesAPI 2.5.
The new API protocols provide a number of powerful enhancements that further improve any integration already in place
between Salesforce and your other systems.
Spring '11 (API version 21.0) improvements:
• New and Changed Objects on page 66, including Chatter API Objects on page 67
• Bulk API Enhancements on page 70
• REST API Enhancements on page 70
• Web Service Connector on page 70
Object Description
LoginHistory Represents the login history for all successful and failed
login attempts for organizations and enabled portals.
ContentDocumentLink Represents the link between a Salesforce CRM Content
document or Chatter file and where it's shared. A file can
be shared with other users, Chatter groups, records, and
Salesforce CRM Content workspaces.
Changed Objects
The following objects have been changed in API version 21.0:
66
Force.com API Enhancements
• The KnowledgeArticle object now includes the ArticleNumber field, which is a unique number automatically
assigned to each article when it's created. You can't change the format or value for this field.
• The KnowledgeArticleVersion object now includes the Language field, which describes the language that the article
is written in, such as “French” or “Chinese (Traditional).”
Querying or searching articles in SOQL or SOSL requires that you specify the Language field in the WHERE clause.
The language must be the same for all article types.
• You can now perform the following actions on Chatter files via existing API objects:
- Update the name and description of an existing Chatter file by providing the ContentVersionId using the
ContentVersion object.
- Edit, revise, and delete Chatter files using the ContentVersion and ContentDocument objects.
- Retrieve and query Chatter files using the ContentVersion and ContentDocument objects.
Object Description
FeedLike Indicates that a user has liked a feed item.
CollaborationGroupMemberRequest Represents a request to join a private Chatter
group.
DashboardComponent Represents a dashboard component, which can
be a chart, metric, table, or gauge on a dashboard.
Access is read-only.
DashboardComponentFeed Represents a single feed item in the feed displayed
on a dashboard component.
ContentDocumentLink Represents the link between a Salesforce CRM
Content document or Chatter file and where it's
shared. A file can be shared with other users,
Chatter groups, records, and Salesforce CRM
Content workspaces.
67
Force.com API Enhancements
Object Now includes the Can now be Now includes the Now includes the Now includes
LastModifiedDate deleted by users CommentCount InsertedById the
field with the and LikeCount field DefaultGroup
“Moderate fields Notification
Chatter” Frequency field
permission
AccountFeed
AssetFeed
CampaignFeed
CaseFeed
CollaborationGroupFeed
ContactFeed
ContentDocumentFeed
ContractFeed
DashboardFeed
EventFeed
FeedComment
FeedItem
FeedLike
FeedPost
LeadFeed
NewsFeed
OpportunityFeed
Product2Feed
ReportFeed
SolutionFeed
TaskFeed
User
UserFeed
UserProfileFeed
UserProfileFeed
68
Force.com API Enhancements
Ordering by CreatedDate DESC sorts the feed by the most recent feed item. Ordering by LastModifiedDate
DESC sorts the feed by both the most recent feed item or comment.
Other Enhancements
• NewsFeed and UserProfileFeed: Queries retrieve feed items that include mentions from other users.
• CollaborationGroup now includes the LastFeedModifiedDate field, which shows the date of the last post or comment
on the group.
• You can now perform the following actions on Chatter files via existing API objects:
- Update the name and description of an existing Chatter file by providing the ContentVersionId using the
ContentVersion object.
- Edit, revise, and delete Chatter files using the ContentVersion and ContentDocument objects.
- Retrieve and query Chatter files using the ContentVersion and ContentDocument objects.
69
Force.com Force.com Development as a Service Enhancements
If you need to move large amounts of data, use the Bulk API, which is built on RESTful principles, but is asynchronous and
optimized for large data-loading tasks.
In API version 21.0, WSC (Web Service Connector) replaces Apache Axis 1.3 as the preferred SOAP Java client framework.
WSC is an open-source project and contains a command utility that generates Java source and bytecode files from WSDL
files. The Java samples illustrating use of API calls for the API, and Metadata API have been rewritten in the Web Services
API Developer's Guide..
Force.com Development as a Service (DaaS) provides the tools and technologies used by professional developers who build
applications for the Force.com platform, as well as those who migrate application changes between development organizations
70
Force.com Force.com Development as a Service Enhancements
and production. The DaaS feature area includes support for creating, retrieving, and deploying changes to your organization's
metadata.
Updated Metadata
The following metadata fields have been added or changed in Metadata API version 21.0:
Report ChartType Updated New valid values have been added: Scatter and
ScatterGrouped.
Force.com IDE
This release includes new enhancements to the Force.com IDE. For complete details, visit the Force.com IDE release notes
page at http://wiki.developerforce.com/index.php/Force.com_IDE_Release_Notes.
Note: The latest version of the Force.com IDE is released after all instances have been upgraded. Release notes and
downloads are not available until that time.
71
Force.com Change Sets—Generally Available
The general availability release of change sets includes the following enhancements: You asked for it! This
enhancement is an idea from the IdeaExchange.
Delete
You can delete change sets that have been uploaded.
Change Sets
Available in Enterprise, Unlimited, and Free Editions
A change set is a means by which one organization can send customizations to another organization. For example, you could
create a new object in a sandbox organization and send it to your production organization using a change set. Change sets can
only contain modifications you can make through the Setup menu; therefore, you can't use a change set to upload a list of
contact records. In other words, change sets contain metadata, not data.
When you want to send customizations from your current organization to another organization, you create an outbound change
set. Once you send the change set, the receiving organization sees it as an inbound change set.
72
Force.com Change Sets—Generally Available
Sending a change set between two organizations requires a deployment connection. Currently, change sets can only be sent
between organizations that are affiliated with a production organization, for example, a production organization and a sandbox,
or two sandboxes created from the same organization.
• Analytic Snapshot
• Apex Class
• Apex Sharing Reason
• Apex Trigger
• App
• Button or Link
• Custom Field
• Custom Object
• Custom Report Type
• Custom Setting
• Dashboard
• Document
• Email Template
• Folder
• Home Page Component
• Home Page Layout
• Letterhead
• List View
• Page Layout
• Record Type
• Remote Site
• Report
• S-Control
• Static resource
• Tab
• Validation Rule
• Visualforce Component
• Visualforce Page
• Workflow Email Alert
• Workflow Field Update
• Workflow Outbound Message
• Workflow Rule
• Workflow Task
Note: If you create or modify components that are not available in a change set, you can't send those components
from one organization to another in a change set. In this case, migrate the changes manually by repeating the steps
you performed when you created or modified the component.
73
Force.com Change Sets—Generally Available
Deployment Connections
User Permissions Needed
To edit deployment connections: “Deploy Change Sets”
In order for change sets to be sent from one organization to another, a deployment connection is required between the
organizations. Deployment connections can't be created between arbitrary organizations; instead, a deployment connection
is created between all organizations affiliated with a production organization. For example, if you have a production organization
(Prod) and two sandboxes (Dev and Test), a deployment connection is created between production and each sandbox (Prod
and Dev, and another connection between Prod and Test), as well as between the sandboxes (Dev and Test).
A deployment connection alone doesn't enable change sets to be sent between organizations. Each organization must be
authorized to send and receive change sets. This added level of security enforces code promotion paths and keeps organizations'
setup metadata from being overwritten by mistake.
For example, the following figure illustrates one possible migration path for a production organization and two sandboxes. In
this example, the production organization can only receive changes that have been fully tested, so only the Test sandbox is
authorized to upload change sets to production. In order to synchronize development projects with the production organization,
the Prod organization can send change sets to the Dev sandbox, but not to the Test sandbox. Finally, because the features in
development need iterative testing, Dev and Test sandboxes should be able to send change sets back and forth.
Note: This illustration describes one possible code migration path. Your department must create its own policies for
organizations to send and receive change sets to one another.
74
Force.com Change Sets—Generally Available
Action
Click Edit next to the organization that you want to allow or disallow change sets from.
Name
A list of organizations that have deployment connections to the organization you are currently logged into. Click the
name of an organization to view more information about the connection.
Description
A brief description of the connected organizations.
Type
The type of organization you are connected to. Possible values are Production, Full Copy Sandbox, Configuration-only
Sandbox, and Developer Sandbox.
Name
The name of the selected organization. This is not the organization you are logged into.
Description
A brief description of the organization.
Type
The type of organization you are connected to. Possible values are Production, Full Copy, Configuration-only, and
Developer.
75
Force.com Change Sets—Generally Available
An outbound change set is a change set created in the organization you are logged into and that you want to send to another
organization. Typically, an outbound change set is used for customizations created and tested in a sandbox and then sent to
a production organization.
Sending an outbound change set to another organization doesn't guarantee that the changes will be implemented in that
organization. The change set must deployed (accepted) by the target organization before the changes take effect.
Note: Change sets are limited to 2,500 components and a total file size of 400 MB.
76
Force.com Change Sets—Generally Available
Note: Outbound change sets expire six months after upload, at which time the change set is permanently deleted.
77
Force.com Change Sets—Generally Available
78
Force.com Change Sets—Generally Available
An inbound change set is a change set that has been sent from another organization to the organization you are logged into. A
change sent must be deployed for the changes to take effect. You can deploy the contents of an inbound change set as a whole,
but not on a component-by-component basis.
79
Force.com Change Sets—Generally Available
3. Click Deploy.
A change set is deployed in a single transaction. If the deployment is unable to complete for any reason, the entire transaction
is rolled back. After a deployment completes successfully, all changes are committed to your organization and the change set
cannot be rolled back.
Note: The Force.com platform requires at least 75% of your code to be covered by unit tests before you can deploy it
to a production organization. Ideally, you should strive for 100% coverage. The code coverage restriction is not enforced
for sandbox or Developer Edition organizations.
Implementation Tips
Permissions required to use change sets
To send a change set to another organization, a user must have “Create and Upload Change Sets,” “Create AppExchange
Packages,” and “Upload AppExchange Packages” profile permissions.
To deploy a change set received from another organization, a user must have the “Deploy Change Sets” profile permission.
Best Practices
Deploy all dependent components
Make sure each change set contains all interdependent components that don't exist in the target organization. If you try
to deploy a component that refers to another component missing from the target organization and from the change set,
the deployment fails.
80
Force.com Security Enhancements
Change sets give you fine-grained control over what you deploy. For example, you can migrate custom fields individually.
To deploy a custom object and all of its fields, you must add the custom object and every field to the change set; adding
just the custom object to the change set won't cause deployment to fail, but results in an empty custom object.
Security Enhancements
Available in: All Editions
81
Force.com Security Enhancements
Email field is now required. Create remote access applications by clicking Your Name ➤ Setup ➤ Develop ➤ Remote
Access.
New Administrative Permission for Reset User Passwords and Unlock Users
When creating a user profile, there is a new administrative permission called Reset User Passwords and Unlock Users.
Users with this permission enabled can reset passwords and unlock users. Specify this permission by clicking Your Name
➤ Setup ➤ Manage Users ➤ Profiles
Encryption Management
Fields that are encrypted using encrypted custom fields, such as social security number or credit card number, use a
master encryption key to encrypt the data. This key is automatically assigned when you enable encrypted fields for your
organization. You can manage the master key based on your organization’s security needs and regulatory requirements.
Contact salesforce.com to enable master encryption key administration. Manage your master encryption key by clicking
Your Name ➤ Setup ➤ Security ➤ Manage Certificates and Keys
82
Force.com Additional Force.com Enhancements
You asked for it! Salesforce addresses the following ideas on the IdeaExchange: Google Chrome and Google
Chrome Frame plug-in for Microsoft® Internet Explorer.
With Spring '11, Salesforce now supports Google Chrome version 8.0.x and Google Chrome Frame plug-in for Microsoft®
Internet Explorer. For more information, see “Supported Browsers” in the Salesforce online help.
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
With Spring '11, the setup audit trail now tracks changes to Force.com Flow files.
In Summer '10, we gave you the ability to set your approval request email preferences. With Spring '11, you can set preferences
as a delegated approver.
In the Approver Settings section of the User detail page, two new options have been added to the Receive Approval Request
Emails drop-down list. To get there, click Your Name ➤ Setup ➤ My Personal Information ➤ Personal Information,
then click Edit on the User detail page.
The two new items on the Receive Approval Request Emails drop-down list are:
• If I am an approver or delegated approver
• Only if I am a delegated approver
When an approval request email is sent to the assigned approver, the delegated approver also receives an email notification
that there is an approval request to review. Delegated approvers can't reassign approval requests; they can only approve or
reject approval requests.
Note: When an approval request is assigned to a queue, each queue member's delegated approver also receives an
approval request email notification. For more information about approval requests and queues, see “Approval Process
Considerations” in the Salesforce online help.
83
Force.com Additional Force.com Enhancements
To prevent abuse of email limits, Spring '11 introduces a limit on the number of email alerts that an organization can send
using workflow or approval processes in a 24-hour period. The daily limit for emails sent from workflow and approval-related
email alerts is 1,000 per standard Salesforce license per organization. The overall organization limit is 2 million. When the
daily limit is reached, a warning email goes out to the default workflow user. If the default workflow user isn't set, then the
warning email is sent to an active system administrator.
After your organization has reached its limit:
• If a workflow rule with an action and an email alert is triggered, only the email action is blocked.
• Final approval, final rejection, approval, rejection, and recall email actions are blocked.
• An error message is added to the debug log.
The following items don't count against the workflow email limit:
• Approval notification emails
• Task assignment notifications
• Lead assignment rules notifications
• Case assignment rules notifications
• Case escalation rules notifications
• Force.com sites usage alerts
The limit restriction is based on activity in the 24-hour period starting and ending at midnight GMT. Adding or removing
a user license immediately adjusts the limit's total. If you send an email alert to a group, every recipient in that group counts
against your daily workflow email limit.
Sharing Enhancements
84
Force.com Additional Force.com Enhancements
Globalization Enhancements
Translation Workbench Export and Import Options
Spring '11 introduces export and import options for the Translation Workbench, which you can use to export, edit, and
import all of your Salesforce organization's translatable customization labels and efficiently translate them into Salesforce's
supported languages.
To access these features, go to Your Name ➤ Setup ➤ Administration Setup ➤ Translation Workbench, and select
either the Export or Import option.
Salesforce now supports Norwegian (no) as an end user language.To use Norwegian, ask your salesforce.com representative
to enable end user languages.
Administrators can now translate and override names of custom objects that come from managed packages by renaming
tab and field labels.
85
Force.com Additional Force.com Enhancements
86