Welcome to MSDN Blogs Sign in | Join | Help

Using Data Pre-Filtering in Microsoft Dynamics CRM Reports

Have you been looking for a way to retrieve and view query results faster?  Pre-filter the data!

Data pre-filtering in Microsoft Dynamics CRM reports lets you retrieve and display result sets quickly, makes reports context-sensitive, and allows reports to be filtered using the Advanced Find feature. Data pre-filtering complements data filtering supported by Microsoft SQL Server Reporting Services, which limits the data returned by reports.  There are two ways that you can enable data pre-filtering:

  • Automatic Pre-Filtering:  Automatic data pre-filtering, which is suited for simple queries, can be enabled by aliasing entity tables in the queries. The alias name should begin with "CRMAF_". When you enable automatic data pre-filtering using the "CRMAF_" prefix, Microsoft Dynamics CRM modifies the query to include a parameter (for example, P1), and then passes a query to the P1 parameter depending on how the report is being filtered. In other words, automatic data pre-filtering acts as a sub-query within an existing query.
  • Explicit Pre-Filtering: For complex queries such as queries using UNION statements, you might need to use explicit pre-filtering. Unlike in automatic pre-filtering, Microsoft Dynamics CRM does not rewrite the report query by passing values to the parameters during explicit pre-filtering when a report is uploaded to Microsoft Dynamics CRM. You have to explicitly make the required changes by adding the pre-filtering parameter to the report, and then reference the parameter in the query. You can then execute the query using dynamic SQL.

For detailed information about enabling data pre-filtering on reports, including query examples and the limitations of using automatic data pre-filtering with complex queries, see Using Filters in a Report .

Cheers,

Inna Agranov



Installing Microsoft Dynamics CRM 4.0 on Small Business Server 2008

This is commonly asked question in the MSDN forums so the CRM Support Team decided to create a post that could become the defacto FAQ.

Here are a few things to keep in mind when installing Microsoft Dynamics CRM 4.0 on Microsoft Small Business Server 2008.

  • Install the Windows Server 2008 Indexing Service Role
    • If you do not install Indexing Service Role you will see the following error during the installation.
  • Exception_Access_Violation

clip_image001

1. Click Start - Click Administrative Tools - Click Server Manager

2. Expand Roles

3. Right click the Files Services Role and choose add Role Services

clip_image002

4. Check the Indexing Service Role and then finish the wizard.

clip_image003

5. Start the Installation of Microsoft Dynamics CRM 4.0 and the Indexing Service required component should not be listed anymore.

  • Install Microsoft SQL Server 2008 Standard or Enterprise

Note: SBS 2008 installs SQL Express for monitoring, but that cannot be used to store the CRM 4.0 databases. You can install Microsoft SQL Server 2008 on the Small Business Server or on an additional server.

  • If you try to install Microsoft Dynamics CRM 4.0 and use the SQL Express install on SBS you will see this Error in the EDW.

clip_image004

  • If you install Microsoft SQL Server 2008 on the SBS 2008 Server and use the default configuration for SQL Server Reporting Services it sets SSL to be required.
    • If this is the case then you will need to use https when you enter the SRS server url during the installation of the Dynamics CRM 4.0 Server.
  • The second option would be to configure SRS to not require SSL. You can update the rsreportserver.config file to set the secureconnectionlevel = 0

1. Go to C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLServer\Reporting Services\ReportServer

2. Open the rsreportserver.config file in notepad

3. Update the secureconnectionlevel = 0

  • Once Microsoft Dynamics CRM 4.0 is installed you will need to install the Microsoft Dynamics CRM Connector for SQL Server Reporting Services to run reports.
    • If the Data Connector is not installed you will see this Error when running reports

Execution 'xxxxxxxxx' cannot be found.

clip_image006

Installing the Data Connector

1. During the install of the data connector make sure to click the check for updates. http://support.microsoft.com/kb/950100

2. After the Data connector install you may need to give permissions to the SQL Service Account on the MSCRM_Config database if you are seeing the following error when running reports within CRM.

Reporting Error: The report cannot be displayed

clip_image008

If you check the SRS logs or run the report in SRS you will see the permission error “Cannot open database “MSCRM_Config” requested by login. The login failed.”

clip_image010

3. After adding the permissions in SQL make sure to restart the SQL Server Reporting Services service.

4. Run an IISReset

a. Click Start, Click Run and type in IISReset

b. If you have UAC enabled and you are not logged in as the admin.
Click Start, click All Programs, click Accessories and right click command prompt and choose Run as administrator

c. Type in IISReset and hit enter.

Hope this helps you get Microsoft Dynamics CRM 4.0 installed successfully on Small Business Server 2008.


Thanks,

Microsoft Dynamics CRM Support Team



Automating Task Notification

CRM MVP Mitch Milam returns as our guest blogger today a tip based on workflows. You can read more from Mitch at his blog.

If you have ever assigned a task to someone and wondered when or if they completed it, this workflow process may help. This workflow is based the Task activity, but you can perform the same process on other activities as well. The workflow will execute when the record’s status changes. Here is a quick picture of how it is configured.

clip_image002

Our first check is to see if the Task was closed with either a Completed or Canceled status. If so, then we check the owner. Is it the same person who created it? If not, then we will send an email to the creator of the Task, using the following email:

clip_image004

When published, the workflow will generate an email that looks like this:

clip_image006

Cheers,

Mitch Milam

Posted by crmblog | 1 Comments
Filed under: , ,

Supported file types in Data Import Wizard for Microsoft Dynamics CRM Online

The Microsoft Dynamics CRM Online November 2009 Service Update encapsulates many new cool features and improvements. One of such features is the much-much improved Import Data Wizard.

The new Import Data wizard no longer restricts user to import one data file at a time. You can do Import of multiple files containing record types that are related to one another in single Import session. Such as accounts with related contacts, import of notes and attachments along with their associated records in different files, etc.

Apart from this, the new Import Data wizard also supports different formats of input source data file:

1. XML Spreadsheet 2003 (.xml) – The data file can be in Microsoft Excel format stored as an XML file. You can open the XML spreadsheets with Microsoft Excel.

You can also download the pre-created XML Spreadsheet 2003 templates for any record type of Microsoft CRM for doing easy Import with auto mapping. More details on this will be coming in shortly in a separate blog post. So stay tuned!

2. Comma-separated values (.csv) – This is Comma-delimited format file. You can have different field (comma, colon, semicolon, tab) and data delimiters (quotation, single quotation) in this kind of source file.

3. Text (.txt) – This is delimited text format with columns separated by commas, tabs, semicolons, or other characters.

4. Compressed files (.zip) –If you want to Import multiple files in one Import session, you can .zip them together. A .zip file can include files of .csv, .xml, or .txt file types. All files in a single compressed file must be of the same file type.

The .zip file must confirm to one of these folder structure:

  • .zip file having the files and optional attachment folder directly in it:-
    • Attachments (Folder)
    • <File1>
    • <File2>
    • <File3>
  • .zip having a folder which in turn is having the files and optional attachments folder in it:-
    • <Folder1>
      • Attachments (Folder)
      • <File1>
      • <File2>
      • <File3>

Note: By default, the maximum size of the files you can import is 8 megabytes (MB). This means:

  • Any .csv, .txt, or .xml file must not exceed 8 MB.
  • Any individual file inside the .zip file must not exceed 8 MB and the total size of the .zip file, including the Attachment folder, must not exceed 32 MB.

You can choose any of the above file formats and give it as an input to the Import Data wizard. The delimited .txt, .csv, or XML Spreadsheet 2003 format files can be easily created by using Microsoft Office Excel:

1. If your file uses only ASCII characters, save the file as a comma-delimited values (.csv) file:

  • In Excel, click Save As, and select CSV (Comma delimited (*.csv).

2. If your file uses non-ASCII characters, save the file as a Unicode or UTF-8 text (.txt) file:

  • In Excel, click Save As, and select Unicode text (*.txt).

Cheers,

Nitin Mukhija



Microsoft Dynamics CRM Resource Center

The Microsoft Dynamics CRM Resource Center has had a makeover. It’s been completely redesigned to:

  • Move the things users look for the most (downloads, support, and training) front and center.
  • Highlight the different types of resources available in a way that’s easier to see.
  • Reduce clicks.
  • Be more visually appealing.
  • Add the new Dynamics Connect gadget. (The gadget displays support and training content to Microsoft Dynamics CRM Online users.)

image 

We completed the work for the English sites and will have the sites for the other languages rolled out in the coming months. We’d love to hear what you think of the Resource Center and the changes.

Cheers,

Renee Wesberry



CWR Mobility and Microsoft Dynamics CRM on the Zune HD

imageJohn O’Donnell, one of my fav Microsoft technical evangelists, is at it again with his traveling camera. Today he talks with Erik van Hoof from http://www.CWRMobility.com who stopped by at the CRMUG Summit to show John his company’s Microsoft Dynamics CRM product called CWR Mobile CRM running on his new Zune HD. Here’s the video.

It’s interesting to see how a Zune HD can be used for business applications as well as consumer applications. Most of us have a Zune and this opens new ways of getting to our CRM platform and apps. The last time I talked to Erik (2008 at WPC) I got so excited about improvements in the Mobile hardware and technology that I went out to buy a phone like his.

imagio I’m now using an HTC Verizon Imagio with the WinMo (Windows Mobile) 6.5 platform and everything just works. You can beat the drop from Microsoft Outlook of over 200 contacts in seconds. And the calendar just works both from work using Outlook and home using Windows Live.

The battery life is a little better too. I’m not sure how the OS helped there because the battery is the same kind I’ve been using for a while now. But I’m happy with the extended battery life.

Cheers,

JaAG



Posted by crmblog | 0 Comments
Filed under: , , ,

Microsoft Dynamics CRM SDK 4.0.10 is available

Version 4.0.10 of the Microsoft Dynamics CRM SDK is now live on MSDN and on the download center.

This release contains updates relevant to Microsoft Dynamics CRM 4.0 Update Rollup 7 and Microsoft Dynamics CRM Online Service Update 4.

Check out some of the new and updated topics you’ll find in this release. View the Release History for the complete list:

Kudos to the SDK team for all their hard work on this update!

Amy Langlois



Microsoft Dynamics CRM Online Delivers the November 2009 Service Update

HomePage With the November 2009 Service Update, we are offering even more value in a Microsoft Dynamics CRM Online subscription. Take a look at all the increased business benefits that the Service Update provides:

Get Instant Online Access: Start a free trial of Microsoft Dynamics CRM Online in less than five minutes. Because sample data is loaded automatically with every trial, you can start modeling real-world scenarios immediately—and you can add or remove sample data at any time.

Increase User Adoption: Help reduce the learning curve and speed user adoption with a familiar Outlook interface. Installation and setup for this option is simple, so users can launch Microsoft Dynamics CRM Online for Outlook at sign-up.

Get Started Faster: The new Get Started Panes put context-based tools, tips, and guidance in your users’ hands. Located at the top of each view, these panes contain links to articles, videos, and helpful wizards to walk users through common tasks. Users may choose to hide or show individual panes—and the system will remember their preferences.

Start Working with Your Data: Administrators who manage customer data in other systems can easily import that data into Microsoft Dynamics CRM Online with the Data Import Wizard. Now, the step-by-step wizard allows you to import multiple files, save your import as a template for future use, and create new attributes and entities on the fly.

Track Your Outlook Data: The Microsoft Dynamics CRM Online November 2009 Service Update makes it easy for users to import their Outlook contacts in bulk. The Add Contacts Wizard helps you to quickly identify contacts to import by grouping them by company name, e-mail address, or user-defined categories. Users also have the option to import related e-mail messages and appointments.

Stay Connected: In addition to connecting through a web browser or the Outlook client, users can now access Microsoft Dynamics CRM Online through their mobile phone. Mobile Express is hosted in Microsoft Datacenters and is included with your subscription, at no additional cost.

Gain Valuable Insights: Take advantage of the new Home Page dashboard to start your day with an overview of your daily tasks and the business metrics that are important to you. Choose from more than 30 charts to help you visualize the health of your business. Administrators can also create custom charts for users.

Get More For Less: Gain more value from Microsoft Dynamics CRM Online, with a low subscription price of only $44 (U.S.) per user, per month. Each organization’s subscription includes:

  • 5 GB of storage space
  • 200 custom workflows
  • 200 custom entities
  • Offline capabilities
  • Mobile Express

Additional storage can be purchased in increments of 1 GB for just $9.99 per month per organization.

To learn more about the November 2009 Service Update, please visit our website at  http://crm.dynamics.com

Cheers,

Stephanie Dart



Introducing the ‘Import Data Wizard’ in Microsoft Dynamics CRM Online Service Update for Nov 2009

Import data into Microsoft Dynamics CRM Online using new Import Data Wizard

Microsoft has released Microsoft Dynamics CRM Online Service Update: Nov 2009. To assist organizations with importing data into Microsoft Dynamics CRM, a new enhanced Import Data Wizard is available amongst other new features and enhancements in this update. This wizard is functionally more powerful than the old import data wizard.

The wizard supports multiple file formats including Comma delimited CSV, XML Spreadsheet 2003 and zip, creation of custom record types and fields, import of notes and attachments record types, user creation and owner resolution, complex transformation mappings, pick-list values creation, lookup type field creation and many more such capabilities; Additionally, it provides two Out Of Box Salesforce maps for importing Salesforce data. We will try to cover all new Import Data Wizard enhancements of R4 update in a series of blogs. This is the first blog in the series and aims at familiarizing you with the new Import Data Wizard.

As they say, the best way of learning something is by doing it so I am going to walk you through an import of a simple file named MyAccounts.csv. It has following contents:

Name, Account Number, Company

Raymond Largos, 1456, Global Media

Van Kintop, 16785, HCL Technologies

Step 1: Launch the Import wizard from Tools->Import Data or from the Help Visor as shown below. You can also launch it from the Import grid (Workplace->Imports->New)

image

Step 2: Choose MyAccounts.csv file on the Upload Data File screen by clicking the Browse button as shown and click Next.

image

On clicking Next, you will see a Review File Upload Summary screen which shows all the uploaded files and their sizes. It also has a Delimiters View Settings link. Clicking this link opens delimiter section which allows you to change field and data delimiters as shown below. Since our file is comma delimited, we do not have to change these values here and we will move to the next screen by clicking Next.

image

Step3: Next is Select Data Map screen where you have following two options:

1. Map Automatically –This option allows you to proceed without a data map and system will try to automatically map source data based on the name of your files and name of fields in source files. If the name of a file/field exactly matches with the display name of some record type/field in MSCRM, then that particular file/field will get automatically mapped. Any remaining unmapped files/fields can be manually mapped in the wizard flow. Moreover, you can save these mappings for future use as described in step 6.

2. Use an existing data map – You can use this option when a data map which have mappings for your source data is already present in MSCRM. There are following two types of data maps:

i) System Maps: There are two Out Of Box maps present in MSCRM to help you import your Salesforce data. There will be separate blog posts coming shortly on how to use these data maps to import Salesforce data into MSCRM.

ii) Customized Maps: All data maps on which you have read privilege will be present in this section. These maps are created when you save a data map during the last step (refer to step 6) of an import, or by directly importing data map xml in MSCRM.

Since we are doing a first time Import & we don’t have any existing custom map for our file, we will select the option “Map Automatically” as shown and click Next.

image

Step 4: Next screen is Map Record Types which allows you to map the source file to a MSCRM record type. It also allows you to customize MSCRM and create a new record type for a given data file. You can also choose to ignore a file from here.

Since our source file contains Account information, we will select Account record type from the dropdown. After all the source files are mapped, we can proceed by clicking Next button.

clip_image010

Step 5: Next is Map Fields screen which allows you to map fields in the data files to MSCRM fields. You can choose to map the source field to an existing field or create a custom field for mapping against a source field. You can also choose to ignore a particular source field.

For each record type, this screen displays two sections- Required and Optional Fields. The Required Fields are mandatory fields in MSCRM and while some of them might take default values in MSCRM, it is advisable to map the mandatory fields with user data fields.

For MyAccounts.csv file, Account Number gets mapped by the automatic mapping logic. A warning icon is displayed against the 2 leftover unmapped fields namely Name and Company.

We’ll select Name from the dropdown against Account Name for mapping it to Account Name.

For the Company field since there is no existing field, we would create a custom field in MSCRM to map it. For this, we’ll select Create New Field from the dropdown against Company. Since this field contains the text data, we will create a Text type field in MSCRM. You can also change field display name and field type if required.

image

Next button gets enabled once all the source fields get mapped. Clicking Next will take you to the Review Mapping Summary screen. This screen displays a summary of the mapping of source files. If you want to review the mappings done, you can click the Edit button to go back to Map Record Types screen.

image

Click Next to proceed.

Step 6: The next screen Review Settings and Import Data allows you to review/change the settings which will be used during import and submit the import. Various settings are as follows:

image

1. Allow Duplicates: You can choose whether to allow duplicates during import or not. Duplicate records are identified based upon the published duplicate rules in the MSCRM System.

For more details about how duplicate detection works, you can refer to http://blogs.msdn.com/crm/archive/2008/01/21/duplicate-detection-while-creating-updating-records-in-titan.aspx.

2. Select Owner for Imported Records: This is a lookup where you can select any user to be the owner of the records being imported if the records do not have owner information, or if the records cannot be assigned as expected.

3. Data Map Name: You can optionally choose to save the map if you wish to use it for future imports. I have given it the name –AccountMap.

Guess what? You just need to click Submit for submitting your import!

image

This is the last screen after your Import has been submitted. Click Imports to navigate to the Import grid and see the status of your import.

image

In case of multiple files, you will see one import job per file. Wait for import to complete and open the import form.

image

And here are the accounts that have been imported successfully! We’ll keep you posted on more complex import scenarios that can be handled by Import Data Wizard in the Nov 2009 Service Update.

Cheers,

Khushboo Pandey



Microsoft Dynamics CRM Implementation Guide (4.5.0) Available

image

I’m pleased to announce that the fifth update to the Microsoft Dynamics CRM 4.0 Implementation Guide (4.5.0) is now available!

In our commitment to provide continuous publishing to our customers and partners, Microsoft Dynamics CRM 4.0 Implementation Guide update 4.5.0 contains the following:

  • Over 25 corrections and revisions.
  • Revised content to cover the improvements in Microsoft Dynamics CRM Update Rollup 7.

To verify that you’re viewing the latest version, open any of the guide document files, chm file, or TechNet or MSDN nodes, and then on the first page of the document the revision number is displayed. Again, the most current release is 4.5.0.

Special thanks to Maureen our editor for getting this published on TechNet and to Greg a technical writer on our team who (again) worked unwaveringly see this update through completion.

Matt Peart



Channel 9: End of week overview of Dynamics Communities event

imageToday we are highlighting another of John O’Donnell’s video logs. You might remember his very popular video from last year called Microsoft Dynamics CRM 4.0 : Security with John O'Donnell.

During the week of September 14th the Dynamic Communities team ran a successful event in Illinois focusing on Dynamics CRM, Dynamics GP, Dynamics AX and Dynamics NAV. I met with two of the organizers to get their feedback at the end of the week. Here’s the Channel 9 video.

If you work with a Microsoft Dynamics product and are not part of a user group consider joining a group at http://www.dynamiccommunities.com/

The opportunity to network with your Microsoft Dynamics peers is one not to be missed.

Enjoy the show!

John O'Donnell



Posted by crmblog | 2 Comments

Using SQL Server 2008 to Improve Report Resources Management

Today’s guest blog is submitted by CRM MVP Jim Steger of Sonoma Partners.

We’ve all had it happen; someone runs a very resource intensive report during the day which slows down the performance of CRM for all the users. This now can happen more frequently with the addition of the Dynamics CRM 4.0 Report Wizard. What if there were a way to be able to manage the server to limit the amount of system resources that are allowed for generating reports? You’re in luck! Now, a new feature in Microsoft SQL Server 2008, allows you to create Resource Pools to manage the maximum amount of resources (CPU utilization and memory utilization) to be used by given processes that you define.

In this example, we’re going to create a Resource Pool that limits any queries being issued from our Reporting Services server to a maximum of 20% CPU utilization and 40% memory utilization. Also, we’ll only enable this feature during business hours (so during the evening, reports can get full system resources).

1. Enable Resource Governor on SQL Server 2008

In SSMS, expand the Management tab and right-click Resource Governor and select Enable.


2. Create a Resource Classifier function.

This function is what does all the assigning of processes to Resource Pools. Below is an example function:

use master
go
create function dbo.ResourceClassifier()
returns sysname with schemabinding
begin
declare @retval varchar(32);
if suser_sname() = 'DEV\ANAKOTA$' and
datepart(hour, getdate()) >= 6 and
datepart(hour, getdate()) < 19
set @retval = 'reports'
else
set @retval = 'default';
return @retval;
end
go
alter resource governor with (classifier_function = dbo.ResourceClassifier) 
go
alter resource governor reconfigure 
go
This is just a regular SQL Server function and the return values must be one of Workload Groups you created earlier. In this example, we check for the user name of “DEV\ANAKOTA$” (the user that Reporting Services uses to logon to the SQL Server in our example). Next we check the current time, if it’s within business hours (6am – 6:69pm), then we allocate this query to the “reports” Resource Pool, thereby making sure it won’t overload the SQL Server. Any other query is then sent to the “default” Resource Pool.

NOTE: Be sure to change 'DEV\ANAKOTA$' in the above script to use the appropriate user name for the reporting services accessing SQL. To determine the user name to compare, I ran SQL Profiler, ran a report from CRM, and captured what user was issuing the query from Reporting Services. There are also other system functions you can use, see http://technet.microsoft.com/en-us/library/bb933865.aspx for more detailed information on writing a classifier function.

3. Create and configure Resource Pool.

Right-click on Resource Governor again and select New Resource Pool… 

In the Classifier function name dropdown list, ensure that selection is your newly created function [dbo].[ResourceClassifer].

Then, in the resulting Resource Governor Properties window, create a new resource with the name of “reports”. Then enter the maximum CPU% and Memory% (in my example I set the values to 20 and 40 respectively).

Select the newly created “reports” Resource Pool that was created above. In the Workload Group for this resource pool grid, enter “reports” for the name of the Workload Group. The final result should look similar to the screen below. Click OK when you’re done.

Keep in mind that by limiting the resources available to a report, you are going to slow down the execution of those reports. Be aware of any SLA’s or other business needs before implementing this solution. Users may have specific business needs at certain times of the day or week to generate reports as quickly as possible. If you need faster performance time on reporting without affecting the transactional database, consider moving the reporting database to a separate SQL Server.

Using the new Resource Governor in SQL Server 2008 can be a quick and easy way to ensure that report processing won’t capture the majority of resources on your transactional SQL Server database.

Cheers,

Jim Steger and Sonoma colleague and author, Rob Jasinski



Updated Microsoft Dynamics CRM Dev Center

Check out the new look of the Microsoft Dynamics CRM Developer Center. There is new information on just about every tab, pointers to accelerators, whitepapers, and other downloads. Also, take a few minutes to read the latest technical article: Plug-ins, Part 2: Development and Deployment.

The Home tab highlights new articles, kits, and other developer-centric resources.

image

The Community tab has been tweaked to be your one-stop resource for all things in the CRM Community:

image

Kudos to Maureen Carmichael for refreshing our pages and to Peter Hecke for the new article.

Cheers,

Amy Langlois



Provisioning ‘unique names’ changes in Microsoft Dynamics CRM

The Microsoft Dynamics CRM Online November 2009 Service Update will change how we provision unique names. If ISV code makes a certain incorrect assumption about how to talk to CRM Online organizations, it will break for some orgs.  Also, customers setting up an email router will have a minor change to the way they acquire the configuration information they need.

What’s in a name?

As it turns out, for CRM, quite a bit:  So much that any given organization of CRM Online actually has three names.  What are they?

  1. clip_image002Friendly name.  This is the name you see in the upper right corner of the web application, and it’s a name you (or your CRM administrator) gave when you signed up for CRM Online.  In my screenshot, the friendly name is “Product Team Demo Org 1”.  It’s basically for cosmetic purposes: to reassure you that you’ve logged into your instance of CRM Online.
  2.  clip_image004URL name.  This is part of the address where you access the web application.  For the same organization that I showed above, the URL is quite different: it’s “crm1”.  The URL is functional in the sense that it’s how you find your organization over the Internet, but internally in CRM, it’s mostly unused.
  3. Unique name.  This is a name that you’re probably only familiar with if you are a CRM ISV developer.  This is a name used internally by CRM Online and some of our partner systems within Microsoft to refer to a specific organization.  Developers should treat it as an opaque string which carries no inherent meaning.  As I write this blog entry, you can’t see your org’s unique name directly – but there’s a catch which I’ll get to in the section “So what’s changed? below”.

Without drilling too much into why we have the org unique name (it’s a combination of CRM history, design negotiations with partner teams, and other factors that aren’t particularly interesting), let’s talk about where it’s used.

Using unique name in development

If you’re not a CRM ISV developer, pretend for a moment that you are.  You’re writing a client application which connects to a CRM organization and manipulates some data there.  In the multi-tenant CRM world, a particular Windows Live ID may belong to multiple subscriptions, so you use a web service called Discovery to discover which orgs the Live ID belongs to and where to access them.  You also acquire permission to access those orgs from the Discovery service.  The whole flow is documented in the CRM SDK, but I’ll summarize here:

  1. Connect to Discovery, get “Passport policy”
  2. Connect to Windows Live ID, passing in the “Passport policy”, in exchange for a WLID ticket
  3. Connect to Discovery again, passing in the WLID ticket, to get a list of orgs the WLID belongs to
  4. Select which org you want to connect to (perhaps by asking the user)
  5. Ask Discovery for a CRM ticket to a particular org and the URL at which to access that org
  6. Finally, connect to that org’s CrmService or MetadataService, passing in the CRM ticket for authentication

clip_image006Unique name matters only in step 5.  The response you get from the Discovery service consists of an array of OrganizationDetail objects.  OrganizationDetail includes properties containing all three names I’ve discussed, plus a few other items (see screenshot).  The Discovery service will then expect you pass a RetrieveCrmTicketRequest object whose OrganizationName property matches OrganizationDetail.OrganizationName of the org you want.  The ticket you receive in return will properly route you to the CRM instance you requested.

Your head may be spinning at this point, but have no fear.  I’m done talking about code and we’ll go back to abstract concepts in the next section.

One other place you might need your unique name is if you set up the email router.  In the past, you could just grab your URL name (https://<thispart>.crm.dynamics.com) to plug into the email router configuration manager because of the “catch” I’ve promised to explain below.  Once the November 2009 Service Update ships, that will not be reliable.

So what’s changed?

Because of provisioning changes in the November 2009 Service Update, or “R4” as we called it during development, we updated our strategy for generating unique names.  Prior to this release, we would re-use the URL name as the unique name.  That made a lot of sense – it was already a short, unique string and we had it at just the right time (org unique name is used early in the provisioning logic for CRM Online).  However, this had a downside: for both internal and external developers of CRM Online, unique name and URL name could accidentally be treated as identical.  Nothing would break, and you might not even suspect you were doing anything wrong.  For external (ISV) developers in particular, the temptation would be strong: it would avoid one of the exchanges with the Discovery service.  Instead, you could just ask the user up front for their org URL, then pass that as the unique name.

(So here’s the catch I referred to above: you CAN currently see your unique name, because you know about the quirk that it’ll exactly match your URL name.  For ISVs, it was a shortcut, but for the e-mail router, this was the expected way to get that information.)

Fast-forward to the development of this release.  With our refactored provisioning code, we don’t have a URL name at the moment where we need a unique name.  Instead we generate one internally.  Going forward, it’s almost certain that URL and unique names will not match.  We will not change any existing unique names as they are also meant to be static.  Since they’re just opaque strings, it doesn’t really matter that some unique names were generated under the old regime and others under the new.  However, if your ISV code makes any assumptions about URL and unique name matching, it’ll break once R4 hits.

Let me repeat that in case you skim blog articles for bold words:

clip_image008If your code assumes that a customer’s URL matches his org’s unique name, that code will break for orgs provisioned after the November 2009 Service Update arrives.

Early in development, we actually broke some of our internal partner teams’ code with this change as well.  Our internal dependencies on the unique name are much deeper than ISV code dependencies, so it’s not surprising that there were several touch points.  Since CRM Online ISVs can’t avoid talking to the Discovery service in order to get a CRM ticket, I’m optimistic that very little code will need to be rewritten to accommodate this change.  If you “do the right thing” and enumerate orgs on the Discovery service, you have nothing to worry about.

But what about the email router?

clip_image010If you’re configuring an email router, you still need the unique name.  But I stated in the beginning that it’s not visible in the app, and I pointed out that you can’t just use the URL anymore.  So how will you get your unique name?

One option, of course, is to write a little SDK app that asks the Discovery service to enumerate your orgs.  Then you can pluck out the right field from the OrganizationDetail  object.  That feels like overkill, and it’s not very friendly to non-developers, either.

A better option is for CRM to surface this information right in the app.  We didn’t have a great place to put it since we’ve never had to surface internal details like this before.  The team decided that the “least weird” place to put this information is on the WSDL download page.  To get there, navigate to Settings > Customization > Download Web Service Description Files.  The page should really be renamed “Developer Information” or something like that, but we didn’t make that change in this release.  If you’re using an organization which hasn’t yet been upgraded to R4, you won’t have this entry on that page.

We’ve updated the email router configuration docs to reflect this new way of getting the appropriate setting.  All orgs, once they’re on R4 bits, will have their correct unique name reflected on the WSDL page, whether they existed before or after the R4 release.

Recap

There are three kinds of names used by CRM, each independent of the others.  Prior to R4, the URL and unique names happened to be the same, although this behavior was not guaranteed.  With R4 (the November 2009 Service Update), the names will in fact be unique.  Examples shown in the table below.
 

Prior to R4

Post-R4

Friendly Name

Contoso Enterprises, Inc.

Blue Yonder Airlines

URL Name

contoso

blueyonderairlines

Unique Name

contoso

org12345

Thanks,

Matt Cooper



Update Rollup 7 for Microsoft Dynamics CRM 4.0

The Microsoft Dynamics CRM Sustained Engineering team will release Microsoft Dynamics CRM 4.0 Update Rollup 7 on Thursday, October 22, 2009.

Once the release is available the links below will take you to the necessary information about Update Rollup 7.

General Details about Update Rollup 7

  • Update Rollup 7 is cumulative. You do not need to install any previous Update Rollups prior to Update Rollup 7
  • The Update Rollup 7 download contains updates for the 40 supported Language Packs. Prior to installing the Update Rollup 7 Language pack you must install the original Language pack. If you have Language Packs installed, you should
    1. Download the Update Rollup 7 Language Pack
    2. Install the Update Rollup 7 Language Pack
    3. De-provision the Language Pack
    4. Re-provision the Language Pack
  • Update Rollup 7 adds support for Windows 7, Windows Server 2008 R2 and SQL Server 2008 R2
  • Information about how to avoid reboots when installing the CRM Outlook Client can be found in the Update Rollup 4 blog posting. If the Client is being installed via AutoUpdate a reboot will be required because the AutoUpdate code is being updated in Update Rollup 7.
  • The Update Rollup 7 Client can be deployed before the server is upgraded to Update Rollup 7
  • The Update Rollup 7 Client cannot be uninstalled because of schema changes made to the offline database. All other Update Rollup 7 components (Server, Language Pack, SRS, Exchange Router, etc) can be uninstalled.
  • The Update Rollup 7 Client package will be a prerequisite for all future Client Update Rollups. Starting with Update Rollup 8 the client updates will block installation if the Update Rollup 7 Client is not found.
  • The Update Rollup 7 Client has new prerequisites
    • An internet connection is required for successful Client installation
    • Client update installation will take longer than previous URs, so please be patient
  • Steps to make the Update Rollup 7 Client available via AutoUpdate can be found in the Update Rollup 4 blog posting. Once published the Link and Patch IDs can be found in kb article 971782.

Microsoft Dynamics CRM Data Migration Manager

The Data Migration Manager Update Rollup 7 package will not ship on October 22, 2009 with the other CRM components. That package is expected to be added to the Update Rollup 7 download page during the week of October 26.

Microsoft Dynamics CRM E-mail Router

Exchange 2010 support is currently scheduled for Update Rollup 8.

Microsoft Dynamics CRM Mobile Express

Update Rollup 7 enables Mobile Express for the 24 additional CRM base languages.  The new Mobile Express supported base languages are German (Germany),French (France),Spanish (International),Italian (Italy),Dutch, Danish, Finnish, Chinese PRC, Chinese Hong Kong, Japanese, Swedish, Russian, Portuguese (Brazil),Portuguese (Portugal),Turkish, Czech, Hungarian, Polish, Chinese Taiwan, Norwegian, Greek, Korean, Arabic and  Hebrew.

Also, this new Mobile Express release offers client-side user interface rendering into any of the 39 Language Packs available for Dynamics CRM. In addition to the languages above, extra Language Packs are available for Basque, Catalan, Croatian, Estonian, Galician, Hindi, Latvian, Lithuanian, Romanian, Serbian (Latin), Slovenian, Slovak, Thai and Ukrainian.

Please see the Getting Started: CRM Mobile Express blog for more information about CRM Mobile Express.

Microsoft Dynamics CRM Client for Microsoft Outlook

The following is a list of improvements made to the CRM Client in Update Rollup 7.

Computer performance

  • Reduced sign-in time. This is especially significant for users who have a large amount of offline Microsoft Dynamics CRM data. In earlier releases, Microsoft Dynamics CRM stored many files in the roaming profile, such as metadata, logs, traces, and the offline database. To reduce sign-in time, these files are now located in a local data folder.
  • Improved overall performance. In earlier releases, the hoster process and offline database continued to run, even while the computer was in online mode. This could decrease performance and reduce battery life. These processes now run only in offline mode. The desktop client no longer requires the hoster process.

Outlook performance and synchronization

  • Microsoft Dynamics CRM for Outlook now loads in the background. This enables users to read e-mail messages before Microsoft Dynamics CRM for Outlook is fully loaded.
  • E-mail tagging now runs in the background. This improves Outlook performance, especially for users who have a large number of tracked e-mail messages in their inbox.
  • CRM Address Book Provider (ABP) run-time storage of in-memory ABP XML has been moved to a Microsoft SQL Server CE in-memory representation. This helps manage CRM address book data more efficiently.
  • State management logic has been improved. This enables Microsoft Dynamics CRM to handle network, authentication, sleep, and hibernation transitions more efficiently without requiring users to restart Outlook for each transition. Microsoft Dynamics CRM Laptop Client now automatically transitions to offline mode when a remote Microsoft Dynamics CRM Server cannot be contacted (as long as user has gone offline at least once in past). It automatically switches back to online mode when the connection is restored.
  • Outlook synchronization now runs in the background and has significant performance improvements in terms of numbers of records synchronized per minute.
  • Microsoft Dynamics CRM for Outlook now supports Outlook delegates.  If an Outlook user is a delegate for another Outlook user, the delegate can mark items for tracking in the primary user's inbox. The Exchange Server stores the tracking information until the primary user starts Outlook. At that time, Microsoft Dynamics CRM verifies the data and then synchronizes with Outlook.
  • Manually synchronizing with Microsoft Dynamics CRM produces item-level failure details. The synchronization code now handles row-level failures in a way that does not cause the entire synchronization process to fail. Also, the synchronization progress dialog box now displays the list of specific record-level failures.
  • The synchronization process is now optimized to help prevent synchronization failures from damaging the offline database.
  • The synchronization process has been improved to ensure that changes made to CRM tracked records inside Outlook are propagated to CRM server even when CRM addin is not active (e.g. – via OWA or when addin is in disabled state).

Setup and configuration

  • Background Intelligence Transfer Service (BITS) has been implemented to improve component download performance.
  • Configuration Wizard now starts automatically when the user restarts Outlook after Microsoft Dynamics CRM for Outlook is installed. An ability to auto-configure CRM for Outlook has been added via use of config.xml file.
  • The number of Configuration Wizard screens has been reduced and the overall configuration process is simpler.
  • After Update Rollup 7 is installed, updates will no longer require the user to have Administrator privileges on the client computer.
  • A download button has been added for CRM Outlook client in application web UI to help users discover the right client for their deployment type. Additional flexibility has been enabled for organizations to modify the download package in a manner that enables them to package CRM configuration information specific to their organization (Please refer to KB 2004601 that will be published shortly)
  • Silent unattended installations of CRM via SMS has been enabled by adding support for MIF files and removing the need for end users to be logged into the machine during laptop client deployment.

How to get support for Update Rollup 7

To get support please contact Microsoft Product Support. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site: http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS

Note: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Cheers,

Matt Brown



More Posts Next page »
 
Page view tracker