July 06, 2009

Tagging Microsoft Dynamics CRM Contacts

A Microsoft Dynamics CRM 4.0 user asked recently how to tag or categorize his CRM Contacts.  He wanted to have a list of tags such as golf, baseball, accounting, etc with which he could easily tag users and organize them based on category.  The categories will also be useful as classifications to use in building marketing lists.

This is pretty easy to do using basic Microsoft CRM customization.

1.  Create a custom entity called “Category.”  I set it as Organization owned, as no one will be owning a particular category.  Set the display area to “Settings.”  The form will contain just the name field—this is ok, that’s all we need.  Click Save and Close.

image

2.  Create another custom entity called “Contact Category.  Again, select Organization ownership rather than user owned.  Click the Primary Attribute tab, and set the primary attribute requirement level to “No Constraint.”  Click Save (not save and close).

image

3.  From the Contact Category entity customization, click N:1 Relationships. Select Contact as the Primary Entity.  Under Relationship Attribute enter “Contact” as the Display Name.  Under Navigation Pane Item for Primary Entity select “Use Custom Label” for Display Option and enter “Categories” as the Custom Label.  We do this because we want the navigation bar link from a contact record to say “Categories.”  Save and Close.

image

4.  From the Contact Category entity customization, click N:1 Relationships. Under Relationship Attribute enter “Category” as the Display Name.  Under Navigation Pane Item for Primary Entity select “Use Custom Label” for Display Option and enter “Contacts” as the Custom Label.  We do this because we want the navigation bar link from a Catogory record to say “Contacts.”  Save and Close.

image

5.  From the Contact Category entity customization, click Forms and Views and double click on the form customization link.  Remove the Name field from the form and add the Contact and Category fields created by the newly added relationships.  You will also want to be sure to modify the Contact Category associated view to display the contact and category fields.  Click Save and Close.

image

6.  Publish the Contact, Category, and Contact Category entities.  Refresh your browser.

7.  In Microsoft CRM, click Settings and select the “Categories” entity from the navigation bar.  By default it will appear on the bottom of the list.  You can change its position in the list—see Organizing Settings Navigation Bar for more details.  Add categories to the list by creating new Category records.  Use the Save and New button to efficiently add multiple categories.

image

8.  Now you will be able to easily tag your contacts.  From a Contact record, click the side navigation bar link for Categories and add a category to the contact.

image

image

9.  So say that John Smith has a new interest, Vegetable Gardening, which is not part of the list?  CRM 4.0 makes it easy to add values on the fly.  When you click “New Contact Category” from the John Smith record, when you click the lookup for Category, click the “New” button on the lookup form and define your new category.  This will add the category to the list and add the category to the John Smith record.

image

image

image

10.  So now that we have tagged our contacts, how do we find the contacts are tagged “Fishing?”

We can navigate to Settings—> Categories and open the record for the desired category.  By clicking the side navigation link for contacts, you will see a list of all contacts that are tagged with “Fishing.”

You could also do an advanced find to get all contacts where related category entity Category equals “Fishing.”

image

 

Changing Microsoft Dynamics CRM Numerical Formats

Let’s say you want to change the number format that Microsoft CRM uses.  Instead of showing 123,456, you would like to use a space instead of a comma, and make it 123 456.

In CRM, click Settings—> administration—> System Settings and go to the Formats tab.

image

From here, you can change the default format and customize the settings to change the delimiter.  However, after you make this change, you will notice that the numbers are still formatted the same way they were before you made the change.

The reason is that the System settings format options set the default format; however, the format is actually a user setting.  A change to the format in System Settings will affect any new users that are added, but it will not change any existing users format preferences.  This is actually a good thing, as users can have the number formatted as they like them, even if it is different from the organization default.

For existing users, you will need to go to the personal options, either by clicking Personalize Workplace in the web client or by clicking CRM—>Options in the Outlook client.  From the format tab you will be able to set the formatting options for the user.

Lesson Learned

It is important to set the desired number format prior to adding users, especially if it is different from the default for your region.  Otherwise, you will find yourself spending a lot of time making the change user by user.

Customer Effective Senior Consultant Scott Sewell Named Microsoft CRM MVP

Scott Sewell

Microsoft has named Customer Effective Senior Consultant Scott Sewell Most Valuable Professional (MVP) for his outstanding contributions to the Microsoft Dynamics CRM community.  Scott was recognized for his exceptional work in the Microsoft Dynamics CRM Forum, and other  contributions such as the CRM 4.0 Documentation Generator and work on the Extended Sales Forecasting Accelerator. 

The Microsoft MVP Award Program recognizes outstanding members of technical communities for their community participation and willingness to help others. Given annually to a select group of exceptional technical community leaders, the MVP Award celebrates the most active Microsoft community members from around the world who provide invaluable online and offline expertise that makes a difference in technical communities that feature Microsoft products.

There are a total of 33 Microsoft CRM MVPs worldwide.  Scott joins the Customer Effective MVP ranks, with Joel Lindstrom, CRM MVP, and Bill Ryan, Mobile Products MVP.

Congratulations, Scott, for your achievement

July 04, 2009

Where did my default start page settings go?

A user called me last week with a problem.  They were wanting to set the Microsoft Dynamics CRM web client to open to a Wunderbar area other than the default workplace.  In CRM, when you click “Personalize Workplace,” typically the first option is to set the default Wunderbar pane and tab.  So, for example, if you have a user who is a Marketing Manager, you can have Microsoft CRM 4.0 open directly to the Marketing area Campaign tab.

image

The user’s problem was that when they went to the CRM Personal Options, they did not have the option to set the default pane—the top option that they saw was to set the number of records shown per page.

It turns out that this user was running CRM for Outlook at the time. The Personal Options form is shared between CRM web client and CRM for Outlook.  The default pane option does not apply to CRM for Outlook, as the folders are managed through Outlook.

When a user is logged on to CRM for Outlook, if you go to the personal options form, the default start page option will be hidden, even if you launch it through the web client.

The answer is to log out of CRM for Outlook—right click on the Dynamics icon in the system tray by your Windows clock, and click “sign out.”  Now when you go to the Personal Options you will see the default start page options.

 

June 26, 2009

Customer Effective - 2009 Microsoft Dynamics Financial Services Partner of the Year

Customer Effective was named 2009 Microsoft Dynamics Financial Services Partner of the Year, chosen from a field of nearly 2,000 entrants worldwide. The award recognizes partners who have exhibited excellence in providing innovative and unique solutions based on Microsoft Dynamics to customers in the financial services industry. Customer Effective has demonstrated industry knowledge and expertise, as well as consistent, high-quality, predictable service to Microsoft Dynamics customers.

 

We are very pleased with Microsoft’s recognition of our success in delivering CRM solutions to the unique and demanding requirements of financial services companies,” said Scott Millwood, President of Customer Effective. “I’m really proud of everyone in our company for the hard work they have put into building our customer base and for building superb solutions in complex financial services vertical markets over the past six years. Its great for the team to see their hard work result in this prestigious award. I’m equally pleased with Microsoft’s continued guidance and support in helping us grow to become the recognized leader in financial services.” 

 

Customer Effective has completed over 300 projects with 170 customers and partners since the company was founded in 2003 to focus exclusively on Microsoft Dynamics CRM. The company’s customers include Bank of America, FBR Capital Markets, First Reserve, Markel Corporation, MAG Mutual Insurance Company, Taylor, Bean and Whitaker Mortgage Corporation, Valmark Securities and CapTrust Financial Advisors. Customer Effective’s success in financial services is based upon deep business process knowledge and delivery of Microsoft Dynamics CRM with “XRM” Accelerators specifically configured to address the sophisticated relational models and processes of  financial services micro-verticals.

 

“Microsoft is proud to recognize Customer Effective as the Microsoft Dynamics Financial Services Partner of the Year,” said David Smith, General Manager, U.S. Microsoft Dynamics Partners, Microsoft Corp. “Customer Effective’s innovative solutions based on Microsoft Dynamics CRM have helped their financial services customers achieve their business goals and succeed. Their Capital Effective CRM solution delivers business-class solutions to financial professionals across insurance, banking, and capital markets.”

Tip: Make Microsoft CRM Administration Easier by Organizing Settings Navigation Bar

In an XRM deployment, there are typically some entity links that you do not want to display in the main Wunderbar areas, such as administrative type entities or entities that function as master lists to feed lookups.  You can display these entities in the Settings area so admin users can access them, but they are out of the way of most users.

One problem that can arise in many XRM implementations that include many custom entities is what I refer to as “Settings Clutter.”  This is where you have 50 links in the Setting navigation bar, and it can become very unruly to find the link for which you are looking.

image

Part of the problem lies in the way that navigation bar items are added to Wunderbar areas.  In the CRM web interface, links are displayed in the order in which they were added.  If you use Microsoft Dynamics CRM for Outlook, this isn’t an issue, because Outlook displays folder alphabetically.

So unless you create your entities in alphabetical order, they will not be in alphabetical order.  This makes it very difficult to find a link when you need it.

Solution 1—remove from settings and re-add

1.  In CRM, navigate to settings—>customization—>customize entities

2.  Open the customization for the first entity displayed in settings

3.  Uncheck the “Settings” checkbox under “Areas that display this entity”

4. Save and Close the entity customization

5.  Repeat steps 2-4 for each entity currently displayed in settings

6.  Re-add each entity to settings, in alphabetical order

The result will be that all custom entities will be in alphabetical order in Settings.  This is good, but in my book, not good enough, because the standard subareas such as Administration, Business Management, Customization, Templates, etc will still be at the top of the list, so it is still not in alphabetical order

Solution 2—Sitemap Surgery

The layout of the CRM Wunderbar is controlled by the CRM Sitemap.  If you are not familiar with editing the CRM Sitemap, see Microsoft Dynamics CRM Sitemap Surgery Tips.

1.  Determine the alphabetical order of the links in Settings.  For this, I typically use Microsoft Excel and type in the names of the settings links and use Excel’s sorting functionality to arrange them in alphabetical order

2.  In CRM, navigate to settings—>customization—>Export Entities

3.  Export the sitemap and open it in your xml editor of choice.

4.  You will find the Settings area under

<Area Id="Settings" ResourceId="Area_Settings" Icon="/_imgs/settings_24x24.gif" DescriptionResourceId="Settings_Area_Description">

5.  by default, the system entities are under

        <Group Id="Settings">

and the custom entities are under

<Group Id="Extensions" ResourceId="Group_Extensions">

6.  Move the subarea lines under the Settings group line  If the Extensions group does not have any items in it, it will not display.  Do not delete the Extensions group.

7.  Referring to your alphabetical list of Entities, arrange the sitemap settings lines in alphabetical order.

8.  In CRM, navigate to settings—>customizations—>import customizations and import your alphabetical sitemap

image The result will be that everything in settings will be in alphabetical order, and it will be very easy for admin users to find what they are looking for.

This is a quick change that can make a major impact on user experience.

Along with adding icons to custom entities, this is one small change that can make the difference between a good CRM experience and a great CRM experience.

Technorati Tags: ,

June 18, 2009

Troubleshooting CRM Authentication on Windows Server 2008

Windows Server 2008 has been out for a little while now. Many of our installs are still on W2K3 boxes, but we’re starting to see more 2008 installations. I recently had the pleasure of having a very funky set of authentication issues in IIS 7. I decided to take a look at all my notes and compile a quick punchlist of items to run through when setting up (or troubleshooting) authentication for CRM on a 2008 server. This also is a good procedure for troubleshooting any Windows Authentication issue for IIS 7.

Continue reading "Troubleshooting CRM Authentication on Windows Server 2008" »

June 15, 2009

Microsoft Dynamics CRM 4.0 on Windows 7: 1 month review

I have been using the Windows 7 Release Client since it was released early May.  I intended to post a review, but didn’t want to do it until I had run it for several weeks.  With operating systems, I like to see not just how it works following a clean install, but also what the experience is like after a month or two of normal use. 

For background, I’m using a 2.5 year old Dell D820 laptop, previously running Windows Vista 32.  Installed Windows 7 64.

Installation:  I chose to do a fresh install, rather than upgrading my Windows Vista installation.  This is always a good idea, and it give you a good chance to “clean house” and get rid of all of the junk files you accumulate through normal use.

The installation is very fast—significantly quicker than previous versions of Windows.

After the install, everything was working, but the graphics looked strange.  Then a message popped up saying that a new NvIdia driver had been found.  After a reboot, all was well.

Performance:  Windows 7 feels much faster and lighter than Windows Vista.  I’m probably a medium to heavy-use PC user, and I typically have Outlook w/ CRM open along with multiple Office application, messenger, and multiple IE windows open.  With Vista, system memory usage was typically 1.8-1.9 GB.  With Windows 7, it averages 1.2-1.4 GB.

CRM Performance: CRM has performed beautifully with Windows 7.  It is very similar to the experience with Vista.  If anything, it is a bit quicker to load because of more available system resources in general.

CRM Usability: I also frequently find myself with multiple CRM windows open at the same time.  I’ve found that the Windows 7 full screen preview is a great usability enhancement for CRM.  This lets you hover your mouse over an icon in the Windows taskbar and preview open windows.  If you have multiple CRM records open, this allows you to very quickly browse through open records and select the one you want.

image

Issues:  I haven’t seen any major issues with running CRM 4.0 on Windows 7.  There are a couple of minor considerations I have found:

1.  Pop-up error when opening records in IE8.  This is not really a Windows 7, more of an IE 8 known issue.  I’m including it here, as with Windows 7, you have to run IE8.  The issue is that when you open a record from a view in CRM for Outlook, you get the following error message:

image

This has to do with protected mode.  Turning off protected mode, adding the CRM site to your intranet zone and then re-enabling protected mode fixed it for me.

2.  VPN.  I have found several VPN clients to not be compatible with CRM.  Not Microsoft’s fault, but something to be aware of, if your clients have users who need to use VPN to connect to CRM.  Solutions are to consider using IFD for these users, or use the integrated Windows XP mode virtual PC to run the VPN client.

Technorati Tags: ,

June 11, 2009

Side-by-Side IFRAMES

I was recently asked if it was possible to use a little bit of javascript to create two IFRAMES and have them be side-by-side on a form. Here’s what I came up with:

Continue reading "Side-by-Side IFRAMES" »

June 08, 2009

CRM Helper Class for Custom ISV ASPX Pages

Most of my development work these days consists of creating custom ASPX pages that reside within the ISV subfolder of CRM. Anyone who’s done more than a couple of CRM-related projects probably has found a need to create some sort of "helper” class to make all of that easy (ain’t that part of the point of object-oriented programming???). The CRM SDK does have some helper code included that does a little bit of work for you, but I find it to be lacking. At Customer Effective, we have an extensive library that we’ve built up over time (we call it our API) that really makes interacting with the CRM web service pretty easy and efficient. Separately, I’ve also compiled a more lightweight version that is really easy to implement. Most of the code in this class follows the sample code found within the SDK and is intended to be fully multi-tenant and IFD compliant.

Continue reading "CRM Helper Class for Custom ISV ASPX Pages" »

June 02, 2009

Client-side Web Service Calls for Microsoft Dynamics CRM 4.0: Parsing The Results

This is the final article on client-side web service calls for Microsoft Dynamics CRM. The previous articles I wrote focused on making javascript calls to the MetadataService and CrmService web services and setting up some generic functions for re-usability. With this article, I will be focusing on the xml responses of these service calls and how you can parse the results. The SDK has some examples of working with the response xml, but I’ve had to do some playing around to get exactly what I was looking for in some of my functions. As with most things involving programming, there are several different ways to parse xml in your javascript, but I’m going to focus on using techniques that have worked the best for me.

Continue reading "Client-side Web Service Calls for Microsoft Dynamics CRM 4.0: Parsing The Results" »

June 01, 2009

Troubleshooting the Microsoft Dynamics CRM Client for Outlook

Over at the CRM Team Blog, they’ve just posted a very nice article on troubleshooting issues with the CRM Client for Outlook. Having done my share of troubleshooting for CRM, this post is a big help in trying to make sense of what’s occurring with the CRM client. The article does mention (and I want to re-iterate) that before going too far down the troubleshooting path, you really should update to the latest Update Rollup (currently, Update Rollup 4).

One item in the article that I was glad to see was checking the locally Managed Passwords on the client machine. I’ve come across a few scenarios where the user has saved their password and when it changes, then CRM suddenly stops working. This can be a particularly tricky thing to track down on it’s own.

This article is definitely worth bookmarking for future reference – almost a “checklist” of items to run through when working on CRM client issue resolution. Cheers!

May 31, 2009

The CRM Roadshow Rolls On

Michael Elliott discusses SharePoint integration with Microsoft Dynamics CRM

The Customer Effective CRM Education Day event series kicked off on May 19th in Cincinnati, OH.  Customer Effective founders Scott Millwood and Michael Elliott and CRM MVP Joel Lindstrom lead a full day of sessions covering CRM, configuration, building a solution, Workflow, data migration, dashboards, portals and more. 

The roadshow continues on Tuesday, June 2nd at the Microsoft Atlanta office, 1125 Sanctuary Park, Suite 300, Alpharetta, GA 30004.  Events are also scheduled for 6/23 in Reston, VA and 7/21 in Malvern, PA.

The CRM Education Day is a great opportunity for someone who does not use Microsoft Dynamics CRM to learn more about it, or for somebody who has Microsoft CRM but wants to find out how to do more with it.

Agenda

8:00 am to 9:00 am

Welcome

9:00 am to 9:20 am

What is Microsoft Dynamics CRM?

9:20 am to 10:00 am

Microsoft Dynamics CRM 4.0 Product Overview

10:00 am to 10:20 am

Microsoft CRM Reporting and Business Intelligence

10:20 am to 10:30 am

Break

10:30 am to 11:30 am

Configuring and Extending Microsoft CRM

11:30 am to 12:00 pm

Building a Solution

12:00 pm to 1:00 pm

Lunch

1:00 pm to 1:20 pm

Microsoft CRM Workflow 101

1:20 pm to 1:50 pm

Data Migration and Integration

1:50 pm to 2:00 pm

Break

2:00 pm to 2:30 pm

Dashboards

2:30 pm to 3:00 pm

Portals

3:00 pm to 3:30 pm

Implementing a Solution

3:30 pm to 3:45 pm

Customer Effective Solution Lab Overview

3:45 pm to 4:00 pm

Q&A

To find more information on the CRM Education Day, or to register for one of the upcoming sessions, visit our events page at customereffective.com.

Including External Data In a Microsoft Dynamics CRM 4.0 Report

So you want to create a report that references data from another database.  Perhaps you want to correlate your CRM data with your ERP data to see how CRM activities are affecting your orders in financials.  Of course, you could do an integration and bring the ERP data into CRM.  However, integration can take a big investment of time and money, and a report can be an affordable alternative if you don’t need the data for other purposes.

Another reason for doing this is if you want to have reports reference a mirrored copy of your CRM database, so heavy reporting doesn’t impact CRM performance.

The Challenge

To understand the challenge of reporting from external databases from CRM, we need to discuss the way that CRM reports data sources work.  When you upload a SSRS report to CRM, the data source of the report is modified to point to the CRM environment to which the report is uploaded.  For example, if your datasource referenced in your SSRS report is Contoso_MSCRM and you upload the report to a different environment with database ACME_MSCRM, when you upload the report, the data source will be changed to ACME_MSCRM.\

This is typically a good thing, as it enables us to write a report for one environment and upload it to multiple other environments without having to modify the data source.  However, in this case, it creates some challenges.

Say I have a report where my Microsoft Dynamics GP database is the data source.  If I upload the report to CRM, it will change the data source to CRM, and the report will not work.

One option is to upload the report directly to the report server, bypassing CRM reporting.  When you upload the report directly to the report server, the report retains the original data source.  You can then make the report accessible to CRM users by creating a new report record and selecting “Link to Web Page” and adding the URL of your report on the report server as the “Web Page URL.”

This is not always a great option.  You lose certain CRM report functionality, like prefiltering, and users who don’t have access to the Report Server (such as users who access CRM via Internet Facing Deployment) will not be able to run the report.

The Solution

In this example, my crm database is called CRM_MSCRM, and I have a copy of my CRM database called Mirror_MSCRM

1.  Create SSRS report, selecting your production MSCRM database as the data source.  In this case I selected CRM_MSCRM as my data source

image

2. Write your query referencing the external database.  For example, in this case, I want to select my accounts from the mirrored database.  This is how I would write the query

SELECT     * FROM MIRROR_MSCRM.DBO.ACCOUNT

The result is that our report data source is our production database, but the query will return data from the external database.  This is a good start, but there is one more thing we will want to do.

3.  Join your query to the Filtered Views of your CRM database.  This will allow us to use prefiltering, and in the case of your mirrored database, this will prevent security issues, as users will only return records that they have a right to view.

SELECT     * FROM MIRROR_MSCRM.DBO.ACCOUNT inner join
FilteredAccount AS CRMAF_FIlteredAccount ON Mirror_MSCRM.DBO.Account.accountid=CRMAF_FilteredAccount.accountid

Now you can upload your report through CRM, use CRM prefiltering, reflect data from your external database, and your CRM data will be secure. 

One consideration is that the user that is running the report will need to have database read permissions on the external database to be able to read the report.  Also, if you are running the SRS Data Connector, you will need to give the NT AUTHORITY\NETWORK SERVICE read/select permissions on the external database.  After you do that, IFD users will be able to run the report.

May 29, 2009

Duplicate Matching Records during XML import

One of the nice benefits of CRM is that it is easy to move the system configuration from one environment to another.  This is done using the customization export and import functionality. However, sometimes errors occur during the import process.  Below is an error I received recently while doing an import.  The error is below:

"Failure: new_entityname_DuplicateMatchingRecord: A SQL Server error occurred. Try this action again. If the problem continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization's Microsoft Dynamics CRM Administrator. Finally, you can contact Microsoft Support."

 

The error would seem to indicate that the entity already exists in the target environment.  However, this is not the case.  This error occurs if you export an entity that has duplication detection set to off.  To resolve this issue perform the following:

-Turn duplicate detection on for the entity in the source environment

-Export the entity

-Import the xml file

-Turn duplicate detection off for the entity

-Publish

By turning duplicate detection on for the entity prior to exporting, the error will be resolved.

May 18, 2009

Lead or Languish: Why Microsoft Dynamics CRM Programs Require Top Management Leadership

Recently, I've been writing for MSDynamicsWorld.com.  This website discusses all things Dynamics.  There are news articles, best practice advice and general information about CRM as well as AX, GP, NAV and SL.  You can check out my latest column on the importance of Executive Leadership in a CRM Program right here -

Lead or Languish: Why Microsoft Dynamics CRM Programs Require Top Management Leadership

SQL 2005 components and Windows XP SP3

I recently was involved in a deployment where certain PC's would not install SQL 2005 components.  This included Business Intelligence Development Studio (BIDS) 2005, for users who needed to write custom reports, and SQL 2005 Express, for users of Microsoft Dynamics CRM for Outlook with offline access.

The one thing all of these PC's had in common was they were all Windows XP running Service Pack 3.

After removing service pack 3, we were able to successfully install SQL 2005. After that, we could reinstall XP SP3, and SQL would continue to work.

It appears that SP3 adds protection to the component MSXML 6, so it cannot be installed/updated/deleted.

For the offline client, you can also install SQL 2008 Express--this installs fine on XP SP3, and will work even if your CRM database is SQL 2005.  For more details, see Installing CRM for Outlook Offline with SQL 2008 Express.

 

CustomerEffective is a Microsoft Gold Certified Partner specializing in Customer Relationship Management (CRM) implementation, development and integration. We help organizations improve profitability through automation of sales, service and marketing processes.

Twitter Updates

    follow me on Twitter

    Search The Blog

    • Search the Blog
       

      WWW
      blog.customereffective.com
    Subscribe to this blog's feed

     Subscribe in a reader

    Add to Google Reader or Homepage

    Enter your email address:

    Delivered by FeedBurner