Jun 11, 2012

Some More Cool Summer '12 Features

Last week, I listed my Top 5 Force.com Summer '12 Features, but there are several other features that I think are worth mentioning, including some non-development enhancements...

Salesforce Touch Beta
Other than the marketing videos, I haven't seen this HTML5 site in action so I am not sure how good it is. I assume that it is better than the current mobile options that Salesforce provides, so I am looking forward to checking it out. The web version of Touch will be available in all orgs by June 8. and the Touch App will be available from the Apple App Store later this summer. More detail here.

Single View State is GA
All forms are now merged into a single view state. This enhancement is very important if you include several custom components in Visualforce pages. Until now, each apex:form tag translated into its own view state, which increases the data sent to the client and reduces performance. More detail here.

Chatter Messenger is GA
As an SFDC consultant, I do a lot of my work remotely, so I use Skype A LOT for chat, voice and video conferencing. I can see how Chatter Messenger could replace my Skype usage in some cases because I am already in Salesforce all the time (although I often switch between orgs). For mid to large organizations, I see it as a great plus as users can get answers without getting up, which always increases productivity. With that said, I have to say that I don't like the location of the messenger tab - I think it should be moved to the header because it hides some of the data at the bottom, which is not great. More detail here.

Re-parenting of Master-Detail Fields
I never understood why this behavior was not the default to begin with, but thankfully, you can now specify if a master-detail field can support re-parenting. I needed that option several times in the past, so I am glad it is available now. More detail here.

Jun 6, 2012

Top 5 Force.com Summer '12 Features

Since Summer '12 will hit production orgs this week, I decided to list my favorite new development-related features in this release. I like these particular features because I either needed them in the past (and had to find workarounds instead) or feel that the new feature substantially improves current functionality. This is a very short list of features, just things that made me happy. For the complete list, download the release notes or check out the various release videos.

Update: see some more things I like in Summer 12 in this later post. 

Multi-relationship Activities
Did you ever go to an event and meet only one person? Until the addition of the new "Shared Activities" feature, you could only associate one contact to a specific activity. This is not really a Force.com feature but it will definitely change how I program around tasks and events. For as long as I've been working on Salesforce, I've always tried to make it less hierarchical and more relational. The addition of the new "Shared Activities" feature plugged a big hole and should allow for much more streamlined tracking. This is a good start - I hope that in time, Salesforce would create a more dynamic association to activity by as many record as needed and to any type of object. Note that this feature is not turned on automatically - you have to got to Activity Settings and select "Allow Users to Relate Multiple Contacts to Tasks".

Offset SOQL Statement is GA
If you create list components as much as I do, you can probably appreciate this new feature. This will help with list paging as well as give new ways to work around limitations of large fetches. More detail here.

Lookup Fields Improvement
This is a great little update. First, you can now specify whether a lookup field is required or not, which was not possible previously. And Second, you can also select from two new options to handling the record on parent deletion - either restrict parent deletion if a lookup relationship exists or cascade delete like master-detail relationship. This update will work well in the cases that you want to cascade deletes but don't want to make the lookup required. More detail here.

Package Install Handlers
Managed packages will now have the ability to include Apex code that runs after install, uninstall or upgrade. This is a great feature for those of us who are building AppExchange apps because until now, you had to wait for a user action to make org or user-specific configurations. More detail here.

Metadata REST API Pilot
Although this new API is going to be very limited (read only), I am excited about its potential. I think it will enable developers to build new and better development tools as alternatives to the Eclipse plugin and the online development interfaces, none of which are great to work with. It may also be an easier way for app developers to perform administration and configuration tasks from outside salesforce. More detail here.

Update: see some more things I like in Summer 12 in this later post.