<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>Sonoma Partners Microsoft CRM Blog</title>
<link>http://blog.sonomapartners.com/</link>
<description>Blog about Microsoft CRM software and related technologies from an award-winning consulting firm and co-authors of the Microsoft Press book "Working with Microsoft Dynamics CRM 3.0".</description>
<language>en-US</language>
<lastBuildDate>Thu, 05 Nov 2009 08:56:50 -0600</lastBuildDate>
<generator>http://www.typepad.com/</generator>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/typepad/sonoma" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/typepad/sonoma" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Ftypepad%2Fsonoma" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
<title>UR7 and the Known Issues in Outlook</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/KdUB84lCZaQ/ur7-and-the-known-issues-in-outlook.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/11/ur7-and-the-known-issues-in-outlook.html</guid>
<description>As I mentioned in my last post on Update Rollup 7 for Microsoft Dynamics CRM 4.0, there are a few known issues appearing in Outlook after the rollup is installed. I've noticed a few of them on my own workstation,...</description>


<content:encoded><![CDATA[<P>As I mentioned in my last post on <A title="UR7 Released" href="http://blog.sonomapartners.com/2009/10/update-rollup-7-released.html">Update Rollup 7 for Microsoft Dynamics CRM 4.0</A>, there are a few <A title="UR7 known issues" href="http://support.microsoft.com/kb/976539" target=_blank>known issues</A> appearing in Outlook after the rollup is installed. I've noticed a few of them on my own workstation, so I thought I’d share the details:</P>
<ul>
<li>The Microsoft Dynamics CRM icon does not appear in the taskbar in Windows 7. Note that this can be fixed by customizing the taskbar and selecting "Show icon and notifications" for the "Microsoft CRM Outlook" option (pictured below). 
<li>The CRM toolbar remains active when you disable it under Manage COM Add-Ins in Outlook, but does not respond to any actions. 
<li>The View in CRM button remains disabled after your click "Track in CRM" on an Outlook record until you close and reopen the record. 
<li>When you track a contact, then edit the record in Outlook, the standard Outlook contact icon appears next to the record instead of the "tracked in CRM" contact icon. The correct icon displays only after the synchronization process runs. 
<li>If the Outlook client is installed but not configured, or if you are connecting to an organization other than the one configured in the Outlook client, the following error appears in Internet Explorer: "Internet explorer has blocked this site from using an ActiveX control in an unsafe manner." 
<li>During the configuration wizard, the debug assertion fails and the Microsoft Dynamics CRM role is removed from the user. 
<li>If you set a record to "regarding" in Outlook when synchronizing data with Microsoft Dynamics CRM, you will receive an error, since you cannot track e-mail messages when the manual sync is running. The Outlook and regarding CRM record will not be linked correctly until you open the e-mail in Outlook, click "Track in CRM" to un-track the record, and then delete the record in CRM. When the manual synchronization is finished, you can track the message in CRM again. </li>
</ul>
<P>That said, even with a few of the issues listed above, the Outlook client is much improved with UR7 and seems to be faster and more stable. If you've run into other issues, feel free to comment.</P>
<P><img  class="asset asset-image at-xid-6a00d8341e71de53ef0120a6abfeb2970c " alt=Add-CRM-icon-to-taskbar src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a6abfeb2970c-500wi" /></P><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/KdUB84lCZaQ" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 4.0</category>

<dc:creator>Kara O'Brien</dc:creator>
<pubDate>Thu, 05 Nov 2009 08:56:50 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/11/ur7-and-the-known-issues-in-outlook.html</feedburner:origLink></item>

<item>
<title>Make your CRM Voice Heard</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/ByAKy5EmmQU/make-your-crm-voice-heard.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/11/make-your-crm-voice-heard.html</guid>
<description>Planning has begun for Microsoft Convergence 2010 in Atlanta, GA, and you can help set the direction. Microsoft is asking for your input on subject matter for the conference. If there are specific topics you would like discussed at the...</description>


<content:encoded><![CDATA[<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a6a931df970c-pi"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Convergence2010" border="0" alt="Convergence2010" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a653bcf6970b-pi" width="613" height="70" /></a></p>  <p>Planning has begun for Microsoft Convergence 2010 in Atlanta, GA, and you can help set the direction.&#160; Microsoft is asking for your input on subject matter for the conference.&#160; If there are specific topics you would like discussed at the conference now is the time to act.&#160; </p>  <p><a href="http://2010.msconvergence.com/survey/contentsurvey" target="_blank">Submit your Topic for Convergence 2010</a></p>  <p>They are taking feedback for a limited time so make sure you take a few minutes this week and provide some input.&#160; We hope to see you at Convergence 2010!</p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/ByAKy5EmmQU" height="1" width="1"/>]]></content:encoded>



<dc:creator>Ryan Toenies</dc:creator>
<pubDate>Wed, 04 Nov 2009 14:05:56 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/11/make-your-crm-voice-heard.html</feedburner:origLink></item>

<item>
<title>Microsoft releases November 2009 Service Update for CRM Online, what it means for Salesforce.com switchers</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/xapdHpk8BT8/microsoft-releases-november-2009-service-update-for-crm-online-what-it-means-for-salesforcecom-switchers.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/11/microsoft-releases-november-2009-service-update-for-crm-online-what-it-means-for-salesforcecom-switchers.html</guid>
<description>Earlier today, Microsoft announced a new update to the CRM Online service. It’s a marketing mouthful with the name “November 2009 service update for Microsoft Dynamics CRM Online” but it really is exciting stuff! Since we sell against Salesforce.com frequently,...</description>


<content:encoded><![CDATA[<p>Earlier today, <a href="http://www.microsoft.com/presspass/press/2009/nov09/11-03ServiceUpdatePR.mspx" target="_blank">Microsoft announced a new update to the CRM Online</a> service. It’s a marketing mouthful with the name “November 2009 service update for Microsoft Dynamics CRM Online” but it really is exciting stuff!</p>  <p>Since we sell against Salesforce.com frequently, I thought I would share my $0.02 on how I think this November update will help Microsoft compete even more aggressively against Salesforce.com:&#160; </p>  <ol>   <li>I believe the revised Microsoft CRM Outlook client offers best possible integration between <em>any</em> CRM system and Outlook. In addition to being faster from a performance standpoint, the new Outlook client offers new tools and utilities to load your existing Outlook contacts in Microsoft Dynamics CRM Online in just a few clicks.</li>    <li>The new Microsoft CRM Online pricing model (just $44/per user per month for all editions) offers <strong>all</strong> of the functionality of Salesforce.com Enterprise edition at <strong>one-third</strong> the monthly cost. The <a href="http://www.salesforce.com/crm/editions-pricing.jsp" target="_blank">Salesforce.com Enterprise edition</a> costs $125 per user per month and you will need this edition if you want programming API, workflow, and offline access. All of those features are included at the $44 Microsoft price point. In addition, Microsoft includes mobile access in the $44/per user per month price, and this functionality in Salesforce.com requires the Unlimited Edition which has a list price of $250/per user per month!</li>    <li>It is now easier than ever to switch from Salesforce.com to Microsoft Dynamics CRM Online:</li>    <ol>     <li>The November 2009 Service Update includes pre-built data maps to load your existing Salesforce.com data quickly and easily in Microsoft Dynamics CRM Online.</li>      <li>Microsoft is running a promotion where existing Salesforce.com customers can <a href="https://offers.crmchoice.com/moreforless" target="_blank">switch to Microsoft Dynamics CRM Online and get 6 months of free service</a>!</li>   </ol>    <li>The Microsoft Dynamics CRM Online November 2009 Service Update includes new functionality such as new reporting and dashboard capabilities, and enhanced end user training and adoption tools.</li> </ol>  <p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="CRMOnline-Nov2009" border="0" alt="CRMOnline-Nov2009" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a650a2d0970b-pi" width="700" height="475" /></p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/xapdHpk8BT8" height="1" width="1"/>]]></content:encoded>



<category>CRM Competitors</category>

<dc:creator>Mike Snyder</dc:creator>
<pubDate>Tue, 03 Nov 2009 16:32:47 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/11/microsoft-releases-november-2009-service-update-for-crm-online-what-it-means-for-salesforcecom-switchers.html</feedburner:origLink></item>

<item>
<title>Creating an Appointment through Workflow with a busy status</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/C-4DfsqzpUk/creating-an-appointment-through-workflow-with-a-busy-status.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/11/creating-an-appointment-through-workflow-with-a-busy-status.html</guid>
<description>Recently one of our clients was implementing a sales process via workflow and asked the following question: "When I am creating a Appointment record through workflow, why can’t I select busy in the “Show Time As” field?" They assumed this...</description>


<content:encoded><![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 11px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 13px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 12px">Recently one of our clients was implementing a sales process via workflow and asked the following question:</span></span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 12px"></span></span></span>&#0160;</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 12px"><em><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 13px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 12px">&quot;When I am creating a &#0160;Appointment record through workflow, why can’t I select &#0160;busy in the “Show Time As” field?&quot;</span></span></span></em></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"></span></span>&#0160;</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a646ec3d970b-pi" style="DISPLAY: inline"></a><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px">&#0160;</span></span><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a646eeb8970b-pi" style="DISPLAY: inline"></a><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px">&#0160;</span></span><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a646eefa970b-pi" style="DISPLAY: inline"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><img alt="Create-Appt" border="0" class="asset asset-image at-xid-6a00d8341e71de53ef0120a646eefa970b image-full " height="464" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a646eefa970b-800wi" style="WIDTH: 716px; HEIGHT: 388px" title="Create-Appt" width="660" /></span></span></a><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px">&#0160;<br />&#0160; <br /><span style="FONT-SIZE: 12px"><span style="FONT-SIZE: 9px"><span style="FONT-SIZE: 10px"><span style="FONT-SIZE: 11px"><span style="FONT-SIZE: 12px">They assumed this was a CRM defect because when a user creates a new appointment they can select the Busy value in this field.</span></span></span></span></span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font size="3"></font></o:p><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font size="3"><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a69c6910970c-pi" style="DISPLAY: inline"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><img alt="Create-Appt-CRM" border="0" class="asset asset-image at-xid-6a00d8341e71de53ef0120a69c6910970c image-full " height="447" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a69c6910970c-800wi" style="WIDTH: 722px; HEIGHT: 450px" title="Create-Appt-CRM" width="589" /></span></span></a><span style="FONT-SIZE: 12px"><br /></span></font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 12px"></span></span></span></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 13px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 12px">The “Show Time As” field is actually the Status Reason (statuscode) field from the Appointment entity.&#0160; The Status Reason displays values based on the Status (statecode) of the record.&#0160; When a record is created, the status is set to ‘Open’.&#0160; As a result, the only corresponding statuscodes available are ‘Free’ and ‘Tentative’.&#0160; Therefore, within workflow you need to add a step after the appointment is created to change the record status to &#39;Scheduled - Busy&#39;.</span></span>&#0160; </span></span></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font size="3"></font></o:p><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font size="3"><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a69c694b970c-pi" style="DISPLAY: inline"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><img alt="Update-Appt" border="0" class="asset asset-image at-xid-6a00d8341e71de53ef0120a69c694b970c image-full " height="488" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a69c694b970c-800wi" style="WIDTH: 725px; HEIGHT: 469px" title="Update-Appt" width="610" /></span></span></a><span style="FONT-SIZE: 12px"><br /></span></font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"></span></span>&#0160;</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"><span style="FONT-SIZE: 12px">Many CRM entities have similar statuscode and statecode relationships which would require similar changes in workflow. </span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"></span></span></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: Arial; FONT-SIZE: 14px"></span></span>&#0160;</p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/C-4DfsqzpUk" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 4.0</category>

<dc:creator>Brendan Landers</dc:creator>
<pubDate>Mon, 02 Nov 2009 21:44:26 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/11/creating-an-appointment-through-workflow-with-a-busy-status.html</feedburner:origLink></item>

<item>
<title>Update Rollup 7 Released</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/l2xB2EU-Hu0/update-rollup-7-released.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/update-rollup-7-released.html</guid>
<description>Lucky number 7s: Microsoft released the much-anticipated Update Rollup 7 for Microsoft Dynamics CRM 4.0 (UR7) on Friday, the same day Windows 7 was released to the public. UR7 focuses on the Microsoft Dynamics CRM Outlook client and there are...</description>


<content:encoded><![CDATA[<P>Lucky number 7s: Microsoft released the much-anticipated <A title=UR7 href="http://support.microsoft.com/default.aspx?kbid=971782" target=_blank>Update Rollup 7 for Microsoft Dynamics CRM 4.0</A> (UR7) on Friday, the same day Windows 7 was released to the public. </P>
<P>UR7 focuses on the Microsoft Dynamics CRM Outlook client and there are significant improvements to performance, stability and installation in both the online and offline Outlook clients.&nbsp; Here are some highlights:</P>
<ul>
<li>Faster startup. The load process was streamlined so that the CRM client loads in the background – so you can access e-mail and other Outlook records while the CRM client loads. 
<li>Improved performance. There are a few big changes here: </li>
<ol>
<li>Unnecessary processes were removed for the online version of the Outlook client, resulting in faster performance. </li>
<li>E-mail tagging runs as a background process, so users who have a large number of tracked e-mail messages should see faster performance in Outlook. </li>
<li>Synchronization between Microsoft Dynamics CRM and Outlook runs as a background process to minimize the impact on performance.</li>
</ol>
<li>Improved stability. Some code updates help Microsoft Dynamics CRM handle state changes more efficiently, so authentication, hibernation and other changes in each client won't require you to restart Outlook. 
<li>Delegate support. If an Outlook user is a delegate for another user, the delegate can now track e-mails and other Outlook records in the other user's inbox, so records are attached to the correct owner in Microsoft Dynamics CRM. 
<li>Improved SMS support, including silent, unattended installations of the Outlook client. Users no longer need to be logged into the workstation during the laptop client installation process. 
<li>Better error logging in the synchronization process. 
<li>Streamlined setup and configuration processes. </li>
</ul>
<P><A title="Download UR7" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a4893988-7804-4e23-ab58-740441cc696e&displaylang=en" target=_blank>Download UR7 now</A> – As always, try it in a test environment before going live in production if you can. Also, before installing UR7 in your environment, check the <A title="UR7 Known Issues" href="http://support.microsoft.com/kb/976539" target=_blank>known issues</A> published by Microsoft. Note that UR7 is inclusive of the previous Dynamics CRM 4.0 rollups released by Microsoft, so if you have not updated your system recently, all released fixes will be applied with UR7.</P>
<img class="asset  asset-image at-xid-6a00d8341e71de53ef0120a6778ac8970c" alt="UR7" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a6778ac8970c-500wi"  /><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/l2xB2EU-Hu0" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 4.0</category>

<dc:creator>Kara O'Brien</dc:creator>
<pubDate>Mon, 26 Oct 2009 09:52:48 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/update-rollup-7-released.html</feedburner:origLink></item>

<item>
<title>Upcoming XRM Seminars</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/FMUvacsqaA8/upcoming-xrm-seminars.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/upcoming-xrm-seminars.html</guid>
<description>I just received this invite for three Microsoft-hosted xRM seminars. I am not sure if these are intended for partners only, but I thought I would share with everyone! :) What is the X factor of your business? XRM is...</description>


<content:encoded><![CDATA[<p>I just received this invite for three Microsoft-hosted xRM seminars. I am not sure if these are intended for partners only, but I thought I would share with everyone! :)</p>  <blockquote>   <p><em>What is the X factor of your business?</em></p>    <p><em>XRM is built upon Microsoft Dynamics CRM’s business application development platform – a platform that can be transformed to support relational business applications.&#160; Whether you’re looking to manage real estate properties, recruit employees, or manage franchises, XRM is a platform to solve your basic business needs no matter what they are.</em></p>    <p><em>That’s the <b>X Factor</b> in XRM.</em></p>    <p><em><b>Sign up today</b> for a three-session webcast series on XRM for Microsoft Dynamics CRM Online, hosted by Microsoft Technology Specialists.&#160; The first session will provide an introduction to XRM.&#160; In the second session we’ll cover building business applications in XRM, and in the third session we’ll demonstrate XRM in application.</em></p>    <p><a href="https://www.livemeeting.com/lrs/microsoft1/Registration.aspx?pageName=xfzbc0w8q8ch67qv"><em>From Microsoft CRM to XRM: Introduction</em></a>      <br /><em>Wednesday, October 28       <br />8:30 – 9:30 AM Pacific Time        <br />Presenters: Kevin Williamson and Jon White</em></p>    <p><a href="https://www.livemeeting.com/lrs/microsoft1/Registration.aspx?pageName=xfzbc0w8q8ch67qv"><em>From Microsoft CRM to XRM: Building Business Applications</em></a>      <br /><em>Thursday, November 5       <br />8:30 – 9:30 AM Pacific Time        <br />Presenters: Jon White and Laura Robinson</em></p>    <p><a href="https://www.livemeeting.com/lrs/microsoft1/Registration.aspx?pageName=xfzbc0w8q8ch67qv"><em>From Microsoft CRM to XRM: XRM Demonstration</em></a>      <br /><em>Wednesday, November 11       <br />8:30 – 9:30 AM Pacific Time        <br />Presenters: Eric Boocock and Special Guest</em></p>    <p><em>We look forward to seeing you at the webcasts!</em></p></blockquote><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/FMUvacsqaA8" height="1" width="1"/>]]></content:encoded>



<dc:creator>Mike Snyder</dc:creator>
<pubDate>Sat, 17 Oct 2009 10:15:45 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/upcoming-xrm-seminars.html</feedburner:origLink></item>

<item>
<title>Follow Sonoma Partners on Twitter!</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/x9ECW8v9U1U/follow-sonoma-partners-on-twitter.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/follow-sonoma-partners-on-twitter.html</guid>
<description>While Sonoma Partners was one of the first CRM companies to launch a blog several years ago, I admit we’ve been a little slow with some of the other social media tools. Well NO LONGER! We launched a corporate Twitter...</description>


<content:encoded><![CDATA[<p>While Sonoma Partners was one of the first CRM companies to launch a blog several years ago, I admit we’ve been a little slow with some of the other social media tools. Well NO LONGER! We launched a corporate Twitter account a week or so ago, so feel free to start following us if you’re so inclined! </p>  <p><a href="http://www.twitter.com/sonomapartners" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="left" src="http://www.sonomapartners.com/images/twitter-icon.jpg" /></a> <a href="http://www.twitter.com/sonomapartners" target="_blank">Follow Sonoma Partners on Twitter</a></p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/x9ECW8v9U1U" height="1" width="1"/>]]></content:encoded>



<dc:creator>Mike Snyder</dc:creator>
<pubDate>Fri, 16 Oct 2009 11:27:57 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/follow-sonoma-partners-on-twitter.html</feedburner:origLink></item>

<item>
<title>Managing Report Resources for Microsoft CRM</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/O1kMj5Uc07w/managing-report-resources-for-microsoft-crm.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/managing-report-resources-for-microsoft-crm.html</guid>
<description>Today we welcome our guest blogger and colleague, Rob Jasinski, who discusses using SQL Server 2008’s Resource Governor to manage available report resources for Microsoft Dynamics CRM. We’ve all had it happen; someone runs a very resource intensive report during...</description>


<content:encoded><![CDATA[<p><em>Today we welcome our guest blogger and colleague, Rob Jasinski, who discusses using SQL Server 2008’s Resource Governor to manage available report resources for Microsoft Dynamics CRM.</em></p>  <p>We’ve all had it happen; someone runs a very resource intensive report during the day which slows down the performance of CRM for all the users. This now can happen more frequently with the addition of the Dynamics CRM 4.0 Report Wizard. What if there were a way to be able to manage the server to limit the amount of system resources that are allowed for generating reports? You’re in luck! Now, a new feature in SQL Server 2008, allows you to create Resource Pools to manage the maximum amount of resources (CPU utilization and memory utilization) to be used by given processes that you define.</p>  <p>In this example, we’re going to create a Resource Pool that limits any queries being issued from our Reporting Services server to a maximum of 20% CPU utilization and 40% memory utilization. Also, we’ll only enable this feature during business hours (so during the evening, reports can get full system resources).</p>  <p>1. Enable Resource Governor on SQL Server 2008.    <br />In SSMS, expand the Management tab and right-click Resource Governor and select Enable.&#160; <br />    <br /><img src="http://www.sonomapartners.com/images/blog/09107_sqlgovernor_1.jpg" /> </p>  <p>2. Create a Resource Classifier function.    <br />This function is what does all the assigning of processes to Resource Pools. Below is an example function:</p>  <pre class="csharpcode"><span class="kwrd">use</span> master
<span class="kwrd">go</span>
<span class="kwrd">create</span> <span class="kwrd">function</span> dbo.ResourceClassifier()
<span class="kwrd">returns</span> sysname <span class="kwrd">with</span> schemabinding
<span class="kwrd">begin</span>
<span class="kwrd">declare</span> @retval <span class="kwrd">varchar</span>(32);
<span class="kwrd">if</span> suser_sname() = <span class="str">'DEV\ANAKOTA$'</span> <span class="kwrd">and</span>
datepart(<span class="kwrd">hour</span>, getdate()) &gt;= 6 <span class="kwrd">and</span>
datepart(<span class="kwrd">hour</span>, getdate()) &lt; 19
<span class="kwrd">set</span> @retval = <span class="str">'reports'</span>
<span class="kwrd">else</span>
<span class="kwrd">set</span> @retval = <span class="str">'default'</span>;
<span class="kwrd">return</span> @retval;
<span class="kwrd">end</span>
go</pre>

<pre class="csharpcode"><span class="kwrd">alter</span> resource governor <span class="kwrd">with</span> (classifier_function = dbo.ResourceClassifier) <br />go</pre>

<pre class="csharpcode"><span class="kwrd">alter</span> resource governor <span class="kwrd">reconfigure</span> <br />go</pre>
This is just a regular SQL Server function and the return values must be one of Workload Groups you created earlier. In this example, we check for the user name of “DEV\ANAKOTA$” (the user that Reporting Services uses to logon to the SQL Server in our example). Next we check the current time, if it’s within business hours (6am – 6:69pm), then we allocate this query to the “reports” Resource Pool, thereby making sure it won’t overload the SQL Server. Any other query is then sent to the “default” Resource Pool. 

<p><br /></p>

<p><br /><strong>NOTE</strong>: Be sure to change <span class="str">'DEV\ANAKOTA$'</span> in the above script to use the appropriate user name for the reporting services accessing SQL. To determine the user name to compare, I ran SQL Profiler, ran a report from CRM, and captured what user was issuing the query from Reporting Services. There are also other system functions you can use, see <a href="http://technet.microsoft.com/en-us/library/bb933865.aspx">http://technet.microsoft.com/en-us/library/bb933865.aspx</a> for more detailed information on writing a classifier function. </p>

<p>3. Create and configure Resource Pool. 
  <br />Right-click on Resource Governor again and select New Resource Pool…&#160; <br />

<p>  <br />In the Classifier function name dropdown list, ensure that selection is your newly created function [dbo].[ResourceClassifer]. </p>

<p>  <br /></p>

<p>  <br />Then, in the resulting Resource Governor Properties window, create a new resource with the name of “reports”. Then enter the maximum CPU% and Memory% (in my example I set the values to 20 and 40 respectively).</p></p>

<p>Select the newly created “reports” Resource Pool that was created above. In the Workload Group for this resource pool grid, enter “reports” for the name of the Workload Group. The final result should look similar to the screen below. Click OK when you’re done. 
  <br />

<p>  <br /><img src="http://www.sonomapartners.com/images/blog/09107_sqlgovernor_2.jpg" /></p></p>

<p>Keep in mind that by limiting the resources available to a report, you are going to slow down the execution of those reports. Be aware of any SLA’s or other business needs before implementing this solution. Users may have specific business needs at certain times of the day or week to generate reports as quickly as possible. If you need faster performance time on reporting without affecting the transactional database, consider moving the reporting database to a separate SQL Server.</p>

<p>Using the new Resource Governor in SQL Server 2008 can be a quick and easy way to ensure that report processing won’t capture the majority of resources on your transactional SQL Server database. </p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/O1kMj5Uc07w" height="1" width="1"/>]]></content:encoded>



<dc:creator>Jim Steger</dc:creator>
<pubDate>Sun, 11 Oct 2009 19:19:07 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/managing-report-resources-for-microsoft-crm.html</feedburner:origLink></item>

<item>
<title>Problems Registering Plug-Ins after a Domain Controller Change</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/DWPEjnAarDU/problems-registering-plugins-after-a-domain-controller-change.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/problems-registering-plugins-after-a-domain-controller-change.html</guid>
<description>While deploying a code update to a customer last week, we ran into timeout and SQL errors when trying to register a couple plug-ins. We've worked with this client before and never had problems registering our plug-ins, but since our...</description>


<content:encoded><![CDATA[<P>While deploying a code update to a customer last week, we ran into timeout and SQL errors when trying to register a couple plug-ins. We've worked with this client before and never had problems registering our plug-ins, but since our last project the client had changed their domain controller.</P>
<P>After running a trace of the registration process, our team tracked the issue to the domain controller change, based on the following errors:</P>
<blockquote dir=ltr>
<P><em>Exception in FindResultInDC: The server is not operational.</em></P>
<P><em>CrmSoapExtension detected CrmException:<br>System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&gt; System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---&gt; System.Data.SqlClient.SqlException: Timeout expired.&nbsp; The timeout period elapsed prior to completion of the operation or the server is not responding.</em></P>
<P><em>MessageProcessor fail to process message 'UnregisterSolution' for 'none'.</em></P>
<P><em>Exception: System.Data.SqlClient.SqlException: Timeout expired.&nbsp; The timeout period elapsed prior to completion of the operation or the server is not responding.<br>&nbsp;&nbsp; at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)</em></p>

</blockquote>
<P>The cause of these errors is related to properly demoting the old domain controller. The domain controller was taken offline, but there were still records in Active Directory and DNS that routed requests to the old controller.</P>
<P>Following are the steps that resolved the issue for our customer:</P>
<ol>
<li>Added a String value in the registry under HKLM\Software\Microsoft\MSCRM called <strong>PreferredDc</strong>. </li>
<li>Entered the NetBios Name of the target domain controller. </li>
<li>Restarted the CRM server.</li>
</ol>
<P>The customer was able to register the plug-ins successfully after making this fix. Note the registry key was included as a manual update in an earlier rollup and should alleviate some potential Active Directory issues. For more information, see this <A title="KB 954811" href="http://support.microsoft.com/kb/954811" target=_blank>knowledge base article</A>.</P>
<P><img  class="asset asset-image at-xid-6a00d8341e71de53ef0120a627ab7f970c " title=Plugin-registered alt=Plugin-registered src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a627ab7f970c-320wi"  /> <br>&nbsp;</P><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/DWPEjnAarDU" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 4.0</category>

<dc:creator>Kara O'Brien</dc:creator>
<pubDate>Fri, 09 Oct 2009 04:26:23 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/problems-registering-plugins-after-a-domain-controller-change.html</feedburner:origLink></item>

<item>
<title>Streamline the Creation of New Related Records with jQuery</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/T-xHbgH-yRQ/streamline-the-creation-of-new-related-records-with-jquery.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/streamline-the-creation-of-new-related-records-with-jquery.html</guid>
<description>Today we welcome our guest blogger and colleague, Jeff Klosinski, who discusses using jQuery to create new associated records in CRM. Do you or your users frequently create new records by opening a parent record, clicking a related entity on...</description>


<content:encoded><![CDATA[<p><em>Today we welcome our guest blogger and colleague, Jeff Klosinski, who discusses using jQuery to create new associated records in CRM.</em></p>  <p>Do you or your users frequently create new records by opening a parent record, clicking a related entity on the left nav, and then clicking “New X” from the resulting grid? Wouldn’t it be nice if the “New X” button from the related grid were always at the top of your form?</p>  <p><img src="http://www.sonomapartners.com/images/blog/090527_jquery1.jpg" /> </p>  <p>I will show you how to do just that. On the way, you’ll see how to dynamically load a script and get to use some <a href="http://jquery.com/">jQuery</a>, too. Those not interested in the how or why can just skip to the end where I summarize what to copy where. Let’s get started! </p>  <p>My plan is to add an ISV button to the form, but I’ll need to give it either a URL or some JavaScript to execute…which means I need to find out how the “New Expense” button from the related grid works natively. Using the IE Developer Toolbar, I see that clicking the button executes some JavaScript:</p>  <pre class="csharpcode">locAddRelatedToNonForm(10007,10003,<span class="str">'{2D26CDCB-FB19-DE11-8B45-001EC935CFE9}'</span>, <span class="str">''</span>)</pre>
<style type="text/css">

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p><img src="http://www.sonomapartners.com/images/blog/090527_jquery2.jpg" /> </p>

<p>I can see from the URL that the guid that the JavaScript is using is the id of the project record I currently have open, so if I give my ISV button that code exactly as I see it, clicking it would always create new Expense records related to “Initech – CRM Implementation”, the Project record I’m currently viewing. This is close to what I’m after, but definitely not right. Instead, I need to dynamically specify the id of the Project record that is currently open. Luckily, all CRM forms have a crmForm.ObjectId property that refers to the guid of the current record, which is what we’ll use in place of '{2D26CDCB-FB19-DE11-8B45-001EC935CFE9}' when I specify the JavaScript for my button. I can further see from the URL that the Project entity's type code (ETC) is 10003, so that tells me that the second parameter calls for the ETC of the current record. Another CRM form property available to me is crmForm.ObjectTypeCode, which can be used to return the correct type code at runtime. So, the XML I will add to my ISV.Config file looks like this:</p>

<pre class="csharpcode">&lt;Entity name=<span class="str">&quot;new_project&quot;</span>&gt;
    &lt;ToolBar ValidForCreate=<span class="str">&quot;0&quot;</span>&gt;
        &lt;Button JavaScript=<span class="str">&quot;locAddRelatedToNonForm(10007,crmForm.ObjectTypeCode,crmForm.ObjectId,'')&quot;</span>&gt;
            &lt;Titles&gt;
                &lt;Title LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;New Expense&quot;</span> /&gt;
            &lt;/Titles&gt;
            &lt;ToolTips&gt;
                &lt;ToolTip LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;Create a new Expense record&quot;</span> /&gt;
            &lt;/ToolTips&gt;
        &lt;/Button&gt;
        &lt;ToolBarSpacer /&gt;
    &lt;/ToolBar&gt;
&lt;/Entity&gt;</pre>
<style type="text/css">

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p>The next image shows my button on the CRM form: </p>

<p><img src="http://www.sonomapartners.com/images/blog/090527_jquery3.jpg" /> </p>

<p>Great, just what I ordered. Well, <i>almost</i>. Two minor problems exist with this approach. The first is that this approach isn’t portable. It’s possible—and not uncommon—for ETCs of custom entities to be different between development, testing, and production environments. If I were to deploy this button to a client or other environment whose ETCs weren’t exactly the same as mine, my button would create new records of the incorrect type at best, and errors at worst. The second limitation is cosmetic: the button doesn't have an icon associated with it. </p>

<p>If neither of these two limitations concerns you, simply replace the first ETC (10007) with the one relevant to your entity, and use the code above. If they do concern you or, more likely, if you find my writing as difficult to put down as I do, then read on to see how we can use jQuery to solve both problems, resulting in an iconic button that is portable between entities and environments. </p>

<p>Since maintaining JavaScript that lives in the ISV.Config is a hassle, I’ll put the code that would have gone there into the onLoad event of my entity, and make the button’s ISV.Config JavaScript call one of the onLoad functions instead. In order for this to work, though, I will have to make sure to declare the button’s target function as a property of the window object so that is truly global and thus accessible by the button.</p>

<p>Since I’m planning on using jQuery within my code, I’ll first need to load it onto the form somehow. In this example, I dynamically load it from Google’s servers. I’ll also declare entity_OnLoad, the function which will eventually setup my icon, and newRelatedRecord, the global function which will be called by the button. newRelatedRecord will take one parameter, leftNavLabel, which the button will pass in. Here is what the code looks like:</p>

<pre class="csharpcode">var arr = <span class="kwrd">new</span> Array(),
    jQueryUrl = <span class="str">'http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js'</span>,
    obj = document.createElement(<span class="str">&quot;&lt;script src='&quot;</span> + jQueryUrl + <span class="str">&quot;' type='text/javascript'&gt;&quot;</span>);
    
arr = document.getElementsByTagName(<span class="str">&quot;head&quot;</span>);
<span class="rem">// insert the script element before the end of the head element</span>
arr[0].insertAdjacentElement(<span class="str">&quot;beforeEnd&quot;</span>, obj);
<span class="rem">// attach an event to be able to determine when the script is done loading</span>
obj.attachEvent(<span class="str">&quot;onreadystatechange&quot;</span>, Script_OnLoad);

<p>function Script_OnLoad()<br />
{<br />
    var rs = <span class="kwrd">event</span>.srcElement.readyState;<br />
    <span class="rem">// check to see if the script is done loading</span><br />
    <span class="kwrd">if</span> (rs == <span class="str">&quot;loaded&quot;</span> || rs == <span class="str">&quot;complete&quot;</span>) {<br />
        Entity_OnLoad();  <span class="rem">// jQuery is done loading and we can continue</span><br />
    }<br />
}</p>

<p>function Entity_OnLoad()<br />
{<br />
    <span class="rem">// nothing yet</span><br />
}</p>

<p>window.newRelatedRecord = function (leftNavLabel)<br />
{<br />
    <span class="rem">// nothing yet</span><br />
}</pre><br />
<style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p><b>Note:</b> Loading the jQuery library directly from Google’s servers may not be permitted in some environments. Alternatively, you could copy the library locally to your CRM Web server or even paste the code from the library directly to the top of your form’s onLoad event. </p>

<p>Next, I will fill out newRelatedRecord to find the ETC of the associated entity and create the button. To do this, I find the left nav link that pertains to leftNavLabel and extract the ETC from the src attribute of its corresponding img element. I will write a helper function called getIconImgByLeftNavLabel that harnesses the power of jQuery to do this pretty easily.</p>

<pre class="csharpcode">window.newRelatedRecord = function (leftNavLabel)
{
    var img = GetIconImgByLeftNavLabel(leftNavLabel),
        relatedTypeCode = img.src.match(/objectTypeCode=(\d+)&amp;/)[1];
    
    <span class="rem">// Call the function that will open up the new related record.</span>
    locAddRelatedToNonForm(relatedTypeCode, crmForm.ObjectTypeCode, crmForm.ObjectId,<span class="str">''</span>);
}</pre>
<style type="text/css">

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style><style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<pre class="csharpcode">function GetIconImgByLeftNavLabel(leftNavLabel)
{
    var jQuerySelector = <span class="str">'#crmNavBar '</span> + 
        <span class="str">'a[title=&quot;View '</span> + leftNavLabel + <span class="str">'&quot;] '</span> + 
        <span class="str">'img'</span>;
    
    var $img = $(jQuerySelector);  <span class="rem">// The name I gave this variable starts with a '$'</span>
                                   <span class="rem">// to help remind me that it is the img wrapped in</span>
                                   <span class="rem">// a jQuery object, not the img element itself.</span>
                                   
    <span class="kwrd">return</span> $img[0];     <span class="rem">// Extract and return the actual img from the jQuery object        </span>
}</pre>
<style type="text/css">

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style><style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p>The regular expression in img.src.match(/objectTypeCode=(\d+)&amp;/)[1] searches the image’s src attribute for a pattern of the form objectTypeCode=X&amp; where X is a number containing at least one digit that is immediately followed by an ampersand (&amp;). The [1] immediately following the match() call gives me the part of the src attributes that corresponds to my first (and only) subexpression: (\d+). </p>

<p>Now let’s take a closer look at getIconImgByLeftNavLabel. Note that the explanation that follows is intended to help provide a basic understanding of how jQuery selector strings work and may not necessarily represent the exact steps jQuery actually follows when processing selector strings. </p>

<p>The first part of jQuerySelector, '#crmNavBar ', tells jQuery to first find the left nav bar (whose id is crmNavBar). jQuery <a href="http://docs.jquery.com/Selectors">selectors</a> were designed to emulate CSS selectors, so using ‘#’ to denote the id of an element might seem familiar. The space at the end of this part indicates that the rest of the selector refers to elements that are descendants of crmNavBar. The second part of the selector string that I am building up, 'a[title=&quot;View ' + leftNavLabel + '&quot;] ', tells jQuery to narrow the descendants of crmNavBar down to hyperlinks whose title attribute is exactly “View Expenses”. As before, the space after the right square bracket character tells jQuery that I’m actually interested in a descendant of the link element jQuery has selected for me. Finally, I tell jQuery to give me the img element that is a descendant of the link it just found for me by specifying 'img'. Not too bad when you break it down, right? </p>

<p>After updating my onLoad code to fill out newRelatedRecord, I’ll also add 3 buttons to the ISV.Config file:</p>

<pre class="csharpcode">&lt;Entity name=<span class="str">&quot;new_project&quot;</span>&gt;
    &lt;ToolBar ValidForCreate=<span class="str">&quot;0&quot;</span>&gt;
        &lt;Button JavaScript=<span class="str">&quot;newRelatedRecord('Expenses')&quot;</span> &gt;
            &lt;Titles&gt;
                &lt;Title LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;New Expense&quot;</span> /&gt;
            &lt;/Titles&gt;
            &lt;ToolTips&gt;
                &lt;ToolTip LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;Create a new Expense record&quot;</span> /&gt;
            &lt;/ToolTips&gt;
        &lt;/Button&gt;
        &lt;Button JavaScript=<span class="str">&quot;newRelatedRecord('Product Families')&quot;</span> &gt;
            &lt;Titles&gt;
                &lt;Title LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;New Product Family&quot;</span> /&gt;
            &lt;/Titles&gt;
            &lt;ToolTips&gt;
                &lt;ToolTip LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;Create a new Product Family record&quot;</span> /&gt;
            &lt;/ToolTips&gt;
        &lt;/Button&gt;
        &lt;Button JavaScript=<span class="str">&quot;newRelatedRecord('Time')&quot;</span> &gt;
            &lt;Titles&gt;
                &lt;Title LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;New Time&quot;</span> /&gt;
            &lt;/Titles&gt;
            &lt;ToolTips&gt;
                &lt;ToolTip LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;Create a new Time record&quot;</span> /&gt;
            &lt;/ToolTips&gt;
        &lt;/Button&gt;
        &lt;ToolBarSpacer /&gt;
    &lt;/ToolBar&gt;
&lt;/Entity&gt;</pre>
<style type="text/css">

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p>After publishing the entity and importing the updated ISV.Config file, my project form provides me with the following: </p>

<p><img src="http://www.sonomapartners.com/images/blog/090527_jquery5.jpg" /> </p>

<p>I could be done at this point, but without icons these buttons are sorely lacking. I’ll add some code to entity_OnLoad from the onLoad code that will look for my custom buttons, figure out which links they correspond to, and then copy their respective images to the buttons to give them a nice facelift: </p>

<pre class="csharpcode">function Entity_OnLoad()
{
    <span class="kwrd">if</span> (crmForm.FormType !== 2)  <span class="kwrd">return</span>;  
    
    var lis = $(<font color="#000000"><span class="str">'li[action^=&quot;newRelatedRecord&quot;]'</span>),
        spans = lis.find(<span class="str">'span.ms-crm-MenuItem-TextFirst'</span>),
        
        labels = $.map(lis, function (li) {
            <span class="kwrd">return</span> li.action.match( /newRelatedRecord\((\</font><font color="#000000"><span class="str"><font color="#000000">'|\&quot;)([^\'\&quot;]+)/ )[2];
        });</font>
    
    <font color="#000000">$.each(labels, function (i, label) {
        // find img element using the helper and rewrap as jQuery object
        // so that we can use jQuery'</font></span>s clone and insertBefore functions 
        $(GetIconImgByLeftNavLabel(label)).clone().insertBefore(spans[i]);
</font>    });
}</pre>
<style type="text/css">

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style><style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style><style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p>In the code above, I first check to make sure the form is an update form because it wouldn’t make sense to add a related record to a record that doesn’t exist yet (if we were on a Create form) and, natively, CRM doesn’t allow you to add related records to deactivated records (if we were on a Disabled form). Next, I find the elements that I will need. The variable lis is a jQuery collection of li elements whose action attributes start with &quot;newRelatedRecord&quot;. Next, for each of the li elements found, I have jQuery give me a collection of descendant spans that have a class attribute of ms-crm-MenuItem-TextFirst and store it into the variable spans. Now I need an array whose cells correspond to each of the elements in lis, the values of which should be the labels I configured as parameters to the newRelatedRecord function when I specified the JavaScript for my buttons in the ISV.Config (i.e. Product Families from newRelatedRecord('Product Families')). I can easily construct this array with <a href="http://docs.jquery.com/Utilities/jQuery.map" target="_blank">jQuery’s map utility function</a><font color="#000000"></font>, which allows me to easily apply some processing to each cell in an array, mapping the results to a new, congruent array. In this case, I iterate over each element in lis and return the result of a regular expression that extracts the label in which I am interested. Then, I iterate over each of the cells in my labels array, using each label to grab (using the previously defined helper function) and clone its corresponding image, which I then insert directly in front of each of the corresponding spans I defined previously. Whew! As you can see, we can accomplishing a great deal with very few lines of jQuery code. </p>

<p>This means we’re finally done!</p>

<p></p>

<p><img src="http://www.sonomapartners.com/images/blog/090527_jquery6.jpg" /> </p>

<p>The final code for this sample is below. Add buttons to the entity that will be getting the buttons at the top of its form to the ISV.Config, updating the entity name and the parameter for the newRelatedRecord function with your appropriate values.</p>

<pre class="csharpcode">&lt;Entity name=<span class="str">&quot;new_project&quot;</span>&gt;
    &lt;ToolBar ValidForCreate=<span class="str">&quot;0&quot;</span>&gt;
        &lt;Button JavaScript=<span class="str">&quot;newRelatedRecord('Expenses')&quot;</span> &gt;
            &lt;Titles&gt;
                &lt;Title LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;New Expense&quot;</span> /&gt;
            &lt;/Titles&gt;
            &lt;ToolTips&gt;
                &lt;ToolTip LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;Create a new Expense record&quot;</span> /&gt;
            &lt;/ToolTips&gt;
        &lt;/Button&gt;
        &lt;Button JavaScript=<span class="str">&quot;newRelatedRecord('Product Families')&quot;</span> &gt;
            &lt;Titles&gt;
                &lt;Title LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;New Product Family&quot;</span> /&gt;
            &lt;/Titles&gt;
            &lt;ToolTips&gt;
                &lt;ToolTip LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;Create a new Product Family record&quot;</span> /&gt;
            &lt;/ToolTips&gt;
        &lt;/Button&gt;
        &lt;Button JavaScript=<span class="str">&quot;newRelatedRecord('Time')&quot;</span> &gt;
            &lt;Titles&gt;
                &lt;Title LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;New Time&quot;</span> /&gt;
            &lt;/Titles&gt;
            &lt;ToolTips&gt;
                &lt;ToolTip LCID=<span class="str">&quot;1033&quot;</span> Text=<span class="str">&quot;Create a new Time record&quot;</span> /&gt;
            &lt;/ToolTips&gt;
        &lt;/Button&gt;
        &lt;ToolBarSpacer /&gt;
    &lt;/ToolBar&gt;
&lt;/Entity&gt;</pre>
<style type="text/css">

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style><style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p>Next, paste the following code where you specify onLoad code for the entity to which you added the buttons.</p>

<pre class="csharpcode"><span class="kwrd">var</span> arr = <span class="kwrd">new</span> Array(),
    jQueryUrl = <span class="str">'http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js'</span>,
    obj = document.createElement(<span class="str">&quot;&lt;script src='&quot;</span> + jQueryUrl + <span class="str">&quot;' type='text/javascript'&gt;&quot;</span>);
    
arr = document.getElementsByTagName(<span class="str">&quot;head&quot;</span>);
arr[0].insertAdjacentElement(<span class="str">&quot;beforeEnd&quot;</span>, obj);
obj.attachEvent(<span class="str">&quot;onreadystatechange&quot;</span>, script_OnLoad);

<p><span class="kwrd">function</span> script_OnLoad()<br />
{<br />
    <span class="kwrd">var</span> rs = <span class="kwrd">event</span>.srcElement.readyState;<br />
    <span class="kwrd">if</span> (rs == <span class="str">&quot;loaded&quot;</span> || rs == <span class="str">&quot;complete&quot;</span>) {<br />
        entity_OnLoad();  <span class="rem">// jQuery is done loading and we can continue</span><br />
    }<br />
}</p>

<p><span class="kwrd">function</span> entity_OnLoad()<br />
{<br />
    <span class="kwrd">if</span> (crmForm.FormType !== 2)  <span class="kwrd">return</span>;  <span class="rem">// return if not an update form</span><br />
    <br />
    <span class="kwrd">var</span> lis = $(<span class="str">'li[action^=newRelatedRecord]'</span>),<br />
        spans = lis.find(<span class="str">'span.ms-crm-MenuItem-TextFirst'</span>),<br />
        labels = $.map(lis, <span class="kwrd">function</span> (li) {<br />
            <span class="kwrd">return</span> li.action.match( /newRelatedRecord\((\<span class="str">'|\&quot;)([^\'\&quot;]+)/ )[2];<br />
        });<br />
    <br />
    $.each(labels, function (i, label) {<br />
        $(getIconImgByLeftNavLabel(label)).clone().insertBefore(spans[i]);<br />
    });<br />
}</p>

<p>window.newRelatedRecord = function (leftNavLabel)<br />
{<br />
    var img = getIconImgByLeftNavLabel(leftNavLabel),<br />
        relatedTypeCode = img.src.match(/objectTypeCode=(\d+)&amp;/)[1];<br />
    <br />
    locAddRelatedToNonForm(relatedTypeCode, crmForm.ObjectTypeCode, crmForm.ObjectId,'</span><span class="str">');<br />
}</p>

<p>function getIconImgByLeftNavLabel(leftNavLabel)<br />
{<br />
    var jQuerySelector = '</span>#crmNavBar a[title=<span class="str">&quot;View ' + leftNavLabel + '&quot;</span>] img';<br />
    <span class="kwrd">var</span> $img = $(jQuerySelector);  <br />
                                   <br />
    <span class="kwrd">return</span> $img[0];        <br />
}</pre><br />
<style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style><style type="text/css"></p>

<p><br />
.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, "Courier New", courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt <br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</style></p>

<p>Publish the entity and import the ISV.Config file, and you have a versatile, user-friendly way to create new related records from any entity’s toolbar. This example barely scratches the surface of jQuery, so I hope you will consider it for your own CRM scripting needs. Good luck!</p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/T-xHbgH-yRQ" height="1" width="1"/>]]></content:encoded>



<dc:creator>Jim Steger</dc:creator>
<pubDate>Wed, 07 Oct 2009 13:53:21 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/streamline-the-creation-of-new-related-records-with-jquery.html</feedburner:origLink></item>

<item>
<title>CRM Online update (known as R4) announced and coming in November</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/8e3CNAZu2jE/crm-online-update-known-as-r4-announced-and-coming-in-november.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/crm-online-update-known-as-r4-announced-and-coming-in-november.html</guid>
<description>We just received an email from Microsoft officially announcing an upcoming update to CRM Online: “As part of Microsoft's commitment to ongoing innovation and customer success, we are set to deliver our next Microsoft Dynamics CRM Online service update in...</description>


<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="iStock_000009761161XSmall" border="0" alt="iStock_000009761161XSmall" align="right" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a618ce3f970c-pi" width="300" height="225" /> </p>  <p>We just received an email from Microsoft officially announcing an upcoming update to <a href="http://crm.dynamics.com/" target="_blank">CRM Online</a>:</p>  <blockquote>   <p><em>“As part of Microsoft's commitment to ongoing innovation and customer success, we are set to deliver our next Microsoft Dynamics CRM Online service update in November 2009. This update will provide your organization with increased business benefits that accelerate time to value in areas such as:</em></p>    <ul>     <li><em>Access to Microsoft Dynamics CRM Online through a range of mobile devices</em></li>      <li><em>In-page help and how-to guidance to provide an even richer experience for new users</em></li>      <li><em>The ability to add additional storage capacity to accommodate even larger customer databases</em></li>      <li><em>The introduction of a Home Page dashboard that gives improved visibility into data through embedded charts</em></li>      <li><em>A new release of Microsoft Dynamics CRM Online for Outlook with improved performance and usability</em></li>      <li><em>Enhanced data import capabilities through an updated import wizard experience</em></li>   </ul>    <p><em>We will begin upgrading existing organizations in early November.”</em></p> </blockquote>  <p>Putting our own spin on this (and based on the previews we’ve seen), we are really excited for:</p>  <ul>   <li><strong>DASHBOARDS, DASHBOARDS, DASHBOARDS:</strong> Did I mention Dashboards?</li>    <li><strong>Microsoft CRM Mobile Express:</strong> now available for CRM Online</li>    <li><strong>New release of the Outlook client:</strong> This will be bigger than your typical bug fix/update rollup, think more along the lines of massive performance improvements.</li>    <li><strong>Improved data import</strong>: The update message is a little vague above but we expect there will be significant improvements for customers migrating from competing CRM products (hint: SFDC). </li> </ul>  <p>Stay tuned for more details as Microsoft releases them to the public! </p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/8e3CNAZu2jE" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM Online</category>

<dc:creator>Mike Snyder</dc:creator>
<pubDate>Mon, 05 Oct 2009 05:05:00 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/crm-online-update-known-as-r4-announced-and-coming-in-november.html</feedburner:origLink></item>

<item>
<title>Microsoft Dynamics xRM &amp;ndash; Professional Services (Part 1)</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/79fGKNNOUBI/microsoft-dynamics-xrm-professional-services-part-1.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/microsoft-dynamics-xrm-professional-services-part-1.html</guid>
<description>Abstract: My next few blog posts will be focused on showing Microsoft Dynamics CRM as a “xRM” platform. I plan to show real-world usages of Microsoft Dynamics CRM specifically as it applies to professional services organizations. Business Requirement: Tracking time...</description>


<content:encoded><![CDATA[<p><strong>Abstract:</strong>&#160; My next few blog posts will be focused on showing Microsoft Dynamics CRM as a “xRM” platform.&#160; I plan to show real-world usages of Microsoft Dynamics CRM specifically as it applies to professional services organizations.&#160; </p>  <p><strong>Business Requirement:</strong> Tracking time </p>  <p><strong>Proposed Solution:</strong> Microsoft Dynamics CRM</p>  <p>In most professional services organizations you need to track employee time as it relates to your customers.&#160; This might mean tracking time against projects, cases, and/or customers.&#160; Often times we find customers using timesheets that are either paper-based or tied to an accounting system that is severely lacking in functionality.&#160;&#160; Tracking time is generally a cumbersome task yet a crucial component to generating revenue for a professional services organization.&#160; </p>  <p>Utilizing the power of Microsoft Dynamics CRM we have developed an innovative approach to capture and manage time within a professional services organization.&#160; The time application is developed using Microsoft Dynamics CRM (xRM) and is accessible both through the Outlook and Web clients.&#160; Time entry can be accomplished in multiple fashions which makes it more likely that data is captured accurately, timely and with less resistance from the entire organization.</p>  <p><strong>How it Works:</strong> The fundamental component is that we integrate time tracking to opportunities (projects) that our sales team closes using Microsoft Dynamics CRM.&#160; Once an opportunity is closed a project record is created within Microsoft Dynamics CRM.&#160; At this point, a project manager is assigned to the project and this person is responsible for building out the project team.&#160; Members of the project team are then assigned to the project within Microsoft Dynamics CRM and they are able to begin billing against the project (I will get into more details of managing projects in a subsequent blog).&#160; Simply tracking time to a project is not sufficient because you often times need to track time to specific items and sub-items (etc.).&#160; The PM is able to transfer items from a functional specification document to the project in Microsoft Dynamics CRM making it available for the project team to track time to specific tasks.&#160; </p>  <p><strong>Time Summary Dashboard:</strong></p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a6138046970c-pi"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Time-Dashboard" border="0" alt="Time-Dashboard" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5bcdd18970b-pi" width="817" height="509" /></a></p>  <p>In the Time Summary Dashboard you can enter time, view the week at a glance, view the total time for the month (billable vs. non-billable), and view past weeks of time.&#160; In most cases, this is where an individual will go to see how they are performing based upon the expectations of the organization.&#160; <strong><em>Note:</em></strong> The Time Summary Dashboard is available both within Microsoft Outlook and Internet Explorer.</p>  <p><strong>Time Entry Options (Flexibility is the Key):</strong></p>  <p>We recognize that individuals work in different fashions so we have created multiple ways for individuals to track their time.&#160; The key is making it as convenient as possible to enter time.&#160; Whether onsite working with a client, working from home, or working in the office everyone can easily enter their time into Microsoft Dynamics CRM.</p>  <p><strong>Batch Time Entry: </strong>This tool allows you to enter your time in batches.&#160; I use this one the most because I can enter my time on a daily basis in a very fast and efficient manner.&#160; Think of this like a traditional paper time sheet where you are adding entries like line items.&#160; You can constantly make changes to the entries up to the point where you decide to “submit” your time for the day/week/month (whatever your business requires).&#160; The Projects, Items, and Project Tasks are all fed from Microsoft Dynamics CRM based upon the project information created for the specific customer.&#160; Everything is tied out to security so that only the people who have access to that project see the related Items and Project Tasks.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a613804b970c-pi"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="BatchTimeEntry" border="0" alt="BatchTimeEntry" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5bcdd20970b-pi" width="813" height="530" /></a> </p>  <p><strong>Time Buddy:</strong> This application resides on your desktop and can be configured to launch during the initial login to your PC.&#160; This is a great application for people who have to track time very closely to specific project tasks and clients.&#160; You have the ability to start and stop time while tracking the time to a specific project, item, and task.&#160; You can also manually update time by simply entering in your own hours and minutes.&#160; </p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5bcdd26970b-pi"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="TimeBuddy" border="0" alt="TimeBuddy" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5bcdd2f970b-pi" width="275" height="331" /></a></p>  <p></p>  <p><strong>Old School CRM Time Entry:</strong> If you just had to do it you can always revert back to a core Microsoft Dynamics CRM form and enter in your time.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a6138060970c-pi"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="NativeCRMTimeEntry" border="0" alt="NativeCRMTimeEntry" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5bcdd35970b-pi" width="813" height="412" /></a></p>  <p>Once everyone has submitted their time you can setup workflow rules for managers to approve time.&#160; This is an optional feature but one that can add a lot of business value (like automatically sending email notifications to managers who are delinquent in approving time) .&#160; Time approval is managed within Microsoft Dynamics CRM by simply marking time as “Approved.”&#160; After all the time is approved you can then run Utilization Reports.&#160; Since all of this data is being stored in the Microsoft Dynamics CRM database we can create reports with Microsoft SQL Server Reporting Services.&#160; In addition, we can use the native Advance Find functionality of Microsoft Dynamics CRM to query the database on an ad-hoc basis.</p>  <p><strong>Example Utilization Report:</strong></p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a6138068970c-pi"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Utilization" border="0" alt="Utilization" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5bcdd3a970b-pi" width="815" height="500" /></a> </p>  <p>To complete the story of Time Entry we integrate all of this time data into our accounting package.&#160; The best part about this integration is that it doesn’t matter what you are using for an accounting system.&#160; We can very easily integrate to your accounting system and write these time records to your accounting database.&#160; In our implementation, we create invoices based upon this integration and display all of the invoice information back within Microsoft Dynamics CRM for account management purposes.&#160; </p>  <p>There you have it – Tracking time in Microsoft Dynamics CRM made easy.&#160; This is a great example of how you can leverage the CRM application as a “xRM” platform.&#160; </p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/79fGKNNOUBI" height="1" width="1"/>]]></content:encoded>



<dc:creator>Ryan Toenies</dc:creator>
<pubDate>Sun, 04 Oct 2009 20:57:45 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/microsoft-dynamics-xrm-professional-services-part-1.html</feedburner:origLink></item>

<item>
<title>A few tips to keep you from going customization-crazy</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/ftHQ6i7ee3I/a-few-tips-to-keep-you-from-going-customizationcrazy.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/10/a-few-tips-to-keep-you-from-going-customizationcrazy.html</guid>
<description>I’ve been working with a customer recently on ideas for managing customizations. Like many organizations, this customer has several environments running Microsoft Dynamics CRM 4.0 and many people on staff making form and field changes with the customizations tools, which...</description>


<content:encoded><![CDATA[<p>I’ve been working with a customer recently on ideas for managing customizations. Like many organizations, this customer has several environments running Microsoft Dynamics CRM 4.0 and many people on staff making form and field changes with the customizations tools, which resulted in some errors when importing the customizations into another environment. There also were a few incidents in which one person’s changes were overwritten by another’s.</p>
<p>Using the handy <a href="http://crm4documentation.codeplex.com/" target="_blank">documentation generator add-in for Microsoft Office Excel 2007</a>, we created a change log that will be managed and updated by one administrator. The documentation generator allows you to load the customizations file from a Dynamics CRM environment, then parses it to compile form, picklist, and script configurations by entity in an Excel spreadsheet – a great tool for anyone who has had to document customizations!&#0160; It’s a <a href="http://crm4documentation.codeplex.com/" target="_blank">free download from CodePlex</a> if you’re interested.</p>
<p>I hope a future version of Dynamics CRM has auditing and a rollback feature in the customizations tools, but for now, we’ll make do with a well-defined process to manage the customizations. Here are a few other best practices to help manage customizations:</p>
<ol>
<li>Limit the number of people who make customization changes and if possible, divide ownership of entities so that more than one person isn’t likely to make changes on an entity at the same time. </li>
<li>Select one environment (typically a development or test environment) as the master organization for all customizations, and make sure all changes are made and tested there before being exported and imported into another environment. </li>
<li>When possible, limit the export to only the entities that were changed. </li>
<li>The customizations are stored in the database, so all of the form layouts, client-side script and views are recoverable as long as you’re backing up your MSCRM database regularly. </li>
<li>If an entity, attribute, or relationship is deleted, you must remove the object from each environment manually.</li>
</ol>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a60cb1b7970c-pi" style="DISPLAY: inline"><img alt="Excel-DocumentationGenerator" class="asset asset-image at-xid-6a00d8341e71de53ef0120a60cb1b7970c " src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a60cb1b7970c-500wi" /></a> <br /></p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/ftHQ6i7ee3I" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 4.0</category>

<dc:creator>Kara O'Brien</dc:creator>
<pubDate>Fri, 02 Oct 2009 12:55:14 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/10/a-few-tips-to-keep-you-from-going-customizationcrazy.html</feedburner:origLink></item>

<item>
<title>Chicago Bulls and Hawks use Microsoft Dynamics CRM</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/PLQ0lf-dX0M/chicago-bulls-and-hawks-use-microsoft-dynamics-crm.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/09/chicago-bulls-and-hawks-use-microsoft-dynamics-crm.html</guid>
<description>We just announced a press release about two of our high profile CRM customers, the Chicago Bulls and the Chicago Blackhawks! You can read the full press release on our website. I am really proud of this deployment for a...</description>


<content:encoded><![CDATA[<p><img src="http://www.unitedcenter.com/images/logo_blackhawks.gif" />&#160; <img src="http://www.unitedcenter.com/images/logo_bulls.gif" /></p>  <p>We just announced a press release about two of our high profile CRM customers, the <a href="http://www.nba.com/bulls/" target="_blank">Chicago Bulls</a> and the <a href="http://www.nhl.com/blackhawks/" target="_blank">Chicago Blackhawks</a>! You can <a href="http://www.sonomapartners.com/release-09-09-22-unitedcenter.aspx" target="_blank">read the full press release</a> on our website.</p>  <p>I am really proud of this deployment for a few reasons:</p>  <ul>   <li>The United Center information technology team (the organizations that supports both the Bulls and the Hawks) conducted a very thorough CRM platform selection process considering 10+ different applications…including our good buddies at Salesforce.com. Of course, Microsoft Dynamics CRM came out of top! </li>    <li>This deployment is a <strong>great XRM example</strong>. The Bulls and Hawks have been slowly consolidating multiple disparate systems onto CRM, and now they have a single platform that supports sponsorship and marketing, community relations, ticket operations, and more! This system definitely contains more than your typical sales, marketing and service scenarios. </li>    <li>The Bulls and Hawks use CRM to support a pretty aggressive call center effort. Sonoma Partners took the out-of-the-box Microsoft CRM functionality and customized it very specifically for employees making non-stop outbound dials so they can be as efficient as possible. We also included some great tools for call center managers to route calls, assign work, and shift work as necessary. </li> </ul>  <p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="savard" border="0" alt="savard" align="right" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5fd31f7970c-pi" width="135" height="97" /> Lastly (most importantly?!), I am a die-hard Blackhawks fan so it’s pretty cool to go the United Center for our business meetings. I remember that in one of our very early meetings, the Blackhawks coach (and hockey Hall of Famer) <a href="http://en.wikipedia.org/wiki/Denis_Savard" target="_blank">Denis Savard</a> came in, sat down and started chatting it up with us. Unfortunately he quickly realized he was in the wrong conference room, so he said good-bye and bolted. Even though it was short-lived it was fun, he was a super nice guy.</p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/PLQ0lf-dX0M" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 4.0</category>

<dc:creator>Mike Snyder</dc:creator>
<pubDate>Mon, 28 Sep 2009 21:13:17 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/09/chicago-bulls-and-hawks-use-microsoft-dynamics-crm.html</feedburner:origLink></item>

<item>
<title>Gathering no moss</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/NzF6d0Ec-qI/gathering-no-moss.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/09/gathering-no-moss.html</guid>
<description>We've been busy at Sonoma Partners this summer, and it doesn't look like things are slowing down anytime soon. In addition to some challenging new customer projects, we're excited about the activity around Microsoft Dynamics CRM 4.0, including: Increasingly robust...</description>


<content:encoded><![CDATA[We've been busy at Sonoma Partners this summer, and it doesn't look like things are slowing down anytime soon. In addition to some challenging new customer projects, we're excited about the activity around Microsoft Dynamics CRM 4.0, including:
<ul>
<li>Increasingly robust mobile solutions for Windows Mobile, Blackberry and iPhone </li>
<li>New accelerators – Coming soon, keep an eye on <A href="http://www.codeplex.com/crmaccelerators" target=_blank>CodePlex</A> for updates </li>
<li>Updates to the Outlook client </li>
<li>More information about accessing CRM data in SharePoint </li>
<li>More ISV solutions</li>
</ul>
All of the above are detailed in the Microsoft Dynamics CRM Statement of Direction, an updated version of which was released last week. If you haven't seen the document already, check it out –- It's a great overview of the roadmap for Microsoft Dynamics CRM. You can download the document from <A href="https://mbs.microsoft.com/customersource/documentation/whitepapers/MSD_CRM4StatementOfDirection.htm" target=_blank>CustomerSource</A> and <A href="https://mbs.microsoft.com/partnersource/marketing/statementofdirection/MD_CRM_SOD.htm" target=_blank>PartnerSource</A>. Happy reading!<img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/NzF6d0Ec-qI" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 4.0</category>

<dc:creator>Kara O'Brien</dc:creator>
<pubDate>Sat, 26 Sep 2009 10:55:03 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/09/gathering-no-moss.html</feedburner:origLink></item>

<item>
<title>Microsoft Dynamics &amp;ndash; Convergence 2010 &amp;ndash; Atlanta, GA</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/DrE4_QZ_YCw/microsoft-dynamics-convergence-2010-atlanta-ga.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/09/microsoft-dynamics-convergence-2010-atlanta-ga.html</guid>
<description>Microsoft’s next Convergence conference is going to be held about one month later than past conferences. Please mark your calendars for April 25 – 28, 2010, in Atlanta, GA. Sign up for Registration Alerts to be notified of important dates...</description>


<content:encoded><![CDATA[<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a5f0634e970c-pi"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Convergence" border="0" alt="Convergence" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a599b714970b-pi" width="766" height="150" /></a></p>  <p>Microsoft’s next Convergence conference is going to be held about <strong>one month later</strong> than past conferences.&#160; Please mark your calendars for     <br />April 25 – 28, 2010, in Atlanta, GA.&#160; Sign up for <a href="mailto:mbs-evnt@microsoft.com?subject=Convergence%202010%20Atlanta%20Alerts&amp;body=Please%20submit%20the%20following%20information%20in%20order%20to%20receive%20email%20alerts%20regarding%20registration%20for%20Convergence%202010%20Atlanta.%0a%0a%0a%0aName:%0a%0aCompany:%0a%0aE-mail%20Address:%0a%0aI have a promotional code:" target="_blank">Registration Alerts</a> to be notified of important dates and promotions.&#160; If you attended Convergence 2009 please make sure you visit the website so that you gain access to all the videos, presentations, and other conference materials that were discussed in New Orleans.</p>  <p>Website: <a title="http://www.microsoft.com/dynamics/convergence/" href="http://www.microsoft.com/dynamics/convergence/">http://www.microsoft.com/dynamics/convergence/</a></p>  <p>Who should attend:</p>  <ul>   <li><strong>Sales, Marketing, and Customer Service</strong> leadership teams       <ul>       <li>Learn how your peers are using CRM to drive business productivity </li>     </ul>   </li>    <li><strong>CRM administrators</strong>       <ul>       <li>Tips ‘n Tricks on maintaining a healthy CRM environment </li>        <li>Building out optimized CRM configurations </li>     </ul>   </li>    <li><strong>Power users</strong> from the business       <ul>       <li>Powerful workflows that enable business productivity </li>        <li>How to build Dashboards that provide business insight </li>     </ul>   </li>    <li><strong>CIO’s</strong>       <ul>       <li>xRM – Unleash the Power of Microsoft Dynamics CRM </li>        <li>Leveraging your Microsoft technology investments (Office, Windows, Dynamics, Exchange, SQL, SharePoint, and more) </li>     </ul>   </li> </ul>  <p>We look forward to seeing you in Atlanta, GA!</p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/DrE4_QZ_YCw" height="1" width="1"/>]]></content:encoded>



<dc:creator>Ryan Toenies</dc:creator>
<pubDate>Fri, 25 Sep 2009 11:01:53 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/09/microsoft-dynamics-convergence-2010-atlanta-ga.html</feedburner:origLink></item>

<item>
<title>Live from the land of desert and dates: Abu Dhabi!</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/P895Wzu5nSA/live-from-the-land-of-desert-and-dates-abu-dhabi.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/09/live-from-the-land-of-desert-and-dates-abu-dhabi.html</guid>
<description>That's right, readers – I've traded in the view from our Chicago office for a T-shaped island in the United Arab Emirates. Sonoma Partners has gone international! The opportunity to work overseas was met with a great deal of curiosity...</description>


<content:encoded><![CDATA[<p>That's right, readers – I've traded in the view from our Chicago office for a T-shaped island in the United Arab Emirates. Sonoma Partners has gone international!</p>

<p>The opportunity to work overseas was met with a great deal of curiosity and extraordinary support by my employers – Not surprising for a <a href="http://www.sonomapartners.com/awards.aspx" target="_blank">two-time winner of Chicago's Best and Brightest Companies to Work For award</a>.</p>

<p>While here, I'll be shifting to a more strategic role in the operations at Sonoma Partners, working with our sales and marketing teams, scheduling our consultants, making sure our projects continue to hum along at our usual high quality standards, and managing our relationship with an offshore development partner. </p>

<p>It's been a week since I’ve arrived, and the culture shock hasn’t quite worn off. Fortunately, we created a newsfeed application that allows me to keep up on the news and coffee break chatter back in the Chicago office. <a href="http://www.sonomapartners.com/contact.aspx" target="_blank">Contact us</a> for details on how we're using a few Microsoft Dynamics CRM entities and RSS technology to manage internal updates on our projects, technical accomplishments, sales and marketing activities, and even our four-league Fantasy Football extravaganza.</p>

<P><A style="DISPLAY: inline" href="http://www.bing.com/maps/default.aspx?encType=1&where1=Abu+Dhabi%2c+United+Arab+Emirates&qpvt=abu+dhabi+map&FORM=Z7FD"><img  class="at-xid-6a00d8341e71de53ef0120a56c97be970b " title="Map of Abu Dhabi" border=0 alt="Map of Abu Dhabi" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0120a56c97be970b-800wi"></A></P><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/P895Wzu5nSA" height="1" width="1"/>]]></content:encoded>



<category>Sonoma Partners</category>

<dc:creator>Kara O'Brien</dc:creator>
<pubDate>Mon, 14 Sep 2009 10:02:50 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/09/live-from-the-land-of-desert-and-dates-abu-dhabi.html</feedburner:origLink></item>

<item>
<title>First Week &amp;ndash; Wow!</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/e-7oid8-oeE/first-week-wow.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/08/first-week-wow.html</guid>
<description>This has definitely been an exciting week for me at Sonoma Partners. I joined the company on Monday and have been heads down getting to know everyone and working with the sales team. I am very excited about my decision...</description>


<content:encoded><![CDATA[<p>This has definitely been an exciting week for me at Sonoma Partners.&#160; I joined the company on Monday and have been heads down getting to know everyone and working with the sales team.&#160; I am very excited about my decision to join Sonoma and look forward to the months and years ahead!</p>  <p>I am based out of Minneapolis, MN, focused on building Sonoma’s Microsoft Dynamics CRM sales team across the United States.&#160; In my first week we have posted 3 sales positions, welcomed back one of our account executives from maternity leave, and made introductions to some of the new Microsoft field reps across the country.&#160; Next week we will be International – I will let Kara spill the beans on that one.</p>  <p>The CRM business continues to flourish across the country.&#160; xRM is the latest buzz (have you seen the latest video?).&#160; Our Franchisor vertical is gaining lots of traction.&#160; The Sonoma development team created a wicked Enterprise 2.0 application for internal social networking (awesome internal communication tool and of course integrated to Dynamics CRM).&#160; Oh, and the Sonoma Fantasy Football Draft is set for Monday afternoon (should I or shouldn’t I draft Favre … what do you think Josh?).</p>  <p>Learn more about our sales positions: <a href="http://www.careerbuilder.com/JobSeeker/Jobs/JobResults.aspx?IPath=QHKCV&amp;sc_cmp1=js_navg_ncc&amp;ncc=%5e%22Sonoma+Partners%22%24&amp;APath=2.21.0.0.0&amp;ff=21&amp;excrit=QID%3dA6656244659483%3bst%3da%3buse%3dALL%3brawWords%3dsonoma+partners%3bCID%3dUS%3bSID%3d%3f%3bTID%3d0%3bENR%3dNO%3bDTP%3dDRNS%3bYDI%3dYES%3bIND%3dALL%3bPDQ%3dAll%3bPDQ%3dAll%3bPAYL%3d0%3bPAYH%3dgt120%3bPOY%3dNO%3bETD%3dALL%3bRE%3dALL%3bMGT%3dDC%3bSUP%3dDC%3bFRE%3d30%3bQS%3dsid_unknown%3bSS%3dNO%3bTITL%3d0%3bJQT%3dRAD%3bJDV%3dFalse" target="_blank">Microsoft CRM Software Sales Consultant</a></p>  <h5>Microsoft Dynamics CRM – Infinite Possibilities</h5> <object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/Yru5CkANOKA&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Yru5CkANOKA&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object>  <p><strong>:: Ryan ::</strong></p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/e-7oid8-oeE" height="1" width="1"/>]]></content:encoded>



<dc:creator>Ryan Toenies</dc:creator>
<pubDate>Thu, 20 Aug 2009 12:59:19 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/08/first-week-wow.html</feedburner:origLink></item>

<item>
<title>Sonoma Partners and our customers in the Showcase</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/MZG285sYJRI/sonoma-partners-and-our-customers-in-the-showcase.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/08/sonoma-partners-and-our-customers-in-the-showcase.html</guid>
<description>Back in March 2009 at Convergence, Microsoft interviewed some customers and partners about their experiences with Dynamics CRM. The finished product finally hit the web yesterday. Check it out: Sonoma Partners: Experiences 250% Growth Selling Microsoft Dynamics CRM in a...</description>


<content:encoded><![CDATA[<p>Back in March 2009 at Convergence, Microsoft interviewed some customers and partners about their experiences with Dynamics CRM. The finished product finally hit the web yesterday. Check it out:</p>  <p><iframe height="326" src="http://www.microsoft.com/video/en/us/player/embed/e8128d4c-2be5-40be-8a19-cf69e1a20f8b" frameborder="0" width="430" allowtransparency="allowtransparency" scrolling="no"></iframe>    <br /><a href="http://www.microsoft.com/video/en/us/details/e8128d4c-2be5-40be-8a19-cf69e1a20f8b?vp_evt=eref&amp;vp_video=Sonoma+Partners%3a+Experiences+250%25+Growth+Selling+Microsoft+Dynamics+CRM+in+a+Recession">Sonoma Partners: Experiences 250% Growth Selling Microsoft Dynamics CRM in a ...</a></p>  <p>In addition, two of our customers (Resurrection Health Care and Jones Lang LaSalle) are featured on the showcase as well:</p>  <p><iframe height="326" src="http://www.microsoft.com/video/en/us/player/embed/708a51ef-c836-428f-ad58-f33c0e473744" frameborder="0" width="430" allowtransparency="allowtransparency" scrolling="no"></iframe>    <br /><a href="http://www.microsoft.com/video/en/us/details/708a51ef-c836-428f-ad58-f33c0e473744?vp_evt=eref&amp;vp_video=Resurrection+Healthcare%3a+Saved+%245K-%2410K+on+IT+Support+with+Microsoft+Dynamics+CRM">Resurrection Healthcare: Saved $5K-$10K on IT Support with Microsoft Dynamics...</a></p> <iframe height="326" src="http://www.microsoft.com/video/en/us/player/embed/0b0c5d73-a2f8-4036-9ae9-ecc115934701" frameborder="0" width="430" allowtransparency="allowtransparency" scrolling="no"></iframe>  <br /><a href="http://www.microsoft.com/video/en/us/details/0b0c5d73-a2f8-4036-9ae9-ecc115934701?vp_evt=eref&amp;vp_video=Jones+Lange+LaSalle">Jones Lang LaSalle</a><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/MZG285sYJRI" height="1" width="1"/>]]></content:encoded>



<dc:creator>Mike Snyder</dc:creator>
<pubDate>Thu, 20 Aug 2009 11:25:20 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/08/sonoma-partners-and-our-customers-in-the-showcase.html</feedburner:origLink></item>

<item>
<title>CRMUG Summit 2009</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/Wx9q1LtktNA/crmug-summit-2009.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2009/08/crmug-summit-2009.html</guid>
<description>This year, the Dynamics CRM User Group will be having its annual user conference in St. Charles, IL (just outside of Chicago) on September 14-18. This event will be loaded with training and information sessions for CRM users of all...</description>


<content:encoded><![CDATA[<p><img src="http://www.sonomapartners.com/images/blog/090819-crmug-summit-2009.jpg" width="640" height="146" /> </p>  <p>This year, the Dynamics CRM User Group will be having its <a href="http://www.dynamiccommunities.com/summit2009/crmug/summithome09.asp" target="_blank">annual user conference</a> in St. Charles, IL (just outside of Chicago) on September 14-18. This event will be loaded with training and information sessions for CRM users of all types. Here is the formal description of the event:</p>  <p><em>The CRMUG Summit features a wealth of information-packed Educational Sessions and Role-Based Tracks that deliver Dynamics CRM knowledge and experience designed to help organizations optimize the functionality, flexibility, performance and return on investment benefit offered by Dynamics CRM. </em></p>  <p><em>In addition, the Summit provides ample opportunities for social and professional networking with other Dynamics CRM users, experts, peers, partners and Microsoft product managers and specialists.</em> </p>  <p>Registration is still open, so if you haven’t already done, so sign up <a href="http://www.regonline.com/Checkin.asp?EventId=712473" target="_blank">here</a>. </p>  <p>Presenters this year includes many Microsoft CRM personnel and CRM MVPs. I am presenting the <strong>Using CRM with Outlook </strong>session in the Sales, Marketing, Customer Service track. My session is Thursday, September 17 from 4pm-5pm. I hope to see you there! </p>  <p>Since I didn’t attend WPC this year, I am excited to catch up with many of my CRM peers that I missed in July. Drop me a line if you are attending and would like to connect!</p><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/Wx9q1LtktNA" height="1" width="1"/>]]></content:encoded>



<dc:creator>Jim Steger</dc:creator>
<pubDate>Wed, 19 Aug 2009 11:07:28 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2009/08/crmug-summit-2009.html</feedburner:origLink></item>

</channel>
</rss><!-- ph=1 --><!-- nhm:from_kauri -->
