Skip to main content
Sign In
San Diego Computer & Network Consulting Experts 
Go Search
 
Home
Our Microsoft Expertise
Our Services
Microsoft Solutions Blog
About Gilham Consulting
Contact Us
Support Portal
  

 

z
Home > Gilham Consulting Microsoft Notepad > Categories
Introduction to Microsoft CRM/XRM for a .Net Developer

 

The purpose of this article is to give an introduction to XRM for .NET Developers and application architects. Most developers are familiar with various Microsoft technologies including the .NET Framework, Microsoft SQL Server, WPF, and ASP.NET. They are accustomed to designing their applications using Microsoft SQL Server for data storage and modeling their applications using relational database techniques. Modern developers are also familiar with object-to-relational mapping frameworks including Entity Framework and LINQ-to-SQL. Developers who like to live on the bleeding edge are also familiar with AJAX, Silverlight, ADO.NET Data Services, and .NET RIA Services. This article will introduce using Microsoft Dynamics CRM for the data storage tier of an application, paralleling it to basic concepts that are used in designing applications using SQL Server.

What is XRM?

There are a couple of different definitions for XRM. One is that the “x” stands for extended, as in extended relationship management. The other definition is that the “x” is a variable, and means “anything” relationship management, such as partner relationship management, constituent relationship management, employee relationship management, etc. Both of these definitions are referring to building any application on top of the Microsoft Dynamics CRM platform. Building an XRM application can take the form of customizing the existing customer relationship management applications that are included in Microsoft Dynamics CRM, or by designing completely new line-of-business applications that are not based on the sales, service, or marketing capabilities included in Microsoft Dynamics CRM. The common thread to all the definitions of XRM and methods of extending it is that your application will use the Microsoft Dynamics CRM as a platform, leveraging the capabilities of the platform to deliver business value to your users.

Why XRM?

There are a number of advantages to building an application on top of Microsoft Dynamics CRM instead of SQL Server. The most obvious advantage is that the Microsoft Dynamics CRM platform comes with a number of in-the-box entities and applications that are immediately usable. For example, Microsoft Dynamics CRM includes helpdesk (or case management), service scheduling, activity tracking, e-commerce, marketing campaigns, and sales-force-automation. These applications may or may not be a part of your XRM application design. Even if you don’t use these applications or Microsoft Dynamics CRM entities, there are a number of other features that the Microsoft Dynamics CRM can deliver for your custom XRM application. Microsoft Dynamics CRM includes the following features for any XRM application:

  1. Security. Microsoft Dynamics CRM has a strong security model baked into the platform. This includes a concept of ownership and sharing of records (record-level security), roles, business units, and a permission model that includes the concept of scope (that is, editing records owned by me, within my business unit, or throughout the entire organization).
  2. Workflow. Microsoft Dynamics CRM has a workflow model including an end-user interface that allows business users to manage workflows on any entity in Microsoft Dynamics CRM. This workflow model includes conditions, branching, and custom actions, including sending e-mails or creating additional Microsoft Dynamics CRM records. These workflows can be implemented by individual users to enable them to automate some of their own personal workflows or can be set to run across the entire organization to implement particular business logic or behaviors. The workflow engine can also be extended by developers, exposing custom workflow actions in the workflow designer.
  3. Reporting. Microsoft Dynamics CRM uses both Microsoft Office Excel and Reporting Services for reporting. It includes a reporting wizard that walks the user through creating useful reports on data stored in Microsoft Dynamics CRM. These reports can be relatively static, or even dynamic with drill-down capabilities. These reports are then available to be shared with other users in Microsoft Dynamics CRM.
  4. User Interface. When you customize Microsoft Dynamics CRM with your own custom entities for your XRM application, the Microsoft Dynamics CRM system will automatically generate a GUI for your users to interact with the data. Microsoft Dynamics CRM includes a primary console interface that can be customized for your XRM application. The user interfaces include lists with customizable views, find and advanced find, editors for all entities, lookup dialogs, multi-tabbed user interfaces, and more. Microsoft Dynamics CRM delivers these user interfaces with no programming required. User interfaces for related records are automatically generated simply by adding relationships between different entities. The user interfaces include all standard mechanisms for manipulating the data including full create/edit/delete operations, ownership assignment, and running of workflows. The user interfaces even allow for batch editing of records.
  5. Office Integration. Microsoft Dynamics CRM has a strong integration story for Microsoft Office. It includes an online and offline client that can be installed on a workstation. This brings the Microsoft Dynamics CRM user interface into Microsoft Office Outlook where users can interact with the Microsoft Dynamics CRM system directly within Outlook. The offline client allows for users to disconnect with the office network and still interact with Microsoft Dynamics CRM data while on the road, synching back up with Microsoft Dynamics CRM when they return to the office. The Microsoft Dynamics CRM client also enables data to be pulled directly into Microsoft Office Word and Microsoft Office Excel using active data binding. All data in Microsoft Dynamics CRM can easily be imported and exported with Excel.
  6. Data modeling. Microsoft Dynamics CRM allows for the creation of custom entities, which can have attributes, forms and views, and relationships with other entities. In addition to standard relationships, all custom entities can have activities and notes if desired. Activities allow for collaboration using standard Microsoft Dynamics CRM activity records such as tasks, e-mail, phone calls, appointments, and service scheduling. Notes allow for file uploads and other comments to be associated to custom entities.
  7. Web Services. Microsoft Dynamics CRM includes a number of Web services that can be used to interact with the Microsoft Dynamics CRM platform. These services are SOAP Web services and allow for open extensibility and use across any platform using any language that supports Web standards. It is also possible to use third-party tools such as ADXSTUDIO XRM SDK to implement modern data services such as RESTful services based on ADO.NET Data Services and .NET RIA Services with very little coding. This allows Microsoft Dynamics CRM data to be easily consumed in XRM Web applications using AJAX or Silverlight development.

Data Modeling

<snip>

Read the rest @> An Introduction to XRM for a .Net Developer

Microsoft Dynamics CRM Online Update Coming November 2009

Some key new features for Microsoft CRM Online for November:

  • Access to Microsoft Dynamics CRM Online through a range of mobile devices
  • In-page help and how-to guidance to provide an even richer experience for new users
  • The ability to add additional storage capacity to accommodate even larger customer databases
  • The introduction of a Home Page dashboard that gives improved visibility into data through embedded charts
  • A new release of Microsoft Dynamics CRM Online for Outlook with improved performance and usability
  • Enhanced data import capabilities through an updated import wizard experience

Read more @ Microsoft Dynamics CRM Online Resource Center

Microsoft Expands Dynamics CRM Capabilities in 5.0

 

Microsoft (NSDQ:MSFT) channel partners are about to get their first look at the next release of the vendor's Dynamics CRM application, a product that's targeted for release sometime in the second half of 2010.

"Dynamics CRM 5.0 is deep in development right now," said Brad Wilson, general manager of Microsoft Dynamics CRM, in an interview at Microsoft's Worldwide Partner Conference in New Orleans. He said some test versions of the application would be in partners' hands within about 90 days.

Dynamics CRM 5.0 will sport improvements in the user interface and data visualization features, enhanced sales and marketing capabilities, and tighter integration with Microsoft's SharePoint Server collaboration platform, according to Wilson, who declined to disclose details.

<snip>

Read the rest @> Microsoft Expands Dynamics CRM Capabilities, Partner Opportunities - Software - IT Channel News by CRN

Creating Custom Dashboards in Microsoft Dynamics CRM Online

 

Building Custom dashboards for Dynamics CRM Online is not as complex of an effort that it's reputation has gotten. It does require some developer skills and this blog will be a great launching pad for you to build your own.

Here's a screen shot of a dashboard I built using Visual Studio.net and a free MS chart control that I'm running in a external hosted site and serving up in my demo Microsoft Dynamics CRM Online org. The dashboard has 3 charts that show Open Leads by Owner, Estimated value of open opportunities in a funnel by owner and last, a funnel chart that shows the estimated value of opportunities by probability state.

CRMDashboard4

<snip>

 

Read the rest @> Microsoft Dynamics CRM Online Team Blog : CRM Online Custom Built Dashboards

Troubleshooting Microsoft Dynamics CRM Client for Outlook

 

This post will cover some of the common issues seen in support and the common resolutions to those issues. In this post we will focus on 3 main areas:

  • Client Configuration Issues
  • Login Issues
  • CRM Outlook Add-in Issues

Read the rest @> Microsoft Dynamics CRM Team Blog : Troubleshooting the Microsoft Dynamics CRM Client for Outlook

How To: Using the Microsoft Dynamics CRM Online Import Wizard

 

I regularly get requests for assistance with data migration challenges.  Data migrations are never easy due to the differences in data values and formats that exist between systems.  The easiest way to import data into Microsoft Dynamics CRM is using the Track in CRM capabilities available within the Outlook client.  But assuming your needs are to import a .csv file of leads (or other record type) the easiest method is to use the Import Wizard.  To ensure you experience a successful data migration I recommend the following tips:

Overview
  1. Put records for each record type in a separate file.
  2. Put records for different owners in a separate file.
  3. Ensure that the first line of the file contains column headers and that they match the CRM attribute display names EXACTLY if you would like the import wizard to automatically* map the data.  *Automatic mapping is required if you intend to import records that are related to another record (See #6).  I HIGHLY RECOMMEND USING AUTOMATIC MAPPING EVEN IF YOU DO NOT DESIRE RELATED RECORDS.
  4. Make sure the first column heading is not the name of a record type.
  5. Make sure data exists in your source file for all CRM required fields (denoted with a red asterisk on the CRM form).
  6. Make sure some data exists for each column.  If a column has no data delete the column.
  7. If your data should be related to another record (i.e. Adding Contacts to existing Accounts) make sure the column header matched the CRM lookup attribute display name.  If you have two different attributes in CRM with the same display name you will receive an error (EX. if you created a custom State picklist value to replace the text version and keep the display name the same "Address 1: State/Province").  Also make sure the company name values will match a corresponding account record (i.e. contacts with a Parent Customer value of Microsoft Corp. will not be added to the CRM Account Microsoft) and that there are no duplicate Accounts in the system as the import will not be able to resolve the proper Parent Customer.
  8. If you are importing into a drop-down list, ensure all the values exist within CRM and there are no typographic errors and consistent capitalization in the source file.
Step by Step Example
  1. I am going to import the following .csv file of Contacts into CRM while still maintaining the relationship to the proper Account record (denoted in Parent Customer).image
  2. My Account records are already loaded into CRM so my first step is to ensure the column headers EXACTLY match the CRM Contact records attribute display names.
  3. To ensure I get the display names EXACTLY correct I recommend you create a CRM contact view (using Advanced Find and editing the columns) with the exact same layout as the import file.image

<snip>

Read more @> Microsoft Dynamics CRM Team Blog : Using the Microsoft Dynamics CRM Online Import Wizard

Microsoft Dynamics CRM 4 Sales Process Workflow Enhancement

 

A sales process is a standardized series of activities that occur during a sales cycle.  As the sales cycle progresses and activities are completed, the probability of winning the deal gets greater.  In Microsoft CRM v 3.0 the sales process functionality was displayed graphically on the Opportunity form (as shown below) with the ability to skip stages in the Actions menu. 

image

As CRM activities are completed or canceled (configurable) the sales process would continue and update the opportunity sales stage and probability accordingly (configurable).  The "Sales Pipeline" report (as shown below) graphically displays all opportunities by sales stage.

image

In Microsoft Dynamics CRM v 4.0, Windows Workflow Foundation has been incorporated into the core product to provide robust automation capabilities.  This highly configurable workflow tool/engine has eliminated the need for the v 3.0 Sales Process functionality.  To reproduce the v 3.0 Sales Process functionality in CRM v 4.0 you need to perform the following tasks:

  1. Add the Pipeline Phase (schema name: stepname) field to the Opportunity form and publish the customizations
  2. Create a new workflow called Sales Process
    • Entity: Opportunity
    • Start when: Record is created (possibly On demand if you will need to run it against existing opportunity data)
    • Insert a Stage
      • Update Record: Opportunity (manually set the Pipeline Phase and Probability)
      • Create Record: Add an activity such as a Discovery Phone Call
      • Wait Condition: Wait until the previous activity is completed or canceled
    • Continue to build the remaining stages of your sales process
  3. Publish the Sales Process workflow

The following screenshot provides an overview of how the sales process can be implemented in Microsoft Dynamics CRM v 4.0.  This is a very simple, three stage sales process where the pipeline phase is set and the probability is incremented from 20 to 40 to 95% as activities are completed or canceled.

image

Click here to download this sales process example.   Now that you see how easy it is to configure an automated sales process that dynamically updates your opportunity, think about what else you can do...

- Eric Boocock

Read the complete article @> Microsoft Dynamics CRM Online Team Blog : Microsoft Dynamics CRM Sales Process

Web Application (Sales Lead) Import to CRM Online

 

I'm following up on an earlier posting on using the CRM Web Services to push data from your web site to the CRM Online application. In the previous post, I explained how to use the authentication, MSIDCRL.dll, to authenticate to the CRM Online.

This is the documented method in the SDK and works fine from a client machine but I had difficulty getting it to work in a web server environment. I had a few others email me with similar issues. After some asking around, I discovered this component is supported only on the client side. I assume this to mean that it might or might no work in a server environment ( running IIS ). It worked ok for me from Visual Studio.

After a bit of digging around, I got aid from sample code from one of our developers. I was able to get the authentication to CRM Online to work in a web application hosted on a shared environment with an external hosting company. yeah !!! So keep checking back for more demo code. I'll keep throwing stuff up.

To do the authentication, the code uses a soap call to WS-Trust web service to get ticket for WLID user (http://msdn2.microsoft.com/en-us/library/bb447721.aspx).

The steps are the same as the SDK documents with one exception of getting the Windows Live ID ticket.

1. Retrieve a policy from the CRM Online Discovery Web Service
2. Retrieve a Windows Live ID Ticket
3. Retrieve a CRM Online ticket using the Windows Live Ticket
4. Create and configure the CRM Online Service
5. Invoke the desired call.

*Big thanks to Andreas for passing the sample soap call.

I've posted my sample code on my Sky Drive. 

<snip>

Read the rest @> Microsoft Dynamics CRM Online Team Blog : Web Lead Import to CRM Online

Microsoft Dynamics CRM Online (Microsoft Hosted)Authentication SDK

 

Power users and vendors are always excited about SDKs to their favorite applications. The ability to build solutions on top of powerful interfaces can go a long way towards extending the capabilities of a product. CRM’s SDK is proof of that; but when it is applied in a CRM Online situation, the challenges inherent to cloud computing mean the technical hurdles are higher.

Authentication is the primary culprit. To authenticate to the CRM Online system you need to obtain a Windows Live ID (WLID) ticket, and the only way to do that has been to dance to IdCrl’s tune (there are actually ways to bypass IdCrl, but they are unsupported.) IdCrl is only intended to be used when there’s ‘a warm body at the keyboard’ to enter credentials, so service accounts (who are often more useful when it comes to taking advantage of SDKs) weren’t invited to the party. On-premises and partner-hosted deployments have been able to simply let Active Directory handle all aspects of authentication, which has no such limitations.

Fortunately, recent functionality additions to Windows Live ID allow CRM Online to reach parity with its counterparts. SDK consumers will now be able to use certificates to obtain WLID tickets. This opens up a wide range of possibilities that can expand CRM’s functionality with web services and third-party solutions. The CRM Online team recognized that once service accounts were able to do business in CRM Online, impersonation would need to be supported. So that’s an area where complementary improvements were made.

The main obstacles remaining are the expense of obtaining a certificate, and, for impersonation scenarios – the fact that it’s fairly involved to manage Windows Live identities for the amateur developer. You’ll need to register your app with Windows Live and make use of their Relying Party Suite (RPS) libraries. This allows, for example, the ability to obtain the unique id (aka puid or Net Id) of a user browsing your site when they’ve signed in with their WLID account. You’ll need that unique id, among other authorization prerequisites, if you want to impersonate that user in CRM.

<snip>

Read more @> Microsoft Dynamics CRM Team Blog : New Authentication Tools to Help Vendors Target CRM Online SDK

Microsoft Dynamics CRM 4 Customization Integrates With SharePoint, SkyDrive, OWA, and other Microsoft Online Services

image

I found a great snippet of code on how to modify Microsoft Dynamics CRM to support third party URLs.  However, I did have some errors with the code Jon provided on my version of hosted Microsoft Dynamics CRM Online (the hosted version).  Using his great template, I have modified this simple customization to include Office Live Workspaces, Skydrive, & Microsoft Hosted OWA/Sharepoint.

<Area Id="Document_Area" Icon="/_imgs/resourcecenter_24x24.gif">
  <Titles>
     <Title LCID="1033" Title="Documents and Email"/>
  </Titles>
  <Group Id="Document_Group">
     <SubArea Id="Document_SubArea1" Url="http://workspace.office.live.com" AvailableOffline="false" Icon="/_imgs/workplace_24x24.gif" Client="All" >
    <Titles>
      <Title LCID="1033" Title="Workspace Documents"/>
    </Titles>
     </SubArea>
     <SubArea Id="Document_SubArea2" Url=http://skydrive.live.com/browse.aspx AvailableOffline="false" Icon="http://skydrive.live.com/favicon.ico" Client="All">
    <Titles>
      <Title LCID="1033" Title="Skydrive Documents"/>
    </Titles>
     </SubArea>
     <SubArea Id="Document_SubArea3" Url="https://red001.mail.microsoftonline.com" AvailableOffline="false" Icon="http://www.microsoft.com/favicon.ico" Client="All">
     <Titles>
      <Title LCID="1033" Title="Microsoft Outlook Web Access"/>
    </Titles>
     </SubArea>
     <SubArea Id="Document_SubArea4" Url="https://home.microsoftonline.com/Home/Home.aspx" AvailableOffline="false" Icon="http://www.microsoft.com/favicon.ico" Client="All">
     <Titles>
      <Title LCID="1033" Title="Microsoft Online Services"/>
    </Titles>
     </SubArea>
  </Group>
</Area>

You can also check out a video showing the document integration at 
http://www.democrmonline.com/DocumentManagement/

Read More @> Microsoft Dynamics CRM Online Team Blog : Integration of Document Management Services with Dynamics CRM Online

1 - 10 Next

 Subscribe and Bookmark

 About John

John Gilham is the veteran Microsoft solutions consultant located in San Diego, CA.

Gilham Consulting customer's utilize his small firm for Microsoft technology integration including:

  • IT infrastructure design (Hyper-V, AD, DNS, automated platform deployments)
  • Microsoft security solutions (PKI, NAP, 802.1x, Forefront)
  • Unified Messaging & VOIP (Exchange 2007 & OCS 2007 R2)
  • System Center Management Solutions (SCDPM, SCVMM, SCCM, and SCOM)
  • IT and Data Center Operations
  • IT project management

They choose Gilham Consulting due to their proven track record in delivering Microsoft centric solutions.  John's customers’ have ranged in size from Fortune 100 companies, non-profits, and well funded startups all across North America.

He believes that Microsoft products, when managed and architected properly, allow the best platform for organizations to automate and track their business processes to serve their customers more effectively.

This blog is a collection of the better references we've stumbled across on Microsoft focused best practices relevant to our current or future projects.

Please enjoy, correct, and contribute!

 Related Posts

Category
Introduction to Microsoft CRM/XRM for a .Net Developer
11/21/2009 9:21 PM
Dynamics CRM
 
Microsoft Dynamics CRM Online Update Coming November 2009
10/7/2009 7:13 PM
Dynamics CRM
 
Microsoft Expands Dynamics CRM Capabilities in 5.0
7/16/2009 11:47 PM
Dynamics CRM
 
Creating Custom Dashboards in Microsoft Dynamics CRM Online
6/6/2009 5:34 PM
Dynamics CRM
 
Troubleshooting Microsoft Dynamics CRM Client for Outlook
5/31/2009 9:47 AM
Dynamics CRM
 
How To: Using the Microsoft Dynamics CRM Online Import Wizard
4/20/2009 1:32 AM
Dynamics CRM
 
Microsoft Dynamics CRM 4 Sales Process Workflow Enhancement
4/10/2009 11:46 PM
Dynamics CRM
 
Web Application (Sales Lead) Import to CRM Online
4/10/2009 11:44 PM
Dynamics CRM
 
Microsoft Dynamics CRM Online (Microsoft Hosted)Authentication SDK
4/2/2009 4:34 AM
Dynamics CRM
 
Microsoft Dynamics CRM 4 Customization Integrates With SharePoint, SkyDrive, OWA, and other Microsoft Online Services
3/9/2009 10:24 AM
Dynamics CRM
 
Microsoft Dynamics CRM Support or Sales E-mail to Case/Lead Using Workflow
3/2/2009 8:55 PM
Dynamics CRM
 
Rolling Out Microsoft CRM Products: Planning Who Should Take Ownership
11/24/2008 11:48 PM
Dynamics CRM
 
New Features in Microsoft Dynamics CRM 5
11/11/2008 9:47 PM
Dynamics CRM
 


Contact Us  |   San Diego, California

Copyright 2007-2009 Gilham Consulting - All rights reserved