Summer is fading and fall will soon be here. Question: do you know what the best part of fall is? That’s right, the winter release of Salesforce.com. The Winter ’14 release of Salesforce.com is right around the corner and that means once again I get the distinct pleasure of reviewing some of the new developer features that have been added. There are a large number of new features in the Winter ’14 release that developers will enjoy and in this post I’ll highlight a few of, what I feel, are the more pertinent points that developers will be interested in.
Force.com Canvas:
Force.com Canvas is a tool that has been around for a few releases offering a set of tools and JavaScript APIs that makes it easy to expose an external app in Salesforce. In Winter 14, we’ve added the following features to Force.com Canvas
• Users can now run installed canvas apps without having their API enabled permission assigned. This should simplify granting access to canvas apps for appropriate users.
• Force.com Canvas now supports the Streaming API by providing a new event and methods that listen for notifications from the Streaming API.
• Custom Canvas Actions. These are Chatter Publisher Actions that use the functionality of any canvas app. Yes; you can now use any canvas app as a publisher action! For example suppose you have an existing canvas app for submitting expense reports. You can now use that application as a publisher action to simplify submitting expenses. I feel this one is going to be huge. Stay tuned for much more around this new feature.
Visualforce:
The enhancements to Visualforce in this release are around improving the developer experience of building HTML5 apps along with some other core improvements and new tools.
• <apex:input>is a new, HTML5-friendly, general purpose input component that adapts to the data expected by a form field. It uses the HTML type attribute to allow client browsers to display type-appropriate user input widgets,
• The HTML5<datalist>element specifies a list of auto-complete options to associate with an <input type=”text” /> element.
• A Visualforce page’s view state can be viewed now in the developer console.
• We’re piloting a new feature that allows a Visualforce page’s view state to be stored on the server rather than the client thus preventing the need to send it back and forth with each request and response. This could help improve performance where low bandwidth or high latency could cause problems (think mobile). As with most features we release in pilot, you’ll need to request to have this one activated.
Sandboxes:
We’re making some interesting changes to sandboxes in this release as well. These changes significantly help with testing and life cycle management. I think developers will also like the data limits increase.
• Configuration Only sandboxes have been renamed to Developer Pro sandbox and the storage limit on them has been increased to 1GB.
• Developer Sandboxes have had their storage limit increased to 200MB.
Developer Console:
As always with each release we try to make it easier to manage the code in your applications. We’ve continued that with some of the following additions to the Developer Console.
• You can now create and edit JavaScript, XML, CSS and plain text in static resources with the Static Resource Editor. If you’ve ever managed static resources I’m sure you’ll agree with me that this is one of those hallelujah features that developers are going to use a lot.
• We’ve included a history panel that lists the last ten SOQL queries making query reuse easier. Also worth noting is the query editor now supports SOSL as well.
**UPDATE**
It was brought to my attention after I posted this that I forgot one of the cooler enhancements to the Developer Console. We now can search across the entire codebase. There’s a flow-diagram view of a transaction, which shows how workflow and triggers are timed relative to one another. This will be tremendously helpful in debugging complex or large code bases. This can also be used with declarative and programatic logic.
**
Apex Code:
As usual we’ve continued adding features to and improving on the world’s first cloud programming language. There are a ton of additions to Apex. Here are a just a few.
• There is no more code statement limit. Although we’ve removed this limit, we haven’t removed the safety mechanism it provided. Instead we’ve limited the CPU time for transactions. The limits are now 10,000ms for synchronous Apex and 60,000ms for asynchronous Apex.
• The Topic and Topic Assignment objects now support triggers.
• New Database methods improve record merging functions.
API:
I think the biggest announcement that developers have been waiting for API wise is the availability of our Analytics API. We introduced a limited pilot in summer 13 and now the Analytics REST API is generally available. The Analytics API lets you integrate Salesforce report data into your apps programmatically and has several resources that let you query metadata, and record details. Not to be outdone, the team has also added features to the REST API, SOAP API, Metadata API, Streaming API, Bulk API and the Tooling API. A big change here is the introduction of flexible limits for both the SOAP and REST API. Flexible limits allow you to excede API request limit by up to 50% within the limit timeframe.
Miscellaneous Updates:
I’ve created this last category to lump a few things together that don’t really fit anything I’ve mentioned above nor are there enough of to warrant a separate category of their own.
• Have you ever been stymied by or frustrated by the fact you couldn’t use the User object in workflow? Well be frustrated no more, there’s a new beta feature that allows the User object to be used in workflow rules.
• Advanced setup search is now beta. With it enabled you can search for Setup pages, custom profiles, permission sets, public groups, roles, and users from the sidebar in Setup.
• We introduced the custom state and country picklist beta in summer 13. They’re now generally available.
I’ve highlighted just a few of the many new features available to Salesforce.com developers in Winter ’14, this release is huge. There are a lot more to be aware of. If you want more information about what’s coming in Winter ’14 here area a few things you can do. First, attend the webinar that Sandeep Bhanot and I will be presenting on August 22nd. Second, sign up for a pre-release org and experiment. Third, read through the release notes when published. Finally engage in discussions about the new features on our Developer Discussion Boards.