Dynamics CRM 2015: My light at the end of the tunnel
While I have been busy working on other projects which are not related to Dynamics CRM, I have been eagerly following the development of Dynamics CRM 2015, which is scheduled for release this fall (Q4/2014).
When version 2015 was initially announced, I was not as enthusiastic as I were as in previous versions due to some recent disappointments, which I have ranted on about before. However, Microsoft has made some announcements for this upcoming version that really made me see the light at the end of the tunnel.
In this short post I would like to share with you my feelings about some of these features that have been announced.
Business rules
Business rules were introduced in CRM 2013 and as soon as I tried them I could not hide my disappointment when I found out that they were in fact just a front-end for generating java scripts. Reason being is that java scripts are not available for mobile express forms or the CRM App for tablets, and I was hoping that business rules would be a solution to overcome this limitation.
Based on my previous experience with Microsoft I was sure that this would be another cul-de-sac which would take several years and many Dynamics CRM versions to overcome – if ever. To my surprise Microsoft proved me wrong and in Dynamics CRM 2015 the business rules have been completely revamped to allow them to work at the server-side. This means in practice that business rules can be applied to all clients without the need to write any code.
Moreover, Microsoft introduced additional conditional constructs for the creation of more complex business rules, so now we can apply and/or
and if-then-else
logic to rule definitions.
Pause and resume service level agreements
Having worked with Remedy, Peregrine and other service management systems in the past, I always treated the Service module in Dynamics CRM with scorn. When Dynamics CRM 2013 SP1 was announced I was full of hope that Microsoft have finally nailed it. While Dynamics CRM 2013 SP1 brings many improvements to the service module that are in fact mandatory functionality of any serious service management system, they left one key component out: the ability to pause and resume the timer for service level agreements (SLAs). This feature has been announced for Dynamics CRM 2015, which finally brings the product on part with other service management systems out there.
Improvements to business process flows
One key aspect that Microsoft has announced for CRM 2015 is the ability to introduce branch logic into our processes. For example, if an opportunity is related to a public tender, we could have a branch specific around the building of the response, while a private sale would not include such branch but would otherwise be pretty much the same.
Also is worth mentioning that the client-side (i.e. Jscript) API for business process flows has been announced which is meant to give developers full programmable access to the flows. This mean that we could now move across a business process flow programmatically solely with the use of Jscript.
Rollup fields
Dynamics CRM 2015 introduces the ability to roll-up fields across one-to-many relationships. For example, we may have a roll-up field at the Account entity that sums the value of all opportunities won for that account. Curiously, this feature has some constraints. A maximum of 100 roll-up fields are allowed per Dynamics CRM organisation, and only 10 for a given entity.
I would like to emphasise the word rollup in rollup fields here. That is, we would not be able to create a rollup grid summarising all products sold for a given account. For such functionality would still have to rely on plug-in development. Still, the rollup fields is a great feature.
Improvements on Outlook and Exchange synchronisation
Another issue that really got on my nerves in the past is the synchronisation between Dynamics CRM an Outlook when the Contacts entity has been heavily customised. In Dynamics CRM 2015 Microsoft promises that we will be able to sync more types of data between systems, including additional contacts and task fields.
Field level security for system fields
I am sure that Microsoft might have had their reasons not to allow field level security for system fields in the past. But the truth is that users could not care less for those reasons. Microsoft has rectified this great injustice.
Customisable help
Some of the Dynamics CRM deployments I have worked on in the past were so heavily customised that the built-in help did more harm than good to the end-users. In Dynamics CRM 2015, Microsoft announced that the in-product help can be tailored to match the business needs.
Other features
The above list represents what I consider to be the most welcome features of Dynamics CRM 2015. In fact, many of those features are finally addressing some of my most noteworthy pet hates. Having said that, there are many other pertinent features announced by Microsoft that are worth mentioning including:
- Visualisation of hierarchical data: Provides a hierarchical view of relationship of data across entities. This will allow users to find out relationships that might not have been that obvious otherwise.
- Product catalogue enhancements: Including the configuration of bundles, related products (e.g. accessories) and functionality to help with up-selling and cross-selling of products.
- Dynamics CRM Tablet App: Includes dashboards and analytics based on roles, the ability to personalise home pages, navigate hierarchies and improved support for offline usage.
- Search improvements: Search is now accessible at the navigation bar and the user interface has been updated to the overall modern design introduced in Dynamics CRM 2013. Search can also span across multiple entities.
- Quick create form enhancements: Users will be able to create multiple records through one single quick form. For example, create one account along with its associated primary contact.
A few points:
Business Rules do run in the browser, outlook and Tablet client (aka mobile or MOCA, but not to be confused with mobile phones, mobile express or mobile forms)
As far as I can see, Business Rules are still bound to forms as a client-side component, not server-side. Since they are mainly to do with presentation this makes sense (hide/unhide, lock/unlock, required, not required and showing error messages are 4/5 of the actions available). You can use real-time workflows to test and set values server-side of course.
I agree that field level security for system fields is a great move. I can see why it was not available for lots of fields that are used for fundamental functionality within the system, and some are still unavailable now for good reason. It is a shame it could not be opened up for a whole load of fields on Account and Lead that do not fall into this category though (such as credit limit and account number).
On Contacts in particular, FLS could have broken Outlook synchronisation if you secured any of the address, email or phone fields. So with this release, there has been a whole bunch of engineering work to allow you to control that synch at a more granular field level.
For example, if a user adds a mobile phone number to a contact in Outlook that is tracked, and the mobile phone field is secure, should their change be synched if they don’t have write access? Sounds like it should not. What if they don’t even have read access? Should the number they added to Outlook be removed since they are not allowed to read it? Won’t this mean two users could potentially have different versions of the truth? This quickly becomes one of those “it’s complicated” areas. Making it secure is only half the story. Making it work as well is a whole ‘nother thing…
Rollup fields and multiple dashboards for tablet users are big wins for me as well.
The nested Quick Create forms is a great feature I did not know about until I read this article, so thanks for pointing that one out, I can see that being used a lot.
Hi Adam,
I have not tried the Business Rules on the tablet clients so what I was doing is putting A and B together, being both "A" and "B" feedback that I got from Microsoft on the Connect site. One thing that is clearly specified by Microsoft is that Business Rule logic can now be evaluated at the server-side.
Seems you can run Business Rules server-side by setting the scope to “entity”. Obviously only any use for rules that check and set values, which I can do with real-time Workflows, which are also transaction aware and can roll out the intended change if necessary (if it fails your compliance rules for example).
Business Rules editor is probably simpler than Workflows for first time users, but of course with that simplicity comes limitations – such as not being able to test field values from parent records.
The only problem with real-time workflows is that they are evaluated at the saving of a record (i.e. creation or modification). If we want to have some logic that is triggered at the onChange event of a control, then we must use java scripts or business rules.
Also I hope that in the future Microsoft adds support to other events besides onChange.