Tips on Working with Dynamics CRM 2015 Calculated and Rollup Fields

Dynamics CRM 2015 release brings a rich tool for system customizers to be able to do their work with less dependency with code. The most useful features in Dynamics CRM 2015 is the Calculated and Rollup Fields.

First of all there are some good post from fellow MVPs regarding these new features:

Calculated Fields (by Leon Tribe): http://blogs.msdn.com/b/mvpawardprogram/archive/2014/12/15/dynamics-crm-2015-calculated-fields.aspx

Rollup Fields (by Jukka Niiranen): http://niiranen.eu/crm/2014/12/analyzing-customer-behavior-data-crm-2015-rollup-fields/

So, I did my hands on with these new features to test and found out that some limitations in regards these new features:

  1. Currently there is no way to upgrade/update existing fields (Simple) to calculated or rollup fields. This situation could be common when there are some fields that calculated through other methods before (plugin/WF/js) that would like to be updated with the new functionality.
  2. The calculated or rollup fields need to be created first in metadata before it could be configured. Therefore if the configuration process was not completed during the creation of the fields there is potential “orphan” calculated/rollup fields that do nothing.
  3. The rollup fields are calculated asynchronously through the system job, therefore there will be some delay to get these fields to be calculated.

CalculateRollup

I hope this helps!

Dynamics CRM 2013 SP1 – UX Update – Mostly Unnoticed

Dynamics CRM 2013 SP1 comes with lots of new good stuffs, such as the new Service Management, SLA, Timer on Case, Queue Routing, Social Listening and many more. However, for me as CRM user that always use PC and web browser to work with Dynamics CRM, the user experience for PC client quite cumbersome, especially the navigation bar that collapses immediately when my mouse pointer is navigated away from the bar. I love to have responsive mouse pointer and most of the time my mouse pointer goes out the navigation bar and closes the navigation bar, resulting multiple click to main navigation menu.

As my online instance being updated with Spring 14 release, I noticed an improvement in their UX. The navigation bar does not collapse immediately when my mouse pointer goes out of the bar.

updated

This UX definitely gives a massive impact to my productivity. Big thanks to Dynamics CRM product team to listen to the feedback and delivered this feature!

 

Dynamics CRM 2013 SP1 Plugin Registration Tool Revamped!

Today I checked the Dynamics CRM forum to answer some of the questions there. One of the question that I tried to answer was regarding the plugin registration tool. The screen shot that uploaded by the question shows different UI of plugin registration tool that I usually use.

Then I check the latest SDK for Dynamics CRM 2013 SP1 (6.1): http://www.microsoft.com/en-au/download/details.aspx?id=40321. The SDK now provides the new Registration Tool under Tools > Plugin Registration (No longer in the “Bin” folder)

Below is the comparison of the old & new layout of the plugin registration tool:

OldPluginRegToolNewPluginRegTool

The new Tool definitely is no longer using Windows Form Application. The new tool has different authentication method than the old tool, where we don’t need to specify the discovery URL (where we usually need to go to Settings > Customization > Developer Resource):
NewAuthentication

The Online Region Selector now helps us to construct which CRM discovery server to be connected to (where crm5 is my region):

RegionSelector

Overall functionality of the tool does not change. There are some details that added to the new Plugin Registration tool

NewDetailsWindowNewPropertiesWindow

One thing that made me curious is the usage of the “Gear” button (usually it’s setting) that cannot be clicked. Perhaps it’s a bug??

Gear_Button

 

 

Dynamics CRM 2013 – New Features Limitations

Dynamics CRM 2013 new features: Business Process, Business Rule and Synchronous Workflow are a major leap from CRM 2011. These nifty features added a lot of benefits to the selection customisation tool. For example, by using Business Rule, we could eliminate some javascript form scripting that might require more time to test. And Synchronous Workflow might eliminate plug-in development that sometimes quite tricky to test, especially on Online deployment.

In spite of the benefits that we could utilise from these new features, there are some limitations that we might need to aware of, especially in designing the best solution in terms of maintainability, performance and the time effort that need to be spent.

Business Process
In designing business process there are maximum number of processes, stages, and steps:

  • The maximum number of activated business process flows per entity is 10.
  • The maximum number of stages in each process is 30.
  • The maximum number of steps in each stage is 30.
  • The maximum number of entities that can participate in the process flow is 5.

Synchronous Workflow
With Synchronous Workflow, user could see the results by the time the record is saved (in CRM 2013 form, the changes that made are saved automatically every more or less 30 seconds interval or by clicking the TINY save button at the bottom right of the form), compared to javascript, where user could see the changes straight away.

Planning synchronous workflow might be similar to planning synchronous plugin, try as much as possible eliminate the long-waiting process to be registered as synchronous one for better user experience.

Business Rule
This is one of the killer features of the new Dynamics CRM 2013, but there are some limitations. And for some occasion, it will determine our conclusion whether we should go with javascript/plugin/workflow/business rule.

With current release, as far as my trial-and-error experiment with business process, we could only have one condition and one action. So it is like a single if statement:


If [this condition]
Then do [this action]

Meanwhile, if-else or switch-case scenario is not available

If [condition is A]
Do [action A]
Else if [condition is B]
Do [action B]
Else if [condition C]
Do [action C]
Else
Do [default action]

To achieve this, we need separate business rules and might want to check whether one rule is unique to the other rules, which is quite messy for a solution.

If [condition is A] and [not condition B] and [not condition C]
Do [action A]
And so on…

Business Rules are Entity-Bound
The fields that can be used to build the business rule are only available from the entity that the business rule is attached to. So there are limitations when we need to access fields/condition from related entities (child/parent entity). To achieve this, we should choose either workflow/plugin/javascript path.

So far these are my findings on the limitation of the new features in Dynamics CRM 2013. In future post, I might add any additional limitations Dynamics CRM 2013 or Microsoft might release updates on these limitations to make Dynamics CRM 2013 as the best platform for xRM implementation.