Sophisticated Data Modeling
You can now have multi-level Master-Detail relationships. Standard objects may have 2 more sub-levels and custom objects may have 3. One nice feature from this is “multi-level roll-up fields”. For example, you have an Account with Expense Reports, and each Expense Report has Line Items. Roll the line items up into the report and the reports’ roll-ups into the Account. The catch is that you must roll-up each level relationship separately. In other words, you cannot skip levels when rolling up. Cascading delete, undelete, and security measures work the same way for multi-level as they did for single-level relationships — all is controlled by the top-level master. For example, if you delete a Master that sits on top of a long chain of Master-Details, they all go away. Lastly, custom objects which serve as junction objects may not have detail children. I believe this means that if a custom object acts as a detail for two masters, it may not itself be a master.
It makes me wonder, though… if this is sophisticated, what was it before this new multi-level ability?
There is a “Portal Health Check Report” which gives you an bird’s eye view of the data security in your partner or customer portal. What is accessible by whom?
Also this new feature includes “Workflow Usage Alerts”. You can now setup Workflows, with rules to filter for a particular set of sites, to let you know when you are hitting your licensed resource limits on your Force.com site. You can even have it let you know when the status of your site (e.g. active -> inactive) changes. Nice feature, however, the only available workflow action is to send an e-mail, no tasks. It would be nice to be able to setup some sort of purge-oldest-records process to spin off when resources get full, or automatically purchase more resources.
New User Interface Theme
The spiel is that this new interface is brighter, more streamlined, “reduced page noise”, less clutter, simpler layout and graphics, etc., etc. It does look less clunky, but it sure is bright. I might have to twist off more of the ceiling lights.
The workbench supplies an easier interface for translating forms. Other than the usual efforts for translation and other new additional functionality, Spring ’10 allows you to override translations from manage packages. Being able to override anything from a managed packed is a rare gift in Salesforce. But beyond translating, I think we might be able to use this to customize the lingo of managed packages. I’m not sure, but I think the catch here might be that the managed package would have to have translation capability already enabled.
The Four Column Dashboard Table
Hallelujah, no more veritably useless two column dashboard tables. The catches here are (1) that the source reports must be of the summary or matrix types. Looks like tabular reports are going to lose the spot as my favorite default type. And (2), the source report must have a combo chart using secondary values.
This allows you to customize the host of the Salesforce URL under which you login and use Salesforce (e.g. http://dayspring.salesforce.com/0340000Dja). It provides some branding, the security of being sure you are logged into the correct organization, as well as warding off other web security issues involved with sharing the same domain name with thousands of other customers.