Sunday, November 27, 2011

Microsoft Dynamics CRM Server roles

Microsoft Dynamics CRM Server roles
Recently I faced a situation where CRM was integrated with different other applications through Biztalk Server. Biztalk server made a lot of Server calls through connector. At peak hours, thousands of Biztalk instances were calling the CRM Services. That point of time, there was drastic impact on performance of CRM for end users.
This type of situations can be avoided if proper planning is done during starting phase of implementation. CRM server roles were introduced with 4.0.
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:
Config Role Name
SRS Data Connector
Run reports.
SQL Server
Installs the components required on the SQL Server where the Microsoft Dynamics CRM databases are maintained.
Application Server
Runs the Web application server used by the end users.
Asynchronous Processing Service
Process queued asynchronous events such as workflow, asynchronous plugins, bulk e-mail or data import.
Deployment Service
Provides the web service end points for the Deployment Service SDK APIs.
Discovery Service
Provides the web service end points for the Discovery Service.
Help Server
Provides the Dynamics CRM Help.
SDK Server
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”. 

Thursday, October 13, 2011

Not able to publish or delete attribute in CRM 4.0

Recently I faced a problem, when I was not able to publish the entity. There were no missing fields or missing relationships. After a long troubleshooting, I found that it is happening due to currupt FormXML in OrganizationUI table for the entity. FormXML is stored in this table for entities. I had a problem with quote entity. I found out that there two entries for quote entity. It seems that one is for form opened for customization and the other for normal record rendering. there was problem with formXML for customized form.
I interchanged the flag for isCustomization of these two entries. After that, entity got published successfully. It seems entry for normal record rendering was not corrupt. So when it became formXML for customized form, it got published successfully.

Please note that this is totally unsupported way. You should take all necessary backups if you want to do this.