<?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>CRM Accelerators</title>
	<atom:link href="http://www.crmaccelerators.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crmaccelerators.net</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 19:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CRM Migration Assistant 1.3.3 Released</title>
		<link>http://www.crmaccelerators.net/2012/02/01/crm-migration-assistant-1-3-3-released/</link>
		<comments>http://www.crmaccelerators.net/2012/02/01/crm-migration-assistant-1-3-3-released/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 19:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[CRM2011]]></category>
		<category><![CDATA[MSCRM]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/?p=132</guid>
		<description><![CDATA[We have released a small update to the CRM Migration Assistant which includes the following updates: Added 0 and 1 as supported Submit Options Fixed issues with converting .AddOption to .addOption method. Conversion alerts were added for the following JavaScript properties: .title .vAlign .contentEditable .innerText Any .style property that is not either display or visible [...]]]></description>
			<content:encoded><![CDATA[<p>We have released a small update to the CRM Migration Assistant which includes the following updates:</p>
<ol>
<li>Added 0 and 1 as supported Submit Options </li>
<li>Fixed issues with converting .AddOption to .addOption method. </li>
<li>Conversion alerts were added for the following JavaScript properties: </li>
</ol>
<ul>
<li>.title </li>
<li>.vAlign </li>
<li>.contentEditable </li>
<li>.innerText </li>
</ul>
<ol>
<li>Any .style property that is not either <strong>display</strong> or <strong>visible</strong> is now marked as a conversion issue. This is to help identify instances where people have created unsupported code which will probably not work within the CRM 2011 environment. </li>
<li>The use of document.all.mnuBar1 now produces a conversion alert. </li>
<li>Instances of the DOM element <strong>&#8216;Notifications&#8217;</strong> will cause a conversion alert will be generated. This is a special CRM form element at the top of each data entry form that shows alerts to the user. For more information on using this technique, see this <a href="http://community.dynamics.com/product/crm/crmtechnical/b/crmmarcoamoedoeng/archive/2009/06/09/show-custom-warning-messages-on-microsoft-dynamics-crm.aspx" target="_blank">article</a>. </li>
</ol>
<p>&#160;</p>
<p>You may download the new package <a href="http://www.crmaccelerators.net/products/crm-migration-assistant-2/crm-migration-assistant-demo-request/" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2012/02/01/crm-migration-assistant-1-3-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting to CRM 2011 JavaScript: Form Elements</title>
		<link>http://www.crmaccelerators.net/2012/01/27/converting-to-crm-2011-javascript-form-elements/</link>
		<comments>http://www.crmaccelerators.net/2012/01/27/converting-to-crm-2011-javascript-form-elements/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 11:37:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[CRM2011]]></category>
		<category><![CDATA[MSCRM]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/?p=130</guid>
		<description><![CDATA[One of the most fascinating things I found during the creation of the CRM Migration Assistant is the different methods developers use to access CRM form fields, and other form elements. Normally, people access a form field using the following style of JavaScript: crmForm.all.name This is the normal and perfectly acceptable (and supported) method for [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most fascinating things I found during the creation of the CRM Migration Assistant is the different methods developers use to access CRM form fields, and other form elements.</p>
<p>Normally, people access a form field using the following style of JavaScript:</p>
<blockquote><p>crmForm.all.name</p></blockquote>
<p>This is the normal and perfectly acceptable (and supported) method for referencing CRM form fields.</p>
<p>But, for various reasons, I&#8217;ve also seen fields reference using these crmForm methods:</p>
<blockquote><p>crmForm.name<br />
crmForm.elements["name"]<br />
crmForm.all["name"]<br />
crmForm["name"]</p></blockquote>
<p>This is perfectly acceptable JavaScript and the CRM 4.0 object model had no objection to this practice, so all of these methods seemed to work.</p>
<p>In fact, accessing CRM form fields using the JavaScript <strong>document</strong> object using these methods worked as well:</p>
<blockquote><p>document.all(&#8220;name_c&#8221;)<br />
document.all["name"]<br />
document.getElementById(&#8220;name_c&#8221;)</p></blockquote>
<p>The real question is: Will these methods continue to work when the organization is upgraded to CRM 2011?</p>
<p>The answer is: If you have used standard and supported methods within your JavaScript, then yes, the code will be supported.</p>
<p>This means referencing all of your form fields using the standard access model:</p>
<blockquote><p>crmForm.all.name</p></blockquote>
<p>Other options may or may not work correctly. Your experience my vary depending on which of the above methods were used.</p>
<p>Fortunately, the CRM Migration Assistant converts all of these &#8220;unsupported&#8221; form field access types into fully-supported CRM 2011 code using Xrm.Page.getAttribute and Xrm.Page.getControl, depending on how the field was being used.</p>
<p>If you haven&#8217;t already, download the trial version of the <a href="http://www.crmaccelerators.net/products/crm-migration-assistant-2/" target="_blank">CRM Migration Assistant</a> and convert some of your questionable JavaScript through the conversion process.</p>
<p>If you run into any conversion issues, send me a code sample so that I can update the conversion process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2012/01/27/converting-to-crm-2011-javascript-form-elements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting to CRM 2011 JavaScript: The basics</title>
		<link>http://www.crmaccelerators.net/2012/01/18/converting-to-crm-2011-javascript-the-basics/</link>
		<comments>http://www.crmaccelerators.net/2012/01/18/converting-to-crm-2011-javascript-the-basics/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 11:04:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[CRM2011]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/?p=129</guid>
		<description><![CDATA[I thought that I would outline some of the conversion techniques that we use in the CRM Migration Assistant to convert JavaScript from the CRM 4.0&#160; object model to the CRM 2011 object model. Many of the techniques we used in CRM 4.0 were technically unsupported.&#160; But since work had to be done, we did [...]]]></description>
			<content:encoded><![CDATA[<p>I thought that I would outline some of the conversion techniques that we use in the <a href="http://www.crmaccelerators.net/products/crm-migration-assistant-2/" target="_blank">CRM Migration Assistant</a> to convert JavaScript from the CRM 4.0&#160; object model to the CRM 2011 object model.</p>
<p>Many of the techniques we used in CRM 4.0 were technically unsupported.&#160; But since work had to be done, we did stuff like that anyway.</p>
<p>As part of the migration process we actually convert many forms of unsupported, and supported, code into their supported CRM 2011 equivalents.</p>
<p>&#160;</p>
<p>Here are a few of the basic conversions that you can do:</p>
<h2>Tabs</h2>
<table border="0" cellspacing="0" cellpadding="0" width="400">
<tbody>
<tr>
<td valign="top" width="200"><strong>CRM 4.0</strong></td>
<td valign="top" width="200"><strong>CRM 2011</strong></td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab0Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(0)</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab1Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(1)</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab2Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(2)</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab3Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(3)</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab4Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(4)</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab5Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(5)</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab6Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(6)</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.all.tab7Tab</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.ui.tabs.get(7)</pre>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Global Variables and Methods</h2>
<table border="0" cellspacing="0" cellpadding="0" width="400">
<tbody>
<tr>
<td valign="top" width="200"><strong>CRM 4.0</strong></td>
<td valign="top" width="200"><strong>CRM 2011</strong></td>
</tr>
<tr>
<td valign="top" width="200">
<pre>ORG_LANGUAGE_CODE</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.context.getOrgLcid()</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>ORG_UNIQUE_NAME</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.context.getOrgUniqueName()</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>SERVER_URL</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.context.getServerUrl()</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>USER_LANGUAGE_CODE</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.context.getUserLcid()</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>GenerateAuthenticationHeader()</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.context.getAuthenticationHeader()</pre>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2>Form Properties and Methods</h2>
<table border="0" cellspacing="0" cellpadding="0" width="400">
<tbody>
<tr>
<td valign="top" width="200"><strong>CRM 4.0</strong></td>
<td valign="top" width="200"><strong>CRM 2011</strong></td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.ObjectId</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.data.entity.getId()</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.ObjectTypeName</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.data.entity.getEntityName()</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.Save()</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.data.entity.save()</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmForm.SaveAndClose()</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.data.entity.save('SaveAndClose')</pre>
</td>
</tr>
<tr>
<td valign="top" width="200">
<pre>crmFormSubmit.crmFormSubmitId.value</pre>
</td>
<td valign="top" width="200">
<pre>Xrm.Page.data.entity.getId()</pre>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>For more information on how the CRM Migration Assistant can help convert your JavaScript, visit our product <a href="http://www.crmaccelerators.net/products/crm-migration-assistant-2/" target="_blank">page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2012/01/18/converting-to-crm-2011-javascript-the-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be careful changing the full name format within Dynamics CRM</title>
		<link>http://www.crmaccelerators.net/2011/12/07/be-careful-changing-the-full-name-format-within-dynamics-crm/</link>
		<comments>http://www.crmaccelerators.net/2011/12/07/be-careful-changing-the-full-name-format-within-dynamics-crm/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 08:21:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[MSCRM]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/2011/12/07/be-careful-changing-the-full-name-format-within-dynamics-crm/</guid>
		<description><![CDATA[One of the settings that is available to a Dynamics CRM administrator is the ability to change the format of the full name.&#160; The options can be seen below: &#160; &#160; I&#8217;ve seen a few customers change the the format from the default, First Name Last Name, to Last Name, First Name.&#160; This allows you [...]]]></description>
			<content:encoded><![CDATA[<p>One of the settings that is available to a Dynamics CRM administrator is the ability to change the format of the full name.&#160; The options can be seen below:</p>
<p>&#160;</p>
<p><a href="http://crmaccelerators.net/images/e07f51ed9ec6_12C76/image.png" rel="lightbox"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://crmaccelerators.net/images/e07f51ed9ec6_12C76/image_thumb.png" width="454" height="244" /></a></p>
<p>&#160;</p>
<p>I&#8217;ve seen a few customers change the the format from the default, <strong>First Name Last Name</strong>, to <strong>Last Name, First Name</strong>.&#160; This allows you to Contacts and Leads sorted by last name.</p>
<h2>The Issues</h2>
<p>This is very effective, but here are some issues:</p>
<ul>
<li>when performing a quick search ( typing in a name in the search box at the top of a view ), you must enter the full name as <strong>Last Name, First Name</strong>, instead of <strong>First Name Last Name</strong>. For example: Smith, Bob instead of Bob Smith.&#160; This is usually counter intuitive to most users.</li>
</ul>
<p>&#160;</p>
<ul>
<li>Mail Merge operations can no longer use Full Name as a field. You must use the First Name and Last Name fields.&#160; Otherwise, the person&#8217;s name will be displayed in reverse order.</li>
</ul>
<p>&#160;</p>
<p>Those are just a couple of things to keep in mind when you start changing the default system settings.</p>
<p>Please let me know if you have any comments or have found additional issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2011/12/07/be-careful-changing-the-full-name-format-within-dynamics-crm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamics CRM 4.0-2011 Upgrade Tip #6: Clean up deleted records</title>
		<link>http://www.crmaccelerators.net/2011/12/06/dynamics-crm-4-0-2011-upgrade-tip-6-clean-up-deleted-records/</link>
		<comments>http://www.crmaccelerators.net/2011/12/06/dynamics-crm-4-0-2011-upgrade-tip-6-clean-up-deleted-records/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 07:03:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[Upgrade to CRM 2011]]></category>
		<category><![CDATA[MSCRM]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/2011/12/06/dynamics-crm-4-0-2011-upgrade-tip-6-clean-up-deleted-records/</guid>
		<description><![CDATA[Full disclosure: I am blatantly stealing this idea from Joel Lindstrom at Customer Effective, as outlined in this article: Preparing for CRM 2011: How to Make your Microsoft Dynamics CRM 2011 Upgrade Faster Run the deletion service. In CRM 4.0, if you deleted records, the records were not immediately deleted-they were flagged for deletion, then [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Full disclosure:</strong> I am blatantly stealing this idea from Joel Lindstrom at Customer Effective, as outlined in this article:</p>
<h5><a href="http://blog.CustomerEffective.com/blog/2011/03/preparing-for-crm-2011-how-to-make-your-microsoft-dynamics-crm-2011-upgrade-faster.html">Preparing for CRM 2011: How to Make your Microsoft Dynamics CRM 2011 Upgrade Faster</a></h5>
<blockquote><p>Run the deletion service. In CRM 4.0, if you deleted records, the records were not immediately deleted-they were flagged for deletion, then the CRM deletion service came along, usually within 24 hours, and deleted the records.</p>
<p>One problem that can happen, especially if large numbers of records were bulk deleted, is that records can get stuck in the &#8220;soft delete&#8221; state.</p>
<p>In 2011, there is no more soft deletion of records-they are deleted immediately from the database when the records are deleted in CRM. When you upgrade, the upgrade process will hard delete any leftover &#8220;soft deleted&#8221; records. If you have many deleted records in your system, this step can take a while.</p>
<p>Before you upgrade, you may want to search your main entity tables to identify if you have a large number of soft deleted records still sitting in your database. For example, the following query will identify any deleted records that still exist in the account tables:</p>
<p><em>select * from accountbase where deletionstatecode = 2</em></p>
<p>If you find that there are high volumes of deleted records still residing in the database, you can clean them up with a free tool such as <a href="http://blogs.infinite-x.net/2009/08/26/free-utility-run-crm-deletion-service/">Mitch Milam&#8217;s &quot;Run CRM Deletion Service&quot; utility.</a></p>
</blockquote>
<p>&#160;</p>
<p>Sorry Joel, but it was something I forgot to put on my own list and just too good not to repost.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2011/12/06/dynamics-crm-4-0-2011-upgrade-tip-6-clean-up-deleted-records/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dynamics CRM 4.0-2011 Upgrade Tip #5: Remove unsupported database changes</title>
		<link>http://www.crmaccelerators.net/2011/12/05/dynamics-crm-4-0-2011-upgrade-tip-5-remove-unsupported-database-changes/</link>
		<comments>http://www.crmaccelerators.net/2011/12/05/dynamics-crm-4-0-2011-upgrade-tip-5-remove-unsupported-database-changes/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 08:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[Upgrade to CRM 2011]]></category>
		<category><![CDATA[MSCRM]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/2011/12/05/dynamics-crm-4-0-2011-upgrade-tip-5-remove-unsupported-database-changes/</guid>
		<description><![CDATA[As you used your Dynamics CRM 4.0 database you may have had occasion to add &#34;unsupported&#34; objects to the database.&#160; These could be anything from indexes ( fairly supported ) to triggers ( pretty unsupported ) to custom stored procedures. You need to consider removing all of these additions prior to the upgrade. The pre-upgrade [...]]]></description>
			<content:encoded><![CDATA[<p>As you used your Dynamics CRM 4.0 database you may have had occasion to add &quot;unsupported&quot; objects to the database.&#160; These could be anything from indexes ( fairly supported ) to triggers ( pretty unsupported ) to custom stored procedures.</p>
<p>You need to consider removing all of these additions prior to the upgrade.</p>
<p>The pre-upgrade validation checks will give you a warning that unsupported things exist and the installation may actually fail, depending on the changes you made.&#160; And as noted by an <a href="http://blog.customereffective.com/blog/2011/03/preparing-for-crm-2011-how-to-make-your-microsoft-dynamics-crm-2011-upgrade-faster.html" target="_blank">article</a>, item #3,&#160; from Customer Effective, the error message may not be very clear as to what the problem is.</p>
<p>Just a word of warning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2011/12/05/dynamics-crm-4-0-2011-upgrade-tip-5-remove-unsupported-database-changes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dynamics CRM 4.0-2011 Upgrade Tip #4: Clean up old Synch table entries</title>
		<link>http://www.crmaccelerators.net/2011/12/02/dynamics-crm-4-0-2011-upgrade-tip-4-clean-up-old-synch-table-entries/</link>
		<comments>http://www.crmaccelerators.net/2011/12/02/dynamics-crm-4-0-2011-upgrade-tip-4-clean-up-old-synch-table-entries/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 08:41:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[Upgrade to CRM 2011]]></category>
		<category><![CDATA[MSCRM]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/2011/12/02/dynamics-crm-4-0-2011-upgrade-tip-4-clean-up-old-synch-table-entries/</guid>
		<description><![CDATA[If you are using the CRM Outlook client you will find two sets of tables in the CRM database beginning with: SubscriptionStatistics and SyncEntry. Like the AsyncOperationsBase table containing old and useless information, these tables present the same sorts of issues. Luckily, the Microsoft UK Dynamics Support team has an answer: Script to clean up [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using the CRM Outlook client you will find two sets of tables in the CRM database beginning with: SubscriptionStatistics and SyncEntry.</p>
<p>Like the AsyncOperationsBase table containing old and useless information, these tables present the same sorts of issues.</p>
<p>Luckily, the Microsoft UK Dynamics Support team has an answer:</p>
<h5><a href="http://blogs.msdn.com/b/ukdynsupport/archive/2009/05/07/script-to-clean-up-syncentry-guid-and-subscriptionstatistics-guid-tables-in-the-sql-database.aspx" target="_blank">Script to clean up SyncEntry_&lt;GUID&gt; and SubscriptionStatistics_&lt;GUID&gt; tables in the SQL database</a></h5>
<p>&#160;</p>
<p>There are some slight modifications to make the script run better, as outlined in an article from Customer Effective on the same subject:</p>
<p><a href="http://blog.customereffective.com/blog/2010/12/clean-up-old-synch-tables-in-your-microsoft-crm-database.html" target="_blank">Clean Up Old Synch Tables In Your Microsoft CRM Database</a></p>
<p>&#160;</p>
<p>Again, this is a SQL operation so if you are not comfortable with SQL, the please find someone who is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2011/12/02/dynamics-crm-4-0-2011-upgrade-tip-4-clean-up-old-synch-table-entries/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dynamics CRM 4.0-2011 Upgrade Tip #3: Clean up the System Job and Workflow Job Tables</title>
		<link>http://www.crmaccelerators.net/2011/12/01/dynamics-crm-4-0-2011-upgrade-tip-3-clean-up-the-system-job-and-workflow-job-tables/</link>
		<comments>http://www.crmaccelerators.net/2011/12/01/dynamics-crm-4-0-2011-upgrade-tip-3-clean-up-the-system-job-and-workflow-job-tables/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 08:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[MSCRM]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/2011/12/01/dynamics-crm-4-0-2011-upgrade-tip-3-clean-up-the-system-job-and-workflow-job-tables/</guid>
		<description><![CDATA[In CRM 4.0 the system jobs table, otherwise known as the AsyncOperationsBase table, could expand to the point that normal CRM operations were affected.&#160; That&#8217;s a worse-case scenario. Regardless of current system performance, an abnormally large number of records in this table can slow down the upgrade process.&#160; Since we want our upgrade to go [...]]]></description>
			<content:encoded><![CDATA[<p>In CRM 4.0 the system jobs table, otherwise known as the AsyncOperationsBase table, could expand to the point that normal CRM operations were affected.&#160; That&#8217;s a worse-case scenario.</p>
<p>Regardless of current system performance, an abnormally large number of records in this table can slow down the upgrade process.&#160; Since we want our upgrade to go as smoothly as possible, it would be a great idea to clean out as much data as you can.</p>
<p>Here are some tools that will help you clean up records that are no longer needed:</p>
<ul>
<li><a href="http://support.microsoft.com/kb/957871" target="_blank">The Workflow Expansion Task records cause the AsyncOperationBase table in the MSCRM database to grow too large in Microsoft Dynamics CRM 4.0</a> </li>
<li><a href="http://support.microsoft.com/kb/968755" target="_blank">The AsyncOperationBase and WorkflowLogBase tables grow very large and performance issues occur when you use many workflows in Microsoft Dynamics CRM 4.0</a> </li>
</ul>
<p>&#160;</p>
<blockquote><p>Note: </p>
<p>These articles give you SQL scripts to run so you really need to be comfortable with SQL operations before attempting them.&#160; If you are not, then please find someone who is.</p>
<p>Finally, most of these operations can affect the entire system so you may need to run them after normal business hours.</p>
</blockquote>
<p>Additionally, here are a couple of tools that I have found that may be of use.&#160; I&#8217;ve not used either in a production environment so if you have questions, please contact the people who wrote them before putting them to use.</p>
<ul>
<li><a href="http://www.interactivewebs.com/crm/Support/AsyncOperationBaseDeleteTool.aspx" target="_blank">CRM Automatic AsyncOperationBase Delete Tool</a></li>
<li><a href="http://mscrmtools.wordpress.com/tools/bulk-delete-launcher" target="_blank">Bulk Delete Launcher</a></li>
</ul>
<p>&#160;</p>
<p>I&#8217;ll try and dig into these utilities more in-depth in a later article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2011/12/01/dynamics-crm-4-0-2011-upgrade-tip-3-clean-up-the-system-job-and-workflow-job-tables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CRM Migration Assistant 1.3.1 Released</title>
		<link>http://www.crmaccelerators.net/2011/09/30/crm-migration-assistant-1-3-1-released/</link>
		<comments>http://www.crmaccelerators.net/2011/09/30/crm-migration-assistant-1-3-1-released/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 12:32:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[DynamicsCRM]]></category>
		<category><![CDATA[MSCRM2011]]></category>
		<category><![CDATA[MSDYNCRM]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/2011/09/30/crm-migration-assistant-1-3-1-released/</guid>
		<description><![CDATA[We&#8217;ve made a couple of changes to the CRM Migration Assistant this week. You may download the trial version here. &#160; Navigation Element Conversion The conversion of navigation elements ( navActivities, navActivityHistory, etc. ) was initially added to convert code like this: var myvar = document.all.navOpps.style.display; &#160; into this: var myvar = Xrm.Page.ui.navigation.items.get(&#34;navOpps&#34;).getVisible(); &#160; An [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve made a couple of changes to the CRM Migration Assistant this week.</p>
<p>You may download the trial version <a href="http://www.crmaccelerators.net/products/crm-migration-assistant-2/crm-migration-assistant-demo-request/" target="_blank">here</a>.</p>
<p>&#160;</p>
<h2>Navigation Element Conversion</h2>
<p>The conversion of navigation elements ( navActivities, navActivityHistory, etc. ) was initially added to convert code like this:</p>
<pre class="code"><span style="color: blue">var </span>myvar = document.all.navOpps.style.display;</pre>
<p>&#160;</p>
<p>into this:</p>
<pre class="code"><span style="color: blue">var </span>myvar = Xrm.Page.ui.navigation.items.get(<span style="color: maroon">&quot;navOpps&quot;</span>).getVisible();</pre>
<p>&#160;</p>
<p>An issue was discovered where we were improperly converting in certain cases. Take this example:</p>
<pre class="code"><span style="color: blue">var </span>navContracts = document.all.navContracts;
<span style="color: blue">var </span>navCases = document.all.navService;
<span style="color: blue">var </span>navInvoices = document.all.navInvoices;
<span style="color: blue">if </span>(navCases != <span style="color: blue">null</span>) { navCases.style.display = <span style="color: maroon">&quot;none&quot;</span>; }
<span style="color: blue">if </span>(navContracts != <span style="color: blue">null</span>) { navContracts.style.display = <span style="color: maroon">&quot;none&quot;</span>; }
<span style="color: blue">if </span>(navInvoices != <span style="color: blue">null</span>) { navInvoices.style.display = <span style="color: maroon">&quot;none&quot;</span>; }</pre>
<p>will now convert into this:</p>
<pre class="code"><span style="color: blue">var </span>navContracts = Xrm.Page.ui.navigation.items.get(<span style="color: maroon">&quot;navContracts&quot;</span>);
<span style="color: blue">var </span>navCases = Xrm.Page.ui.navigation.items.get(<span style="color: maroon">&quot;navService&quot;</span>);
<span style="color: blue">var </span>navInvoices = Xrm.Page.ui.navigation.items.get(<span style="color: maroon">&quot;navInvoices&quot;</span>);
<span style="color: blue">if </span>(navCases != <span style="color: blue">null</span>) { Xrm.Page.ui.navigation.items.get(<span style="color: maroon">&quot;navCases&quot;</span>).setVisible(<span style="color: blue">false</span>); }
<span style="color: blue">if </span>(navContracts != <span style="color: blue">null</span>) { Xrm.Page.ui.navigation.items.get(<span style="color: maroon">&quot;navContracts&quot;</span>).setVisible(<span style="color: blue">false</span>); }
<span style="color: blue">if </span>(navInvoices != <span style="color: blue">null</span>) { Xrm.Page.ui.navigation.items.get(<span style="color: maroon">&quot;navInvoices&quot;</span>).setVisible(<span style="color: blue">false</span>); }</pre>
<p>&#160;</p>
<p>The issue revolves around the fact that the developer used the name of the navigation element as the variable name to hold a reference to the DOM element.&#160; In the case above, the code is correct and will function correctly, but a redundancy was created.&#160; And unfortunately, there is no really good way around this &#8211; besides not naming your variable names the same as pre-defined DOM objects &#8211; because this:</p>
<pre class="code">navCases.style.display = <span style="color: maroon">&quot;none&quot;</span>;</pre>
<p>&#160;</p>
<p>Is a perfectly legal JavaScript statement for hiding a form navigation element and the conversion process has no clear way to determine if you are using a variable or an object reference name</p>
<p>&#160;</p>
<h2>Navigation Group Identifier Alerts</h2>
<p>Occasionally you will find CRM JavaScript where someone is manipulating the group headers of the form navigation area. In CRM 2011, they look like this:</p>
<p><a href="http://crmaccelerators.net/images/CRM-Migration-Assistant-1.3.1-Released_5E6D/image.png" rel="lightbox"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://crmaccelerators.net/images/CRM-Migration-Assistant-1.3.1-Released_5E6D/image_thumb.png" width="134" height="226" /></a></p>
<p>CRM 4.0 has similar groupings, but with a different style of triangle. They have IDs like:</p>
<ul>
<li>_NA_SFA ( for Sales )</li>
<li>_NA_CS ( for Service )</li>
<li>_NA_MA ( for Marketing )</li>
</ul>
<p>&#160;</p>
<p>A conversion alert is created if any identifier that begins with &quot;_NA_&quot; is found.&#160; While this type of code may still work in CRM 2011, you may wish to seek alternatives.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2011/09/30/crm-migration-assistant-1-3-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM Migration Assistant 1.3 Released</title>
		<link>http://www.crmaccelerators.net/2011/09/22/crm-migration-assistant-1-3-released/</link>
		<comments>http://www.crmaccelerators.net/2011/09/22/crm-migration-assistant-1-3-released/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 12:21:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crmaccelerators.net/2011/09/22/crm-migration-assistant-1-3-released/</guid>
		<description><![CDATA[Version 1.3 of our JavaScript conversion tool, CRM Migration Assistant has been released. More information is available here. &#160; Release Notes This month&#8217;s release focused mainly on enhancements to the conversion process. &#160; Bug Fixes Corrected an issue that produced an error when connecting directly to CRM 4.0 to extract customizations. &#160; Corrected an connection [...]]]></description>
			<content:encoded><![CDATA[<p>Version 1.3 of our JavaScript conversion tool, CRM Migration Assistant has been released.</p>
<p>More information is available <a href="http://www.crmaccelerators.net/products/crm-migration-assistant-2/" target="_blank">here</a>.</p>
<p>&nbsp;</p>
<h1>Release Notes</h1>
<p>This month&#8217;s release focused mainly on enhancements to the conversion process.</p>
<p>&nbsp;</p>
<h2>Bug Fixes</h2>
<ul>
<li>Corrected an issue that produced an error when connecting directly to CRM 4.0 to extract customizations.</li>
</ul>
<p>&nbsp;</p>
<ul>
<li>Corrected an connection string issue when publishing to CRM 2011 via Internet Facing Deployment ( IFD ).</li>
</ul>
<p>&nbsp;</p>
<ul>
<li>Fixed incorrect conversion of:&nbsp;&nbsp;&nbsp; </li>
<pre>var result = document.all("name").style.visibility;
to
var result = Xrm.Page.getAttribute("name").getVisible();</pre>
</ul>
<p>&nbsp;</p>
<ul>
<li>Fixed issue where, in certain cases, the internal CRM onload JavaScript event was being selected instead of user-defined onload JavaScript event.</li>
</ul>
<p>&nbsp;</p>
<ul>
<li>Corrected improper conversion of SetRequiredLevel and setAttrbute(&#8220;req&#8221;,x);</li>
</ul>
<p>&nbsp;</p>
<ul>
<li>
<h3>Corrected an issue with the Picklist.DefaultValue conversion.</h3>
</li>
</ul>
<blockquote><pre>4.0:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crmForm.all.new_mypicklist.DefaultValue = 2;
2011:&nbsp;&nbsp;&nbsp;&nbsp; Xrm.Page.getAttribute("new_mypicklist").setValue(2);
4.0:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var result = crmForm.all.new_mypicklist.DefaultValue;
2011:&nbsp;&nbsp;&nbsp;&nbsp; var result = Xrm.Page.getAttribute("new_mypicklist").getInitialValue();</pre>
</blockquote>
<pre>
</pre>
<h2>Enhancements</h2>
<p>&nbsp;</p>
<h3>change0() Method</h3>
<p>This is an undocumented and unsupported CRM method sometimes used by developers. This now gets converted to .fireOnChange.</p>
<p>&nbsp;</p>
<h3>Additional Toolbar IDs Added</h3>
<p>Added &#8220;_MS&#8221; and &#8220;ISV_&#8221; to the list of toolbar control IDs which will generate a conversion warning.</p>
<p>&nbsp;</p>
<h3>.value</h3>
<p>.value is not supported in the same way as .DataValue.</p>
<p>Example:</p>
<pre>crmForm.all.name.value = crmForm.all.line1.value;
Xrm.Page.getAttribute(\"name\").setValue(Xrm.Page.getAttribute(\"line1\").getValue());</pre>
<p>&nbsp;</p>
<h3>document.all now converts like crmForm.all</h3>
<p>Example:</p>
<pre>document.all.name.value = document.all.line1.value;
Xrm.Page.getAttribute(\"name\").setValue(Xrm.Page.getAttribute(\"line1\").getValue());
</pre>
<p>&nbsp;</p>
<h3>[IFRAME].url now converts like [IFRAME].src</h3>
<p>&nbsp;</p>
<h3>Added support for Partially-qualified Field Names.&nbsp;&nbsp;&nbsp; </h3>
<p>Example:</p>
<pre>crmForm.name.DataValue;
Xrm.Page.getAttribute("name").getValue();</pre>
<p>&nbsp;</p>
<h3>Modified conversion to treat: crmForm.elements like crmForm.all.</h3>
<p>&nbsp;</p>
<h3>Added conversion issue notes for:</h3>
<ul>
<li>AddParam</li>
<li>additionalparams</li>
<li>lookuptypeIcons</li>
<li>lookuptypes</li>
<li>setAttribute(&#8220;defaulttype&#8221;, &#8220;2&#8243;);</li>
<li>onabort</li>
<li>onblur</li>
<li>onchange</li>
<li>onclick</li>
<li>ondblclick</li>
<li>onerror</li>
<li>onfocus</li>
<li>onkeydown</li>
<li>onkeypress</li>
<li>onkeyup</li>
<li>onload</li>
<li>onmousedown</li>
<li>onmousemove</li>
<li>onmouseout</li>
<li>onmouseover</li>
<li>onmouseup</li>
<li>onreadystatechange</li>
<li>onreset</li>
<li>onresize</li>
<li>onscroll</li>
<li>onselect</li>
<li>onsubmit</li>
<li>onunload</li>
<li>areaActivityHistory</li>
<li>areaActivities</li>
<li>crmNavBar</li>
<li>mnuBar1</li>
</ul>
<p>&nbsp;</p>
<h3>If raw Navigation Items are found, they are converted:</h3>
<pre>navAsyncOperations.style.display = "none";
Xrm.Page.ui.navigation.items.get("navAsyncOperations").setVisible(false);

if (document.all.navSubConts != null)
if (Xrm.Page.ui.navigation.items.get(\"navSubConts\") != null)
</pre>
<p>&nbsp;</p>
<h3>Added conversion alert for non-standard try/catch block at the end of the event.</h3>
<p>&nbsp;</p>
<h3>Reduced the conversion time by 50%.</h3>
]]></content:encoded>
			<wfw:commentRss>http://www.crmaccelerators.net/2011/09/22/crm-migration-assistant-1-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

