Posts Tagged ‘Microsoft CRM 2011’

Solutions & Release Management – CRM 2011

Microsoft Dynamics CRM 2011 comes with a brand new concept of solutions. Solutions are how customizers and developers author, package, and maintain units of software that extend Microsoft Dynamics CRM 2011. In this post I will be focusing on development of enterprise CRM implementations and utilization of solutions.

In enterprise CRM implementations, many processes/iterations are running in parallel which result in many product releases in parallel. So development, testing and rollout of all releases in parallel with no interference with work in progress are massive challenges.

For example, your CRM implementation is comprised of N release as shown below and you want to utilize Microsoft Dynamics CRM 2011 solution concept to fulfil following goals:

  1. Development of releases in parallel
  2. Multiple teams working on multiple releases
  3. Testing of releases in parallel to development
  4. Release based rollout to production
  5. Install or uninstall releases from test or production
  6. Post production support (Patch/hotfix)

I am expecting that you are familiar with managed/unmanaged solution concepts. So in order to implement above scenario, you need to design your organization and solution structure for CRM 2011 accordingly as given below:

  1. Create a base organization and a base unmanaged solution in it
    1. This solution will carry generic customization i.e. account and contact entity customization
    2. Any generic plugins i.e. creation of counter/auto numbers on custom entities
    3. Configuration entities and plugins
    4. Add common security roles
    5. Add core JavaScript libraries

  1. Create another organization for each release with one unmanaged solution per release
    1. Install base solution as managed in this org i.e. very similar to solution library concept.
    2. Add all release 1 specific components to release 1 unmanaged solution

Similarly, for all other release, use rest of all released as managed solution (reference).

Now, if something is changed in release 1 or base solution, you can use managed solution update feature. Just export new version of base/release 1 solution as managed and install it to release 2 organization by using overwrite or merge option.


JavaScript Libraries in Microsoft Dynamics CRM 2011

In Microsoft Dynamics CRM 4, it is a very tedious task for system customizers to manage and track JavaScript. System Customizers/Developers have to write JavaScript on every event handler on the form. But Microsoft Dynamics CRM 2011 provides JavaScript libraries that can be utilized on events and forms across the solution. Now common JavaScript functions can be written at one centralized JavaScript file and utilized across solution.

Moreover, multiple JavaScript libraries can be created. For example, one common library for general CRM Service calls and one common library for UI manipulation and so on.

Let’s create a very simple JavaScript library and create a function to hide/show a tab/section on the form. JavaScript libraries are added as web resources in solution as shown below:

Now let’s create a JavaScript Common Library by adding a web resource in the solution. Then attach a JavaScript file this web resource.

Now let’s open the file in Text Editor available in web resource to add a function to show/hide a section/tab on form.

Microsoft Dynamics CRM 2011 provides new xrmPage model to access UI and data at client side. Here is a snapshot of the hierarchy.

Now let’s go to the account form in solution and then go to form properties to set JavaScript library and function to execute on form load event handler as shown below:

Now let’s add library from solution library.

Now let’s call the HideShowSection function in JavaScript Library by selecting appropriate JS library and typing the right function.  Enable the event handler by setting Enable flag to true. Also pass parameter to function by comma separated list of parameters i.e. 1, false which in turn sets tab 1 to visible false.

You can see that Details tab is now hidden and alert.

Call Scripting in Microsoft CRM 2011 – Workflows Reborn

Microsoft CRM 4 lacks call scripting features and customer especially call center customer will have to buy 3rd party add-ons like TK Dialogues, custom ASPX pages etc. to fulfill this requirement.

However, Microsoft CRM 2011 provides call scripting out of the box using processes. Processes are now used in place of workflows. Microsoft has categorized processes in Workflows and Dialogs. Workflows are same old workflows but dialogs can be utilized in various ways i.e. Call Scripting, Approval Processes, User Feedback Process and many more as CRM 2011 gets introduced in various industry sectors.

In this post, we will discuss processes from two perspectives. One is related to designing a process and other is execution of processes. Processes are located in Settings -> Process Center in navigation pane as shown below:

Microsoft CRM 2011 provides a designer tool for designing processes and this designer tool is very much similar to workflow designer but much more capabilities as compared to workflow designer. Now you have the options to prompt and get user input into process.

For the sake of clarification, lets design a script for call center representative to ask first name and last name of customer  whenever takes a call from customer.

This script will be designed to execute on phone call activity as shown in the category attribute.

Now we will add a page and then add two prompt and response steps for first name and last name and one prompt and response step for email.

We have almost designed are very simple Call script that will ask standardize our response when a call is received from customer. It will first ask for first name & last name. Then will ask for customer email address. Here we can specify as many steps as required to implement you call scripting needs and you can utilize the values gathered through this script to send emails. Create records as cases, contacts, activities, service activities etc.

Let’s Activate [published/unpublished is renamed as activated/deactivated] this process and Execute from Phone call activity. You can see from below screen that there are no more clicks involved to create a phone call activity. It’s pretty quick and easy. Thanks Microsoft for this consideration.

Now let’s execute the Call Scripting from phone call start Dialog as shown below:

Select the specific Dialog and click OK.

Click Finish at end of the process to and an email will be created.

and sent to customer upon completion of the process.

Please comment or send your feedback and keep exploring Microsoft CRM 2011.