Now that Salesforce Summer ’13 has been announced, the release notes (all 250+ pages) can be overwhelming. This is great for the Community as a whole, but what about “your” Salesforce org?
Here are a few of the items for Admins I am looking forward to using (if you are interested in what’s in store for Developers, here is a related post):
Record Owner fields available in formulas
Most orgs have had to create custom Lookup(User) fields to get access to Owner fields (Name, Email, Profile, Manager, etc). The approach is to write a trigger (Apex = developer) that sets the Lookup(User) field to the record OwnerId. Works great, as long as you have a Developer handy. With Summer ’13, the Owner fields will be available directly on the record. Once the release is deployed for your org, you should make plans to update formulas in Workflows, Validation Rules, and custom fields to use the newly-available Owner fields and remove all those unneeded triggers. Power to the Admin!
Checkbox Formula fields
We all have had to create Text formula fields to determine whether some record condition is true or false. This means we have to remember to capitalize or not (for good UI), and enter formula and report criteria using “true” and “false”. And what if someone decides to use 1 and 0? (techie folks are like that). In Summer ’13, you can define a formula field as a checkbox. This will display checked or unchecked on the UI, and can be referenced in filters and reports just like normal checkbox fields. The trick to this migration is that your existing formula field names are likely worded to answer a question “Is this a Customer” instead of making a statement “Customer”. You can change field labels without doing any harm. Just be careful if you change the API Name (Developer name) of the fields.
If you have more than Sales Rep contributing to Opportunities, chances are you also have many custom fields, formulas, and workflows to make sure each Rep gets credit for their appropriate share of the Opportunity total. With the Summer ’13 release, you get to define the contribution each Sales Rep gets credit for. This is likely going to take some time to retrofit into your reports, formulas, and business processes, but any time you can leverage built-in Salesforce functionality, you make your Admin life easier.
Contract Dates for Workflows
For those of using Contracts, we’ll finally be able to write time-dependent Workflow Rules/Actions based on the Contract EndDate and ActivatedDate. If you need this, you know how great this is.
Permission Sets will support Record Types
Permission Sets have many advantages over Profiles for maintenance, and scalability. Users can only have 1 Profile, but can be associated with practically unlimited Permission Sets. You can name Permission Sets for the Permissions they allow (for example, “Enable Forecasting”, or “Access Custom Object A”, or “API Enabled”). The problem so far was that although you could enable access to objects in Permission Sets, you could only enable object Record Types in Profiles. This Summer, you’ll be able to define the Record Types available for Permission Set members as well. There are clearly documented rules about ‘Default Record Type handling’ and the interaction between Record Type settings in Profiles and Permission Sets. For almost all scenarios, you should be migrating to Permission Sets from Profiles. This release takes away one more reason to delay.
Deployments using Change Sets support Approval Processes
Approval Processes are hard to get just right, and we spend a great deal of time defining, testing, and tweaking them in our Sandboxes until they are doing exactly what we need. Then, we just have to duplicate them in Production. No problem. Until there is. Starting with Summer ’13, just add the Approval Processes to a Change Set and Deploy to your Production org. How easy is that?
Custom Settings in Sandbox Refreshes
Finally. You use Custom Settings in Production to control triggers and other Apex code. You need to test this code in your Sandbox to make sure it works. And, you have to refresh your sandbox to make sure the latest configurations are available to your tests and development projects. Oops. There goes your Sandbox Custom Settings. Just rebuild them and you’re back in business — as long as you didn’t have 100 entries. To make Sandbox refreshes more convenient (which means we should be doing them more frequently), Summer ’13 will include Custom Settings in the refresh. Whatever’s in Prod will be in your Sandbox. More realistic testing, better test classes, and fewer Production Deployment surprises.
And speaking of Test Classes
Starting with code written in Summer ’13 (API version 28.0), testmethods will no longer be supported in non-test classes. Apex written in API versions 27.0 and earlier will continue to be supported, but you should add to your Salesforce roadmap a migration to the new requirements. Although this seems like a ‘Developer thing’, as the SFDC Admin, you are at least partially responsible for the maintenance and roadmap of your org. Why? There will come a time when you need a simple ‘urgent change’ to some piece of Apex code. That’s not the time to figure out you need to refactor your classes and pull testmethods into new classes. If you’re paying outside contractors for Development, most of them will be migrating to the new API (for Developer-reasons). I suggest adding to any ‘coding customization project’ a requirement that any new/modified classes be updated to follow this new pattern. (In addtion to the Best Practice Requirement that any new/modified classes/triggers be delivered with test classes that cover at least 75% of the code in the class/trigger.)
I mentioned up front that there are 250+ pages to the Summer ’13 Release Notes. The items above are not the most important, the most exciting, or maybe the most interesting. They are the ones my little Salesforce world will benefit most from. Check out the full Release Notes here. And Google ‘Salesforce Summer 13’ to see posts from other Salesforce Consultants to best understand what’s in it for you and your org.
And if you’re wondering when Summer ’13 will be available for you, jump over to trust.