<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Trace.WriteLine(_blogTitle);</title>
	<atom:link href="http://www.langalaxy.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.langalaxy.de</link>
	<description>Random output</description>
	<lastBuildDate>Wed, 04 Aug 2010 17:14:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Why OptimizeOrgImport is not always an optimization</title>
		<link>http://www.langalaxy.de/2010/07/why-optimizeorgimport-is-not-always-an-optimization/</link>
		<comments>http://www.langalaxy.de/2010/07/why-optimizeorgimport-is-not-always-an-optimization/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 20:18:17 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Tracing]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=447</guid>
		<description><![CDATA[Update Rollup 8 introduced an improved organization import process which speeds up the organization import. You have to enable the optimized import process by adding the DWORD key OptimizeOrgImport with value 1 to the registry hive of Dynamics CRM (see the detailed description http://support.microsoft.com/kb/977867) Recently, I had a problem during an import of an organization [...]]]></description>
			<content:encoded><![CDATA[<p>Update Rollup 8 introduced an improved organization import process which speeds up the organization import. </p>
<p>You have to enable the optimized import process by adding the <em>DWORD</em> key <em>OptimizeOrgImport</em> with value <em>1</em> to the registry hive of Dynamics CRM (see the detailed description <a href="http://support.microsoft.com/kb/977867/">http://support.microsoft.com/kb/977867</a>)</p>
<p>Recently, I had a problem during an import of an organization which failed with following error</p>
<blockquote><p>Message: Exception during import of organization (Name=&#8217;<em><orgname></orgname></em>&#8216;, Id=3e58a0cc-c277-df11-b2c1-0050569473db):<br />
System.Data.SqlClient.SqlException: A row with a duplicate key cannot be added to the object ‘dbo.SystemUserOrganizations’-object with unique index ‘SystemUserOrganizations_CrmUserId’</p></blockquote>
<p>The organization which I tried to import was a backup of an organization which was created in the same deployment. The import runs successful on every other deployment. With help of the Microsoft Support, we identified the cause of the issue: the OptimizeOrgImport key.</p>
<p>The knowledgebase article for <em><a href="http://support.microsoft.com/kb/977867">OptimizeOrgImport</a></em> contains following passage:</p>
<blockquote><p>When you use the registry entry OptimizeOrgImport and have the value of this entry set to 1, you cannot import the same organization database more than one time.<br />
If you want to import the same organization database more than one time, you must do one of the following things:</p>
<ul>
<li>Set OptimizeOrgImport = 0 and use the normal import process.</li>
<li>Delete the organization, and then import the organization again.</li>
</ul>
</blockquote>
<p>This passage is a little bit misleading, as the optimized import process fails already at the first time, if the organization was created in the same deployment. In order to import a backup of an organization into the originating deployment, you have to deactivate <em>OptimizeOrgImport</em>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2010/07/why-optimizeorgimport-is-not-always-an-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Use pre-generated Guids for records</title>
		<link>http://www.langalaxy.de/2010/06/howto-use-pre-generated-guids-for-records/</link>
		<comments>http://www.langalaxy.de/2010/06/howto-use-pre-generated-guids-for-records/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 13:00:53 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=433</guid>
		<description><![CDATA[A customer asked me recently if it is possible to get the id of a record in a pre-create plugin. By default, it is not possible because the record is not yet created at this point and has not got an id. However, Dynamics CRM allows you to create your own id for a record. [...]]]></description>
			<content:encoded><![CDATA[<p>A customer asked me recently if it is possible to get the id of a record in a pre-create plugin. By default, it is not possible because the record is not yet created at this point and has not got an id.</p>
<p>However, Dynamics CRM allows you to create your own id for a record. The primary key of a record is stored in its <a href="http://msdn.microsoft.com/en-us/library/bb959605(v=MSDN.10).aspx">Key-Property</a>. On all default entities, for example account, the id property is marked as <em><strong>Valid for create</strong></em> (see <a href="http://msdn.microsoft.com/en-us/library/cc151315(v=MSDN.10).aspx">accountid</a>). This means, the sdk allows you to pass your own id.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">Microsoft.Crm.Sdk</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF;">namespace</span> PreCreateKeyPlugin
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> PreCreateKeyPlugin <span style="color: #008000;">:</span> IPlugin
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> Execute<span style="color: #000000;">&#40;</span>IPluginExecutionContext context<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>IsPreCreate<span style="color: #000000;">&#40;</span>context<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>context.<span style="color: #0000FF;">InputParameters</span>.<span style="color: #0000FF;">Contains</span><span style="color: #000000;">&#40;</span>ParameterName.<span style="color: #0000FF;">Target</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
                <span style="color: #000000;">&#123;</span>
                    DynamicEntity target <span style="color: #008000;">=</span> context.<span style="color: #0000FF;">InputParameters</span><span style="color: #000000;">&#91;</span>ParameterName.<span style="color: #0000FF;">Target</span><span style="color: #000000;">&#93;</span> <span style="color: #0600FF;">as</span> DynamicEntity<span style="color: #008000;">;</span>
&nbsp;
                    <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>target <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
                    <span style="color: #000000;">&#123;</span>
                        Guid customId <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Guid<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;{d7256b93-a5b5-45f9-9f2d-a1838279c35c}&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                        target<span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;accountid&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Key<span style="color: #000000;">&#40;</span>customId<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #000000;">&#125;</span>
                <span style="color: #000000;">&#125;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">private</span> <span style="color: #FF0000;">bool</span> IsPreCreate<span style="color: #000000;">&#40;</span>IPluginExecutionContext context<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">return</span>  context.<span style="color: #0000FF;">MessageName</span> <span style="color: #008000;">==</span> MessageName.<span style="color: #0000FF;">Create</span> <span style="color: #008000;">&amp;&amp;</span> 
                    context.<span style="color: #0000FF;">Stage</span> <span style="color: #008000;">==</span> MessageProcessingStage.<span style="color: #0000FF;">BeforeMainOperationOutsideTransaction</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>If you register this plugin for pre-create on the account entity and create a new account, it will have the provided id.<br />
<a href="http://www.langalaxy.de/wp-content/uploads/2010/06/account.png"><img src="http://www.langalaxy.de/wp-content/uploads/2010/06/account-300x74.png" alt="" title="Account" width="300" height="74" class="aligncenter size-medium wp-image-442" /></a></p>
<p>Please keep in mind, that you are in the responsibility to assign an new GUID for every execution of this plugin, but this should be clear when working with primary keys.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2010/06/howto-use-pre-generated-guids-for-records/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Get label for an attribute with JavaScript</title>
		<link>http://www.langalaxy.de/2010/05/howto-get-label-for-an-attribute-with-javascript/</link>
		<comments>http://www.langalaxy.de/2010/05/howto-get-label-for-an-attribute-with-javascript/#comments</comments>
		<pubDate>Wed, 19 May 2010 19:49:23 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[Form Scripting]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=429</guid>
		<description><![CDATA[If you have to retrieve the label of an attribute in a form script, you have two options. The first one, is of course not supported, but quick and easy to implement. function GetFieldLabel&#40;fieldname&#41; &#123; var field = crmForm.all&#91;fieldname+ '_c'&#93;; &#160; if &#40;field != null&#41;&#123; return field.firstChild.firstChild.nodeValue; &#125; else &#123; return ''; &#125; &#125; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>If you have to retrieve the label of an attribute in a form script, you have two options. The first one, is of course not supported, but quick and easy to implement.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> GetFieldLabel<span style="color: #009900;">&#40;</span>fieldname<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> field <span style="color: #339933;">=</span> crmForm.<span style="color: #660066;">all</span><span style="color: #009900;">&#91;</span>fieldname<span style="color: #339933;">+</span> <span style="color: #3366CC;">'_c'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>field <span style="color: #339933;">!=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">return</span> field.<span style="color: #660066;">firstChild</span>.<span style="color: #660066;">firstChild</span>.<span style="color: #660066;">nodeValue</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>GetFieldLabel<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'subject'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The other option is, to retrieve the label for the user language from the crm service. I will cover this in another article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2010/05/howto-get-label-for-an-attribute-with-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Detect external request with JavaScript</title>
		<link>http://www.langalaxy.de/2010/05/howto-detect-external-request-with-javascript/</link>
		<comments>http://www.langalaxy.de/2010/05/howto-detect-external-request-with-javascript/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 22:19:50 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[Form Scripting]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=406</guid>
		<description><![CDATA[If you have activated Internet Facing Deployment for your CRM system, it could be necessary to detect if a request comes from outside your network or from your internal network. For example, if you integrate a web application with an IFrame, you have to set different addresses for internal and external access. Or, if the [...]]]></description>
			<content:encoded><![CDATA[<p>If you have activated Internet Facing Deployment for your CRM system, it could be necessary to detect if a request comes from outside your network or from your internal network. </p>
<p>For example, if you integrate a web application with an IFrame, you have to set different addresses for internal and external access. Or, if the application is only accessible from inside your network, you can show a message that it is not available for external users.</p>
<p>With help of Form Scripting you can detect an external request with little effort. You can make use of the function <a href="http://msdn.microsoft.com/en-us/library/cc905758.aspx">prependOrgName(&#8221;)</a> which adds the organization prefix to the argument, if it is necessary. That means for an external request, it returns always the argument which you have passed.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> IsExternalRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> ifdTestValue <span style="color: #339933;">=</span> prependOrgName<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">var</span> isIFDCall <span style="color: #339933;">=</span> ifdTestValue <span style="color: #339933;">==</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000066; font-weight: bold;">return</span> isIFDCall<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Calling <code>IsExternalRequest</code> will return true, if the request comes from an external network range. You could also define this function globally in the form context (see also <a href="http://www.stunnware.com/crm2/topic.aspx?id=JS5">http://www.stunnware.com/crm2/topic.aspx?id=JS5</a>)</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">IsExternalRequest <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> ifdTestValue <span style="color: #339933;">=</span> prependOrgName<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">var</span> isIFDCall <span style="color: #339933;">=</span> ifdTestValue <span style="color: #339933;">==</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000066; font-weight: bold;">return</span> isIFDCall<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2010/05/howto-detect-external-request-with-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common errors on organization import</title>
		<link>http://www.langalaxy.de/2010/02/common-errors-on-organization-import/</link>
		<comments>http://www.langalaxy.de/2010/02/common-errors-on-organization-import/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 19:55:16 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Redeployment]]></category>
		<category><![CDATA[Tracing]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=371</guid>
		<description><![CDATA[When you import organizations into an existing environment, there is the possibility that the import could fail. This post should help you to solve the most common issues. With large organizations, the most likely problem is that the import process runs into a timeout when it updates the user mapping. Update Rollup 8 contains a [...]]]></description>
			<content:encoded><![CDATA[<p>When you import organizations into an existing environment, there is the possibility that the import could fail. This post should help you to solve the most common issues.</p>
<p>With large organizations, the most likely problem is that the import process runs into a timeout when it updates the user mapping. Update Rollup 8 contains a fix for this problem which has to be enabled manually. See <a href="http://xrm.ascentium.com/blog/crm/Post768.aspx">http://xrm.ascentium.com/blog/crm/Post768.aspx</a>.</p>
<p>Another common issue is that the import fails with the following error</p>
<blockquote><p>ExecuteNonQuery requires an open and available Connection. The connection&#8217;s current state is closed.</p></blockquote>
<p>This error is likely caused by an issue in the .NET 2 Framework. See this article of the EMEA CRM Support team for a description<br />
<a href="http://blogs.msdn.com/emeadcrmsupport/archive/2009/10/12/error-while-importing-an-organization-executenonquery-requires-an-open-and-available-connection.aspx">http://blogs.msdn.com/emeadcrmsupport/archive/2009/10/12/error-while-importing-an-organization-executenonquery-requires-an-open-and-available-connection.aspx</a></p>
<p>Another cause of this issue are reports which could not be published to the report server by any reason. For example, reports which are spiced up with custom assemblies cannot be published without the referenced assemblies. The import will fail when it tries to publish such a report. In this case enable the tracing, which generates a trace file for the mmc-console. With help of this file you can identify the report which is making problems. To solve the issue, you can either delete it directly from the database (unsupported) or you delete it prior to the backup of the originating system. After the successful import, you can import the problematic report again.</p>
<p>See this thread in the CRM Deployment forum for further description <a href="http://social.microsoft.com/Forums/en/crmdeployment/thread/1336bb5d-a119-44e3-83dd-1f557edccc31">http://social.microsoft.com/Forums/en/crmdeployment/thread/1336bb5d-a119-44e3-83dd-1f557edccc31</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2010/02/common-errors-on-organization-import/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: debug mailing errors</title>
		<link>http://www.langalaxy.de/2010/02/howto-debug-mailing-errors/</link>
		<comments>http://www.langalaxy.de/2010/02/howto-debug-mailing-errors/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 18:34:23 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[E-Mail Router]]></category>
		<category><![CDATA[Outlook Client]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=374</guid>
		<description><![CDATA[If you are sending emails from Dynamics CRM, there is the possibility that the process of sending the mails fails. This article should give you a short overview on existing articles, which are describing the debugging details. In order to look whether there are pending or failed mails in your system, you can use following [...]]]></description>
			<content:encoded><![CDATA[<p>If you are sending emails from Dynamics CRM, there is the possibility that the process of sending the mails fails. This article should give you a short overview on existing articles, which are describing the debugging details.</p>
<p>In order to look whether there are pending or failed mails in your system, you can use following search. As you can see, it is based on the existing view &#8216;My pending E-mails&#8217;. You simply have to remove the &#8216;Owner = current user&#8217; condition.</p>
<p><a href="http://www.langalaxy.de/wp-content/uploads/2010/02/Pending-emails1.png"><img class="aligncenter size-full wp-image-378" title="Pending-emails" src="http://www.langalaxy.de/wp-content/uploads/2010/02/Pending-emails1.png" alt="" width="600" height="484" /></a></p>
<p>If the result of this search contains mails which are in pending state since ages or have failed to send, it&#8217;s debugging time again. If you are using the Outlook Client for sending the mail, then take a look at <a href="http://blogs.msdn.com/emeadcrmsupport/archive/2009/12/18/how-to-activate-crm-4-0-platform-tracing-on-server-client-and-e-mail-router.aspx">http://blogs.msdn.com/emeadcrmsupport/archive/2009/12/18/how-to-activate-crm-4-0-platform-tracing-on-server-client-and-e-mail-router.aspx</a> for a description on enabling the tracing.</p>
<p>The debugging on the E-Mail Router side is a little bit more complex, but it is explained in detail in this article <a href="http://blogs.msdn.com/benlec/archive/2008/03/25/how-to-implement-logging-for-the-microsoft-crm-4-0-e-mail-connector.aspx">http://blogs.msdn.com/benlec/archive/2008/03/25/how-to-implement-logging-for-the-microsoft-crm-4-0-e-mail-connector.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2010/02/howto-debug-mailing-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamics CRM Blog List</title>
		<link>http://www.langalaxy.de/2009/12/dynamics-crm-blog-list/</link>
		<comments>http://www.langalaxy.de/2009/12/dynamics-crm-blog-list/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 12:26:05 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=348</guid>
		<description><![CDATA[A few weeks ago, Ben Riga posted a OPML-file of Dynamics CRM Blogs he is reading. I&#8217;ve merged his list into mine, which I will provide here for download. Dynamics CRM Blog List Update The list was updated with some more blogs. If your blog is missing, please leave a comment and I will update [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, <a href="http://blogs.msdn.com/benriga/archive/2009/12/07/dynamics-crm-blogs.aspx">Ben Riga posted a OPML-file</a> of Dynamics CRM Blogs he is reading. I&#8217;ve merged his list into mine, which I will provide here for download.</p>
<p><strong>Dynamics CRM Blog List</strong><br />
<a class="downloadlink" href="http://www.langalaxy.de/files/crm-blogs.zip" title="Version1.5 heruntergeladen 60 mal" >Dynamics CRM Blog List (60)</a></p>
<p><strong>Update</strong><br />
The list was updated with some more blogs. If your blog is missing, please leave a comment and I will update the list.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2009/12/dynamics-crm-blog-list/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>0&#215;80044195 The specified language code is not valid for this organization</title>
		<link>http://www.langalaxy.de/2009/12/0x80044195-the-specified-language-code-is-not-valid-for-this-organization/</link>
		<comments>http://www.langalaxy.de/2009/12/0x80044195-the-specified-language-code-is-not-valid-for-this-organization/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 15:36:47 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[Redeployment]]></category>
		<category><![CDATA[Support]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=300</guid>
		<description><![CDATA[Recently I had a problem with a dev system at a customer site. The system was redeployed from the production site without any problems. Everything worked well, until I tried to customize the system. As soon as I tried to create new attributes or new relationships, the system produced an error The language code 1033 [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had a problem with a dev system at a customer site. The system was redeployed from the production site without any problems. Everything worked well, until I tried to customize the system. As soon as I tried to create new attributes or new relationships, the system produced an error</p>
<blockquote><p>The language code 1033 is not a valid language for this organization</p></blockquote>
<p>I searched the net, but the only things I found was that this error is listed as an error code of Dynamics CRM (see <a href="http://msdn.microsoft.com/en-us/library/bb930493(loband).aspx">http://msdn.microsoft.com/en-us/library/bb930493(loband).aspx</a>) and a thread in the Dynamics Forums (<a href="http://social.microsoft.com/Forums/en/crm/thread/70bbbf36-1ecb-443e-852a-bebaa70c7206">http://social.microsoft.com/Forums/en/crm/thread/70bbbf36-1ecb-443e-852a-bebaa70c7206</a>), but sadly without a solution.</p>
<p>After contacting the Dynamics CRM support team, the cause of this error was found in a matter of minutes. The system was redeployed from an installation with German base language to a system with English base language. This is an <strong>unsupported</strong> scenario. </p>
<p>Neither there was a warning at the redeployment wizard, nor is this mentioned in the Implementation Guide (at least, I haven&#8217;t found it there). The support engineer provided me following excerpt there this scenario is described as unsupported</p>
<blockquote><p>The original deployment and the new deployment of Microsoft Dynamics CRM must be the same base language.<br />
<br />
<em><strong>NOTE:</strong> Redeployment between different base languages, for example from English to French, is not supported.</em></p></blockquote>
<p>To bad that this snippet is only included in the course material for the Installation and Deployment exam and not in the Implementation Guide. The only solution was to do a full reinstall of Dynamics CRM with the same base language as the originating system and to do the reployment again.</p>
<p><strong>Update</strong><br />
In the meantime I got new feedback from the support engineer (thank you José) who is responsible for my case. Microsoft will document this scenario either with a knowledgebase article or by adding the quoted note to the Implementation Guide. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2009/12/0x80044195-the-specified-language-code-is-not-valid-for-this-organization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System.InvalidOperationException at crm logon</title>
		<link>http://www.langalaxy.de/2009/11/system-invalidoperationexception-at-crm-logon/</link>
		<comments>http://www.langalaxy.de/2009/11/system-invalidoperationexception-at-crm-logon/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 17:58:56 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Support]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=283</guid>
		<description><![CDATA[Today I had a service call with Microsoft CRM Support. After the import of an organization into a development system at a client, it stopped working. Trying to logon CRM via web client fails with error message: System.InvalidOperationException: ExecuteNonQuery requires the command to have a transaction when the connection assigned to the command is in [...]]]></description>
			<content:encoded><![CDATA[<p>Today I had a service call with Microsoft CRM Support. After the import of an organization into a development system at a client, it stopped working. Trying to logon CRM via web client fails with error message: </p>
<blockquote><p>System.InvalidOperationException: ExecuteNonQuery requires the command to have a transaction when the connection assigned to the command is in a pending local transaction.  The Transaction property of the command has not been initialized.</p></blockquote>
<p>The solution of this problem was quite simple (after the reason was found). The application pool of the system had insufficient rights for the organization database.</p>
<p>To get the system up and running again you have to </p>
<ol>
<li>Identify the identity of the application pool</li>
<li>Ensure the app pool idenity has a sql user assigned for the organization database</li>
<li>Grant the app pool identity the right db_owner on the organization database</li>
<li>Restart IIS</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2009/11/system-invalidoperationexception-at-crm-logon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Who triggered my plugin?</title>
		<link>http://www.langalaxy.de/2009/09/who-triggered-my-plugin/</link>
		<comments>http://www.langalaxy.de/2009/09/who-triggered-my-plugin/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 18:40:58 +0000</pubDate>
		<dc:creator>ckeller</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://www.langalaxy.de/?p=256</guid>
		<description><![CDATA[Do you ever want to know who triggered the execution of a plugin? This knowledge is handy, if you have to do some operation if the user entered data, but not if an external application made an update with the SDK. The IPluginExecutionContext contains the property CallerOrigin which will tell us more about the origin [...]]]></description>
			<content:encoded><![CDATA[<p>Do you ever want to know who triggered the execution of a plugin? This knowledge is handy, if you have to do some operation if the user entered data, but not if an external application made an update with the SDK.</p>
<p>The <em>IPluginExecutionContext</em> contains the property <a href="http://msdn.microsoft.com/en-us/library/cc156395.aspx">CallerOrigin</a> which will tell us more about the origin which triggered the plugin execution. </p>
<p>The CallerOrigin is populated with one of these four types</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/cc156328.aspx">Application</a> &#8211; The user has triggered the event (by creating or editing a record).</li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc156329.aspx">AsyncService</a> &#8211; The async service triggered the event (by workflow execution).</li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc156336.aspx">WebServiceApi</a> &#8211; An application which makes use of the crm web service triggered the event.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc153425.aspx">OfflineOrigin</a> &#8211; The event was triggered by replaying offline actions while going online.</li>
</ul>
<p>This sample shows how to make use of this property (the sample is part of the sdk article <a href="http://msdn.microsoft.com/en-us/library/cc151093.aspx">Online vs. Offline Plug-ins</a>)</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">Microsoft.Crm.Sdk</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">Microsoft.Crm.SdkTypeProxy</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> OnlinePlugin <span style="color: #008000;">:</span> IPlugin
<span style="color: #000000;">&#123;</span>
   <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> Execute<span style="color: #000000;">&#40;</span>IPluginExecutionContext context<span style="color: #000000;">&#41;</span>
   <span style="color: #000000;">&#123;</span>
      <span style="color: #008080; font-style: italic;">// Check to see if this is a playback context.</span>
      CallerOrigin callerOrigin <span style="color: #008000;">=</span> context.<span style="color: #0000FF;">CallerOrigin</span><span style="color: #008000;">;</span>
&nbsp;
      <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>callerOrigin <span style="color: #008000;">is</span> OfflineOrigin<span style="color: #000000;">&#41;</span>
      <span style="color: #000000;">&#123;</span>
         <span style="color: #008080; font-style: italic;">// This plug-in was fired from the playback queue after the user</span>
         <span style="color: #008080; font-style: italic;">// selected to go online within Microsoft Dynamics CRM for Outlook.</span>
         return<span style="color: #008000;">;</span>
      <span style="color: #000000;">&#125;</span>
      <span style="color: #0600FF;">else</span>
      <span style="color: #000000;">&#123;</span>
         <span style="color: #008080; font-style: italic;">// Do something here.</span>
      <span style="color: #000000;">&#125;</span>
   <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.langalaxy.de/2009/09/who-triggered-my-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
