Tuesday, March 5, 2013

Product Review - North 52 Formula Manager for Dynamics CRM

I am always on the lookout for tools that provides the Business user complete control  to create/ modify business logic, using an interface that is easy and intuitive. One such product is the North 52 Formula Manager. Formula Manager aims to transform custom coding into simple formulas using native Silverlight and HTML Webresource controls that drive a point and click customization tool.

In this post I will walk through a couple of sample case to create a rule on CRM entities using the Formula Manager.

Install and Configure Formula Manager:
Import the North 52 Formula Manager managed solution. Once imported, go to Settings -> Solutions and open the solution North52FormulaManager. Click on the Configuration link on the left hand side and select the 'Accept' button, which will create the configuration record for the user. Once complete, the configuration link show display a webpage similar to the screenshot below:














Business Case I:
Create a rule using North 52 Formula Manager on the Account entity that sets the credit limit as a function of the annual revenue if the form data passes certain criteria.

1. Go to Settings/ North 52/ N52 Formula and select "New" button to create a new formula.



















2. In the N52 Formula Manager Section, fill out the values as per the screenshot below. Here is an explanation of the field data:
Formula of type "Save to current record" - Saves/ creates a data value to the target field
Mode "Client Side Classic"  - Runs a client script
Event "Create & Update" - Triggers on create of record and update of specified fields
Source Entity "Account" - The entity which contains the field to trigger the client script
Source Property "Annual Revenue" - Field on change that triggers the client script
Target Entity "Account" - The entity which contains the field to input the data value as a result of the formula
Target Property "Credit Limit" - Field that will contain the calculated data value












3. In the N52 Formula section, create a formula as per the screenshot below. The formula sets the credit limit of the Account entity as a function of the annual revenue of the Account. The Credit limit also depends on a few other fields in the Account like Shipping method, type of customer, contact settings etc.

Notice that the field names for the formula can be selected on the fly from the Source tab/ Source Entity/ Account section, as highlighted below.













Once the record is saved, navigate to the N52 System Settings section. It contains details of the formula created.













4. If the details of the formula are acceptable, Publish the changes to the Account entity. This concept is similar to the existing CRM 2011 functionality - any modifications made need to be published for the changes to be visible.












5. Open an account record and test to make sure the credit limit is set correctly.

Business Case II:
Create a rule using North 52 Formula Manager on the Case entity to create a custom Autonumber value for every new case created.

1. Go to Settings/ North 52/ N52 Formula and select "New" button to create a new formula.

2. In the N52 Formula Manager Section, fill out the values as per the screenshot below. Here is an explanation of the field data:
Formula of type "Auto Number" - Sets the target field with an autonumber data value
Mode "Server Side"  - Runs plugin code
Event "Create" - Triggers on create of case record
Source Entity "Case" - The entity which triggers the plugin code
Source Property "" - No Value selected for source property
Target Entity "Case" - The entity which contains the field to input the data value as a result of the formula
Target Property "Case Number" - Field that will contain the calculated data value











3. In the N52 Formula section, create a formula as per the screenshot below. The formula sets the case number of the Case entity to a custom autonumbered value.

Notice that the autonumber function is available in the Functions tab/ System section, as highlighted below. There are a whole bunch of other functions that exit, right from common javascript functions for strings, to CRM 2011 specific (like CreateRecord). Save and publish the changes.













4. Create a Case and validate that the custom auto number value has been applied to the Case Number field. An example would look something like this: 2/25/2013-00005

Note: The auto-number functionality is implemented to handle concurrent record creation. According to John Grace, the founder of North 52, the concept is similar to the one explained in this article

Conclusion:

The article is just a primer on the North 52 Formula Manager, with a couple of basic everyday requirements as examples. One cool thing while creating the formula is that the fields in Formula Manager (and in other places like the function list) provide a short description/ how to use tip, when you hover over them. Saved me tons of time!

One other functionality that I really liked is the N52 Scheduler. It is a great way to set recurring or one time schedules for your entity, which in turn can trigger workflows or even a custom formula. Very nice!

There are more than 200 samples provided for download, which can be used as a great starting point for many of the user needs. Note that the community (free) version lets you have upto 10 rules active at a time. North 52 Formula Manager gives the the Business Analyst control of their business logic, while providing them with more than enough features and options to cater to their needs. It is a great way to eliminate custom coding for tasks like rule creation, form validations and calculations, while supporting both client and server side events. I personally loved the simplicity and feature list available in the product.

I did have an issue when using the Formula Manager testing feature. The Test formula button did not seem to work for all data types. For example, using option set codes seem to work while testing, while using option set value labels resulted in an error. I was also not able to get the test piece working for bit field (yes/ no field) entry.

Here is a list of upcoming features/ improvements that are in the pipeline, according the North52:

 -Native integration to TFS (i.e source control). What our aim to do here is have buttons on the ribbon of a formula that can check-in & check-out a formula within TFS
 -Provide an SDK where a developer can write their own functions in C#, upload it & have it appear in the N52 Formula Manager user interface.
 -Provide a set of MSBuild tasks \ PowerShell scripts & Cmdlets for continuous integration setups
-Detecting an optionset input parameter & displaying  its associated picklist (also for bit fields).
-Detecting a reference type field & adding a lookup capability.
-Be able to pick any record from the Source Entity & use this as the formulas input parameters 


A couple of disclaimers before I bid adieu
  • For the latest product and licensing information, please contact North 52 directly.
  • I have tried the Formula Manager in my demo VM, and have not used it extensively outside of it or deployed it to production.

1 comment:

  1. Hi , Does Any work on North52 Formula Manager, One of our client is using Norht52 beta release version is 0.9.2.161 since long time. Formula field uses in on demand Workflows. From last 2-3 weeks it start behaving abnormally and given following error on occasionally basis. can any guide me. what is the exact cause of this issue.

    Plugin Trace:

    [Microsoft.Xrm.Sdk.Workflow: Microsoft.Xrm.Sdk.Workflow.Activities.UpdateEntity]
    [UpdateStep8]


    [North52.FormulaManager: North52.FormulaManager.Plugins.AnyEntity.SingleFormula]
    [8697cd3a-80ec-e011-916c-00155df5b00d: North52.FormulaManager.Plugins.AnyEntity.SingleFormula: Update of any Entity]

    Error Message:

    Unhandled Exception: Microsoft.Xrm.Sdk.InvalidPluginExecutionException: An error has occurred in the North52 FormulaManager.

    ReplyDelete