My Favorite Spring ’11 Features

Spring 11 logo

The Spring '11 release is set to start rolling onto orgs in the next few days. Are you ready? This release is packed with all kinds of platform #superfrickinawesome-ness!! Once again, I've scoured through all 88 pages of the release notes and pulled out my favorite features.I didnt hit all of the items in the release notes so make sure you pull up the PDF and check out all of the goodies for this release. Also check out the Spring 11 Platform Release Preview page for any last minute info. I've tried to link the features below to the appropriate section in the preview site for more info.

There are a number of new enhancements across the platform but developers really come out ahead with this release. Last fall I named the Winter '11 release, "OMG! We Love Outlook!" due to the heavy emphasis on Salesforce for Outlook. I've aptly named the Spring '11 release "Developers! Developers! Developers!". You'll see why as the article progresses.

Google Chrome Support

  • Hurrah! Salesforce now supports Google Chrome version 8.0.x and Google Chrome Frame plug-in for Microsoft Internet Explorer.
  • Now there's no reason why you shouldn't be using my kick-ass Chrome plugin, the Utility Belt.

Chatter Enhancements

  • Like - Finally.. I was getting so sick of typing "Like" into my Chatter comments! You can now Like and unLike posts but not comments.
  • @Mentions - You can now mention a person's name to ensure that the person sees the update.
  • Posting Comments via Email Replies - You can now reply to Chatter posts and comments by simply replying to the email notification. #Awesome!
  • Trending Topics - The Chatter tab now includes Trending Topics to show what people in your company are talking about.
  • Follow Dashboard Components -Only metrics and gauges with conditional highlighting are eligible.
  • Live Updates - You can now click You have new updates at the top of a feed to see updates added to your Chatter feed since your last refresh.
  • Private File Sharing - Privately share a file with specific Chatter users. There are a bunch of settings around this such as email notifications after sharing, see where a file is shared, view and search for files shared by me, upload a new version, file sharing settings and permission. Check out the docs for more details.
  • Private Group Requests by Email - You can now click a button to automatically send an email to a group's owner and managers requesting permission to join a Chatter group.
  • Recommend People and Records - Chatter now recommends records for you to follow as well aspeople based on a shared interest in records.
  • Searchable Chatter Fields - The Global Search now includes Chatter feed results.
  • Chatter Desktop - New version of Chatter Desktop for Adobe Air
  • Chatter Mobile - Available for iPhone, iPad and BlackBerry devices. The Chatter mobile app does not have all of the functionality of Chatter in Salesforce.
  • Chatter Triggers - You can now write triggers for theFeedComment and FeedItem objects. More details here. Thanks Sandeep!

Sales Cloud

  • The Cloud Scheduler is now enabled by default for all organizations.
  • The Attachments related list is now automatically added to task and event records for new orgs. You'll need to add it manually for existing orgs.
  • Attachments are now searchable for tasks and events.
  • 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.
  • Salesforce for Outlook now uses OAuth-based authentication to securely store user login information.

Service Cloud

  • Salesforce Knowledge now supports multiple languages
  • Salesforce Knowledge Sidebar for the Service Cloud Console automatically searches and returns articles from your knowledge base that matches any of the words in the Subject of a case.
  • Global Search is the sole search tool for the Service Cloud Console

Report Builder Enhancements

  • New chart type for reports - scatter charts
  • Report builder is now available to users with and Salesforce Platform licenses
  • Group and Professional Edition orgs can now use report builder
  • All profiles get access to the report builder by default
  • More info here.

Dashboard Enhancements

  • Dashboard builder is automatically enabled for all users
  • More Dynamic Dashboards per edition: EE-up to five per org, UE-up to 10 per org, DE-up to three per org. I've also heard that there might be a black tab to increase these numbers.
  • Post a snapshot of a dashboard component to a user's Chatter feeds
  • You can show Chatter user and group photos in horizontal bar charts and tables in dashboards

Revised Apex Governor Limits

  • There is now a single context for all governor limits! Be still my beating heart!! All governor limits have the same amount of resources allocated to them, regardless if you're calling it from trigger, an anonymous block, a test, and so on.
  • 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 10K to 50K
  • More info here.

REST API - Develop mobile and external apps in Java, Ruby, Python, PHP etc. using the REST API as an alternative to the SOAP-basedAPI. The REST API is a simplified approach for developers, using code that is much less verbose and easy to write. More info here.

Criteria-Based Sharing Rules - Instead of using Triggers to create and delete sharing rules, you can now declaratively create sharing rules based upon some criteria of the record (i.e. when BillingState = 'NY'). You can create criteria-based sharing rules for accounts, opportunities, cases, contacts, and custom objects. There is a limit of 10 criteria-based sharing rules per object. More info here.

Visualforce Inline Editing - A single component, , provides inline editing support in your Visualforce details pages. Now users will have the same editing experience in your Visualforce page that they get in standard page layouts. Inline editing is supported by 8 components so check out the docs for more details. Inline editing is not supported for rich text areas or dependent picklists. More info here.</p>

Visualforce Dynamic Bindings - This feature allows you to write generic Visualforce pages that display information about records without necessarily knowing which fields to show. Administrators/developers can create fields sets that determine at runtime the files to be displayed. Therefore, when at you need to modify the fields on a Visualforce page you simply modify the associated field set instead of modifying the Apex controller and Visualforce page. More info here along with a blog post.

Change Sets - This admin features allows you to package up a number of configuration changes in one org and send them to another org to be deployed. Essentially the same as deploying with the IDE but you can now give administrators (non-developers) access to install modifications from sandbox. More info here. Flow - Formerly Visual Process Manager, this is a client-side tool that allows you to design complex, robust scripting processes that you can embed in your Visualforce pages. You can also embed Flows in Visualforce pages to be used with Sites, the Customer Portal and the partner portal. This is gonna be big!! More info here.

System Log Console Execution Summary - The system log contains a new tab to highlight the duration and composition of a request so you can identify and isolate execution bottlenecks. There is also a new section that details the value of variables during a request. More info here.

Daily Limit on Workflow Alert Emails - To prevent abuse of email limits, 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.

Web Service Connector - The WSC 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.

New & Modified API Objects

  • 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.
  • 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 (read-only)
  • DashboardComponentFeed - Represents a single feed item in the feed displayed on a dashboard component.
  • A number of Chatter and Metadata API objects have been changed in API version 21.0 so check out the docs for details.

Pilot and Developer Previews

Javascript Remoting for Apex Controllers - Developer Preview -This new feature allows you to integrate Apex and Visualforce pages with JavaScript libraries. It provides support for some methods in Apex controllers to be called via Javascript using the @RemoteAction annotation. More info here.

Apex Test Framework - Pilot -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.

ReadOnly Annotation - Pilot -The @ReadOnly annotation provides developers the ability to perform unrestricted queries against the database. The annotation removes the limit of the number of returned rows for a request but also blocks any DML statements within the request. The @ReadOnly annotation is only available for Web services and the schedulable interface.

Chatter for Mobile Browsers - Pilot -In addition to the Chatter mobile app for Apple and BlackBerry devices, provides a mobilized Web version of Chatter that you can access from a mobile device browser without installing an app.