<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6067805135205125716</id><updated>2011-11-27T20:30:48.721-05:00</updated><title type='text'>Dynamics CRM Tips</title><subtitle type='html'>Tips and Tricks I have picked up about Microsoft Dynamics CRM</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-7935850337785504502</id><published>2010-10-18T15:00:00.001-04:00</published><updated>2010-10-18T15:00:21.429-04:00</updated><title type='text'>email router polling</title><content type='html'>Following the procedure below will change the polling period from every&lt;br /&gt;1,000  seconds to every 30 seconds.&lt;br /&gt;&lt;br /&gt;1. Go to the server where the e-mail router  is installed.&lt;br /&gt;2. Go to C:\Program Files\Microsoft CRM Email\Service&lt;br /&gt;3.  Edit the file Microsoft.Crm.EmailAgent.xml with Notepad&lt;br /&gt;4. Find the element  SchedulingPeriod&lt;br /&gt;5. Change the value (most likely currently 1000) to 30&lt;br /&gt;6.  Restart the Microsoft CRM Email Router service&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-7935850337785504502?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/7935850337785504502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/10/email-router-polling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/7935850337785504502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/7935850337785504502'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/10/email-router-polling.html' title='email router polling'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-6106199634706114464</id><published>2010-08-24T10:40:00.000-04:00</published><updated>2010-08-24T10:40:08.263-04:00</updated><title type='text'>xRMLinq</title><content type='html'>Just started using XRMLinq to help simplify my code for a major import. &amp;nbsp;So far it's a pretty good tool, although their web site leaves a lot to be desired when it comes to documentation. &amp;nbsp;Luckily, they do respond to e-mail requests for support, usually with a 12 hour or so turnaround.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.xrmlinq.com/"&gt;http://www.xrmlinq.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-6106199634706114464?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.xrmlinq.com/' title='xRMLinq'/><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/6106199634706114464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/xrmlinq.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/6106199634706114464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/6106199634706114464'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/xrmlinq.html' title='xRMLinq'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-8804705337312895351</id><published>2010-08-18T11:49:00.000-04:00</published><updated>2010-08-18T11:49:18.587-04:00</updated><title type='text'>"This Path is not of a legal form" Installing Data Migration Manger on x64</title><content type='html'>Here is how you make the path legal to install Data Migration Manager.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Start &amp;gt; Run&lt;/span&gt; &lt;/li&gt;&lt;li&gt;Type "&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;regedit.exe&lt;/span&gt;" (without quotes) &lt;/li&gt;&lt;li&gt;Navigate to key - &lt;span class="Apple-style-span" style="font-size: small; font-weight: bold;"&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\&lt;/span&gt;C5D06E9536719E94DB7D0491EB205E22\InstallProperties&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Set value to: &amp;nbsp;C:\Program Files\Microsoft Dynamics CRM&lt;br /&gt;&lt;br /&gt;It is blank by default on the CRM server.&lt;br /&gt;&lt;br /&gt;Pulled from&amp;nbsp;&lt;a href="http://mscrmnovice.blogspot.com/2009/03/path-is-not-of-legal-form-error-while.html"&gt;http://mscrmnovice.blogspot.com/2009/03/path-is-not-of-legal-form-error-while.html&amp;nbsp;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-8804705337312895351?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://mscrmnovice.blogspot.com/2009/03/path-is-not-of-legal-form-error-while.html' title='&quot;This Path is not of a legal form&quot; Installing Data Migration Manger on x64'/><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/8804705337312895351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/this-path-is-not-of-legal-form.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/8804705337312895351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/8804705337312895351'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/this-path-is-not-of-legal-form.html' title='&quot;This Path is not of a legal form&quot; Installing Data Migration Manger on x64'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-4671379541943641912</id><published>2010-08-06T14:00:00.000-04:00</published><updated>2010-08-06T14:00:09.506-04:00</updated><title type='text'>Not enough ports, timeout problem</title><content type='html'>http://blogs.msdn.com/b/dgorti/archive/2005/09/18/470766.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-4671379541943641912?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/4671379541943641912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/not-enough-ports-timeout-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/4671379541943641912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/4671379541943641912'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/not-enough-ports-timeout-problem.html' title='Not enough ports, timeout problem'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-5533115615623005122</id><published>2010-08-03T08:53:00.002-04:00</published><updated>2010-08-03T08:54:37.329-04:00</updated><title type='text'>Workflow fails sending multiple e-mails</title><content type='html'>I was having this problem with a workflow, and apparently Update Rollup 12 fixes it. &amp;nbsp;Woo hoo!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/981053/"&gt;http://support.microsoft.com/kb/981053/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-5533115615623005122?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://support.microsoft.com/kb/981053/' title='Workflow fails sending multiple e-mails'/><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/5533115615623005122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/workflow-fails-sending-multiple-e-mails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/5533115615623005122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/5533115615623005122'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/08/workflow-fails-sending-multiple-e-mails.html' title='Workflow fails sending multiple e-mails'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-8858266291659110829</id><published>2010-07-14T08:35:00.000-04:00</published><updated>2010-07-14T08:35:55.847-04:00</updated><title type='text'>Dynamics CRM 2011</title><content type='html'>I got a notice that Dynamics 2011 has been announced at the Partner conference. &amp;nbsp;I read the &lt;a href="http://www.microsoft.com/Presspass/press/2010/jul10/07-12WPCDynamicsCRMPR.mspx"&gt;press release&lt;/a&gt;, but it seems to be mostly focused on CRM online. &amp;nbsp;I hope that they are not abandoning the on-premise version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-8858266291659110829?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/8858266291659110829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/07/dynamics-crm-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/8858266291659110829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/8858266291659110829'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/07/dynamics-crm-2011.html' title='Dynamics CRM 2011'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-9120106751154599481</id><published>2010-06-28T14:27:00.002-04:00</published><updated>2010-06-28T14:27:37.338-04:00</updated><title type='text'>Stupid Error</title><content type='html'>I don't know why this keeps coming up, but it does. &amp;nbsp;Whatever AD service account you are using has to be a member of the "privusergroup" for that instance of CRM. &amp;nbsp;My test box suddenly stopped working last week, and it took me most of the day today to figure it out. &amp;nbsp;Frustrating...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/jonasd/archive/2008/01/11/caller-does-not-have-enough-privilege-to-set-callerorigintoken-to-the-specified-value.aspx"&gt;http://blogs.msdn.com/b/jonasd/archive/2008/01/11/caller-does-not-have-enough-privilege-to-set-callerorigintoken-to-the-specified-value.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-9120106751154599481?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/b/jonasd/archive/2008/01/11/caller-does-not-have-enough-privilege-to-set-callerorigintoken-to-the-specified-value.aspx' title='Stupid Error'/><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/9120106751154599481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/06/stupid-error.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/9120106751154599481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/9120106751154599481'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/06/stupid-error.html' title='Stupid Error'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-2433555233419680745</id><published>2010-05-20T11:30:00.000-04:00</published><updated>2010-05-20T11:30:48.244-04:00</updated><title type='text'>Where to find values for Picklist Items</title><content type='html'>When I finally get to reporting, I will need this more, but I also need this for some other data import work I am doing.&lt;br /&gt;&lt;br /&gt;Just discovered how to get the actual picklist int value when you know the name. &amp;nbsp;You have to look in the StringMap table and link it to the&amp;nbsp;MetadataSchema.Entity table (which I still can't find in the SSMS object browser, but it must be somewhere) on the ObjectTypeCode in each one.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT s.*, ' ', e.* &lt;br /&gt;FROM StringMap s&lt;br /&gt;INNER JOIN MetadataSchema.Entity e ON s.ObjectTypeCode = e.ObjectTypeCode&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Found it on this blog:&lt;br /&gt;&lt;a href="http://extremecrm.net/2009/03/22/display-a-crm-40-picklist-display-value-in-report-or-query/"&gt;http://extremecrm.net/2009/03/22/display-a-crm-40-picklist-display-value-in-report-or-query/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-2433555233419680745?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/2433555233419680745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/05/where-to-find-values-for-picklist-items.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/2433555233419680745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/2433555233419680745'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/05/where-to-find-values-for-picklist-items.html' title='Where to find values for Picklist Items'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-8520613971458969650</id><published>2010-05-04T10:46:00.001-04:00</published><updated>2010-05-04T10:47:14.114-04:00</updated><title type='text'>Speed up your CRM SDK imports and updates</title><content type='html'>I ran across this problem several weeks ago that an import of many thousands of records using the CRM SDK was taking forever, or timing out. &amp;nbsp;Luckily, there is a setting on the connection object that you can use to speed things up quite a bit.&lt;br /&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New';"&gt;CrmService crm = new CrmService(); &lt;br /&gt;crm.Credentials  = System.Net.CredentialCache.DefaultCredentials;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;crm.UnsafeAuthenticatedConnectionSharing = true;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This other blog post describes these setting in more detail.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://billoncrmtech.blogspot.com/2008/10/blog-move-speed-racer-call-crm-at.html"&gt;http://billoncrmtech.blogspot.com/2008/10/blog-move-speed-racer-call-crm-at.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This was also discussed at a CRM Optimization session at Convergence 2010 and the Microsoft Support people said that for bulk inserts/updates this is OK to use, just keep in mind the caveats of only authenticating once. &amp;nbsp;Probably fine for internal use on your network, but not for external internet connections, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-8520613971458969650?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://billoncrmtech.blogspot.com/2008/10/blog-move-speed-racer-call-crm-at.html' title='Speed up your CRM SDK imports and updates'/><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/8520613971458969650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/05/spped-up-your-crm-sdk-imports-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/8520613971458969650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/8520613971458969650'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/05/spped-up-your-crm-sdk-imports-and.html' title='Speed up your CRM SDK imports and updates'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-9023664271696832811</id><published>2010-05-02T09:55:00.001-04:00</published><updated>2010-05-02T09:55:54.361-04:00</updated><title type='text'>Color Coding your records</title><content type='html'>I've done this color coding with injected DHTML, but this other blog talks about using an IFRAME to do it. &amp;nbsp;I may have to take a look at this because I don't like the way mine gets resized. &amp;nbsp;I'm actually using color coding to show if a case is NEW, OPEN, or CLOSED, but I also use color in a field that has account and contact alerts in it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://businessnone.com/demo-tools/getting-customer-temperature/"&gt;http://businessnone.com/demo-tools/getting-customer-temperature/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Maybe an IFRAME works better?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-9023664271696832811?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://businessnone.com/' title='Color Coding your records'/><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/9023664271696832811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/05/color-coding-your-records.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/9023664271696832811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/9023664271696832811'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/05/color-coding-your-records.html' title='Color Coding your records'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6067805135205125716.post-1835429700993282000</id><published>2010-04-29T15:05:00.002-04:00</published><updated>2010-04-29T15:10:06.556-04:00</updated><title type='text'>How to use External Javascript in your form</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Just got back from the Convergence 2010 conference, and learned a LOT of great information on customizing Dynamics CRM.&amp;nbsp; One of this things I found very suprising was that the consulting services people said that it was OK to use external javascript files in your forms to make development easier.&amp;nbsp; I always thought this was unsupported in CRM, so I was happy to hear this.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;NOTE: If you have Outlook client users that take CRM offline, this method will not work. &amp;nbsp;You will need to come up with a way to get the external files onto their PC. &amp;nbsp;I have no idea how to do this, sorry.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Clicking Settings/Customization/Customize Entites/Case/Forms and Views/Form/Form Properties/OnLoad/Edit then pasting in the new code I just edited in VS2008.&amp;nbsp; Click Ok/Ok/Save and Close/Actions/Publish. &amp;nbsp;That's a lot of steps. :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;So when I got back to the office, I set to work externalizing the HUGE javascript files I had already created.&amp;nbsp; I found several other blog posts on how to do this, and frankly am a little frustrated that there are apparently several methods to do this, some of which don't work that well.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;The big problem is caching in the browser.&amp;nbsp; A good idea when you want the browser to be fast, but a bad idea and a big pain when you are developing and constantly editing code, saving, and testing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;So here is the final code that I pasted into the OnLoad for my case form.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;function load_script(url) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; var url2 = url + "?dummy=" + Math.random().toString().substring(2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; var x = new ActiveXObject("Msxml2.XMLHTTP");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; x.open('GET', url2, false);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; x.send('');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; eval(x.responseText);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; var s = x.responseText.split(/\n/);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; var r = /^function\s*([a-z_]+)/i;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; s.length; i++) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var m = r.exec(s[i]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m != null) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window[m[1]] = eval(m[1]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;load_script("/ISV/_scripts/CaseForm.js");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;I won't pretend to know exactly what this script is doing, I just compiled it from a bunch of other sites and blogs.&amp;nbsp; The twist that I added was the editing of the URL to add the random math string.&amp;nbsp; Again, not my idea, just mashed it up from posts on these&amp;nbsp;three sites.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.henrycordes.nl/"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;http://www.henrycordes.nl&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="https://community.dynamics.com/blogs/crmmattwittemann"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;https://community.dynamics.com/blogs/crmmattwittemann&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://social.microsoft.com/Forums/en-US/crmdevelopment"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;http://social.microsoft.com/Forums/en-US/crmdevelopment&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Also, want to give a shout out to Julie Yack for inspiring me to start a blog.&amp;nbsp; I attended a Social Media interactive discussion she was facilitating at Convergence 2010.&amp;nbsp; If you find this blog useful, check out her blog as well.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://julieyack.blogs.com/"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;http://julieyack.blogs.com/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;She worked on a fantastic book that I refer to frequently when working on my CRM project,&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.amazon.com/CRM-as-Rapid-Development-Platform/dp/0981511813/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1272567817&amp;amp;sr=8-1"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;CRM as Rapid Development Platform&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6067805135205125716-1835429700993282000?l=dynamicscrmtips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dynamicscrmtips.blogspot.com/feeds/1835429700993282000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/04/how-to-use-external-javascript-in-your.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/1835429700993282000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6067805135205125716/posts/default/1835429700993282000'/><link rel='alternate' type='text/html' href='http://dynamicscrmtips.blogspot.com/2010/04/how-to-use-external-javascript-in-your.html' title='How to use External Javascript in your form'/><author><name>Chris H.</name><uri>http://www.blogger.com/profile/09982262003635986798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
