Business Rules in CRM 2015 – What should one know?

I came across a new thing about Business Rules in CRM 2015 which I was not aware of. While working on JavaScript to hide a section OnChange of a field, I ran into an issue where the section was not getting hidden on change of field value. After few minutes of debug and then bit research, found that JavaScript runs before business rules. In my case, below was the scenario which caused the trouble:

I had two sections, A and B. One field “Record Type” from section “A” had Business Rule on it which hides a field “Field 1” which is in Section B. Then I had a JavaScript which triggers OnChange of “Record Type” field and hides “Section B”. As JavaScript triggers before Business Rule, JavaScript use to hide “Section B” after which Business Rule used to show the complete “Section B” again and hide only “Field 1” mentioned in business rule.

Below are few more things one should know about Business Rules in CRM 2015:

•    The rules need to be activated before they take effect (similar to workflows).

•    You can specify whether the rule applies to all forms or specific forms.

•    The rules fire in the new mobile client for iPad and Windows 8.

•    The rules are client-side rules, they do not fire during API calls, data import, etc. Microsoft’s vision is to add that support in a future release.

•    The rules do not support show/hide of Tabs and Sections. You either need to mention each field individually in your Business Rule or use JavaScript.

•    If your rule hides a field then CRM moves fields up to close the gap.

•    You need to consider the inverse of your rule i.e. in my example I tell CRM what to do when the Est. Revenue field contains data. I don’t tell it what to do when the Est. Revenue does not contain data. I need to write a second Business Rule for that.

•    JavaScript runs before Business Rules.

•    String comparisons are case sensitive.

Parature, from Microsoft 15.2

Check out the new documentation for the Parature 15.2 release. This release brings new and enhanced features, such as:

  • New unified portal: Create a single portal to support all of your Parature departments, creating a consistent support environment for customers across all of your brands. Customers will be able to find the support they need for all their products and services more easily than ever.
  • Enhanced multilingual support: Customers and CSRs can translate and search knowledge base articles, live chat sessions, and support portal pages in real time. By using Parature services, your support teams can have global reach.
  • New portal customization options: Developers can take advantage of new options to style your portal and integrate it with key systems, features, and data.

Start Here

  • Parature Knowledgebase  – Head to this location to get an easy access to product information for Parature, from Microsoft.  Read about all the recent updates to your Parature software.
  • Training Center – Find documents, worksheets, and videos to help you become a Parature expert.
  • Printable User Guide – Learn how to configure, customize, and manage your Service Desk and Portal with detailed instructions and overviews of each Parature module in the Printable User Guide.
  • API & Integration – Learn how to use APIs to move data in and out of your Parature system to integrate with other critical systems.

Information for IT pros, administrators, implementer, and customizers

Learn about:

Information for developers

Parature 15.2 includes new APIs to enhance the capabilities of your custom integration. You can now use new JavaScript variables to retrieve information for widgets and portal customization to enhance the unified portal. To learn more, check out the documents below:

View article…

Enabling Social Listening for Dynamics Marketing

Enable the connection

  1. Purchase Microsoft Social Listening licenses and assign them to users as needed using your Microsoft Office 365 portal.
  2. Sign in to Microsoft Dynamics Marketing and go to Settings > Administration > Social Listening Options.
  3. Mark the Enable Social Listening check box to turn on the feature.
  4. Enter the URL for your Social Listening instance in the Social Listening Server URL field. You’ll receive the link required here in an email when you sign up for Microsoft Social Listening.
  5. Configure the roles and privileges for the relevant users of Microsoft Dynamics Marketing to grant them access to Social Listening features. (Grant the View All Social Listening privilege.) For more information, see Work with user accounts and staff contacts.
  6. Fold down the Additional Admin Options section and choose the Social Listening User Management link to go to the user-management page for Social Listening. From there, configure roles for the same users in Social Listening.
  7. Choose the Social Listening Terms link to view the license/subscription agreement for Microsoft Social Listening and read it carefully. If you agree to its terms, then return here and mark the I agree… check box.
  8. Choose Submit to save your settings.

Test your Social Listening connection

To check whether your Social Listening connection is working, try one or both of the following:

  • As described in the previous procedure, go to the Social Listening Options page, fold down the Additional Admin Options section and choose the Social Listening User Management link under Configure User Roles. If the link works, then you have entered the correct URL for your Social Listening instance.
  • Go to the Home page and try to add a Social Listening widget. You may be asked to sign into Social Listening. If you are able to sign in and the widget works, then your connection is fully operational.

Release Social Listening licenses

If you need to free up some Social Listening licenses, you might consider removing Social Listening access from some of your Microsoft Dynamics Marketing users. To do so, you must remove access privileges from the affected users in both Microsoft Dynamics Marketing and Social Listening and, finally, remove the licenses in your Microsoft Office 365 portal. You can now reassign the licenses.

Microsoft Dynamics Marketing & Dynamics CRM entities mapping

This is useful information that can be referred to when working on MDM-CRM Integration. You can easily modify data mapping between Dynamics CRM and Dynamics Marketing on an entity by entity basis by using the interactive mapping editor.

Connector entity mapping for master data

Connector entity mapping for campaigns and leads

Connector entity mapping for lists and other data

For more information, follow technet article here.

[UNSUPPORTED] Update CRM Workflows from database

IMPORTANT: It is not recommended to perform any operation directly on CRM database (exception to SSRS reports using filtered views). Execution of below script surly saves time, but it may crash your entire CRM environment if done in wrong way. Take a backup of your database before trying it.

I had an implementation were we were required to have send email step (without using CRM email template) in around 100 workflow process. All these emails used HTML email template with a branding URL in it which was hard coded.

One fine day a request came to update the branding URL in all emails. I was like ok, but next thing was in few hours. I just said, few hours?

There were around 100+ workflows using it. Apart from that each email was not a simple text email, all were HTML emails.

What that mean is, I was required to create 100 new HTML email templates with updated URL, deactivate all these workflows, modify the send email step in each workflow manually, and activate the workflows in FEW HOURS.

I’m still searching for a supported way of doing this with minimal manual efforts and time. If you have any, please let me know.

All these constrains forced me to move to UNSUPPORTED way. I came to point where I decided to update the URL from database.

All the process are stored in “workflow” table and the workflow definition in “xaml” column in xaml format.

update workflow set xaml=@Xaml where workflowid=@WorkflowId

Updating this column is not that straight forward like updating any other column. You will have to figure out the way to play with XAML values which I’m sure you will. J

Use of TypeScript in MS Dynamics CRM

Today I came through an interesting article about Typescript and its use in MS Dynamics CRM. TypeScript is a free and open source programming language developed and maintained by Microsoft.

It is a strict superset of JavaScript, and adds optional static typing and class-based object-oriented programming to the language.

CRM 2015 – Typescript is ready to go, definition files available on NuGet

It is an open source and a great tool to write JavaScript which would be easier to understand and with the intellisense would make less syntax, avoid typo errors and save time publishing JavaScript files. After having hands on experience, we can actually say that it is like writing an early bound code which is easy to understand, remove syntax errors and casting and type errors are found at compile time.

You can visit the below site to download and learn TypeScript:

http://www.typescriptlang.org/

Microsoft Dynamics CRM 2015 Update 1 PPT

Few weeks back, I was required to give a brief information about the new features coming with CRM 2015 Update 1 to my team. I was following Convergence 2015 over twitter and had a hand full notes from tweets by some CRM MVPs. I just added those tweets to a presentation with some more information and delivered the presentation. I had missed to share that presentation over blog as it may help someone. (If not, it will just take few space on my blog which is ok 🙂 )

Microsoft Dynamics CRM 2015 Update 1

Mobile Development Helper Code for Dynamics CRM

[This topic is pre-release documentation and is subject to change in future releases.]

Mobile apps are very popular these days. By using industry standard protocols like SOAP and OData in your app code, your modern or mobile apps can connect to the Microsoft Dynamics CRM web services, execute custom business logic, and access organization data. In the following sections, learn how you can develop apps that can access the Microsoft Dynamics CRM web services.

Mobile Development Helper Code for Dynamics CRM

The Microsoft.Crm.Sdk.Mobile source code sample is a partial re-implementation of the Microsoft Dynamics CRM SDK classes written as a Portable Class Library to facilitate development of store apps for Windows 8.1 desktop, tablets, and phones. The code makes use of the SOAP and OData protocols to issue web service method calls. An organization web service proxy and most of the message response/request classes in the CRM SDK have been implemented. When writing apps that use this code, you don’t have to link to the CRM SDK assemblies to access the organization web service.

CRM Service Utility for Mobile Development

This sample is a custom extension to the CrmSvcUtil.exe program that ships in the Microsoft Dynamics CRM 2013 SDK. The purpose of this program is to generate C# or VB source code containing early-bound entity types and option set types from the metadata of your CRM server. This code can then be included in your mobile app projects. This enables you to make use of both out-of-box and any custom or customized entities in your code.

https://code.msdn.microsoft.com/windowsapps/Mobile-Development-Helper-3213e2e6

https://msdn.microsoft.com/library/dn481568.aspx

New naming conventions for Microsoft Dynamics CRM updates

From Microsoft Dynamics CRM End User Team:

We’re changing the way we name product updates to make things simpler and to unify our approach for Microsoft Dynamics CRM Online and Microsoft Dynamics CRM (on-premises).

Finding and understanding version numbers

To understand the new naming conventions, let’s first take a look at version numbers in CRM.

To find your version number, in the upper-right corner of the web client, choose the Settings icon, and then choose About. You’ll see the following screen:

The first three numbers of the 7-digit version number tell you most everything you need to know about which version you’re working with, whether you’re using CRM Online or CRM (on-premises):

So what’s changed?

Three things have changed in regard to naming conventions:

  • CRM Online. Product names for minor releases of CRM Online will now include the year as part of the name. For example, the spring release of CRM Online for 2015 is CRM Online 2015 Update 1. If there’s an incremental update that applies to the minor release, it will be appended to the name. For example, the first incremental update to the spring 2015 release would be called CRM Online 2015 Update 1.1.
  • CRM (on-premises). In the past, incremental updates for the on-premises version of Microsoft Dynamics CRM were called “Update Rollups”. In the future, Update Rollups will just be called “Updates” and will be associated with the third digit of the version number. For example, the first incremental update for version 7.0 is CRM 2015 Update 0.1. The complete version number in this case is 7.0.1.xxxx, which indicates that the update applies to the major 7.0 release, not a spring release. There will not be a spring 2015 release for the on-premises version, but if there’s a minor fall release, it would be called CRM 2015 Update 2, and any subsequent incremental updates would be appended to that number.
  • CRM for phones. The new phone app introduced with CRM Online 2015 Update 1 will be called CRM for phones. The CRM phone app for CRM 2013 and CRM 2015 will now be called CRM for phones express.

Product names, versions, releases, and code names

The following table shows CRM Online product names with their associated version numbers and code names.

Product Name

Version
Descriptor

Version
Number

Release or
Update

Code
Name

Microsoft Dynamics CRM Online Fall ’13 6.0.0 Major release “Orion”
Fall ’13 6.0.1 Incremental update None
Fall ’13 6.0.2 Incremental update None
Spring ’14 6.1.0 Minor release “Leo”
2015 Update 7.0.0 Major release “Vega”
2015 Update 1 7.1.0 Minor release “Carina”

The following table shows CRM (on-premises) product names with their associated version numbers and code names.

Product Name

Version
Descriptor

Version
Number

Release or
Update

Code
Name

Microsoft Dynamics CRM 2013 6.0.0 Major release “Orion”
2013 UR1 6.0.1 Incremental update None
2013 UR2 6.0.2 Incremental update None
2013 SP1 6.1.0 Minor release “Leo”
2015 7.0.0 Major release “Vega”
2015 Update 0.1 7.0.1 Incremental update None

We hope this blog demystifies naming conventions for CRM going forward!