The Spring ’12 release is here, and if you’re a developer, you’re probably asking “what’s in it for me?” The answer is, plenty. Here, in no particular order, is my take on the top 10 features for developers.
SOQL OFFSET (Developer Preview) – This is a new clause on the SOQL SELECT statement that lets you “skip” rows in the returned record set. You can use OFFSET together with LIMIT to break up returned data into blocks of records. Note that OFFSET is applied to the result set returned at the time of the query. There’s no server-side cursor created to cache the full result set for future OFFSET queries.
New Chatter Resources (GA) – In this release, we added a lot of great features to Chatter, such as likes on comments, the ability to post files on comments, bookmarks and favorites. Now you can access this same functionality through the Chatter API. The Chatter API is a REST-based API that lets you access Chatter. You’ll want to check out the Comments, Favorites and Bookmarks resources.
Schema Builder (Beta) – If you tuned in to the Spring ’12 developer webinar, you may have seen the demo of the Schema Builder enhancements in this release. Schema Builder gives you a visual drag-and-drop interface for working with objects. In addition to viewing objects, you can now use Schema Builder to create objects, fields and relationships. Schema Builder works with both standard and custom objects.
New Visualforce Components(GA) – These new components mean you can create Visualforce pages that give your users the same functionality they find in other parts of Salesforce. The new components include:
Components for Chatter Answers – let you create and customize support communities.
Components for Live Agent – let you create and customize chat windows.
Component for Chatter – let you add Chatter feed updates to your pages.
Component for Social Accounts and Contacts – let you add the Social Accounts and Contacts viewer to your pages.
Simulated Breakpoints (GA) – One of the, uh, challenges of developing in the cloud is debugging because you can’t pause execution of the app in a multi-tenant environment. “Simulated breakpoints” are designed to help with this by letting you capture the state of memory, or heap dump, at a specific point of execution. First, you set capture points in the Developer Console by opening your code in the Repository tab and clicking in the right margin to set a marker where you want to capture a heap dump. You can see these “breakpoints” in the console editor and also in the Heap Dumps tab. Then you run your code and the breakpoint captures a heap dump. You can then view and search the heap dump several different ways in the Developer Console. Note that execution of the app doesn’t actually stop. See the developer webinar at around 14:25 for more information.
Authentication Providers (GA) – Welcome to single sign-on nirvana! With this feature, you can create login pages that enable users to log in to Salesforce using their Facebook or other social media accounts through Janrain. A typical use case for single sign-on is a customer portal, partner portal or Salesforce.com site in which you don’t want to require your users to create a new username and password. You can also use this functionality to link two Salesforce orgs to allow a single log in to both. See the developer webinar at around 27:40 for a demo.
Dynamic Visualforce Components (GA) – This feature lets you create Visualforce pages in which you dynamically display components. For example, you could have logic that displays a particular component based on each user’s role.
Developer Console Enhancements (GA) – This release brings an assortment of improvements to the Developer Console, the first of which is it’s no longer called System Log! In the Developer Console, you can now directly view a “raw” debug log. This is particularly helpful for when you have large log files, which can hit the interactive log viewer file size limit. Another handy feature is package support, so now you can browse packages on the Respository tab and view all the items within a package. You can also open any Apex classes, triggers, Visualforce pages, components and custom objects. Perhaps the most requested enhancement is support for Visualforce pages and components. You can view and edit Visualforce pages and components in the Repository tab. Another bonus for Visualforce developers is that the source view provides syntax highlighting and auto-complete.
REST API Reset Password (GA) – Now you can use REST API to manage user passwords. Use the GET method to get password expiration status, the POST method to set the password and the DELETE method to reset it. One more thing you can do with code, one less thing to do manually.
Streaming API Enhancements (Pilot) – This release gives you much more flexibility when specifying which events and data changes generate notifications. When you create a channel, two new fields on the PushTopic object give you this flexibility:
NotifyForOperations – lets you specify which record events generate a notification – All, Create or Update.
NotifyForFields – lets you specify how a new or updated record is evaluated against the PushTopic query – All, Referenced, Select, Where.
This is just a sampling of the many new developer features. For more information, see: