A quick look at Salesforce Winter '10

Like Christmas decorations before Halloween, Winter comes early to Salesforce customers. Winter ’10 release is coming in early October.

The release notes are out (PDF).

Note: I get deep in Salesforce weeds again.


In my opinion, the best upgrades in Winter ’10 are in campaigns. Up until a few months ago, a person either responded to a campaign message or they didn’t. They donated (or purchased, for our friends in the for-profit world) or they didn’t. That was about it. Now, campaign membership is almost an opportunity unto itself, as you can customize someone’s membership with far more information than simply if they received or responded. Huge for member-based organizations. Makes the campaign object extremely powerful.

Last upgrade gave us the ability to add custom fields to campaign member records. Now we can create roll-up summaries on the campaign, and we can create record types for campaign membership. We use campaigns for so many purposes: Email, advocacy, events, straight fundraising. With record types we can customize the page layout depending on the type of membership. I like that I don’t have to pile on information to the contact record that’s much better served directly tied to the campaign. I think we’ll be using this one a lot.

Reporting and Analytics:

If there’s one area that we continually bang our head against our keyboards, it’s in reporting. It’s almost silly that we just got the ability to show percentages in pie charts on the last release, and now we finally have combination charts. This will allow us to plot multiple Y-axis values against a single X-axis. For example, we can see how much was donated month to month alongside a line count of how many new advocate sign ups we’ve had over the past year.

The way it worked before in a pie chart, if there were one or two records for a value (totaling less than 3% of the total) the dashboard would lump those together in a “Other” category. We had no control over that. Now that “feature” can be turned on and off for each chart. Cool.

There are many other charting enhancements, but these are the ones that stood out the most to me.

Org-wide email address in workflow rules:

Love this. I have workflow rules set up which notify contacts (if they request in advance) that a donation has come in to their campaign. That email appears to be from me, which I rather it didn’t. Likewise, when a case is closed the email asking the contact to fill out a feedback survey is “from” me. Now I’ll be able to set an org-wide email as the “from” address to avoid confusion when these emails go out.


For formulas, Winter ’10 introduces the ability to evaluate based on the lack of value, using new functions ISBLANK and BLANKVALUE. What these two functions accomplished was possible before using workarounds like looking at whether there were more than zero characters in a field to determine if it existed. Now the formula is more straight forward. And when formulas get complex we can finally add comments in the text to document what on earth we were thinking when we wrote them (also helps troubleshoot a complicated formula if parts can be commented out while testing).

And tucked way down on page 120 of the release notes is another one that made me smile: custom field-level help text on standard fields. The hover help text has been great on custom fields to explain to users what data is expected in a field. But the fact that I can now use the help text to remind folks that the “close date” (a required, standard field) needs to be the date the check will be deposited and is not today’s date unless it’s going to the bank today will be very helpful indeed.

I’m intrigued by the ability to filter lookups. Lookups are the link between different objects. Before, if you had a contact lookup field on a record, you could link any old contact to that record which may not make sense depending on the business process. For example, if it’s something having to do with patient interaction, you would want to make sure only contacts you’ve designated as patients could be selected. Now those filters can be set up. Unfortunately, by Salesforce’s own admission this feature will be limited at first. You couldn’t filter on contacts if they belonged to a certain account, for example. You can only filter using criteria found in the object itself (or based on the user doing the asking).

What I want here in lookups is a button that says “Show All” that lists all the available records based on the filter selection. The way it is now, you have to know what you’re looking for before you can search for it. Fine if it’s a contact name, but if it’s a value such as a product name where it could be spelled any number of ways it gets frustrating. Maybe next time. If you agree, here’s an idea to vote up.


I skipped over a ton of updates for Content and Mobile, neither of which we subscribe. Also updates in Sites and Apex/Visualforce, which I don’t understand enough to use without a lot of help.

Overall, what I’m looking forward to most aren’t wiz bang changes. As far as development changes go, I can’t wait to see what the folks at Convio can do for Common Ground with this update. A lot of the changes aimed at the Administrators are more along the lines of “duh! What took you so long, Salesforce?” But good nonetheless.

What am I missing?