Friday, December 19, 2008

Changing the Domain and/or Username in CRM 4.0

09:00 12/16/2008, Luke Simpson wrote this

Microsoft has changed the way administrators may alter an existing user's Domain and/or Username in CRM 4.0.  A knowledge base article exists with detailed instructions, which can be found here: http://support.microsoft.com/kb/930853.

 Here is a quick synopsis of the procedure:

  1. Modify the user account in Active Directory. For example, change the user name, and then change the logon name.
  2. Open Microsoft Dynamics CRM 4.0 as a System Administrator user.
  3. Click Settings, click Administration, click Users, and then open the user record that you want to change.
  4. In the Domain Logon Name box, type an Active Directory user account that is not used by a Microsoft Dynamics CRM 4.0 user record.
    ~~This should just be any AD user on the network that is not using CRM.  It is just a placeholder.

    Note If all the Active Directory user accounts are used by Microsoft Dynamics CRM 4.0 user records, create a temporary Active Directory user account.
  5. Click Save.
  6. In the Domain Logon Name box, type the Active Directory user account. Then, click Save and Close.  
    ~~This should be the new Username that you wish to use.

    Note The Active Directory user account that you type in this step is the account that is used by a Microsoft Dynamics CRM 4.0 user record. The Microsoft Dynamics CRM 4.0 user record is the record for which you want to change the user name and the logon name in Microsoft Dynamics CRM 4.0.

Microsoft BizTalk CRM 4.0 Adapter

posted at: 9:46 AM by Chris Scott

Microsoft recently released the BizTalk adapter for Microsoft Dynamics CRM 4.0. I have been working with the new adapter on a recent project and have found a few key items that are good to be aware of:

 

Number and size of new Schemas - The new adapter uses the 2007 endpoint which is much richer in functionality and includes some of the core features needed to support full integrations including the many-to-many relationships. At the price of this functionality though is many new schemas for a total of 8 per entity (the previous adapter had 3)

  • [EntityName]_CoreTypes.xsd – defines various security related data types and methods. Includes references to [EntityName]_types.xsd.
  • [EntityName]_CoreTypes_1.xsd – defines various platform level methods. Includes references to [EntityName]_types.xsd and [EntityName]_webservices.xsd.
  • [EntityName]_Query.xsd – defines many of the items needed for query expressions and fetch statements.
  • [EntityName]_Scheduling.xsd – defines various appointment requests. Includes references to [EntityName]_types.xsd and [EntityName]_webservices.xsd.
  • [EntityName]_Types.xsd – defines the GUID data type.
  • [EntityName]_WebServices.xsd – defines the business entity and several of the CRM data types. Includes references to [EntityName]_types.xsd.
  • [EntityName]_WebServices_1.xsd – essentially is the WSDL output. Includes references to all schemas above.
  • [EntityName]_Entities.xsd – defines the attributes on the entity and used to map all messages to CRM. Includes references to all schemas above.

The schemas range in size from 1 kilobyte to over a megabyte (depending on the size of the entity). For integrations dealing with more than a couple of entities, the size and number of schemas will likely be a problem.

Our solution includes over 30 entities. During the compiling of our BTS solution with the new schemas, the following error was thrown by Visual Studio:

Unexpected error writing metadata to file 'c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\BizTalk Server Project1\obj\Development\~BizTalk Server Project1.dll' -- ''

The result of our testing showed that the new schemas caused the DLL size to be too large as Visual Studio tried to compile the project (documented in MSDN). We tried breaking the solution into multiple projects, but we still ran into this problem. Our solution was to create a “common” set of schemas from the 7 generated and update the [EntityName]_Entities.xsd to reference the common schemas rather than the entity specific schemas. This is a fairly simple solution and we have not found any issues in testing, but it does require updating the CRM schemas each time you download or update a CRM entity.

CRM Response Namespace - A core feature of the new adapter and of CRM 4.0 is supporting multiple organizations. While this is a really cool feature, we have found an issue with the new adapter that make truly supporting multiple organizations in BizTalk very challenging. The CRM response XSD, a generic XSD containing the success or failure message sent from CRM on each call, has an organization specific namespace. For example, in Ascentium’s development environment (organization is AscentiumCrmDev) has a CRM response XSD namespace of http://schemas.microsoft.com/crm/2007/BizTalkAdapter/AscentiumCRMDev/Response. The problem with this is that if the organization name changes from what the BizTalk solution was developed on, the response message will fail because of the differences in expected namespace.

Here are a couple of possible solutions that we considered:

    • Creating a custom receive pipeline to change the namespace.
    • Create multiple inbound schema and maps for known organizations and map your ports to the appropriate maps.
    • Ignore the response message from CRM.

There are many more possible solutions including keeping the organization names the same between all environments, but this defeats the purpose of supporting multiple organizations. For our solution, we implemented a custom receive pipeline to update the namespace as the message comes back from CRM. This is not a simple solution and requires a decent amount of coding, but it serves the long term need for our project.

Empy DateTime Data Types – Messages bound to a CRM schema with data type of CrmDateTime containing an empty string receive this error:

CrmSoapExtension detected CrmException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Microsoft.Crm.CrmArgumentNullException: serializedForm ---> System.ArgumentNullException: Value cannot be null. Parameter name: serializedForm

To get around this, we updated our maps to include a logical string functoid on date time data types. This removed the node from the message sent to CRM if the value passed in is empty.

 

Overall, I have been pleased with the updated CRM adapter for BizTalk. It offers a lot of rich functionality and is a welcome tool for CRM 4.0 integrations. Just be aware of the above issues when you start working with the new adapter.

 

Chris

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

The List Web Part for Microsoft Dynamics CRM 4.0

The List Web Part for Microsoft Dynamics CRM 4.0
Overview
The List Web Part for Microsoft Dynamics CRM 4.0 provides a way to view and update Microsoft Dynamics CRM records using a Windows SharePoint Services 3.0 SP1 or Microsoft Office SharePoint Server 2007 SP1 Web site. Microsoft Dynamics CRM users can create shared or personal List Web Parts of Microsoft Dynamics CRM records from a SharePoint Web site, open records in Microsoft Dynamics CRM 4.0 from the List Web Part, and create connected List Web Parts.

System Requirements

  • Supported Operating Systems: Windows Server 2003; Windows Server 2008
    Microsoft Dynamics® CRM 4.0
  • Microsoft Windows® SharePoint® Services 3.0 SP1
  • Microsoft® Office SharePoint® Server (MOSS) 2007 SP1
  • Microsoft® Internet Explorer 6 with SP1 or later versions

Instructions

You must have local administrator privileges on the server where you plan to install the List Web Part for Microsoft Dynamics CRM 4.0. You must also have administrator privileges for the SharePoint Services server. The List Web Part for Microsoft Dynamics CRM 4.0 must run by using full trust mode.Click the ListWebPart.msi file to run the List Web Part for Microsoft Dynamics CRM 4.0 Setup wizard. If you are using Windows Server 2008, install the List Web Part by using the command prompt instructions found in the documentation.

For more information, see the documentation: List Web Part for Microsoft Dynamics CRM 4.0 Administration and Deployment Guide.

An early look at CRM “5”

Microsoft Dynamics CRM Team Blog posted this

As you might imagine, since shipping Dynamics CRM 4 the product team has been hard at work designing the next major release.  Over the past few months they’ve given a few sneak peeks at some of the more interesting platform pieces that they’re working on.  Naturally I grabbed my video camera and got as much as I could.  That’s all posted up on Channel 9 now.  We also had a couple of excellent CRM “5” sessions at this year’s Professional Developers Conference (PDC).  Those also are available for viewing.  I’ve pulled together this list of videos for those of you that need a break from the holiday festivities. :)

Overview

In this first video I chat with Andy Bybee, Humberto Lezama Guadarrama and Allen Hafezipour all program managers on the CRM platform team thinking about programmability and the developer experience.  We talked about some of the thinking that’s going into CRM “5” (that’s a codename, by the way).  Don’t look for any schedule information in here; CRM “5” is still a long way away.  We’re talking about this developer-focused stuff early to help developers with design and architecture as they think about future designs.  The team is still committed to power of choice and so will continue to use the exact same code base across on-premises, partner-hosted and Dynamics CRM Online. 

  • Have a look at the video here.

Solution Management

One area that the platform team is spending a lot of time thinking about is solution management.  We know that ISVs have numerous things to think about when deploying and we want to make that as simple as possible by introducing the concept of solutions.  Think of solutions as providing to CRM the same sort of capabilities that Windows has with its capability to add and remove programs and features.  The concept is quite powerful as it allows components to be layered on to the base system but also on top of other solutions (i.e. when there are inter-dependencies).  It also provides a way to protect the intellectual property of the components in your solution and includes change management and versioning.

  • Have a look at the video here.

 Secure Code on the Server

Another area that the team is working hard to make even better is the deployment of secure code on the server.  The current version of CRM allows code on the server (for plug-ins or workflows) and that code runs in full trust.  That’s the primary reason why server code is not allowed on Dynamics CRM Online where you’re sharing the server with many other tenants.  There are a number of different areas where you might need to write custom code on the server; for instance, custom workflows, custom web apps, plug-ins.  It’s not hard to allow that sort of thing.  Where it gets tricky is allowing developers to do that in ways that don’t compromise security and performance.  The team has been thinking hard about what is needed to solve these types of problems (profiling, tracing, and managing security of numerous managed assemblies).  They looked at physical (sandboxing) and logical (code access security) isolation levels and have come up with a plan.

  • Have a look at the video here.

PDC: Dynamics CRM: The Appealing Business Application

Humberto Lezama Guadarrama presented this session.  He walked through an introduction to building line-of-business applications on the CRM platform.  I helped him out with a demo my team has been working on (starting at about the 23:00 mark).  Humberto talks about leveraging Dynamics CRM in the context of cloud services including Windows Azure (starting at about 36:30).  He also shows some of the new stuff coming in CRM “5” (starting at about 45:30).

Abstract: Have you ever built a business application that people actually enjoy using? Learn how you can build appealing business applications using the Microsoft Dynamics CRM product and its application constructs, including the client-side compositing framework, page layout, and forms. See how Dynamics CRM adds value as a rapid application development solution with integration into cloud platform services

  • Have a look at the video here.

PDC: Rapid Business Application Development with Dynamics CRM

Andrew Bybee and Nirav Shah presented this 400-level session.  In it they show how Dynamics CRM can be used for rapid development of business applications.  In it they show some of the new capabilities for extending business logic in Dynamics CRM “5” (starting at about 16:00).  They focus primarily on the platform so not so much on the sales, service, and marketing applications but more on the underlying platform or what we often call xRM.  They pulled in Shan McArthur from ADXSTUDIO to demonstrate a new solution that his team has been working on (starting at about 43:30). BTW, on my blog I have another video with Shan explaining what he learned while building this Windows Azure/Dynamics CRM app.

Abstract: Learn how the next version of the Microsoft Dynamics CRM data model can be manipulated through meta data. See how to add custom business logic, including plug-ins and custom messages for Microsoft Dynamics CRM entities. 

  • Have a look at the video here.
Technorati Tags: ,

Cheers,

Ben Riga

Microsoft Dynamics CRM 5.0 features

STEFANO DEMILIANI wrote this write up found here

If you're interested to know what will be the key features of the future Microsoft Dynamics CRM 5.0, I recommend to check Simon Hutson's post.

Remember that the next Microsoft CRM version is actually planned for release late 2009/early 2010 (there's not a codename now), so this is a really first preview.

This is the Simon's feature list (cross posted here):

New Features For End Users

  • Enhanced Navigation - I guess it was inevitable, but CRM5 uses the same "Fluent UI" (aka the Ribbon) as Office 2007. This new "command bar" replaces the CRM 4.0 "tool bars" at the top of each page, and is context sensitive. In addition, the "command bar" is fully customizable and you can add your own buttons much like you can with ISV.Config file today.
    CRM5 Ribbon (Account)
    CRM5 Ribbon (Contact)
    Incidentally, something that isn't discussed but appears on the ribbon is the "Add to Queue" command, from which I can only surmise that you will be add any entity (including custom entities) to a Queue.
  • Single Page Forms - The form model in CRM 4.0 made use of tabs to divide a form into multiple pages. In CRM5 tabs are displayed in the same way as section, with each form just having a single, scrolling page. As you can see from the navigation page of an Account entity, tabs are now displayed as a series of "quick access" navigation shortcuts under the "Information" link.
    CRM5 Tabs
  • Data Filtering - One often requested feature is the ability to filter data in grids, much like Excel. Now you can navigate to the "DataView", click the "Filter" command, and you can perform your own in-line filtering.
    CRM5 Data Filtering
    Again, although not explicitly stated, it looks as though you can quickly save your filters as a View, as well as setting your own Default View.
  • In-line Visualizations - Although not Business Intelligence in the true sense of the phrase, CRM5 allows you to visualize numeric data using in-line charts. This is not SQL Server Reporting Services, but looks very much like the .NET charting solution from Dundas.
    CRM5 In-Line Visualizations
    The charts themselves are drill-through enabled and you can select a number of different chart formats such as Bar, Column, Funnel, Line, Pie & Scatter.
  • Team Ownership - Entities in CRM 4.0 were either User Owned or Organisation Owned. Now Team Owned entities are added in CRM5, and integrated into the role-based security model.
  • Native SharePoint Integration - Integration with Windows SharePoint Services for document management, which includes site and document library provisioning, document metadata, item security, and check-in/check-out capabilities.
  • Unstructured Relationships - The next generation of "set regarding" and "relationship roles" functionality, allowing you to define ad-hoc relationships between any two entities.

New Features For Administrators

  • Flexible Form Layout - We now have much more flexibility in how forms are laid out, for example, we can position sections side-by-side, as well as field labels on top, left or right of each field. Best of all, we can now configure "In-Line Sub-Grids" for child records, so a combination of IFrames & JScript is no longer required to make this work.
    CRM5 Form Layout
  • Filtered Lookups - One of the most requested features has finally made it into the product. Whilst customizing the form, you can choose a pre-defined view or better still you can filter by a related lookup on the same form.
    CRM5 Filtered Lookups
  • Form Headers & Footers - Now that all tabs, sections and fields appear on a single, scrolling form, it is quite possible the form will get become quite long and you will end up scrolling up and down more often to find the information you require. In order to make the most commonly required visible at all times, you can now place these fields in a header or footer so that they will always be displayed regardless of the scrolling.
  • Solution Management - With CRM 4.0, you had to implement a manual process when customizing your solution, to make sure that you didn't overwrite previous customizations, or disrupt any 3rd party ISV solutions. In CRM5 we had now added the concept of solutions.
    CRM5 Customizations - Solutions
    A solution is a defined set of entity customizations, workflows, e-mail templates, security roles, plug-ins etc. that can be managed as a single unit. Each solution is version controlled so presumably your can have multiple versions of the same solution installed, and roll-back to a previous version if necessary.
    You can also define solution dependencies where one solution can only be installed if another solution is also installed. For example, you might have a base solution for your whole organisation, with a departmental specific solution built on top of it.
    CRM5 Solutions - Publishers
    Namespace collision is avoided by defining publishers, with each publisher having a unique namespace. This avoids the common issue where the default namespace "new_" is used for all customizations, leading to potential namespace conflicts.
    One final plus point is that you can now specify which attributes will be exported as part of a solution, rather than having no choice but to export the whole entity.
  • Multiple Option Sets - Otherwise known as "Global Picklists", you can define these at the solution level, and re-use them across multiple entities.
  • Drag & Drop Form Editor - One of the most time consuming customization tasks in CRM 4.0 is the form design. Every time you want to add, remove or re-position tabs, sections and attributes, you have to go through a multi-click process. With CRM5, you can now drag and drop all elements of a form, speeding up the process considerably
    CRM5 Drag & Drop Form Editor
  • Audit - Although not explicitly mentioned during the sessions, I spotted an "auditing" setting on the attribute designer form, allowing you to turn auditing on or off.
    CRM5 Audit

New Features For Developers

  • Custom Code Sandbox - There is a new server role for running custom plug-in code and custom workflow activities without requiring full trust. This means that it will be possible to run custom code in the CRM Online environment and achieve true parity between On-Premise, Partner-Hosted and Microsoft-Hosted deployments.
  • Plug-In Transaction Support - In CRM 4.0 you could register a plug-in to run either before (pre-event) or after (post-event) the CRM platform operation. However, you were not able to run as part of the transaction itself, so you had to right your own compensation logic in the event the CRM platform operation failed. CRM5 addresses this limitation, and you can now choose to register you plug-in as part of the platform operation. The CRM5 plug-in registration tool has been modified to support this.
    CRM5 Plug-In Transaction Support
  • Automatic Plug-In Profiling - CRM5 will keep track of how a plug-in is executing, what resources it consumes, if it is causing unexpected exceptions and whether or not it is violating security constraints. If a particular plug-in fails a number of times it is automatically disabled from executing, helping to maintain system integrity.

I want to add here only that also the CRM Workflow side will be improved a lot and the WF usage will be extended.

Do you remember how many times we've asked the Team to have filtered lookups? So natural request I think... In CRM 5.0 we'll have this feature!!

I have also a personal request: I hope on improvements regarding data import and data migration. CRM 4.0 helps a lot on data migration but it's not always so easy to migrate large amount of data from a custom system to CRM (due to the import processes that sometimes are "freezing").

Technorati Tag:

Microsoft Dynamics CRM 4.0 Help Update 4.2 (On Premise)

Microsoft Dynamics CRM 4.0 Help Update 4.2 (On Premise)

The Microsoft Dynamics CRM documentation team has updated the Help for Microsoft Dynamics CRM 4.0 based on feedback from customers and partners. In this update, you will find expanded information and clarifications in many topics, as well as bug fixes and new topics to support late-breaking product features.

This Help update is available for Microsoft Dynamics CRM 4.0 for English and all supported international languages.

Note: This update is not available for Microsoft Dynamics CRM 4.0 Service Provider Edition, and is not necessary for Microsoft Dynamics CRM Online.

Update Rollup 1 for Microsoft Dynamics CRM 4.0 (KB 952858)

Update Rollup 1 for Microsoft Dynamics CRM 4.0 (KB 952858)

Microsoft has released Update Rollup 1 for Microsoft Dynamics CRM 4.0 Server, Microsoft Dynamics CRM for Microsoft Office Outlook, and Microsoft Dynamics CRM 4.0 E-mail Router. This update rollup fixes over 30 known issues, including issues regarding Microsoft Dynamics CRM for Outlook.

Update Rollup 1 is available for all languages that are supported by Microsoft Dynamics CRM 4.0.

To maintain parity between the client and server components of Microsoft Dynamics CRM 4.0, this update rollup includes packages for Microsoft Dynamics CRM 4.0 Server and Microsoft Dynamics CRM for Outlook.

For more information about this release, see Microsoft Knowledge Base article 952858: Update Rollup 1 is available for Microsoft Dynamics CRM 4.0.