Tuesday, August 26, 2008

CRM Accelerators – Part IV – Enterprise Search Accelerator

Reuben Krippner Published Tuesday, August 26, 2008 8:13 AM

Last week we introduced the Event Management Accelerator which is part of the CRM Accelerators for Microsoft Dynamics CRM customers and partners to be released in the next few months, each week we will unveil more details of each accelerator. In this article we feature the Enterprise Search Accelerator.

Enterprise Search Accelerator – Due to be released in Q3 2008

The enterprise search accelerator allows Microsoft Office SharePoint Server (MOSS) customers to view and search for Microsoft Dynamics CRM data directly from their SharePoint portals.

By combining these two technologies users from different areas of the business will be able to:

  • View and edit any Microsoft Dynamics CRM data such as accounts, contacts, opportunities, sales orders, invoices, service cases and any custom entity data through SharePoint. The Microsoft Dynamics CRM security model is preserved and enforced so that users can only view or edit CRM information that their security role allows.
  • Launch a SharePoint search which can return documents, emails, web content and Microsoft Dynamics CRM data.

The enterprise search accelerator provides one enterprise portal that users can search and view important customer information and documents from several sources within the organization.

Additionally, the technology, Business Data Catalog (BDC), and techniques used with this accelerator can be employed to surface data from other line of business applications to further enrich the SharePoint portal.

The BDC makes it easy for people to connect to, find, and act on information stored in structured line-of-business systems (such as Microsoft Dynamics CRM) by using a declarative framework to securely integrate them into search results.

With the BDC customers and partners can configure actionable audience-specific portals, dashboards and mash-up interfaces for this data without writing any code.

The following image is taken from the beta version of the Enterprise Search Accelerator:

image

Kind regards,

Reuben Krippner

Friday, August 22, 2008

The Dynamics Duo… Dynamics Super Heroes?

Ben Riga and Girish Raja Published Monday, August 18, 2008 7:59 AM

Girish Raja and I (Ben Riga) just finished up a few videos for Channel 9 to show off the superhumansuper-developer… line-of-business platform power you get when you build your solution on Dynamics CRM.  There are 5 videos we put together to help developers and ISVs better understand the vision for how Dynamics CRM fits in with the rest of the Microsoft Platform stack.

In this series, which we’ve dubbed The Dynamics Duo, we talk about:

These are a great way to get an overview into each of these technologies and how they PDCBling1can help you with development of your own solution.  If you’re ready to dive into more details there are a number of resources for that:

  • We’ve built a Dynamics CRM ramp up kit to get developers started with CRM development.  That’s available on MSDN here.
  • Girish who helped with much of the development work has been blogging about some of the details of these videos (including source code).  You can follow his blog here.

And finally as I mentioned above Dynamics CRM is a part of the Microsoft stack and the best place to get early information about the future of that stack is at PDC.  Shh.  I can’t say any more. I’ve already said too much. :)  More info and registration here.

Cheers,

Ben Riga and Girish Raja

Microsoft Dynamics CRM On-Premise and On-Demand: What’s the Difference?

Stephanie Dart Published Friday, August 15, 2008 8:41 AM

As part of Microsoft’s CRM strategy to deliver the “Power of Choice” to customers and partners, we offer Microsoft Dynamics CRM in a variety of subscription or ownership models:

  • On-premise: Customers purchase the licenses and run the application on their own servers.
  • On-demand: Customers subscribe to the software service on a per user per month basis:
    • Partner-hosted: Microsoft partners host the application in their facilities on behalf of customers, and provide customer service and support.
    • Microsoft-hosted: Microsoft Dynamics CRM Online is hosted in Microsoft corporate datacenters, delivered to customers over the Internet.

With all the deployment choices offered, people often ask about the differences between them. Let me start with the similarities:

  • All are based on the Microsoft Dynamics CRM 4.0 code base, making it easy for customers to migrate across on-demand and on-premise deployments.
  • The core functionality of Microsoft Dynamics CRM is the same regardless of how it is deployed, offering a full-suite of Sales, Marketing and Service functionality - as well as workflow automation and customization capabilities.

Where the deployment options differ is in the level of customization available and authentication mechanisms used. The table below shows a comparison between the on-premise, partner hosted and CRM Online solutions:

 

On-Premise

Partner Hosted

CRM Online

Authentication Method

Active Directory

Active Directory

Windows Live ID

Authentication Interface

Integrated Active Directory / Forms based

Forms based

Windows Live ID

Custom Entities

Yes

Yes

Yes (100/200)*

Custom Workflow

Yes

Yes

Yes (100/200)*

Form Scripting & Events (Jscript)

Yes

Yes

Yes

Custom Reports Built with Ad-hoc Wizard

Yes

Yes

Yes

Dynamic Export to Excel

Yes

Yes

Yes

* The number of customer entities and workflows depends on the product edition

Since the capabilities are essentially the same across all deployment models, the decision to go on-premise or on-demand should be driven by criteria such as budget, existing IT infrastructure and resources. For more information on the offerings available visit http://www.crmchoice.com.

Cheers,

Stephanie Dart

Offline Documentation.

Microsoft has released a document describing in detail what happens when you go Offline and back Online. Click here to download it.

Making Sense of Server Roles

Matt Parks Published Wednesday, August 20, 2008 10:15 AM

Our Guest Star series continues with Matt Parks, one of our first CRM MVPs and a key figure in the CRM community.

One of the many things that was introduced with Dynamics CRM 4.0 is the concept of server roles.  Available only with the Enterprise license of Dynamics CRM, server roles provide quite a bit of flexibility is controlling what components of the solution run on each server in a multiple server deployment.  However, with flexibility comes confusion.

With Dynamics CRM 3.0, the choice was quite simple when you had a multi-server deployment, there wasn’t one.  You installed the app on the first server and chose to create your new databases.  Then, on the other servers, you installed the same bits as on the first server, but you just pointed to the existing database.  No decisions needed, but every server ended up doing the same types of processing.  If you had a lot of workflow running on your system, the same servers that handled your end-user requests via the web pages also handled the workflow engine.  As a result, user response times could be impacted when there was a heavy workload being handled by the workflow service. 

Now, there are more options than most people need to care about.  In my role, I interact with our various project teams working on systems that will support anywhere from a few hundred users to systems that will support several thousand users.  A large number of our implementations have multiple servers more for redundancy and failover than they do for performance.  In fact, if it weren’t for the need for failover, many of these would have a single server with CRM installed on it.  They can exist just fine with the “all on one” installation and don’t need the extra complexity of worrying about the server roles.  As user counts grow and increased complexities of the deployment come into play, splitting out the server roles onto separate hardware begins to make sense.

Available Roles

The following table lists the various server roles that are available with Dynamics CRM 4.0.  The table also lists the Role Name used in the installation XML configuration file to choose the indicated role:

Role

Config Role Name

Description

SRS Data Connector

SrsDataConnector

Run reports.

SQL Server

SqlServer

Installs the components required on the SQL Server where the Microsoft Dynamics CRM databases are maintained.

Application Server

Appserver

Runs the Web application server used by the end users.

Asynchronous Processing Service

Async

Process queued asynchronous events such as workflow, asynchronous plugins, bulk e-mail or data import.

Deployment Service

DeploymentService

Provides the web service end points for the Deployment Service SDK APIs.

Discovery Service

DiscoveryService

Provides the web service end points for the Discovery Service.

Help Server

HelpServer

Provides the Dynamics CRM Help.

SDK Server

SDKServer

Provides the web service end points for the core SDK APIs.

The roles listed above can only be individually selected by doing a command line install and leveraging the <Roles> node.  You may have noticed that the standard Application and Platform roles that you can select during the installation wizard are not listed.  There is a reason for that.  Those are not really roles, but are really role “groups”. 

When you choose these groups, you are actually installing several of the roles from the above table.  This capability makes installing easier for most situations by installing the core roles needed for the 2 most common server deployments.  The following table lists which roles are installed when you choose these groups:

In general, these groups will serve the needs of most deployments that want to separate processing.  The Platform Server group will be able to handle the tasks that operate in the “background”.  Things like workflow, asynchronous plug-ins and bulk jobs.  This separates out this “batch” processing from the Application Server machines allowing them to focus their power on servicing the end user requests.

One thing to notice is that the SDK Server is installed with both groups.  This means that any server that has one of these groups installed can service standard SDK calls for the implementation.  So, even though a Platform Server exists, web pages that have been developed that use the SDK APIs can be services on the same machine as the rest of the web requests.  This minimizes web traffic across the servers and can be important when it comes to evaluating performance.

When would I split out the roles?

So, if many solutions can rely on a basic deployment, why would you want to separate the roles?  There are definitely a few situations that come to mind where splitting out the various roles can make sense.  Some of them that come to mind are listed here:

1) A deployment that is supporting several CRM Organizations leveraging the multi-tenant capability of Dynamics CRM 4.0.  Focusing the different server roles on dedicated hardware can provide some better options for managing capacity within the data center and provides some better options for scaling out the infrastructure as the need arises.

2) You have a solution that includes a lot of integration with other systems that make heavy use of the CRM SDK calls.  In this scenario, you might choose to install the SDK Server role on the integration server (or even a server hosting another application that makes CRM SDK calls).  With this approach, the SDK calls can be made to the local SDK web service end point, eliminating a network hop to the CRM server.

3) Your solution includes heavy “batch” processing that would be handled by the Async server.  When you have a high amount of processing that is being handled by the async service, and that service runs on the same machine as the web application, there will be competition for server resources between the web application and the async service.  This can result in slower response times as the web application fights for resources.  Moving the async processing to separate hardware allows the web server to focus its resources on servicing end user requests.

Summary

So, there are more options now than we had with Dynamics CRM 3.0.  That can be both bad and good.  I like the options that I now have for our larger clients.  Especially those that have several internal deployments of CRM that leverage the multi-tenancy capabilities that CRM 4.0 provide us.  But, as I’ve mentioned above, it’s just as important to make sure that you are using server roles for the right reasons and not just because they are there. 

One really nice thing about the way they have put all this together is that it is easy to start small and add later.  If you aren’t sure you need to split out the server roles, then don’t.  Start with all your servers running all the roles.  Then, over time, monitor the servers and determine if you need to split out the Platform Server Group from the Application Server Group (the most common next step).  You can easily reconfigure your deployment to account for this later without incurring any downtime, all it takes is a little planning.  You can also add additional servers to the deployment later as you decide to scale out the various components.

So, do your planning, but don’t get overwhelmed by the options.  Remember, keep it simple in the beginning and add the complexity later if it’s needed.

Matt Parks

CRM Accelerators – Part III – Event Management Accelerator

Reuben Krippner Published Tuesday, August 19, 2008 10:09 AM

Last week we introduced the eService Accelerator which is part of the CRM Accelerators for Microsoft Dynamics CRM customers and partners to be released in the next few months, each week we will unveil more details of each accelerator. In this article we feature the Event Management Accelerator.

Event Management Accelerator – Due to be released in Q3 2008

The event management accelerator gives companies the ability to easily manage the planning, execution, tracking and reporting requirements for events. The event management accelerator focuses on three areas of event management, namely:

  • Event Planning - logistics around an event such as:
    • Booking the venue
    • Presenters
    • Catering
    • Presentation content preparation
  • Event Attendance - all aspects around managing the attendees such as:
    • Inviting the target audience via phone, fax, letter and email
    • Managing registrations via phone, letter, fax, email and web
    • Tracking all people who actually attended the event
  • Event Review – Microsoft Dynamics CRM reports that measure the effectiveness of the event:
    • How many people attended the event?
    • What was the revenue impact of the event?

A core component of the event management accelerator will be a web application that customers and partners can deploy to allow Web registration for their events and track these registrations in Microsoft Dynamics CRM.

The web application will also provide location mapping integration using Microsoft Live Maps!

The following image is taken from the beta version of the Event Management Accelerator:

accIII

Kind regards,

Reuben Krippner

CRM Accelerators – Part I – Analytics Accelerator

Reuben Krippner Published Tuesday, August 05, 2008 10:08 AM

Last week we introduced the CRM Accelerators program for Microsoft Dynamics CRM customers and partners, each week we will unveil more details of each accelerator. In this article we feature the Analytics Accelerator.
Analytics Accelerator – Due to be released in Q3 2008

Many customers and partners will be familiar with Analytics Foundation for Microsoft Dynamics CRM 3.0 which was a business intelligence feature pack for Microsoft Dynamics CRM 3.0. Analytics Foundation for Dynamics CRM 3.0 included Dashboards, Key Performance Indicators (KPI’s) and a suite of new reports. Analytics Accelerator for Microsoft Dynamics CRM 4.0 expands on this, and is designed to support a range of business intelligence “maturity” levels for customers and partners. The Analytics accelerator has been built to cater for differing business intelligence skill-sets and experience levels. Elements of the accelerator include:

  • Sales, service and operations dashboards delivered with Microsoft SQL Server® Reporting Services (SSRS).
  • Sales, service and operations dashboards and scorecards delivered with Microsoft PerformancePoint® Server.
  • Additional reports delivered with SSRS.
  • Two Online Analytical Processing (OLAP) cubes which are designed to allow customers to conduct in-depth analysis and key performance indicator (KPI) monitoring based on Microsoft Dynamics CRM 4.0 data. Customers can consume these cubes through Microsoft Excel®, Microsoft SharePoint® technologies and Microsoft PerformancePoint Server. The first OLAP cube is designed for simple setup and consumption, the second cube is more detailed and requires a more advanced knowledge of analytics and OLAP technologies within Microsoft SQL Server.
  • Predictive analytics to provide statistical guidance in areas such as lead and sales opportunity management. There are several sample applications which ship as part of the accelerator that showcase how customers can leverage predictive analytics directly within the Microsoft Dynamics CRM 4.0 user interface.
  • The analytics accelerator will work with SQL Server 2005 with some components enhanced to take advantage of SQL Server 2008.

The Analytics accelerator will be free of charge for Microsoft Dynamics CRM 4.0 customers and partners.

The following images are taken from the beta version of the Analytics Accelerator (NB: these may change between now and the release of Analytics Accelerator)

clip_image002

Beta version of the Analytics Accelerator landing page in Microsoft Dynamics CRM 4.0

clip_image004

Beta sample sales dashboard for Microsoft Dynamics CRM 4.0

Kind regards,

Reuben Krippner

CRM Accelerators – Part II – eService Accelerator

Reuben Krippner Published Tuesday, August 12, 2008 9:18 AM

Last week we introduced the Analytics Accelerator which is part of the CRM Accelerators for Microsoft Dynamics CRM customers and partners to be released in the next few months, each week we will unveil more details of each accelerator. In this article we feature the eService Accelerator.
eService Accelerator – Due to be released in Q3 2008

The eService accelerator provides businesses the ability to deliver self-service capabilities to their customers while tracking and managing these interactions in Microsoft Dynamics CRM.

Customer Service is generally considered a cost center where cost-savings and productivity are the top priorities for most businesses. This stands in stark contrast to marketing and sales which is usually viewed as a profit center where revenue generation is the focus. People that manage call centers or customer service operations are constantly looking for new processes and technologies that can help them drive customer service efficiencies. Essentially, they want to service more customers at less cost while at the same time maintaining (or even improving) customer satisfaction. This can be a difficult equation for organizations to solve.

eService provides the mechanism to help businesses solve that difficult equation. At its core, eService is comprised of a range of technologies that allow businesses to provide online support to customers, which can “deflect” calls and in-person visits, or at minimum reduce a portion of the cost to manage a service issue. As demographics shift worldwide and Internet technologies become more pervasive, many customers prefer to use an eService channel.

The Microsoft Dynamics CRM 4.0 eService accelerator provides customer self-service capabilities (via a web portal) as a configurable out-of-the-box offering. The web self-service portal exposes the following CRM functions to customers:

  • Customer authentication into the portal and workflows to manage the setup of a contact as a web self-service customer.
  • Customer profile updates to contact details; this capability is configurable allowing organizations to choose which attributes of the profile they want to expose to the customer portal such as name, contact details and communications preferences.
  • The ability to view, create, edit and close service cases. There are two permission levels available to web portal customers:
    • Account-Level: these customers can view and modify all cases raised against the account they are associated with.
    • Contact-Level: these customers can only view and modify service cases that they themselves have raised.
  • Online service scheduling allowing customers to search for convenient times and then book service appointments with the organization.
  • Search against the Microsoft Dynamics CRM knowledge base (KB) using keywords. Once the appropriate KB article has been located the customer can then email that article to themselves or others.

The accelerator can either be used within the customer’s own web portal or they can use the pre-built portal solution provided by Microsoft in the ASP.NET 2.0 Small Business Starter Kit http://www.asp.net/downloads/starter-kits/small-business/. All source code from the customer portal solution is provided so that customers and partners can extend the solution further and tailor it to their specific business requirements.

The following images are taken from the beta version of the eService Accelerator:

acc1

Beta sample Customer Profile edit page

acc2

Beta sample KB Search page

acc3

Beta sample Service Scheduling page

Kind regards,

Reuben Krippner

How to Integrate SharePoint with Microsoft CRM

Integrating Microsoft CRM with SharePoint is often highly desired, SharePoint is an excellent document management tool and the list management features are unmatched. I have found many examples of SharePoint integration but none of them seemed to be particularly good, they either pointed to generic document libraries or did not provide sufficient information to bring the two products together in a seamless manner.

Read more Here

Managing size of AsyncOperationBase table in CRM 4.0

Mahesh Vijayaraghavan Published Tuesday, July 29, 2008 10:02 AM

The asyncoperation entity is used in CRM 4.0 to manage various system jobs by the CRM Asynchronous Processing Host (MSCRMAsyncService) windows service. Over time this table accumulates large number of records leading to large databases. This is especially affects organizations that rely on asynchronous plug-ins and workflows. You can use the new Bulk Delete feature ( http://msdn.microsoft.com/en-us/library/cc155955.aspx) to manage the growth of records in the asyncoperation entity table. The bulk delete operation takes as input a QueryExpression and deletes the records returned by the query. There are some things to keep in mind when trying to delete asyncoperation records using bulk delete.

  • You need prvDelete privilege for asyncoperation entity. In a default installation, System Administrator role has this privilege.
  • You need prvBulkDelete privilege to call the BulkDelete API. In a default installation, System Administrator role has this privilege.
  • Only asyncoperation records in Completed state can be deleted.
  • If workflow type asyncoperations are deleted, you will lose history for some records.

In the example below, I have added a condition to select records that are completed for more than one month ago and are not workflow instances.

private static void DeleteCompletedAsyncOperationRecords(CrmService crmService)

{

QueryExpression expression = new QueryExpression(EntityName.asyncoperation.ToString());

expression.ColumnSet = new ColumnSet(new string[] { "asyncoperationid" });

expression.Criteria.AddCondition("statecode", ConditionOperator.Equal, (int)AsyncOperationState.Completed);

expression.Criteria.AddCondition("completedon", ConditionOperator.OlderThanXMonths, 1);

expression.Criteria.AddCondition("operationtype", ConditionOperator.NotEqual, (int)AsyncOperationType.Workflow);

Guid[] emptyRecipients = new Guid[0];

BulkDeleteRequest request = new BulkDeleteRequest();

request.JobName = "Bulk delete completed asyncoperations to free up space";

request.QuerySet = new QueryBase[] { expression };

request.ToRecipients = emptyRecipients;

request.CCRecipients = emptyRecipients;

request.SendEmailNotification = false;

request.RecurrencePattern = string.Empty;

request.StartDateTime = CrmDateTime.Now;

BulkDeleteResponse response = (BulkDeleteResponse)crmService.Execute(request);

Console.WriteLine("Bulk delete job id: {0}", response.JobId);

}

The bulk delete request is processed by MSCRMAsyncService in the background. Depending on the number of records returned by the query, the operation may take from minutes to hours to complete. You can monitor the status of the operation by selecting Settings àData Management à Bulk Record Deletion.

async2

The number of records deleted (and failed to delete) are tracked by the feature and displayed in the grid.

Async

The bulk delete operation can be scheduled as a recurring operation by setting the value of RecurrencePattern. If you plan to do so, I suggest that you run a non-recurring operation and wait for it to run to completion before creating the recurring operation. The AsyncOperationBase table contains thousands of records that would be deleted by the first time by the Bulk Delete operation. It may take several hours to delete the records because each record is deleted using a call to CRM SDK’s Delete method. Once the initial cleanup is done, you can create a recurring operation which should delete only a few records each time it runs. If you are considering adding a recurring system job to do the cleanup, I suggest a weekly frequency and running at off-peak usage times

request.RecurrencePattern = "FREQ=DAILY;INTERVAL=7;";

request.StartDateTime = CrmTypes.CreateCrmDateTimeFromUser(DateTime.Today.AddDays(1)); // start at midnight tomorrow

You may not see an immediate change in the database size. The records are physically deleted from the AsyncOperationBase table by DeletionService, which runs once a day. After the records are physically deleted by DeletionService, you may need to run “DBCC SHRINKDATABASE” against the organization database to see the actual space usage.

Cheers,

Problems Running CRM 4.0 Reports Post-Installation or Upgrade, Even after installing Microsoft CRM Data Connector

by Shelley Lane 07.16.08

When installing CRM 4.0 (or upgrading from 3.0) in an environment where SQL Server, SQL Reporting Services and CRM will all be on separate physical machines, you must use the Microsoft CRM Data Connector to bypass authentication issues. Once you’ve done this, your servers will all be able to communicate without issue and your reports will work swimmingly!

 

Well, almost. Recently, I encountered two separate instances (a new install and an upgrade, both using the Data Connector) where we had run all of the installs without any problems, but attempts at running any reports lead to the dreaded "Page Cannot Be Displayed" error.

 

In one case, the event log on the SQL Reporting Services server had several security audit failures. In there other case, there were no errors to be seen. However, both situations were the result of our Report Manager not being properly configured.

Follow these steps to verify that yours is configured correctly and, hopefully, save yourself some time.

  1. Open up Report Manager (http://SRSServer/Reports)
  2. Click on OrgName_MSCRM
  3. On the right-hand side, on the toolbar, click Show Details
  4. Click on the 4.0 folder
  5.  Then locate and click on MSCRM_DataSource
  6.  Verify that Connection Type is set to "Microsoft CRM Data Extension" and Connect using: is set to "Credentials supplied by the user running the report"
  7. Click Apply

 

Automatic Update Strikes Again. (KB953838)

Murphy and Microsoft must be bed partners. Imagine going to your biggest CRM implementation to provide your training for roll out. As you bring up the system and start training you get a file download prompt for blank.aspx. Interesting, it could just be the machine. However, 80% of all the computers are getting it. Every time you move another entity, you get that wonderful prompt. It is annoying the first 10 times, but words cannot describe the feeling you have after two days of training with it.
After dome digging it turns out Microsoft put out an IE Update on 8/12 that dropped the mapping on client machines to aspx pages. Nice! And as many people who work with web pages can tell you “about:blank” is used as a white space filler on i-frames. Nice testing Microsoft! Well, enough of my complaining. There is an update that is automatically applied (if you have auto updates turned on) called KB953838. If you have IE 7 installed, you may not have the issue. If you have this issue you have a couple of options.
    1. Upgrade to IE7.
    2. Uninstall KB953838
      a. When you get the prompt, Download it to your desktop.
      b. Right click and open with.
      c. Select Internet Explorer and check off always open with this program

Monday, August 11, 2008

CRM Statement of Direction (SOD) – August 2008 Update

The statement of direction for CRM has been updated. There are now Print Screens of some of the Accelerators and new due dates. Take a look.

CRM4 Outlook Client – Issues and Fixes

Smiti Shah Published Wednesday, August 06, 2008 10:50 AM by crmblog

This must-have fix is likely the most common perf/stability issue out there, especially on Outlook 2007. This fix resolves the issue. A current workaround exists by turning off the To Do bar.
http://support.microsoft.com/kb/952724

2. With E-mail Auto Promotion Enabled, Outlook may not close cleanly/properly.

This fix addresses a memory allocation issue that can occur somewhat unpredictably. If your users are using e-mail auto promotion, I encourage you to deploy this hotfix.

http://support.microsoft.com/kb/948121

3. Contacts with birthdays earlier than 1/1/1970 causes Outlook to crash

This was caused by an API change by one of our dependencies.

http://support.microsoft.com/kb/948045

4. Items in Shared Calendars will report Sync Issues

We do not support Shared Calendars in CRM 4.0, we encountered a couple of cases where some code was getting executed against a shared calendar and causing problems.

http://support.microsoft.com/kb/949086

5. Cannot Promote an E-mail where the name of the attached file contains a ‘&’ symbol.

If the attachment to an e-mail contains the ‘&’ symbol, it will fail to track in CRM.

http://support.microsoft.com/kb/949719

6. Selecting Dismiss on Outlook Calendar reminder for Service Activity causes record to change Status Reason back to default value for that record.

Selecting Dismiss on Outlook Calendar reminder for Service Activity causes record to change Status Reason back to default value for that record

http://support.microsoft.com/kb/950475  (not yet published)

7. OWA Sent Emails Get Stuck in Outlook Draft Folder When Outlook Is Open And CRMADDIN is Enabled

When you have both Outlook and OWA open, and you have the Microsoft Dynamics CRM client for Microsoft Office Outlook installed, and you send an email form OWA, the email will be stopped in the Draft folder instead of being sent

http://support.microsoft.com/kb/950088

Smiti Shah

Wednesday, August 6, 2008

CRM Accelerators – Part I – Analytics Accelerator

Reuben Krippner Published Tuesday, August 05, 2008 10:08 AM by crmblog
Last week we introduced the CRM Accelerators program for Microsoft Dynamics CRM customers and partners, each week we will unveil more details of each accelerator. In this article we feature the Analytics Accelerator.
Analytics Accelerator – Due to be released in Q3 2008

Many customers and partners will be familiar with Analytics Foundation for Microsoft Dynamics CRM 3.0 which was a business intelligence feature pack for Microsoft Dynamics CRM 3.0. Analytics Foundation for Dynamics CRM 3.0 included Dashboards, Key Performance Indicators (KPI’s) and a suite of new reports. Analytics Accelerator for Microsoft Dynamics CRM 4.0 expands on this, and is designed to support a range of business intelligence “maturity” levels for customers and partners. The Analytics accelerator has been built to cater for differing business intelligence skill-sets and experience levels. Elements of the accelerator include:

  • Sales, service and operations dashboards delivered with Microsoft SQL Server® Reporting Services (SSRS).
  • Sales, service and operations dashboards and scorecards delivered with Microsoft PerformancePoint® Server.
  • Additional reports delivered with SSRS.
  • Two Online Analytical Processing (OLAP) cubes which are designed to allow customers to conduct in-depth analysis and key performance indicator (KPI) monitoring based on Microsoft Dynamics CRM 4.0 data. Customers can consume these cubes through Microsoft Excel®, Microsoft SharePoint® technologies and Microsoft PerformancePoint Server. The first OLAP cube is designed for simple setup and consumption, the second cube is more detailed and requires a more advanced knowledge of analytics and OLAP technologies within Microsoft SQL Server.
  • Predictive analytics to provide statistical guidance in areas such as lead and sales opportunity management. There are several sample applications which ship as part of the accelerator that showcase how customers can leverage predictive analytics directly within the Microsoft Dynamics CRM 4.0 user interface.
  • The analytics accelerator will work with SQL Server 2005 with some components enhanced to take advantage of SQL Server 2008.

The Analytics accelerator will be free of charge for Microsoft Dynamics CRM 4.0 customers and partners.

The following images are taken from the beta version of the Analytics Accelerator (NB: these may change between now and the release of Analytics Accelerator)

clip_image002

Beta version of the Analytics Accelerator landing page in Microsoft Dynamics CRM 4.0

clip_image004

Beta sample sales dashboard for Microsoft Dynamics CRM 4.0

Kind regards,

Reuben Krippner

Tuesday, August 5, 2008

You can't find what? Installing CRM 4.0 from a network share

posted at: 01.17.2008 at 12:38 AM by Aaron Elder

While not officially a new feature of Microsoft Dynamics CRM 4.0; the ability to install CRM from a network share (or shared drive within Virtual PC 2007) is very much welcomed.  Generally speaking this should "just work", however some of you may be getting an error when you attempt to run setup and clicking next after selecting the SQL server to use.  The error looks something like this and says setup cannot find the file Reserved.sql.

Setup_Error

The reason for this seems to be that the Config folder is not copied from the setup source location into the temporary location from which it actually runs.

To fix this as follows:

  • Simply copy the Config folder from your network share into the temporary location (noted in the error dialog)
  • Click OK on the error dialog
  • Click Next again to try again

Setup_Error_Fix

This time, setup will find the files it needs and all will be well in the world.

Cheers,

This posting is provided "AS IS" with no warranties, and confers no rights.

Now I am the master - Tips for running CRM 4.0 with as a service account

posted at: 2:40 PM by Aaron Elder

Many companies prefer to run applications as a service account instead of as a built-in account like NETWORK SERVICE.  While each approach has its own distinct benefits, this article provides some additional steps, tips and things to verify if you want to do the installation as a service account.

First, be aware that when you as setup to install CRM as a service account, the Environment Diagnostic Wizard will give you the following warning:

"Verify Domain User account SPN for the Microsoft Dynamics CRM ASP.NET Application Pool account."

EDW - Service Account Error 

This is safe to ignore as the steps below will take care of the issue this warning is concerned with.  Asking for Help on this item points you to this article which while useful, isn't very straight forward.  I have provided additional steps and things to verify in the procedure below.

Note that these steps are not always required.  You will know these steps are needed if after installing as a service account you get the following error from Microsoft CRM.

Error:
Caller does not have enough privilege to set the CallerOriginToken to the specified value.

 

Procedure:

  1. Using Windows Support Tools, setup the SPNs for the machine and service account (Important: needs to be done first)

    setspn –A HTTP/servername:5555 domain/serviceusername
    setspn –A HTTP/servername.company.com:5555 domain/serviceusername


    Note: Don’t forget the PORT
    Note: Don’t forget to do both the FQDN and the NetBios name
  2. Trust for Delegation enabled in AD for the Service Account AND CRM Machine

    Note: This option is only available after you add the SPN for the both the NetBios name and FQDN) in step #1
  3. Verify / add the service account to the CRM installation’s PrivUserGroup

    Note: This step must be done after installation. There is a known issue were setup will remove the user used for installation (the "setup user") and if this user is the same as the service account user, it will be missing.
  4. The service account needs to be added to the local machines IIS_WPG group
  5. Restart the CRM server.  Also depending on your domain's replication settings, some of these changes may take a few minutes to propagate.


Cheers,

This posting is provided "AS IS" with no warranties, and confers no rights.

Various Ways To Hide/Unhide A Field/Section In CRM

by Danny Varghese 03.28.08

Intro

When customizing forms in CRM, one of the most commonly used and simplest things to do is a hide a field on the form.  This may be hiding one or numerous fields on the form.  Often times, developers may need to use several “hidden” fields for other purposes.  In this case, he/she could place all those fields in a section on the form, and then hide the section.

Hiding A Field

To hide a field use the following code snippet:

 crmForm.all.<insert schema name of field>_c.style.visibility = ‘hidden’;crmForm.all.<insert schema name of field>_d.style.visibility = ‘hidden’; 

 

OR

crmForm.all.<insert schema name of field>_c.style.display = ‘none’;crmForm.all.<insert schema name of field>_d.style.display = ‘none’; 

You will have to hide both the “_c” and “_d” parts of the field.  The “_c” appended to the field is the label of the field, and “_d” is the data contained in the field.

Un-hiding A Field 

To un-hide a field, use the following code snippet:

crmForm.all.<insert schema name of field>_c.style.visibility = ‘visible’;

crmForm.all.<insert schema name of field>_d.style.visibility = ‘visible’;

 

OR

 

crmForm.all.<insert schema name of field>_c.style.display = ‘block’;crmForm.all.<insert schema name of field>_d.style.display = ‘block’; 

 

Hiding A Section

 

To hide a section (which will in turn, hide all fields in that section), use the code snippet below:

 crmForm.all.<insert schema name here>. parentElement.parentElement.parentElement.style.display = 'none'; Un-hiding A Section

To un-hide a section, use the code snippet below:

crmForm.all.<insert schema name here>. parentElement.parentElement.parentElement.style.display = 'block';

Creating an activity report which includes the related people

Ronald Lemmen - CRM, C# and Cme

In an activity CRM grid, it is not possible to add attributes from the activity type (letter, phonecall etc) itself. The fields to and from on the entities phonecall, letter, fax are therefore not eligable for addition on the CRM grid. It would be very useful to see those though. The same is valid for the to, cc and bcc in email and required and optional attendees in appointments. In this post I won't be giving a solution to show the attributes in the grid, instead I will give a workaround by using reports.

The only attributes which you can select in the grid are the attributes which are belonging to the entity activitypointer. These include the activityid, startdate, statecode, but also the regardingobjectid. So the question is, how to get the to, from, cc etc. For this you can use the function which I have posted in my previous post. This function accepts an ActivityID and an ActivityPartyType. So what is this type? Look at this page: ActivityPartyType. You will find a list of values mapped to what kind of field you want to add to your report.

By using that function you can create your query for the report. An example would be:


SELECT
activityid, activitytypecode, scheduledstart, subject, owneridname, statecodename,
regardingobjectidname,
(SELECT DBO.fn_PGGM_GetActivityPartyList(activityid, 1)) [to],
(SELECT DBO.fn_PGGM_GetActivityPartyList(activityid, 2)) [from],
(SELECT DBO.fn_PGGM_GetActivityPartyList(activityid, 5)) [required]
FROM
filteredactivitypointer

This query does select some default attributes and it adds the regarding, to, from and required fields. Add this query to the generation of a report and you'll be set to go.

Note: make sure that the function gets added to your database and assign the correct rights. See the post around the function for details.

Happy reporting!

CRM 4.0 E-Mail Connector Logger Tool

Published Wednesday, July 02, 2008 2:19 PM by benlec

Hi all,

 

I’ve just made this tool to easily enable logging for the E-Mail Connector in CRM 4.0

The logging for the connector can be enabled by modifying the configuration file for the service like explained in this article:

 

http://blogs.msdn.com/benlec/archive/2008/03/25/how-to-implement-logging-for-the-microsoft-crm-4-0-e-mail-connector.aspx

 

The tool looks like this:

 

CRM 4.0 E-Mail Connector Logger GUI

 

It’s based on XPath to read and modify the Config File.

 

Here is how it works:

1°) Execute the tool on the E-Mail Connector box, it will detect and read the config file.

2°) The drop down list you see shows you the Deployment you have configured, you need to select one of these.

3°) Once the deployment is selected, it will retrieve the different profiles you configured (Incoming Users & Queues, Forward Mailbox and Outgoing profile)

4°) You can select the section you want to activate logging for. If you need to only activate logging for Incoming E-Mail on Peter Chimaera, then select the 1st Checkbox only and select Peter from the Drop down.

5°) Choose a FileName (there will be a default filename proposed) and a LogLevel.

6°) Click [Enable Logging]

 

Important Notes:

- Don’t close the tool once you enabled logging. It will STOP the logging. (it has some dialog box which reminds you the usage anyways)

- One you are done with your tests, click [Stop Logging]

- The log files will be placed in the SAME folder as the Microsoft.Crm.Tool.EmailAgent.xml file

- There will be no update of the Configuration during the test (if in the meantime a new user is configured, it will not take it in consideration) because once you click [Enable Logging] the tool will set the ConfigUpdatePeriod to ZERO to prevent any unexpected update during the test (to prevent cancelling logging).

 

Risks:

- There should be no risks to do this because the tool automatically Create a backup of the EmailAgentXML when we attempt to Enable Logging.

If an unexpected error occurs, the backup will be restored. The backup is restored also if you exit the application….

- You can run it if the EmailAgentXML has already been modified because it will check if the LogLevel and LogFile tag exists already or not and will either modify or create the tags accordingly.


Regards

Benjamin