Friday, December 16, 2011

CRM 2011 Data Import - Creating custom entities and fields

When building a custom solution, chances are that new entities with multiple fields are going to be created. In this post I am going to take a look at the Data Import wizard in crm 2011 and use it to accomplish those goals. Data can be imported too if needed, but the focus now is going to be able to create new entities and fields quickly. It is also a good idea to have a re-usable data maps to reproduce the process in a new organization.

A few things to note before we start:
a. The import size limit using the CRM 2011 data import wizard is 8 MB, irrespective of the file format.
b. Column names cannot have special characters
c. Enclose data in quotes( " ) if it contains special characters.

The business case is to create a new entity called Events. The fields are Event Name (text), Event Type (optionset), Status (optionset), Account (lookup), From (date), To (date).

1. Open a excel worksheet. The first row should contain the column names. This is the setup I have (remember that for lookup data import, the name should be an exact match). Save the file in csv format.

Thursday, December 1, 2011

OData with JSON - Getting related values from a lookup field in CRM 2011

One of the most common methods to improve user experience is to intelligently fill values out in a form based on previous selections. In this post, I will walk through a business case that provides for quick data entry in a form.

I have a contact lookup and a section called address with multiple fields like street name, city, zipcode, state, country etc. The goal is to fill out the values of the address fields with the contacts details. These values are updated when the contact is changed, but the address section can be over written by the user.

1. Before we start writing js code, the first step is to find the name of the Set that we will be using in our call. You can get all the names by going to a similar url (the example is for on premise, but can be used for Crm online by replacing the server name/ organization section with the right value)

Monday, November 14, 2011

CRM 2011 Dialogs with Dynamic FetchXML - Duplicate Case Detection

Dialogs are a great new addition to the CRM feature suite. They provide an efficient way to capture business process information through a logical step by step workflow. Think of a Customer Service Representative entering a case, or Marketing folks qualifying a lead. There are still ways to go with regard to using dialogs as a full fledged call center scripter, but it is definitely the right step forward for Microsoft.

In dialogs, the user responses are captured and steps can have branching based on previous responses. There is also the capability of generating dynamic questions, which we shall see in more detail in a bit. Dialogs are a bit similar to workflows in that you can do create/update actions on entities/ records. In a sense, we can think of dialogs as a workflow with user input. Dialogs can be run only on one record, and unfortunately, the response does not have a muti select option (ie, you cannot choose more than one answer as a response).

The business case is as follows. I want to be able to detect any duplicate cases (based on title and customer) related on the current case. If I do find similar ones, I want to be able to create a connection between the 2 cases using a custom connection role, mark the case found as cancelled/ duplicate and add a note to the duplicate case mentioning the reason. Remember that both the customer and title needs to be match for this duplicate detection to work.

Friday, November 4, 2011

CRM 2011 useful packaged solutions

The following solutions are handy when working on crm 2011. They are similar in the sense that they make a task simpler, and customization's are more efficient compared to the steps involved without the solution. They have decent documentation on how to use their features, and so far I have not seen any issues using them (i.e, they are pretty stable). Hope it helps!

1. Ribbon editor: A tool for Microsoft Dynamics CRM 2011 that lets you edit CRM ribbons.  This ribbon editor shows a preview of the CRM ribbon as you are editing it and allows you to easily modify the ribbon without needing to completely understand the underlying XML schema.

2. Sitemap Editor: Provides a quick and easy way for users to update the site map through a user interface within Microsoft Dynamics CRM. Users will be able to immediately see the updated navigation pane when they publish the customizations.

3. Metadata Browser: The CRM 2011 Metadata Browser is a Silverlight 4 application that is packaged as a Managed CRM 2011 Solution. This tool allows you to view metadata within CRM including Entities, Attributes and Relationships.

4. oData Query Designer: The CRM 2011 OData Query Designer is a Silverlight 4 application that is packaged as a Managed CRM 2011 Solution. This tool allows you to build OData queries by selecting filter criteria, select attributes and order by attributes. The tool also allows you to Execute the query and view the ATOM and JSON data returned.

5. View replicator: View Layout Replicator make it easier for Microsoft Dynamics CRM 2011 customizers to copying the layout of a view and paste it to the layout of other views in the same entity

6. Manage JS webresources: JavaScript Web Resource Manager for Microsoft Dynamics CRM 2011 helps CRM developers to extract javascript web resources to disk, maintain them and import changes back to CRM database.

Tuesday, November 1, 2011

Activity Feeds in CRM 2011

The CRM 2011 Update Rollup 5 has a very interesting feature called Activity Feeds. Having played with it for some time, I think there is tremendous scope in the context of daily professional use.

There are a couple of steps that need to be followed to get started before seeing the Wall updates. Let us go through them:

i) Download and install the Update Rollup 5 (duh!)

ii) Download and import the CRM Activity Feeds solution from pinpoint. Check the Activate processes and enable sdk message processing steps during the import process. Under Settings/ System, you will see 2 new nav links named "Activity Feed Configuration" and "Activity Feed Rules"

The Activity Feed Configuration is where you can define the entity that needs to be tracked, and whether you want the record wall to be displayed. Not all entities are enabled for the feed configuration though custom entities are supported. The Activity Feed Rules are scenarios that trigger the post to be made to the wall. These are pre-defined for each entity, but there is a workaround by adding scenarios through the workflow (I will explain in reference to the example below).

I am going to focus on the following business case: The Sales Manager wants to see on his wall a note when any open opportunity has an estimated revenue of greater than $100,000. The advantage of this approach is that the Manager can focus on the high value deals, and is a better option than getting an email or creating a task/ custom activity. And if further information is needed, the opportunity record is just a click away. In essense, we are aggregating information that is pertinent to the user, with the criteria set being customizable.

Lets take a look at the steps involved.

Thursday, October 27, 2011

2 Series Chart with CRM 2011

With the availablity of the CRM 2011 Update Rollup 5 there are some nifty changes to the product. The focus of this post is the capability of multi-series charting. To clarify, multi series charting was always available in crm2011. It required you to download the chart as an xml, make a few simple changes, and re-import it back in. But with the rollup update, we can do one step better - get it all done from the UI! I love it!

Let us create a 2 series chart, which will give us the Estimated revenue and Actual Revenue for each potential customer.

Monday, October 24, 2011

Quick Select records from Form - Display Field

The one thing that I noticed while playing around with CRM 2011 is the emphasis that has been paid to a smooth user experience. Specifically, you will notice that there are short cuts to open/ create records that will save you extra clicks. This post will focus on the quick select feature in a record, and the field that is displayed, and how that can be changed.

If you are in the Account record, you can get to other account records by selecting the Accounts drop down, at the top right hand corner, just below the ribbon. For Account, the display field is the Account Name. What if you want to see the Account Number instead of the Account Name?

Before we get to making any changes, you will notice that the Account Name is the Primary Field for the Account entity. That is the reason for field Account Name to show up in the quick select drop down.

Thursday, October 13, 2011

User Experience

How important is a smooth user experience when it comes to enterprise software?

User adoption (and implicitly a great user experience) is key to a sucessful project. A CRM customer rollout could have all the features that the sales department could ever want, but it is doomed if the user keeps using the old system (excel, or an older crm system) for the daily tasks.

We are creatures of habit, and thus a complex system that is familiar is sometimes easier to navigate, than a new system that is simple.

So, get end users familiar with the new system (through good training, incremental rollouts, soliciting feedback) and provide them with a smooth user experience.

Here are a few methods to keep in mind when it comes to designing a solution:

1. Less clutter, less pain
When I am filling out a form for an online purchase, nothing annoys me more than multiple extraneous fields, all over the form. Along those lines, when looking at an existing entity form or a new entity form, spend some time figuring out what is necessary and what can be done without.
Another great way to streamline the form input is to create separate form views for different security roles. For example, a sales rep might not need all the fields in an opportunity form that a Sales manager would (Keep in mind that required fields are necessary in all forms you create).

2. Automate the process
The most common example is creating/updating records when status value changes. Workflows are an easy way to accomplish automation, resulting in lesser data entry for the user. If workflows do not do the trick, it would be worthwhile to research plugins (which require C# coding skills).

3. Intelligently fill values in a form
Lets say you have a customer lookup, and an address section with street, city, state, country etc. When an user selects an account/ contact, have the address from the lookup auto populate in the address section. This can be done using java script on the event onchange() of the lookup.
Even if the user has to override the values 20% of the time, 80% of the time manual data entry is eliminated!

4. Fill form using related entity Field Mapping
When you have a Many to 1 relationship created, leverage the mappings feature in Dynamics CRM to pre-populate fields in a form. For example, lets say we have a N:1 relation between Account and Contact. When creating a new Contact in the context of the Account, I could have all the address information carried over to the new Contact form.
A couple of things to make sure while creating the mapping:
i) The fields mapped must be of the same data type
ii) The target field length cannot be smaller than the source field (which can cause truncation of data)

5. Use custom charts and reports to understand data
Visual data representation is light years better than a list of rows.
One great feature of the custom chart is inline visualization. that means that if you have a bar chart of accounts based on industry, and you select one industry(bar) in the chart, the list view is automatically updated to reflect the selection. You can also drill down to details of that specific industry.
Reports provide visual and/or list representation of data. You can quickly export it to a pdf document, and save it for later.
OOB entities like case, account etc has good built in reports that you can leverage. For custom entities, consider creating custom reports

6. Enforce business logic on the fly
An example would be to make a field required base on previous data entry. In a deal, if your revenue field exceeds $1,000, a manager needs to approve the deal. Make the manager lookup a required field only if the revenue field exceeds $1,000. Your system must be nimble enough to enforce this requirement, with the least amount of work.

During the course of the blog, I will try to provide step by step examples for some of the points listed above.

Tuesday, October 4, 2011

CRM 2011 Online Reports with FetchXML

One of the great benifits of CRM 2011 is the ability to create custom reports in SSRS using FetchXML. You have much more control over formatting and grouping. Additionally, you can add custom logos to your report! Who woudn't want that! :)

Before you start, you need to have BIDS installed. BIDS is available as part of SQL Server Install, and is not available free.
Secondly, install Microsoft Dynamics CRM 2011 Report Authoring Extension.

Once you have the above completed, you are ready for building your custom report. The use case is to create a report for an entity that tracks orders that have been shipped in the last x months, and greater than X dollars. We want to group it by Account, and by revenue.

Here are the steps:

Tuesday, September 20, 2011

Exam MB2-868: CRM 2011 Applications Preparation tips

I got certified in Applications last week, and now completed all 3 certification exams for crm 2011. I was most confident in Applications and Customization (866) exam, as I have been working on crm 2011 for some time now. There are a few resources that you can use to prepare like classroom training and e-learning(which I used). Along with the study material, the best thing is to either get a 30 day free trail or install crm on a server and try it out!

The exams themselves are well organized. If you have used crm 4.0, try to focus on the delta (what is different from earlier version). I think it gave me a good understanding of the new features. Goal management is something I have brushed past many times before, and it is now one of my favorite new features in crm 2011!

Here are a few things to keep in mind before you take the exam. They are not an exhaustive list by any means, and it has been a little more than a week since my exam.

Managing Microsoft Dynamics CRM Marketing Automation Applications (27 percent)
Core records that can be used to create marketing list
Questions about Dynamic and static marketing lists - how to create them, and how the lists are affected by changes to underlying records
Detials of how to add/ remove members to a marketing list
Campaign activities - Think about when they are "activated", and who can own them
When to use quick campaigns, and the features of quick campaigns
Components of a Campaign.
Different ways to create campaign responses

Managing Microsoft Dynamics CRM Sales Applications (30 percent)
Components of a sales cycle
Questions about product catalog - unit groups, price list etc
Details of outlook integration with the records
Goals and goal metrics - what type of information in available where
Fiscal settings in goals
when to use reports vs views

Managing Microsoft Dynamics CRM Service Management Applications (24 percent)
Filling out a case form
Various options for creating recurring appointment
Questions about modifying Contact templates and Knowledge Base templates - what can be copied.
Questions about queue item details.
What kinds of reports are available, and how data is reported using horizontal and vertical grouping

Managing Microsoft Dynamics CRM Service Scheduling Applications (19 percent)
Setting up work hours/ modifying work hours
Capacity scheduling - questions about how a boss can manage multiple folks, and how to set it up
Question about what is available in outlook along with crm
Different ways to display scheduling conflicts

Thanks to Neil Benson and Richard Knudson for their write on up the Installation and Customization exam.

Monday, September 19, 2011

Integrate Dynamics CRM 2011 with Sharepoint Foundation 2010

Once we have Sharepoint (either server or foundation) installed, we can then integrate it with crm 2011. Some things to keep in mind before we start:

1. Install the crm 2011 list component for sharepoint, if you want your documents in crm to look and feel like they belong in crm. Without it, sharepoint will show up like an iframe with url pointing to your document library.
2. You can have a single org point to multiple sharepoint sites. The corollary is true too: a single sharepoint site can be referenced by multiple orgs. This assumes the right user permissions.
3. You can enable document management for out of the box and custom entites.
4. A single entity (say account), can point to multiple folder locations in the same sharepoint site. For example, one location would have all the account invoices, another folder the account's orders, etc.

Here are the steps to do the integration:

Install sharepoint foundation 2010 on win 7

Finally, I was able to get Dynamics CRM 2011 play nice with Sharepoint Foundation (SF) 2010. I think the hiccup was due to me getting SF2010 installed on my windows 7 machine, rather than on a server.

This link has ALL the information you need to install SF on win 7.

Pay particular attention to the following:
1. Extract the files using cmd prompt, rather than use tools like winrar.
eg: c:\SharePointFiles\SharePoint /extract:c:\SharePointFiles
2. Edit the config file to allow installation from win 7 machine
3. In "Turn Windows Feature on or off", select the right values from the screenshot.

The above were the things I did not pay much attention to, and thus was scratching my head trying to figure out what happened. Hope you learn from my mistakes!

Once SF2010 is set up, it is pretty straightforward to hook it up with crm 2011. I will follow up with another post for that.