CRM 2013 Beta: The Dreaded Form “Auto-Save”

Note: CRM 2013 is not due to be released until October 2013. The information provided in this blog might different from the final product.

Why the title to this post you ask? This is because an auto save functionality means most developers would have to seriously rethink the way they develop their plugins, workflows and client side Javascript to prevent code from triggering excessively of course. That is, more work to do for a developer!

Let’s start by taking a look from the end-user’s perspective.

Form “Auto-Save” For The End User

A new functionality has been introduced in CRM 2013 which “auto-saves” a form every 30 seconds. It means a user can enter new information on a form and in the background CRM 2013 works to save the modification every 30 seconds without the user explicitly clicking on a “Save” button. In fact, by default, the “Save”/”Save and New”/”Save and Close” buttons from CRM 2011 have all been removed! All the user sees now is a little “save” icon at the bottom right that becomes enabled if the form is dirty.

From testing, this auto-save functionality makes for an interesting end-user experience in certain scenarios which I shall outline below.

Form “Auto-Save” does not mean auto-refresh?

No, at least not in this CRM 2013 beta version. “Auto-Save” does not mean that the form is automatically refreshed. So old information can still be seen in different places, which can sometimes lead to a confusing user experience.

For example, in a contact record, I first entered a contact called “Joseph Rivers”. I then modified “Joseph” to “Stephen” in the name composite control and  tabbed out. If you do not hit the little save icon on the bottom right after your modification, you won’t see the new changes to the contact header title until after 30 seconds.

DreadedAutoSave-01

Even after 30 seconds, when auto save kicks in and the contact title header has refreshed to “Stephen Rivers”, the blue command bar still shows the old contact record title of “Joseph Rivers”.

DreadedAutoSave-02

Only by manually refreshing the browser and going back into the contact record will you see the correct name displayed in all three places.

DreadedAutoSave-03

Another interesting behaviour regards the recently viewed contacts (click on the down arrow to the right of “Contact” in the command bar). Notice that it shows the titles of the old records “Joe Rivers” which should no longer be around.

DreadedAutoSave-04

I have reported this as a bug to the Microsoft Dynamics Pre-release forum, but so far they are saying little and the issue is already closed. I am chasing for comments and waiting for their replies.

On the whole for most end-users however, auto-save is probably a good functionality. It helps reduces the number of clicks a user has to perform and help focus on actual task to perform. Moreover, UI design does not require the 3 buttons of “Save”, “Save and New” and “Save and Close” that used to hog all the screen space on the right bar in CRM 2011.

Form “Auto-Save” For CRM Developers

As a developer however, I dreaded this new “Auto-save” functionality because any plugins, workflows and Javascript from CRM 2011 that rely on being triggered by an “OnSave” event would now run every time Auto-Save occurs for a CRM 2013 form. Microsoft has offered some suggestions, namely by introducing a “getSaveMode()” method to differentiate between manual saves and auto-saves. However, it remains to be seen just how effective this differentiation is, how much headache this causes when trying to upgrade CRM 2011 code to work with CRM 2013, and how much performance impact this auto-save has on the system.

Another area of concern with auto-save is CRM auditing.  Traditionally when auditing is enabled in CRM 2011 and enabled for an entity, each manual save of this entity record by the end-user is logged in the “audit summary” as an “update” to the record. In CRM 2013, each save action (both for auto-save and for manual save) will trigger an audit as both are “updates” of the record. This means if a user updates a number of fields (or the same field multiple times) at intervals of 30 seconds per update without manually saving the record, CRM 2013 auto save will kick in. Each auto-save will be audit-logged separately. Let’s see what this looks like:

I created a contact record “Simon Green” in CRM 2013 with 4 fields completed: full name, job title, email and mobile phone.

DreadedAutoSave-05

I’ve turned on system auditing and auditing for contact entity in CRM 2013 and made the following changes to this contact record, allowing auto-save to kick in between every change:

  • Change job title from “IT Manager” to “IT Administrator”
  • Set Parent Customer to an existing account called “Toys Unlimited”
  • Add a business phone number

DreadedAutoSave-06

As you can see from the Audit Summary View, I now have 3 separate audit entries against the same contact record. Each audit entry is triggered by the auto-save. This renders the “update” audit operation less useful as a reporting metric.

If there are customers out there where the above mentioned issues with auto-save are “show-stoppers”, Microsoft does offer a way of disabling “Auto-Save” for the entire system in the “Settings” area. However, there is currently no way to disable autosave selectively for an entity or a particular form. This is very much an all-or-nothing choice and certainly not one Microsoft encourages.

DreadedAutoSave-07

That’s it for this post. What do you think of the new form “Auto-Save”?

About these ads

One thought on “CRM 2013 Beta: The Dreaded Form “Auto-Save”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s