July 4, 2014

Salesforce Summer '14: Four Wins For Developers

One of the great things about working on the Salesforce1 platform is that there are three releases a year, and you can be sure your customers will be running the latest release because they don't get a choice! The upshot of this is developers never have to wait long for new features to come along, and even when they're smaller and incremental fixes, they're always worth their weight in gold. So here four features currently on the horizon that I'm particularly excited about.

Create Price Book Entries in Apex Tests

I have detailed before now why I think the use of (SeeAllData=true) should be avoided (bad developer! No pizza/beer/coffee/thingyoulike for you!), but when it comes to code that deals with price books and products there has been little choice in the matter over the years and such evil incantations have proven all but unavoidable. Until now*. Being able to create Price Book Entry records will allow for greatly improved testing when it comes to developing around these platform features. The release notes describe how this will work:

  • Query for the ID of the standard price book in your organization with the Test.getStandardPricebookId() method.
  • Create test price book entries with standard prices by using the standard price book ID that’s returned by Test.getStandardPricebookId().

Describe Limits Removed

This is exactly what you'd expect, we'll no longer be limited to making 100 describe calls in any given execution context. This is absolutely invaluable for situations involving dynamic Apex, and will put a smile on many a developer's face (mine is most definitely included).

Improvements to Setup Search (Beta)

If you don't use the setup search feature, you really should (unless maybe you're using Salesforce Navigator. It's a super fast way to find what you're looking for, and there's a good chance that if you're a developer then keyboard beats mouse every time. One frustration using search has been the fact that it simply searches the links available in the setup hierarchy directly, but from Summer '14 it'll be capable of searching custom objects, permission sets and more.

Query Plan Tool

I'm going to go out on a limb here and say that a good percentage of Salesforce.com developers have never even considered their query performance on the platform; unless you're dealing with huge data sets, everything is generally very fast and performance measurement often takes a back seat. With Summer '14 a Query Plan Tool is going to be available via the ever-expanding Developer Console, allowing developers to see costs associated with various aspects of each query. The release notes are relatively light on details but they do include a sneak preview screen shot.


Prepare to start studying performance-related factors!

Read The Release Notes

Every developer should make it a thrice-yearly ritual to read the release notes. Not doing so can mean that you miss out on some little nugget for information that may well prove to be invaluable to you in your role, and when you discover such things a long time after the fact you will be kicking yourself. So grab a beverage of choice (time of day permitting), download the PDF, and start reading: you'll thank me for it later.

* 'now' being inclusive of the very near future. It sounded more dramatic.