<?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 authors of the official Microsoft Press books about Microsoft Dynamics CRM</description>
<language>en-US</language>
<lastBuildDate>Sun, 06 May 2012 18:27:38 -0500</lastBuildDate>
<generator>http://www.typepad.com/</generator>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/typepad/sonoma" /><feedburner:info uri="typepad/sonoma" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><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><item>
<title>Introducing CRM 2011 Appender for log4net</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/kR9Ts2OtYy8/introducing-crm-2011-appender-for-log4net.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/05/introducing-crm-2011-appender-for-log4net.html</guid>
<description>I am pleased to announce the new CRM 2011 Appender for log4net! This will allow developers to easily log messages from a custom process to a custom Log entity within your CRM 2011 organization. The advantage of this over the...</description>


<content:encoded><![CDATA[<p>I am pleased to announce the new <a href="https://crm2011appender.codeplex.com">CRM 2011 Appender for log4net</a>!&#160; This will allow developers to easily log messages from a custom process to a custom Log entity within your CRM 2011 organization.&#160; The advantage of this over the basic log4net file appender is that Administrators can view these messages from within the CRM UI instead of finding a file that is stored somewhere on the CRM server.</p>  <p>The CRM 2011 Appender is built on the <a href="http://logging.apache.org/log4net/index.html">log4net library</a> so it comes with all the features of log4net such as filtering messages to log by level (debug, info, warning, error, fatal) and a variety of tokens to use in the message output.</p>  <p>The project on CodePlex comes with a sample Log entity that can be used to store log messages.&#160; It has a custom message attribute to store the actual message and a custom Level attribute to store the level of the message (debug, info, warning, error, fatal).&#160; </p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0167663b23c0970b-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016305475b8e970d-pi" width="616" height="176" /></a>&#160;</p>  <p><strong>Note:&#160; To limit the amount of records created in a production environment, it is recommended to set the log4net Threshold to only log Warnings and Errors.</strong></p>  <p>For more information about the CRM 2011 Appender and how to use it, check out the documentation on CodePlex - <a href="https://crm2011appender.codeplex.com/documentation">https://crm2011appender.codeplex.com/documentation</a></p>  <p>Follow the project for future updates and feedback or feature requests are greatly appreciated!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=kR9Ts2OtYy8:B0L8Dq_k_MQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=kR9Ts2OtYy8:B0L8Dq_k_MQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/kR9Ts2OtYy8" height="1" width="1"/>]]></content:encoded>



<dc:creator>Blake Scarlavai</dc:creator>
<pubDate>Sun, 06 May 2012 18:27:38 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/05/introducing-crm-2011-appender-for-log4net.html</feedburner:origLink></item>

<item>
<title>CRM 2011 JavaScript Model Generator</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/EdvgcpFivgU/crm-2011-javascript-model-generator.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/04/crm-2011-javascript-model-generator.html</guid>
<description>Last month I released the CRM 2011 JavaScript Model Generator on CodePlex and received some great feedback and requests to provide multi-form capabilities and the ability to explicitly include certain attributes, tabs, sections, and left navs. I am happy to...</description>


<content:encoded><![CDATA[<p>Last month I <a href="http://mscrmdev.blogspot.com/2012/02/crm-2011-javascript-model-generator.html">released</a> the CRM 2011 JavaScript Model Generator on <a href="http://crmjsmodelgenerator.codeplex.com/">CodePlex</a> and received some great feedback and requests to provide multi-form capabilities and the ability to explicitly include certain attributes, tabs, sections, and left navs.</p>
<p>I am happy to announce that this functionality has been implemented in the latest version of the tool which you can find here - <a href="http://crmjsmodelgenerator.codeplex.com/">http://crmjsmodelgenerator.codeplex.com/</a>.</p>
<h2>Multi-form Capability</h2>
<p>This can be accomplished by specifying the name of the form that you want to generate the JS model for (FormName attribute below).  If you don’t specify the form name then it will just grab the first form retrieved for that entity.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01630362846b970d-pi"><img alt="image" border="0" height="144" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0167645758c4970b-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="572" /></a></p>
<p>If two separate forms for the same entity are needed then there would need to be two separate javascript files, one per form.  The config would look something like this:</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01630362847c970d-pi"><img alt="image" border="0" height="177" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01630362848a970d-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="650" /></a></p>
<h2>Explicitly Include Types</h2>
<p>This can be accomplished by first setting parameters on the Entity node in the config to false.  These parameters include:</p>
<ul>
<li>IncludeAllAttributes </li>
<li>IncludeAllTabs </li>
<li>IncludeAllSections </li>
<li>IncludeAllLeftNavs </li>
</ul>
<p>Secondly, nodes for each type would need to be added underneath the Entity node.  The example below will only generate the model for the “Salutation”, “First Name”, and “Last Name” attributes, the “Address” section, the “General” tab, and the “Addresses” left nav link.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e958703b970c-pi"><img alt="image" border="0" height="427" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0167645758db970b-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="555" /></a></p>
<p>To generate all instances for each type, either set the respective “IncludeAll” setting to true or leave it out of the config.</p>
<p>That’s it for this release.  Please keep the feedback coming, it has been extremely helpful!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=EdvgcpFivgU:FVoEsAA4vYA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=EdvgcpFivgU:FVoEsAA4vYA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/EdvgcpFivgU" height="1" width="1"/>]]></content:encoded>



<dc:creator>Blake Scarlavai</dc:creator>
<pubDate>Wed, 04 Apr 2012 08:42:00 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/04/crm-2011-javascript-model-generator.html</feedburner:origLink></item>

<item>
<title>The Curious Case of the Never Ending OData Request and How SQL Profiling Saved the Day</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/DOExgPkxt5M/the-curious-case-of-the-never-ending-odata-request-and-how-sql-profiling-saved-the-day.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/04/the-curious-case-of-the-never-ending-odata-request-and-how-sql-profiling-saved-the-day.html</guid>
<description>Today's guest blogger is BJ Dibbern, a Developer at Sonoma Partners. Just the other day a coworker and I were attempting to track down a request to CRM 2011’s OData service from Silverlight that just would not complete. We first...</description>


<content:encoded><![CDATA[<p><em><em>Today&#39;s guest blogger is BJ Dibbern, a Developer at Sonoma Partners.</em></em></p>
<p>Just the other day a coworker and I were attempting to track down a request to CRM 2011’s OData service from Silverlight that just would not complete. We first noticed that a very simple update request was taking forever to finish and assumed there must be some sort of error happening that was not bubbling up through the user interface. We went down a long path to troubleshoot this issue, and this is our tale.</p>
<p>We started by first opening up Fiddler to check and see if there was actually an error occurring and it wasn’t bubbling up correctly. We’ve previously covered using Fiddler to help with troubleshooting problems in CRM, and you can reference that <a href="http://blog.sonomapartners.com/2012/01/fiddling-with-crm.html">here</a> (<a href="http://blog.sonomapartners.com/2012/01/fiddling-with-crm.html" title="http://blog.sonomapartners.com/2012/01/fiddling-with-crm.html">http://blog.sonomapartners.com/2012/01/fiddling-with-crm.html</a>). However, we sat and watched the request, and it just never completed, just as it looked in the UI.</p>
<p>This was really strange as one would assume that the request would eventually time out; but today this was not the case.</p>
<p>For our next step, we headed over to the CRM Web Server to check its Event Viewer for any sign of error or warning occurring around the time of the request. While there was not anything explicitly listed in the Event Viewer, we did end up finding an event around that time. When we looked at the attached log, we found a detailed error stating: “Generic SQL Error”.</p>
<p>If you ever find yourself faced with a “Generic SQL Error”, it is far better to start with a SQL trace directly on the database as opposed to a CRM trace. Conceptually this makes sense as the error itself is actually occurring in the database.</p>
<p>We ended up heading off for the SQL Profiler in order to run a trace against the database. This can be done following the steps below.</p>
<p>1. Open the SQL Server Profiler. This can be found in the start menu under <strong>Microsoft SQL Server 2008</strong> –&gt; <strong>Performance Tools</strong>.</p>
<p>2. Select <strong>File</strong> –&gt; <strong>New Trace</strong>.</p>
<p>3. Connect to the SQL Server in question.</p>
<p>4. On this screen’s <strong>General</strong> tab you can enter a name for the trace if you desire, and use a template if you have created one previously. Note that these instructions assume that you do not have a template setup already.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016764638c93970b-pi"><img alt="image" border="0" height="412" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016764638c9d970b-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="644" /></a></p>
<p>5. Go to the <strong>Events Selection </strong>tab.</p>
<p>6. Here you can start to select the events you would like to monitor. Filtering this down and checking individual events one at a time will help you be able to better hone in on your problem, but for now, we’ll select a bunch of events that are relevant.Note that for each event, if you check the box on the far left, the profiler will automatically select all the other columns on the right. Below you will find some suggested events from each category to monitor</p>
<blockquote>
<p>a. <strong>Errors and Warnings:</strong> <em>Exception, User Error Message.</em></p>
<p>b. <strong>Stored Procedures: </strong><em>RPC Completed, SP:StmtCompleted, SP:StmtStarting.</em></p>
<p>c. <strong>Locks: </strong><em>Lock:Deadlock, Lock:Deadlock Chain, Lock:Timeout, Lock:Timeout (timeout &gt; 0).</em></p>
<p>d. <strong>TSQL: </strong><em>SQL:StmtCompleted, SQL:StmtStarting.</em></p>
</blockquote>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e964c0b3970c-pi"><img alt="image" border="0" height="412" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163036ec1f8970d-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="644" /></a></p>
<p>7. After selecting all your desired events to monitor, select the <strong>Column Filters</strong> button in the lower right hand corner of the window.</p>
<p>8. In the <strong>Column Filters</strong> window, select <strong>DatabaseName </strong>from the list on the left, and under <strong>Like</strong> enter the name of the desired CRM Organization’s database to be monitored. Performing this step will make sure you are only monitoring the data that is relevant to what you’re trying to troubleshoot.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e964c0c2970c-pi"><img alt="image" border="0" height="318" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163036ec203970d-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="404" /></a></p>
<p>9. Next you can click <strong>OK</strong> to get out of the <strong>Column Filters</strong> window.</p>
<p>10. Before you actually click <strong>Run</strong> to start the trace, you want to make sure you’re setup to reproduce the error message. Once ready, click <strong>Run</strong> in the SQL Server Profiler, then perform the action in CRM that causes the error. You will be able to Start, Pause, and Stop the trace from the toolbar in the main window of SQL Server Profiler.</p>
<p>We were able to monitor the errors and watch them happen during the trace. From here we were able to correlate what was being logged and determine that there was a process that was still running that held a lock on the table we were trying to access. We found a <a href="http://msdn.microsoft.com/en-us/library/ms189107.aspx">Lock:Timeout</a> (<a href="http://msdn.microsoft.com/en-us/library/ms189107.aspx" title="http://msdn.microsoft.com/en-us/library/ms189107.aspx">http://msdn.microsoft.com/en-us/library/ms189107.aspx</a>) event in the trace and this lead us to the fact that, as the event indicates, there was a process currently running that had a lock on the table and was causing our OData queries from Silverlight to fail.</p>
<p><span style="color: #c0504d;">Fair warning here that these methodologies were used on a development environment, and thus data integrity was not a huge concern. These methods should be used with caution and should be thoroughly evaluated by all parties involved before applying to a production environment.</span></p>
<p>After running a simple query we were able to verify that a query did have a lock on the table and had been running for several hours. Since we knew the table we were looking at did not have any long running processes that should’ve been occurring, we knew we could kill the process. After we killed the process, things thankfully returned to normal. We followed the following steps to retrieve that currently running process and then to kill it.</p>
<p>1. Open SQL Server Management Studio.</p>
<p>2. Connect to the SQL Server in question.</p>
<p>3. Create a new Query.</p>
<p>4. Execute the SQL statement below to display a list of all currently running transactions.</p>
<p>5. If you encounter a long running transaction that you’d like to end, just run a new statement, “KILL [sessionId]”, where [sessionId] is the Numeric identifier of the session you’d like to end.</p>
<pre class="csharpcode"><span class="kwrd">SELECT</span> <span class="kwrd">TOP</span> 100
   r.[session_id],
   c.[client_net_address],
   s.[host_name],
   c.[connect_time],
   [request_start_time] = s.[last_request_start_time],
   [<span class="kwrd">current_time</span>] = <span class="kwrd">CURRENT_TIMESTAMP</span>,
   r.[percent_complete],
   [estimated_finish_time] = DATEADD
       (
           MILLISECOND,
           r.[estimated_completion_time], 
           <span class="kwrd">CURRENT_TIMESTAMP</span>
       ),
   current_command = <span class="kwrd">SUBSTRING</span>
       (
           t.[text],
           r.[statement_start_offset]/2,
           <span class="kwrd">COALESCE</span>(<span class="kwrd">NULLIF</span>(r.[statement_end_offset], -1)/2, 2147483647)
       ),
   <span class="kwrd">module</span> = <span class="kwrd">COALESCE</span>(QUOTENAME(OBJECT_SCHEMA_NAME(t.[objectid], t.[dbid])) 
       + <span class="str">&#39;.&#39;</span> + QUOTENAME(OBJECT_NAME(t.[objectid], t.[dbid])), <span class="str">&#39;&lt;ad hoc&gt;&#39;</span>),
   [status] = <span class="kwrd">UPPER</span>(s.[status])
 <span class="kwrd">FROM</span>
     sys.dm_exec_connections <span class="kwrd">AS</span> c
 <span class="kwrd">INNER</span> <span class="kwrd">JOIN</span>
     sys.dm_exec_sessions <span class="kwrd">AS</span> s
     <span class="kwrd">ON</span> c.session_id = s.session_id
 <span class="kwrd">LEFT</span> <span class="kwrd">OUTER</span> <span class="kwrd">JOIN</span>
     sys.dm_exec_requests <span class="kwrd">AS</span> r
     <span class="kwrd">ON</span> r.[session_id] = s.[session_id]
 <span class="kwrd">OUTER</span> APPLY
     sys.dm_exec_sql_text(r.[sql_handle]) <span class="kwrd">AS</span> t
 <span class="kwrd">WHERE</span>
 s.status <span class="kwrd">like</span> <span class="str">&#39;%running%&#39;</span>
<span class="kwrd">ORDER</span> <span class="kwrd">BY</span> session_id desc</pre>
<p>&#0160;</p>
<p>While we weren’t able to uncover why that process had never completed, we were at least able to end the process, and we haven’t had the problem since.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=DOExgPkxt5M:dkd_q4tBB7c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=DOExgPkxt5M:dkd_q4tBB7c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/DOExgPkxt5M" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 2011</category>

<dc:creator>Matt Weiler</dc:creator>
<pubDate>Mon, 02 Apr 2012 08:38:32 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/04/the-curious-case-of-the-never-ending-odata-request-and-how-sql-profiling-saved-the-day.html</feedburner:origLink></item>

<item>
<title>Windows 8 Tablet Apps For Business Could be the Next Big Thing (yes, really)</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/GFQih2OkVhE/windows-8-tablet-apps-for-business-could-be-the-next-big-thing-yes-really.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/03/windows-8-tablet-apps-for-business-could-be-the-next-big-thing-yes-really.html</guid>
<description>In case you’ve been living under a rock, you already know that Microsoft is putting the finishing touches on their next operating system dubbed Windows 8. Despite the naming convention, it is a major departure from previous iterations. Gone is...</description>


<content:encoded><![CDATA[<p>In case you’ve been living under a rock, you already know that Microsoft is putting the finishing touches on their next operating system dubbed Windows 8. Despite the naming convention, it is a major departure from previous iterations. Gone is the famous “Start” button, and in its place is a whole new design that Microsoft calls “Metro.”</p>
<p>While Apple is slowly merging its iOS and OS X operating systems, Windows 8 has been designed from the get-go to provide a truly unified experience between all of your devices, whether it’s a smart phone, tablet, laptop, or desktop. The real kicker here is that this could be the first generation of tablet computers to truly replace a desktop or laptop.&#0160;</p>
<p>2 weeks ago ZDNet&#0160;<a href="http://www.zdnet.com/blog/microsoft/microsoft-crm-partner-builds-first-ever-windows-8-tablet-app-for-the-enterprise/12169" target="_self">announced</a> that we had completed the first enterprise-level app for Windows 8 tablets, and the interest we’ve received since then has been amazing. People that have seen the app in real life are blown away by how elegant and simple an enterprise productivity application can be.</p>
<p><a class="asset-img-link" href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e9680ffb970c-pi" style="display: inline;"><img alt="Newbelgiuminterface2" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0168e9680ffb970c image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e9680ffb970c-800wi" title="Newbelgiuminterface2" /></a><br /><br /></p>
<p>With apps that are as easy to use as they are easy to look at, a major shift could be underway for people who find themselves working in the field. Since these Windows 8 devices can run every productivity app they’re used to (yes, including Office), they may no longer need multiple devices. Simply take your tablet with you on the road, and when you return home put it in a dock with external monitor and keyboard and it becomes your desktop.&#0160;</p>
<p><strong>What About Developers?</strong><br />Apps are great to talk about, but without a robust developer community a platform is doomed to fail. Luckily for Microsoft, they have the largest developer community in the world. And they plan to entice that community very heavily with incentives.</p>
<p>Once an app in the Microsoft Windows 8 store hits $25,000 in sales, Microsoft reduces its cut of the sale from 30% down to 20%. Compared to Apple’s App Store that is a tremendous pricing advantage for developers. In addition, developers can use their own commerce engine inside the application and keep 100% of the revenue – a far cry from Apple’s approach.&#0160;</p>
<p><strong>When Does This All Start?</strong><br />No official release date has been made public yet, but <a href="http://www.pcworld.com/article/252545/windows_8_release_candidate_by_may_its_consistent_with_what_weve_heard.html" target="_self">rumors are swirling</a> that the release candidate could be ready as early as May of this year. It&#39;s a pretty safe bet that we&#39;ll all see Windows 8 tablets in fall of this year, both Intel and ARM chipsets included.&#0160;</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=GFQih2OkVhE:QkeanCcE-1c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=GFQih2OkVhE:QkeanCcE-1c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/GFQih2OkVhE" height="1" width="1"/>]]></content:encoded>



<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Thu, 29 Mar 2012 17:05:41 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/03/windows-8-tablet-apps-for-business-could-be-the-next-big-thing-yes-really.html</feedburner:origLink></item>

<item>
<title>Is Something Missing in Your Organization Service? Check the Cache!</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/SHUYXlrjPoo/my-entry.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/03/my-entry.html</guid>
<description>The Developer Extensions for Microsoft Dynamics CRM are extremely helpful tools for developing custom code for CRM. They provide a simplified way to connect to the CRM Services with the ability to be configured and extended. One ‘gotcha’ when using...</description>


<content:encoded><![CDATA[<p>The <a href="http://msdn.microsoft.com/en-us/library/gg695784.aspx">Developer Extensions for Microsoft Dynamics CRM</a> are extremely helpful tools for developing custom code for CRM.  They provide a simplified way to connect to the CRM Services with the ability to be configured and extended.</p>
<p>One ‘gotcha’ when using the <a href="http://msdn.microsoft.com/en-us/library/microsoft.xrm.client.configuration.crmconfigurationmanager.aspx">CrmConfigurationManager</a> class to connect to CRM is that the <strong>default configuration includes caching of the organization service</strong>.  A colleague of mine was running into an issue where the organization service wasn’t recognizing his newly created relationship when developing a query, so he had the need to disable caching.</p>
<p>To do this, update the App.config with the following XML:</p>
<pre>  <img title="2-22-2012 3-42-02 PM" width="749" alt="2-22-2012 3-42-02 PM" style="background-image: none; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e7d32ecf970c-pi" border="0" height="134" /><br /><br /></pre>
<p>Note that this requires the microsoft.xrm.client section to be declared in the App.config as well.  The full App.config should look something like this:</p>
<pre>  <img title="2-22-2012 3-44-52 PM" width="831" alt="2-22-2012 3-44-52 PM" style="background-image: none; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016762d13c47970b-pi" border="0" height="329" /></pre>
<pre> </pre>
<pre><span style="font-family: Arial;"><br />The examples above are covered in the following MSDN article </span><a href="http://msdn.microsoft.com/en-us/library/gg695805.aspx"><span style="font-family: Arial;">http://msdn.microsoft.com/en-us/library/gg695805.aspx</span></a></pre><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=SHUYXlrjPoo:37il7cADpBA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=SHUYXlrjPoo:37il7cADpBA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/SHUYXlrjPoo" height="1" width="1"/>]]></content:encoded>



<dc:creator>Blake Scarlavai</dc:creator>
<pubDate>Mon, 05 Mar 2012 11:02:41 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/03/my-entry.html</feedburner:origLink></item>

<item>
<title>Ad-hoc Comments on CRM Reports</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/8iaHmj7d1TE/ad-hoc-comments-on-crm-reports.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/02/ad-hoc-comments-on-crm-reports.html</guid>
<description>Today's guest blogger is Jacob Cynamon-Murphy, a Technical Specialist at Sonoma Partners. It's no secret - I have opinions and I like to share them, so during a demo, it came as no surprise when a prospect asked about how...</description>


<content:encoded><![CDATA[<p><em><em>Today&#39;s guest blogger is Jacob Cynamon-Murphy, a Technical Specialist at Sonoma Partners.</em></em></p>
<p>It&#39;s no secret - I have opinions and I like to share them, so during a demo, it came as no surprise when a prospect asked about how they might share opinions of their own.&#0160; Exploring a migration from a proprietary CRM system, they wanted to understand how CRM 2011 supported adding ad-hoc comments to SQL Server Reporting Services (SSRS) reports.&#0160; I&#39;ve heard this request a few times while talking with customers, so I wanted to share a variety of approaches that yield similar results, but address somewhat different needs.</p>
<p><strong>Parameterized comments in the SSRS report<br /></strong>If you know in advance that you would like to have ad-hoc comments on a report, it is easy to create a custom parameter in the report definition to support this.&#0160; When the user selects filters, they could also submit a block of text as a comment that would then show up in a &quot;summary&quot; or &quot;comments&quot; section of the report.&#0160; Although this technique would make it easy for a user to add comments to a report at the time of generation, it does require a SSRS admin to customize the report and limits the user&#39;s comments to a pre-defined area.&#0160; This approach is best-suited for scenarios where you may have a need for a summary or header area that is drafted from scratch for each report generated.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01676311916f970b-pi" style="display: inline;"><img alt="Jc1" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef01676311916f970b image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01676311916f970b-800wi" title="Jc1" /></a></p>
<p><strong>Emailed comments with an attached report<br /></strong>With this technique, no custom report definition is necessary; simply render the report in your preferred format, write up your comments in an email and attach the document.&#0160; I am assuming that every user in your organization who is creating or reviewing reports would have access to email.&#0160; This approach requires no customization, but doesn&#39;t bind the comments with the report; if a recipient replies to the email, the attachment will not stay attached for reference.&#0160; For one-off exchanges, this technique should be fine; for more in-depth reviews, look to the next approach to get what you need.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163021cfeb7970d-pi" style="display: inline;"><img alt="Jc2" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0163021cfeb7970d image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163021cfeb7970d-800wi" title="Jc2" /></a></p>
<p><strong>PDF report with embedded comments<br /></strong>Easily my favorite of the approaches, I call this the Romeo and Juliet approach - marrying Adobe Reader and CRM 2011 to create fully-commented, distributable reports.&#0160; I discovered this feature by accident while reading a whitepaper.&#0160; This feature may have been available in versions prior to version &quot;X&quot; of Adobe Reader, but I only noticed it after Adobe updated my software to the latest version.</p>
<p>When you open a PDF in Adobe Reader X, there is a button on the menu called <em>Comment</em>.&#0160; When you click on <em>Comment</em>, a sidebar expands on the right side of the window, allowing you to add two types of <em>Annotation</em> - Sticky Note and Highlight Text.&#0160; They&#39;re self-explanatory, so I won&#39;t go into too much detail - the takeaway here is that you can use this feature of Adobe Reader to apply comments to your <em>read-only</em> PDF report, sharing your opinions and thoughts with colleagues.&#0160; There is even a concept of replies and checkboxes, so you can have multiple participants commenting and reviewing together.&#0160; While this is likely most useful for editable PDFs, it allows us to address a common requirement of comments on reports, while preserving the read-only nature of the report itself.&#0160; The comments travel with the report and remain for all readers to&#0160;</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163021cff77970d-pi" style="display: inline;"><img alt="Jc3" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0163021cff77970d" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163021cff77970d-800wi" title="Jc3" /></a></p>
<p>Quick Steps</p>
<p>1. After generating the report, click on Export and select Acrobat (PDF) file.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01676311930a970b-pi" style="display: inline;"><img alt="Jc4" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef01676311930a970b" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01676311930a970b-800wi" title="Jc4" /></a></p>
<p>2. If you are prompted to Open or Save, select Open.</p>
<ol> </ol>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163021d019b970d-pi" style="display: inline;"><img alt="Jc5" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0163021d019b970d image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0163021d019b970d-800wi" title="Jc5" /></a></p>
<p>3. Inside Adobe Reader, apply your comments.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e8134a3f970c-pi" style="display: inline;"><img alt="Jc6" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0168e8134a3f970c" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e8134a3f970c-800wi" title="Jc6" /></a></p>
<p>4. Select File&#0160;| Attach to Email… to kick off a new email.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e8134b1d970c-pi" style="display: inline;"><img alt="Jc7" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0168e8134b1d970c" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e8134b1d970c-800wi" title="Jc7" /></a></p>
<p>5. Click Attach to open your email client and send your annotated report.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e8134bc5970c-pi" style="display: inline;"><img alt="Jc8" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0168e8134bc5970c" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e8134bc5970c-800wi" title="Jc8" /></a></p>
<p><strong>Conclusion<br /></strong>As we have seen, there are several options for including ad-hoc comments on CRM reports.&#0160; The three I outline give you some great options that you can use to include your own thoughts on the reports that you share, but that&#39;s just my opinion ;-)&#0160; Happy reporting!</p>
<p>&#0160;</p>
<p><em>Author’s Note: Special thanks go to Brendan Landers and Corey O’Brien for reviewing this content and for Neal Sullivan for authoring the ad-hoc report with parameterized comment.</em></p>
<p>&#0160;</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=8iaHmj7d1TE:DD5aIbdHiII:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=8iaHmj7d1TE:DD5aIbdHiII:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/8iaHmj7d1TE" height="1" width="1"/>]]></content:encoded>



<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Mon, 27 Feb 2012 13:08:04 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/02/ad-hoc-comments-on-crm-reports.html</feedburner:origLink></item>

<item>
<title>Whoa Doggie, it&amp;rsquo;s on with Microsoft CRM&amp;rsquo;s Next Update!</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/jk6VSEx8DCU/whoa-doggie-its-on-with-microsoft-crms-next-update.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/02/whoa-doggie-its-on-with-microsoft-crms-next-update.html</guid>
<description>Hot off the presses this morning, Microsoft announced the details about the next service update (release) of Microsoft Dynamics CRM 2011. I have reviewed the details, and I am here to say this is BIG TIME! The next update doesn’t...</description>


<content:encoded><![CDATA[<p>Hot off the presses this morning, <a href="http://www.microsoft.com/Presspass/press/2012/feb12/02-06CRMMobilePR.mspx" target="_blank">Microsoft announced</a> the details about the next service update (release) of Microsoft Dynamics CRM 2011. I have reviewed the details, and I am here to say this is BIG TIME! The next update doesn’t have an official name yet so let’s just call it the H2 2012 update for now. You can get more details in the updated <a href="http://crmpublish.blob.core.windows.net/docs/ReleasePreviewGuide.pdf" target="_blank">Statement of Direction</a>.</p>  <p><img style="background-image: none; border-right-width: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016300d7ecbf970d-pi" width="691" height="347" /></p>  <p><strong><u><img style="background-image: none; border-right-width: 0px; margin: 20px 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" border="0" align="right" src="http://www.apple.com/euro/ipad/3g/images/wifi_3g_wifi_ipad_20110302.jpg" />Microsoft Dynamics CRM Mobile         <br /></u></strong>Hallelujah! Microsoft will finally offer a proper mobile solution. Sure you have always had Microsoft Dynamics CRM Mobile Express, but that didn’t quite work for all customers. Fortunately, now you have the option to upgrade.</p>  <ul>   <li>Supports all major mobile platforms - iPhone, iPad, Blackberry, Android and Windows Phone 7. Yes you read that right, support for non-Microsoft devices! </li>    <li>Works with both on-premise and Microsoft Dynamics CRM Online deployments </li>    <li>License allows a user to connect up to three devices (so I can have an iPad and a Windows Phone 7 connected) </li>    <li>Works offline </li>    <li>Cloud subscription – list price of $30/per user per month </li> </ul>  <p><strong><u>Multi-Browser Support for Microsoft Dynamics CRM        <br /></u></strong>If the news that Microsoft was going support non-MSFT mobile devices wasn’t enough to knock your socks off, you had better sit down. Microsoft Dynamics CRM 2011 will support non-Internet Explorer Web browsers! Here are the details:</p>  <ul>   <li>Firefox (Version 6+) on Windows 7 / Windows Vista / Windows XP / Mac OS-X and iOS 5.x </li>    <li>Chrome (Version 13.x) on Windows 7 / Windows Vista / Windows XP </li>    <li>Safari (Version 5.1.1+) on Windows 7 / Windows Vista / Windows XP / iPad 2 (iOS 5.x) </li>    <li>Internet Explorer (Version 7.x+) on Windows 7 / Windows Vista / Windows XP </li> </ul>  <p>The only minor wrinkle to the multi-browser support is that the administration pages (assuming that means system configuration, etc.) will still require Internet Explorer but that’s no big deal.</p>  <p><strong><u>Activity Feed Enhancements</u></strong>     <br />Microsoft is continuing to invest in the enterprise social networking space by adding new features to the Activity Feeds module they first released in November 2011. These enhancements include:</p>  <ul>   <li>Like and Dislike (Dislike? Really? Even Facebook doesn’t have that :)) </li>    <li>Filter to just show your @ mentions </li>    <li>Filter based on the types of records you follow </li>    <li>Filter on record views </li>    <li>Updated mobile app for Windows Phone 7.5 </li> </ul>  <p><strong><u><img style="background-image: none; border-right-width: 0px; margin: 10px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" border="0" align="right" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/7115.sql_2D00_server_2D00_2012.png" width="240" height="53" />SQL Server 2012</u></strong>     <br />This one is pretty obvious and you might be tempted to think this is just an infrastructure benefit. However, SQL Server 2012 actually offers the potential for cool new reporting options through the new Power View tools. If you have not seen Power View in SQL Server 2012 yet, <a href="http://www.youtube.com/watch?v=7k77Pzf5Dlg" target="_blank">check it out right away</a>…it’s impressive! The H2 2012 update will include some pre-built PowerPivot models and PowerView reports to help you get started.</p>  <p><strong><u>Read Optimized User Interface&#160; <br /></u></strong>This is a neat new option that allows users to open CRM records in a light-weight read-only form. By doing so, users will see significant improvements in form loading times because there’s less data to download. If the user then wants to edit a record, they just click the “Edit” button to access all of the fields. Even better, each user can specify their personal preference on whether they want the form to open in Read-Only or Edit mode by default.</p>  <p><strong><u>Custom Workflow Assemblies in CRM Online</u></strong>     <br />Currently, Microsoft Dynamics CRM Online does not support custom workflow assemblies. HOWEVER, that gap will be fixed soon because the H2 2012 release will support custom workflow assemblies in an Online deployment. </p>  <p><strong><u>Additional Microsoft Dynamics CRM Online Certifications        <br /></u></strong>The Microsoft Dynamics CRM Online datacenter has been going through auditing and certification for many of the industry standard certifications that customers request. The H2 2012 update will be compliant with these certs:</p>  <ul>   <li>Safe Harbor </li>    <li>ISO 27001, SAS70 Type II, SOX </li>    <li>Data Processing Agreement (DPA) </li>    <li>EU Model Clauses </li>    <li>HIPPAA / BAA </li>    <li>SSAE SOC1 Type II </li> </ul>  <p><strong><u>Industry Templates        <br /></u></strong>Last but not least, Microsoft will offer some industry specific templates to help ramp up customers and partners. We would suggest that you use these for evaluation purposes only, they aren’t ready for customers to drop in and get started using immediately in our opinion. The industry templates include: non-profit, wealth management, health plan sales, and relationship management for health.</p>  <p>Overall, it’s great to see the continued investment into Microsoft Dynamics CRM. I am also proud of the Microsoft CRM product team by sticking to continual updates every 6 months (versus the old model of updates once every 3 years).</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=jk6VSEx8DCU:8_GW5S1xC0s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=jk6VSEx8DCU:8_GW5S1xC0s:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/jk6VSEx8DCU" height="1" width="1"/>]]></content:encoded>



<dc:creator>Mike Snyder</dc:creator>
<pubDate>Mon, 06 Feb 2012 08:32:14 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/02/whoa-doggie-its-on-with-microsoft-crms-next-update.html</feedburner:origLink></item>

<item>
<title>Fiddling with CRM</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/afttQdmiwDc/fiddling-with-crm.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/01/fiddling-with-crm.html</guid>
<description>Today’s guest blogger is Blake Scarlavai, a Senior CRM Developer at Sonoma Partners. Fiddler can be extremely helpful in troubleshooting CRM issues and also great for testing web requests before deploying. In this post I will go over some of...</description>


<content:encoded><![CDATA[<p><em>Today’s guest blogger is Blake Scarlavai, a Senior CRM Developer at Sonoma Partners.</em></p>  <p>Fiddler can be extremely helpful in troubleshooting CRM issues and also great for testing web requests before deploying.&#160; In this post I will go over some of the helpful and maybe not-so-obvious features of Fiddler.&#160; </p>  <p>First things first, you can find Fiddler here - <a href="http://fiddler2.com/fiddler2/version.asp">http://fiddler2.com/fiddler2/version.asp</a>.&#160; Also to get started we first need to turn on a few settings.&#160; </p>  <p>If you are using HTTPS then go into Tools – Fiddler Options -&gt; HTTPS Tab and check the following options:</p>  <ul>   <li>Capture HTTPS CONNECTs</li>    <li>Decrypt HTTPS traffic</li>    <li>Ignore server certificate errors</li> </ul>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e5b50be7970c-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e5b50bf3970c-pi" width="244" height="166" /></a></p>  <p>Next, click on the Composer tab on the right side panel of Fiddler.&#160; Then click on the Options sub-tab and select Automatically Authenticate</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016760b3e05c970b-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffbf46da970d-pi" width="241" height="244" /></a></p>  <p>With these settings turned on, we can now perform the following techniques.</p>  <p><b><u>Request Logging</u></b></p>  <p><b><u></u></b></p>  <p>The main feature of Fiddler is being able to log and inspect web requests being made from the client machine.&#160; In CRM this is very helpful for debugging any requests that are failing and it also can be used to see how much traffic there is and how long each request takes.&#160; If you have ever seen a “Not Found” error coming from a Silverlight web request then usually Fiddler can be used to spot the failing request and uncover a more helpful detailed error.</p>  <p>To get started logging traffic.&#160; Make sure the bottom left corner of Fiddler says “Capturing” and if not click the empty box to enable logging.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016760b3e097970b-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016760b3e09d970b-pi" width="244" height="80" /></a></p>  <p>Once logging is enabled, browse to CRM and navigate to the area that makes the failing web request.&#160; You should see a request on the left pane in red which indicates that there was an issue.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffc97f61970d-pi"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffc97f9b970d-pi" width="244" height="87" /></a></p>  <p>If we click on the red web request we can then use the Inspectors tab on the right side pane to inspect the web request.&#160; The top pane will show information about the request and the bottom pane will show information about the response.&#160; For my specific example, I can use the bottom pane to see the response and notice that there is a more detailed error being returned.&#160; Fiddler is telling me that “‘SystemUser’ entity does not contain attribute with Name ‘new_test’.”.&#160; I know that this attribute doesn’t exist in my Organization and I can check the top pane to view the request and see that a query for SystemUser is being made and trying to return the non-existent ‘new_test’ attribute.</p>  <p>For performance tuning on a CRM form, we can clear out all the existing web requests using Ctrl-X and then stop capturing until we are ready to pull up the form.&#160; Once we are ready to pull up the form, click the box at the bottom left to start capturing traffic again.&#160; Now open the CRM form and when it is finished loading, click the box again to stop traffic.&#160; Now highlight all the web requests in the left pane and in the right pane, click the Statistics tab at the top.&#160; This will display some helpful information such as how many requests were made, the bytes sent and received, and the amount of time the requests took.&#160; In my example below, there were very few requests made and it took about 1.5 seconds to complete.&#160;&#160;&#160; </p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffbf4791970d-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016760b3e0b7970b-pi" width="644" height="241" /></a></p>  <p>We can see a chronological view by highlighting all of the web requests again and selecting the Timeline tab on the right.&#160; This will show a breakdown of how long each request took.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffbf479e970d-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffbf47a5970d-pi" width="644" height="255" /></a></p>  <p><b><u>Composer</u></b></p>  <p><b><u></u></b></p>  <p>A very helpful feature in Fiddler is the Composer feature.&#160; If we go back to the very first example where a query for SystemUser is being made with a non-existent column, we can use the Composer tab to fix the very same web request.&#160; To fix this we can go to CRM where the failing web request happens.&#160; Capture that web request using fiddler and now click on the Composer tab on the top right pane.&#160; Then drag the web request from the left pane over to the right pane.&#160; This will auto-populate values in the Composer tab and allow us to edit the Request Body at the bottom of the right pane.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016760b3e0c3970b-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016760b3e0c8970b-pi" width="502" height="484" /></a></p>  <p>In my example I can remove the problem attribute in the Request Body highlighted above.&#160; Then I can recreate the web request without the problem attribute by clicking Execute at the top right.&#160; This will perform the new web request and log it in fiddler as well.&#160; As shown below using the Inspectors tab, my new web request was executed without the problem attribute and data was successfully returned in the Response pane at the bottom.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef016760b3e0d0970b-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e5b50ccc970c-pi" width="560" height="484" /></a></p>  <p><b><u>AutoResponder</u></b></p>  <p><b><u></u></b></p>  <p>We can take the above example with the Composer feature even further.&#160; First grab the TextView of the Response body above (the working web request) and copy and paste it into notepad.&#160; Save that file as XML.&#160; Now highlight the problem web request in the left pane and click the AutoResponder tab at the top of the right pane.&#160; In the AutoResponder pane first check Enable automatic responses and Unmatched requests passthrough.&#160; Now click Add at the top right to create a new rule.&#160; At the very bottom, use the second drop down to select the XML file that was saved in the first step.&#160; Then click Save.&#160; What this does is create a rule that says “If a request URI matches this specific URI, then respond with the selected XML”.&#160; In our scenario this will look for any requests that match the URI of our problem request and return the XML of our working web request.&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p>  <p><b><u></u></b></p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffbf47b4970d-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162ffbf47b9970d-pi" width="644" height="255" /></a></p>  <p>With this AutoResponder rule setup we can now test our fix for the problem web request by navigating to it again in CRM and it should work as if there isn’t a bug in our query and respond with the correct data.&#160; </p>  <p>By using the above techniques we can troubleshoot our web request issues to uncover a helpful error, test our fix to the problem web request and see it in action without deploying any code updates.&#160; Now that we have our fix, we can make our code changes and deploy it for testing.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=afttQdmiwDc:zGfFAazJFWI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=afttQdmiwDc:zGfFAazJFWI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/afttQdmiwDc" height="1" width="1"/>]]></content:encoded>



<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Tue, 17 Jan 2012 16:28:33 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/01/fiddling-with-crm.html</feedburner:origLink></item>

<item>
<title>What&amp;rsquo;s New in the Microsoft Dynamics CRM November 2011 Service Update</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/XI6k6FwO-HU/whats-new-in-the-microsoft-dynamics-crm-november-2011-service-update.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2012/01/whats-new-in-the-microsoft-dynamics-crm-november-2011-service-update.html</guid>
<description>With the Thanksgiving and Christmas holidays causing a major distraction, Microsoft quietly released an impressive new update for Microsoft Dynamics CRM 2011. In typical wordy Microsoft marketing fashion, this released is named “Microsoft Dynamics CRM November 2011 Service Update”, although...</description>


<content:encoded><![CDATA[<p>With the Thanksgiving and Christmas holidays causing a major distraction, Microsoft quietly released an impressive new update for Microsoft Dynamics CRM 2011. In typical wordy Microsoft marketing fashion, this released is named “Microsoft Dynamics CRM November 2011 Service Update”, although you might also see this release referred to as (these are all the same thing believe it or not):</p>  <ul>   <li>Microsoft Dynamics CRM Q4 2011 Service Update </li>    <li>Microsoft Dynamics CRM 2011 Update Rollup 5 (how you actually <a href="http://support.microsoft.com/kb/970141" target="_blank">download and install the update</a>) </li>    <li>Microsoft Dynamics CRM 2011 R7 (Microsoft’s internal code name for this release) </li> </ul>  <p>You can check out the official Microsoft marketing content if you want to get your information right from the source:</p>  <ul>   <li><a href="http://crm.dynamics.com/nov2011" target="_blank">Microsoft Dynamics CRM November 2011 Service Update</a> website complete with a 25 minute “What’s New” video. </li>    <li><a href="http://az26122.vo.msecnd.net/docs/Release_Preview_Guide.pdf" target="_blank">Microsoft Dynamics CRM Release Preview Guide</a> </li>    <li><a href="http://blogs.msdn.com/b/crm/archive/2011/11/01/introduction-to-the-microsoft-dynamics-crm-november-2011-service-update.aspx" target="_blank">Introduction to the Microsoft Dynamics CRM November 2011 service update</a> blog post from Microsoft </li> </ul>  <p>We wanted to share our perspective on this release and call out the highlights. So without further ado, here we go! These are listed in rough order of importance from high to low.</p>  <p><strong><u><font size="3">Social Capabilities via Activity Feeds</font></u></strong></p>  <p>Microsoft Dynamics CRM 2011 now offers social networking capabilities directly within the platform via Activity Feeds. Activity feeds offer enterprise microblogging so that users can internally share and collaborate on CRM records. The activity feeds posts can be user generated or auto-generated based on rules that you configure. We created a short screencast to give you an overview of how activity feeds work within Microsoft Dynamics CRM: </p> <iframe allowfullscreen="allowfullscreen" frameborder="0" height="360" src="http://www.youtube.com/embed/c-SGnBRNqHg?hd=1" width="640"></iframe>  <p>The fine print: Microsoft does not automatically add Activity Feeds to your existing CRM Online deployment, you need to manually install Activity Feeds and setup them up. You can <a href="http://dynamics.pinpoint.microsoft.com/en-us/applications/microsoft-dynamics-crm-activity-feeds-12884926310" target="_blank">download the Activity Feeds solution</a> from the Dynamics Marketplace.</p>  <p><strong><u>Enterprise Cloud Capabilities</u></strong></p>  <p>While Microsoft Dynamics CRM Online is a great offering, in the past it lacked some of the capabilities that many large organizations demand. With the November 2011 Service Update, Microsoft Dynamics CRM Online is truly ready for the enterprise:</p>  <ul>   <li>Microsoft CRM Online <strong>supports Active Directory federation</strong> so that users can logon with their regular AD accounts (instead of having to create a separate Windows Live ID account like CRM Online users need to do today). This is often referred to as single sign-on (SSO). </li>    <li>Microsoft announced they designed the AD federation feature so that they can support additional identity platforms in the future, although they didn’t specify which platforms they are thinking (guessing Facebook? Google?). </li>    <li>Microsoft added in-region disaster recovery with additional data centers in Europe and Asia. In the past, all of CRM Online was run out of data centers in the United States. </li>    <li>Microsoft added a bunch of industry certifications which many customers require of their data center. </li> </ul>  <p>The fine print: First, only customers running Microsoft Dynamics CRM Online on the OSDP (Online Services Deployment Platform) can setup AD federation. If you have an existing CRM Online org, you will need to get your organization migrated to OSDP. You cannot just “turn on” AD federation for your CRM Online deployment. Microsoft has not released the details and timing on this migration process for existing customers. If you are considering purchasing Microsoft Dynamics CRM Online and you need AD federation, you can request a CRM Online trial on the OSDP platform but you must have at least 100 users.</p>  <p>In order to setup single sign-on, you need to configure <a href="http://onlinehelp.microsoft.com/en-us/Office365-enterprises/ff652540.aspx#BKMK_Requirements" target="_blank">Active Directory Federation Services 2.0 and meet the system requirements</a>.</p>  <p><strong><u>Announced Additional Browser Support for Microsoft Dynamics CRM</u></strong></p>  <p>This one is a little tricky because it’s just an announcement of <a href="http://www.ecommercetimes.com/story/73196.html?wlc=1315359745" target="_blank">FUTURE functionality</a> but we think it’s hugely important. Microsoft announced that the next service update (codenamed R8) will support multiple web-browsers and platforms. This includes:</p>  <ul>   <li>Safari web browser (PC and Mac / iPad) </li>    <li>Firefox web browser (PC and Mac) </li>    <li>Chrome (PC only) </li> </ul>  <p>We are particularly excited about this because supporting Safari on a Mac also means that users will be able to access Microsoft Dynamics CRM through their iPad or iPhone. Nice! Microsoft communicated that the R8 release will be in the first half of calendar year 2012.</p>  <p><strong><u>Feature Enhancements</u></strong></p>  <p>The November 2011 Service Update also includes a handful of nice little feature updates. These improvements include:</p>  <ul>   <li>Outlook reading pane improvements      <ul>       <li>You can now click on links in the reading pane (email, telephone, lookups, etc.) </li>        <li>Subgrids can be displayed </li>        <li>The reading pane will show Lync presence </li>     </ul>   </li>    <li>Outlook email tracking switched to asynchronous, this will provide better performance over slower connections </li>    <li><a href="http://blogs.msdn.com/b/crm/archive/2011/12/15/what-s-new-with-dialogs-in-microsoft-dynamics-crm-2011-ur5.aspx" target="_blank">Dialog improvements</a>       <ul>       <li>Data is saved when moving back and forth within dialog windows </li>        <li>Added support for Date, Date Time and Lookup type data attributes </li>     </ul>   </li>    <li>Added Insert Hyperlink capability so that you can include the Record URL in workflows and dialogs </li>    <li>Added User Audit capabilities so that companies can track when users logon to Microsoft Dynamics CRM (either via a Web browser or Outlook client) </li>    <li>Improvements to charting and reporting capabilities:      <ul>       <li>Added area and stacked chart types </li>        <li>Can include multiple series per chart (up to 5 series) </li>     </ul>   </li>    <li>Duplicate detection enhancements      <ul>       <li>You can now ignore blank values when configuring your rules </li>        <li>You can also exclude inactive matching records when looking for duplicates </li>     </ul>   </li> </ul>  <p><strong><u>Unified Office 365 Experience</u></strong></p>  <p>The November 2011 Service Update makes life a little easier for customers that are also using Office 365 because now they can have unified provisioning, billing and administration between the two systems.</p>  <p>The fine print: This has same restrictions as the ones mentioned above for Active Directory federation, it only applies to new customers running CRM Online on the OSDP platform.</p>  <p><u><strong>What’s Next?</strong></u></p>  <p>Obviously this update includes lots of great new stuff, but if you’re like us you’re already wondering what’s next after this?!?! You should expect to see the next release codenamed R8 in the first half of 2012, but Microsoft hasn’t announced the details of that release just yet. We are also expecting Microsoft to release an updated <a href="http://www.sonomapartners.com/Documents/CRM/CRM_StatementOfDirection_May2011.pdf" target="_blank">Statement of Direction</a> document very soon, so stay tuned for details on that.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=XI6k6FwO-HU:AwWYQtYPlTc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=XI6k6FwO-HU:AwWYQtYPlTc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/XI6k6FwO-HU" height="1" width="1"/>]]></content:encoded>



<dc:creator>Mike Snyder</dc:creator>
<pubDate>Thu, 05 Jan 2012 13:05:00 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2012/01/whats-new-in-the-microsoft-dynamics-crm-november-2011-service-update.html</feedburner:origLink></item>

<item>
<title>Light “spackling” for your Activity Feed walls</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/upZXnCAMG_0/light-spackling-for-your-activity-feed-walls.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/12/light-spackling-for-your-activity-feed-walls.html</guid>
<description>Today's guest blogger is Jacob Cynamon-Murphy, a Technical Specialist at Sonoma Partners. I'm a big fan of Activity Feeds, the social CRM feature in Microsoft Dynamics CRM introduced with release 7 (R7) in November. Not only can users manually post...</description>


<content:encoded><![CDATA[<p><em>Today&#39;s guest blogger is Jacob Cynamon-Murphy, a Technical Specialist at Sonoma Partners.</em></p>
<p>I&#39;m a big fan of <a href="http://rc.crm.dynamics.com/rc/2011/en-us/on-prem/5.0/start_with_Activity_Feeds.aspx">Activity Feeds</a>, the social CRM feature in Microsoft Dynamics CRM introduced with release 7 (R7) in November.&#0160; Not only can users manually post to &quot;record walls,&quot; but power users can use Activity Feed Rules or custom workflows to create auto-posts when meaningful events occur on records or in the system.&#0160; Internally, we have updated the Sonoma Vibe desktop and iPad clients to use the new Activity Feed Post and Comment entities as well, making it very easy to share news and knowledge (not to mention fun) with the rest of the company.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01675fabd436970b-pi" style="display: inline;"><img alt="Image008" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef01675fabd436970b" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01675fabd436970b-800wi" title="Image008" /></a></p>
<p>As a technical specialist at Sonoma Partners, I am responsible for managing the demo environments that we use.&#0160; Benefitting from a little slow time while everyone is on holiday, I decided the time was right to deploy <a href="http://dynamics.pinpoint.microsoft.com/en-US/applications/microsoft-dynamics-crm-activity-feeds-12884926310">the managed solution for Activity Feeds</a> to all of our demo orgs that my colleague in IT had updated to R7.&#0160; While deploying the solution and <a href="http://rc.crm.dynamics.com/rc/2011/en-us/on-prem/5.0/help/source_sf_setup_activity_Feeds.htm">enabling activity feeds for the primary entities</a>, I quickly noticed that the bit field to enable record walls sometimes remained at &#39;No&#39; despite everything I attempted to set it to &#39;Yes&#39;.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162feb6fb87970d-pi" style="display: inline;"><img alt="Image009" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0162feb6fb87970d image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162feb6fb87970d-800wi" title="Image009" /></a></p>
<p>I wondered if this might be a common issue, so I checked the Microsoft Dynamics CRM forum and the CRM Team blog.&#0160; On the blog, I discovered an article about <a href="http://blogs.msdn.com/b/crm/archive/2011/11/09/how-to-add-a-record-wall-to-a-form.aspx">enabling record walls manually</a>; in short, the plugin that processes Activity Feed Configuration records is designed to only add a record wall to an entity&#39;s form if there is only a single form of type &quot;Main&quot;.&#0160; The article goes on to walk through the manual steps to add the tab and HTML web resource to each form, attach the JavaScript web resource to the forum, and register an event handler from the JavaScript to the tab; that last step cleans up the form by hiding the record wall until a user accesses it from the form navigation on the left-hand side.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162feb6fcf7970d-pi" style="display: inline;"><img alt="Image005" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0162feb6fcf7970d" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162feb6fcf7970d-800wi" title="Image005" /></a></p>
<p>While this approach works fine if you have one or two forms to modify, I had dozens; several of our demo environments have managed solutions or manual customizations that use role-based forms.&#0160; I decided to write a quick-and-dirty utility that prompts the user for a server name and an organization name (and saves up to 9 server/org pairs), credentials and an entity logical name and automates these form customization steps for each &quot;Main&quot; form of the entity.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e4acd61b970c-pi" style="display: inline;"><img alt="Image010" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0168e4acd61b970c image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0168e4acd61b970c-800wi" title="Image010" /></a></p>
<p>If you have a complex implementation including entities with multiple forms, this utility - available for <a href="http://sonomapartners.typepad.com/files/activity-feed-form-fixer.zip" target="_self" title="download">download</a>&#0160;- will save you time configuring and get your organization more social, and patch up record walls so your users can share information more effectively.</p>
<p>&#0160;</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=upZXnCAMG_0:oBHFuslwPnA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=upZXnCAMG_0:oBHFuslwPnA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/upZXnCAMG_0" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 2011</category>

<category>Vibe Social Networking</category>

<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Fri, 30 Dec 2011 10:44:32 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/12/light-spackling-for-your-activity-feed-walls.html</feedburner:origLink></item>

<item>
<title>Security Settings for Displaying a Native Ribbon Button</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/q-DLKnbAFvs/security-settings-for-displaying-a-native-ribbon-button.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/11/security-settings-for-displaying-a-native-ribbon-button.html</guid>
<description>Today’s guest blogger is Blake Scarlavai, a Senior CRM Developer at Sonoma Partners. Having trouble figuring out why a native ribbon button isn’t displaying? An easy way to determine the permissions required for the ribbon button is to export the...</description>


<content:encoded><![CDATA[<p><em>Today’s guest blogger is Blake Scarlavai, a Senior CRM Developer at Sonoma Partners.</em></p>  <p>Having trouble figuring out why a native ribbon button isn’t displaying?&#160; An easy way to determine the permissions required for the ribbon button is to export the entity or application ribbon.&#160; </p>  <p>For example, we were trying to set up a security role and allow the permission to import data.&#160; The ‘Import Data’ ribbon button is usually displayed in the application ribbon but it wasn’t displaying for a user with our new security role.&#160; </p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015436b30c66970c-pi"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015392dfacf6970b-pi" width="230" height="112" /></a></p>  <p>To debug this, I took to the application ribbon xml.&#160; I used this handy sample code to easily export the application ribbon from my organization - <a href="http://msdn.microsoft.com/en-us/library/hh547439.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/hh547439.aspx</a>.&#160; Another option would be to add the application ribbon to a standalone solution and export that solution to retrieve the ribbon xml.</p>  <p>Once the application ribbon xml is retrieved, I was able to search for the word ‘import’ to find the following button definition:</p>  <p><font size="2" face="Courier New">&lt;Button Id=&quot;Mscrm.BasicHomeTab.Tools.ImportData&quot; Command=&quot;<font style="background-color: #ffff00">Mscrm.ImportData</font>&quot; Sequence=&quot;10&quot; Alt=&quot;$Resources:Ribbon.Jewel.ImportData&quot; LabelText=&quot;$Resources:Ribbon.Jewel.ImportData&quot; Image16by16=&quot;/_imgs/ribbon/ImportData_16.png&quot; Image32by32=&quot;/_imgs/ribbon/importdata32.png&quot; TemplateAlias=&quot;o1&quot; ToolTipTitle=&quot;$Resources:Mscrm_BasicHomeTab_Tools_ImportData_ToolTipTitle&quot; ToolTipDescription=&quot;$Resources:Mscrm_BasicHomeTab_Tools_ImportData_ToolTipDescription&quot; /&gt;</font></p>  <p>From the button definition, I was able to find the Command Id ‘Mscrm.ImportData’ (highlighted above).&#160; I then searched the ribbon xml for ‘Mscrm.ImportData’ to find the following Command Definition so that I could identify the DisplayRule.</p>  <p><font size="2" face="Courier New">&lt;CommandDefinition Id=&quot;Mscrm.ImportData&quot;&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;EnableRules /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;DisplayRules&gt;     <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;Mscrm.NotOffline&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;<font style="background-color: #ffff00">Mscrm.ImportData</font>&quot; /&gt;      <br /></font><font size="2" face="Courier New">&#160; &lt;/DisplayRules&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;Actions&gt;     <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;JavaScriptFunction FunctionName=&quot;Mscrm.ImportData_0&quot; Library=&quot;$Webresource:Ribbon_main_system_library.js&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;/Actions&gt;     <br /></font><font size="2" face="Courier New">&lt;/CommandDefinition&gt;</font></p>  <p>As highlighted above, the DisplayRule has the same name as the CommandDefinition so I continued to search the ribbon xml for ‘Mscrm.ImportData’ to find the following DisplayRule definition:</p>  <p><font size="2" face="Courier New">&lt;DisplayRule Id=&quot;<font style="background-color: #ffff00">Mscrm.ImportData</font>&quot;&gt;      <br /></font><font size="2" face="Courier New">&#160; &lt;EntityPrivilegeRule EntityName=&quot;import&quot; PrivilegeType=&quot;Create&quot; PrivilegeDepth=&quot;Basic&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;EntityPrivilegeRule EntityName=&quot;import&quot; PrivilegeType=&quot;Delete&quot; PrivilegeDepth=&quot;Basic&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;EntityPrivilegeRule EntityName=&quot;import&quot; PrivilegeType=&quot;Read&quot; PrivilegeDepth=&quot;Basic&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;EntityPrivilegeRule EntityName=&quot;import&quot; PrivilegeType=&quot;Write&quot; PrivilegeDepth=&quot;Basic&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;EntityPrivilegeRule EntityName=&quot;importmap&quot; PrivilegeType=&quot;Create&quot; PrivilegeDepth=&quot;Basic&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;EntityPrivilegeRule EntityName=&quot;importmap&quot; PrivilegeType=&quot;Read&quot; PrivilegeDepth=&quot;Basic&quot; /&gt;     <br /></font><font size="2" face="Courier New">&#160; &lt;EntityPrivilegeRule EntityName=&quot;importmap&quot; PrivilegeType=&quot;AppendTo&quot; PrivilegeDepth=&quot;Basic&quot; /&gt;     <br /></font><font size="2" face="Courier New">&lt;/DisplayRule&gt;</font></p>  <p>As you can see, the DisplayRule definition above explicitly lays out the not-necessarily-obvious permissions needed for the ‘Import Data’ button to display.&#160; We compared this with our security role permissions to discover that we were missing Delete rights on the import entity (Data Import).&#160; Once this privilege was added, our ‘Import Data’ button magically appeared.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015392dfad01970b-pi"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015392dfad0a970b-pi" width="244" height="94" /></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=q-DLKnbAFvs:X4yioz_U_S0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=q-DLKnbAFvs:X4yioz_U_S0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/q-DLKnbAFvs" height="1" width="1"/>]]></content:encoded>



<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Mon, 07 Nov 2011 13:24:43 -0600</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/11/security-settings-for-displaying-a-native-ribbon-button.html</feedburner:origLink></item>

<item>
<title>Convergence 2012 &amp;ndash; Registration Opens in November</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/w86cio_Y3uY/convergence-2012-registration-opens-in-november.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/10/convergence-2012-registration-opens-in-november.html</guid>
<description>Registration for Convergence 2012 is just around the corner (#CONV12). Registration opens on November 16 and the early registration period ends on January 25. Early registration will save you $300 on the conference fee. Convergence 2012 is being held in...</description>


<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/dynamics/convergence/houston12/Registration.aspx?p=Hero">Registration</a> for Convergence 2012 is just around the corner (<a href="http://twitter.com/#!/search?q=%23CONV12">#CONV12</a>).&#160; Registration opens on November 16 and the early registration period ends on January 25.&#160; Early registration will save you <strong>$300</strong> on the conference fee. </p>  <p><a href="http://www.microsoft.com/dynamics/convergence/houston12/Registration.aspx?p=Hero"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Convergence Registration" border="0" alt="Convergence Registration" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162fc0a2cd5970d-pi" width="727" height="270" /></a></p>  <p>Convergence 2012 is being held in Houston, TX, from March 18 – 21.&#160; A little birdie has informed me that you will NOT want to miss the opening Convergence Reception on Sunday night, March 18.&#160; Plan your travel schedule accordingly.&#160; </p>  <p>Highlights of the 2012 Convergence Conference</p>  <ul>   <li>New Experience Center </li>    <li>Keynote Speaker on Wednesday, March 21 (TBA) </li>    <li>User Group Sessions </li>    <li>Birds of a Feather </li>    <li>Interactive Discussions </li> </ul>  <p>We look forward to seeing you at Convergence 2012 in Houston!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=w86cio_Y3uY:UilZ7kie5F4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=w86cio_Y3uY:UilZ7kie5F4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/w86cio_Y3uY" height="1" width="1"/>]]></content:encoded>



<dc:creator>Ryan Toenies</dc:creator>
<pubDate>Mon, 31 Oct 2011 07:50:55 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/10/convergence-2012-registration-opens-in-november.html</feedburner:origLink></item>

<item>
<title>Document Assembly &amp; Management, the One Stop Shop!</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/RKo8QbtgQqk/document-assembly-management-the-one-stop-shop.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/10/document-assembly-management-the-one-stop-shop.html</guid>
<description>Today’s guest blogger is Josh Meyer, an account executive at Sonoma Partners. In today’s vast world of software products, it’s nearly impossible to find a single platform that can provide all of the business functionality that end users need to...</description>


<content:encoded><![CDATA[<p><em>Today’s guest blogger is <a href="http://www.linkedin.com/pub/josh-meyer/4/b50/b49">Josh Meyer</a>, an account executive at Sonoma Partners.</em></p>
<p>In today’s vast world of software products, it’s nearly impossible to find a single platform that can provide all of the business functionality that end users need to accomplish their daily activities. How often do we all need to log onto several different systems throughout the course of the day to get our work done? Typically, these tools never look or function in the same manor, creating a painful end user experience. Rarely do any of these tools communicate with one another leaving information in silos … if only the dots could be connected.</p>
<p><strong>Connecting the Dots</strong></p>
<p>Microsoft Dynamics CRM 2011 takes the first step in connecting commonly used tools together for end users. How many of us use Outlook, Word, and Excel on a daily basis? Is it fair to say that nearly all of us use these tools at a very high frequency? Microsoft Dynamics CRM 2011 was built to deliver a platform that can be configured to meet your unique business needs while integrating with other commonly used Microsoft products (Office, SharePoint, Lync, and etc). This seamless integration enables users to utilize familiar applications to accomplish their daily activities.</p>
<p>While this seamless integration is important, it doesn’t in itself solve the issue of connecting with your unique business process. Ultimately, these system needs to be altered to meet your needs. Sonoma Partners helps clients take this important next step to not only configure Microsoft Dynamics CRM 2011 to meet your business needs, but also to extend that configuration to the entire business process experience.</p>
<p><strong>Document Assembly &amp; Management Revealed</strong></p>
<p>On a regular basis we are all creating and managing documents, if only they could be connected in some way to the business information and business processes that uses that information. Sonoma Partners has built CRM add-ins for Microsoft Word &amp; Excel that enable users to use these tools in their native setting but allowing them to push and or pull information into Microsoft Dynamics CRM and Microsoft Office SharePoint. For users, this is critical because it allows them to continue to use the tools that maximize their efficiency, while ensuring that the work they perform is connected to all the key business processes. Preserving a native application experience helps to promote a collaborative experience throughout the organization.</p>
<p><strong>Microsoft Word Generation</strong></p>
<p>In this example, we take a simple status report that we have all either written or received at one point in time. Typically, a status report is written in a Microsoft Word document and distributed to a client. Then, hopefully, the author remembers to save the document in a central file location for broader reference and would finally update their project management system to track key metrics from the status report. By this point the author has likely spent more time saving the status report &amp; updating the project management system than it took to create the initial status report. That is not business productivity!</p>
<p>The Sonoma Partners Word add-in is a CRM accelerator that resides in Microsoft Word that allows the author to easily open Word templates that connect data to and from your CRM database. In the above example, the author would enter the necessary information into the status report, and then click a button to push the data back to CRM. The Add-in also allows you to save the document to SharePoint and then email the update to all appropriate members.</p>
<blockquote>
<p><span style="background-color: #ffffff;">Sonoma Partners first blogged about two <a href="http://blog.sonomapartners.com/2010/09/new-two-way-integration-between-microsoft-word-and-microsoft-dynamics-crm.html">way integration between Microsoft Word and Microsoft Dynamics CRM</a> last September!</span></p>
</blockquote>
<p>This integration scenario demonstrates a user utilizing a familiar tool, Microsoft Word, while performing multiple business tasks from a single user interface. This creates a simplified user experience while adhering to standardized business processes.</p>
<p><img alt="image" border="0" height="401" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162fbef7237970d-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" width="628" /></p>
<p><strong>Microsoft Excel Management</strong></p>
<p>Microsoft Excel is the world’s most popular software application to perform data analytics and data manipulation. Often, the challenge is that the Excel data and results aren’t pushed back to any system where it can provide wider organizational value. In this example, we take a project plan that was built and maintained through Excel and show you how to expand the reach through Microsoft Dynamics CRM. The challenge we have found, as it relates to project plans, regardless of the tool, is that the data in the project plan is not actionable through any of the business systems, ultimately limiting its effectiveness.</p>
<p>The Sonoma Partners Excel add-in allows the author to maintain their project plan in their tool of choice, update relevant details (dates, statuses and etc.), then synchronize that content to Microsoft Dynamics CRM where actionable business workflow can be applied. This add-in allows for bi-directional synchronization between Excel and CRM, negating the need for the project plan to always be maintained in Excel because it is stored in CRM. The author simply needs to open Excel, load the data, make the appropriate updates and synchronize with CRM.</p>
<p><img alt="clip_image004" border="0" height="387" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0162fbef7297970d-pi" style="background-image: none; margin: 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image004" width="628" /></p>
<p>Both the Microsoft Word &amp; Excel add-ins highlight examples of enabling users to be more effective while utilizing familiar experiences to gain maximum business productivity. This powerful combination results in increased collaboration, higher end user adoption and adherence to important business processes that will help support a stronger bottom line!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=RKo8QbtgQqk:yFeazWSdShY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=RKo8QbtgQqk:yFeazWSdShY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/RKo8QbtgQqk" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 2011</category>

<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Wed, 26 Oct 2011 14:00:29 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/10/document-assembly-management-the-one-stop-shop.html</feedburner:origLink></item>

<item>
<title>Trying to catch my form ridin' dirty? </title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/mPFWx4i3ywQ/trying-to-catch-my-form-ridin-dirty-.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/10/trying-to-catch-my-form-ridin-dirty-.html</guid>
<description>I recently had a customer that was unable to use the native print functionality for a particular entity. Anytime they tried to print (File --&gt; Print Preview) from within the form, they received the following warning "This form has been...</description>


<content:encoded><![CDATA[<p>I recently had a customer that was unable to use the native print functionality for a particular entity. &#0160;Anytime they tried to print (File --&gt; Print Preview) from within the form, they received the following warning &quot;This form has been changed and must be saved before printing&quot;:</p>
<p>﻿﻿  <img alt="Error" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef014e8c3f7978970d" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8c3f7978970d-800wi" title="Error" /></p>
<p>This happened even though the user had just opened the form (without making any changes). &#0160;Even if they saved the form and tried again, they received the exact same warning. &#0160;The form was perpetually &quot;dirty&quot; thus preventing the ability to print (along with forcing saves on close even when no change was made). &#0160;We disabled all the javascript we had on the form, and the problem persisted. &#0160;</p>
<p>I had a colleague whip up some JS that would show me what fields were considered dirty:</p>
<p><em>javascript:var message=&quot;The following fields are dirty: \n&quot;;window.frames[0].Xrm.Page.data.entity.attributes.forEach(function(attribute,index){if(attribute.getIsDirty()==true){message+=&quot;\u2219 &quot;+attribute.getName()+&quot;\n&quot;;}});alert(message);</em></p>
<p>I just loaded the form, pasted the above in the address bar and voila - I could see which fields CRM was angry about. &#0160;(Depending on your browser security settings, you might need to manually type the &quot;javascript:&quot; into the address bar). It turned out CRM didn&#39;t like one of my lookup fields on the form. &#0160;It wasn&#39;t immediately obvious why CRM was unhappy, but after further head-scratching and leaning on the experience of my fellow Sonomans we finally figured it out.</p>
<p><img alt="JSPrompt" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef01543620027a970c" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543620027a970c-800wi" title="JSPrompt" /><br /><br />The value of the primary attribute of the lookup (generally the name field) contained two consecutive spaces (due to a concatenation issue pre-import). &#0160;<strong>Any time you have a record with 2 or more characters of white space in the name field, and that record is selected in a lookup, Microsoft CRM will think that lookup is dirty.</strong>&#0160; The reason is because CRM tries to be clever around removing extra white space between words.&#0160; What ends up happening is when it’s checking to see if a lookup is dirty, it checks to see if both the default value and the current value have the same id, typecode, and name.&#0160; But when it checks the name part, the default value has the correct spacing, and the current value has the trimmed spacing, and so they don’t match and CRM thinks the lookup is dirty. &#0160;</p>
<p>Here is an example:</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8c3f9ea9970d-pi" style="display: inline;"><img alt="Example" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef014e8c3f9ea9970d image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8c3f9ea9970d-800wi" title="Example" /></a><br /><br /></p>
<p>You can see that the first name contains many spaces, but above the header where the primary attribute field displays, the extra spaces are removed. &#0160;The same thing happens on a lookup:</p>
<p>﻿  <a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154361f64fd970c-pi" style="display: inline;"><img alt="Lookup" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0154361f64fd970c image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154361f64fd970c-800wi" title="Lookup" /></a></p>
<p>The fix was quite simple - update the fields to replace consecutive spaces with a single space. &#0160;While we like that Microsoft included logic to clean up the value, we have submitted a case indicating that the form being dirty in these instances is, in our opinion, a bug. We did some testing in the Microsoft CRM Online environment and it looks like this might already be corrected but some of you on-premise customers might still see this issue.</p>
<p>Many thanks to Bob Lauer, Corey O&#39;Brien, and Rob Montague for helping me get to the bottom of this one!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=mPFWx4i3ywQ:WMQmNFedqfw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=mPFWx4i3ywQ:WMQmNFedqfw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/mPFWx4i3ywQ" height="1" width="1"/>]]></content:encoded>



<dc:creator>Brendan Landers</dc:creator>
<pubDate>Fri, 14 Oct 2011 12:00:51 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/10/trying-to-catch-my-form-ridin-dirty-.html</feedburner:origLink></item>

<item>
<title>Dynamics CRM 2011 Web Resource Content Size Is Too Big Error</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/FPbfZIvOoSo/dynamics-crm-2011-web-resource-content-size-is-too-big-error.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/10/dynamics-crm-2011-web-resource-content-size-is-too-big-error.html</guid>
<description>Today’s guest blogger is Mike Dearing, a CRM Developer at Sonoma Partners. A colleague of mine started receiving an import error for web resources a few days ago on a client environments, “Web Resource content size is too big”. His...</description>


<content:encoded><![CDATA[<p><em>Today’s guest blogger is Mike Dearing, a CRM Developer at Sonoma Partners.</em></p>  <p>A colleague of mine started receiving an import error for web resources a few days ago on a client environments, “Web Resource content size is too big”.&#160; His scenario was tricky because none of us had ever run into this error before and was working previously. Scouring the forums led us nowhere, but a <a href="http://msdn.microsoft.com/en-us/library/8c947e83-6765-41d9-b4b7-c078a68257eb" target="_blank">quick search on MSDN</a> saved the day!</p>  <blockquote>   <p><b>Size Limitations</b></p>    <p>The maximum size of files that can be uploaded is determined by the <b>Organization.MaxUploadFileSize</b> property. This property is set in the <b>E-mail</b> tab of the <b>System Settings</b> in the application. This setting limits the size of files that can be attached to e-mail messages, notes, and and unfortunately web resources. The default setting is 5MB. </p> </blockquote>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543602a834970c-pi"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0153922f13d6970b-pi" width="644" height="462" /></a></p>  <p>As luck would have it, our client wanted to disallow attachments on notes, so they had correctly updated this property to 0.&#160; Unfortunately, since we now know that this property is shared between 3 different areas of functionality, we had to reset it and were able to properly import/update web resources again. Of course, we need to go back and change the setting after each solution update in order to respect the business requirement.&#160; </p>  <p>We created a <a href="https://connect.microsoft.com/dynamicssuggestions/feedback/details/694009/separate-web-resources-from-the-organization-maxuploadfilesize-property" target="_blank">Connect suggestion</a> to alter this behavior. If you agree, vote it up!&#160; Hopefully this helps others who may run into this issue in the future.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=FPbfZIvOoSo:PoCXU42c3hc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=FPbfZIvOoSo:PoCXU42c3hc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/FPbfZIvOoSo" height="1" width="1"/>]]></content:encoded>



<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Sun, 09 Oct 2011 15:16:52 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/10/dynamics-crm-2011-web-resource-content-size-is-too-big-error.html</feedburner:origLink></item>

<item>
<title>Some Assembly Required – Unmanaged Solution Gotchas</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/QnieL2Av4G4/some-assembly-required-unmanaged-solution-gotchas.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/09/some-assembly-required-unmanaged-solution-gotchas.html</guid>
<description>In Microsoft Dynamics CRM 2011, you can use solutions to bundle and export customizations from one environment into a different Microsoft CRM system (perfect for moving from development to QA to production). You might assume that exporting the solutions from...</description>


<content:encoded><![CDATA[<p>In Microsoft Dynamics CRM 2011, you can use solutions to bundle and export customizations from one environment into a different Microsoft CRM system (perfect for moving from development to QA to production). You <em>might</em> assume that exporting the solutions from one system to another would provide a perfect duplicate of the original environment. However this is not always the case! We have found a few gotchas regarding importing solutions that I wanted to share. Specifically:</p>
<ul>
<li>Audit Settings</li>
<li>View Status</li>
<li>Default Views and Dashboards</li>
</ul>
<p>Let’s explore each of these in more detail.</p>
<p><strong>Audit Settings</strong></p>
<p>During the export process of a solution, you can now select which system settings you want to migrate between the two environments.</p>
<p>&#0160;<a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8bae3131970d-pi" style="display: inline;"><img alt="01 - Export System Settings" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef014e8bae3131970d image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8bae3131970d-800wi" title="01 - Export System Settings" /></a></p>
<p>This flexibility to pick and choose is excellent. However, if you carefully compare the full list of System Settings to which settings you can export, you will notice that some of the options (such as Auditing) are missing:&#0160;</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8bae318f970d-pi" style="display: inline;"><img alt="02 - System Settings" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef014e8bae318f970d image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8bae318f970d-800wi" title="02 - System Settings" /></a>&#0160;</p>
<p>What we found is that the Enable Auditing in the following areas checkboxes are transferred from one environment to another, without needing to select any of the system settings for export. <strong><em>However, the Start Auditing is not.</em></strong> When documenting the steps to perform a deployment, make sure that manually checking this important box if you are performing auditing on any of your entities is one of those steps.</p>
<p><strong>&#0160;</strong></p>
<p><strong>View Status</strong></p>
<p>A new feature with Microsoft Dynamics CRM 2011 is the ability to deactivate views. For example, I have customers who do not use Campaigns so the native <em>Accounts: No Campaign Activities in the Last 3 Months</em> view is irrelevant. To remove confusion for those end users, I simply deactivate this view. To do this, simply select the view you want to remove from the user interface and select Deactivate. As always, don’t forget to publish.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154358dc460970c-pi" style="display: inline;"><img alt="03 - Deactivate View" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0154358dc460970c image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154358dc460970c-800wi" title="03 - Deactivate View" /></a>&#0160;</p>
<p>However what we found is that when you import solution into a target system, <strong>the deactivated views do NOT remain deactivated within the destination environment</strong>. Therefore, if you want to hide these views from the users, you will need to go into the target system and manually deactivate the views again (bummer). If you&#39;re writing up deployment notes, please remember to include this step!</p>
<p>&#0160;</p>
<p><strong>Default Views and Dashboards</strong></p>
<p>Microsoft Dynamics CRM allows administrators to specify the Default Views and Dashboards that users see when they navigate to a specific part of CRM. Unfortunately, similar to the inactive views gotcha we just explained, the default settings on views and dashboards do not import into new environments as you might exepect them to. Let&#39;s explain in a little more detail.</p>
<p>First, let’s look at what happens when you change default views on entities. In my example, I changed the default view on the Account entity in my development environment to <em>Accounts: No Campaign Activities in the Last 3 Months</em>. I then exported a solution containing the Account entity and imported it into an environment where the default Account system view was set to My Active Accounts. The result was <strong>two default system views</strong> for the Account entity!</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154358dc4fb970c-pi" style="display: inline;"><img alt="04 - Multiple Default Views" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0154358dc4fb970c image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154358dc4fb970c-800wi" title="04 - Multiple Default Views" /></a>&#0160;</p>
<p>Alternatively, when you import customizations with a different default dashboard, the <strong>imported solution ignores that setting entirely</strong>.</p>
<p>We were thinking that these were actually defects in the product but Microsoft support informed us otherwise. Apparently they think that the issue with duplicate default views is acceptable behavior since it really only affects users the first time that they view that entity. Each user has the option to set their own default view which overrides the default view (or views!) set by the administrator. The Microsoft CRM support team indicated that the issue with imported solutions ignoring default settings is (a-hem) “by design”. Again, users have the option to set their own default dashboard which overrides the system wide settings. Granted that&#39;s a little hinky and it requires an extra step by the user, but it does work.</p>
<p>I hope this helps smooth out some bumps with your deployments and we would love to hear any other gotchas that you would like to share!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=QnieL2Av4G4:AaXpkUdbKPU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=QnieL2Av4G4:AaXpkUdbKPU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/QnieL2Av4G4" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 2011</category>

<dc:creator>Kristie Reid</dc:creator>
<pubDate>Tue, 20 Sep 2011 14:37:09 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/09/some-assembly-required-unmanaged-solution-gotchas.html</feedburner:origLink></item>

<item>
<title>Creating Your Own Custom Privilege Settings in Dynamics CRM 2011</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/H0E_VtvfpBo/creating-your-own-custom-privilege-settings-in-dynamics-crm-2011.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/09/creating-your-own-custom-privilege-settings-in-dynamics-crm-2011.html</guid>
<description>Today’s guest blogger is Jacob Cynamon-Murphy, a CRM Development Manager at Sonoma Partners. This post assumes the reader is familiar with how to customize their Application Ribbons and add or revise JavaScript web resources. Special thanks go to my colleague,...</description>


<content:encoded><![CDATA[<p><em>Today’s guest blogger is <a href="http://www.linkedin.com/profile/view?id=3708869" target="_blank">Jacob Cynamon-Murphy</a>, a CRM Development Manager at Sonoma Partners.</em></p>  <p><em></em></p>  <blockquote>   <p>This post assumes the reader is familiar with how to customize their Application Ribbons and add or revise JavaScript web resources. Special thanks go to my colleague, Bob Lauer, our JavaScript guru.</p> </blockquote>  <h3><font color="#4f81bd">The problem</font></h3>  <p>In virtually every client project we have implemented for Microsoft Dynamics CRM 2011, clients have had a need for custom settings that we could use with ribbon buttons or other web resources to restrict functionality. These are akin to “Miscellaneous Privileges” in the native CRM configuration.</p>  <p>There is currently no native support for custom privileges (although I have an <a href="https://connect.microsoft.com/dynamicssuggestions/feedback/details/671559/allow-isvs-to-define-custom-privileges-that-are-not-tied-to-entities" target="_blank">outstanding request on Microsoft Connect</a> that you can vote up). In the meantime, we have come up with a solution to allow clients to have a generic settings entity definition and some JavaScript to support a set of dynamically growing settings records and a means to wire them up to ribbon button enable rules or web resource functionality.</p>  <p>A specific example that we will consider below is the case of closing opportunities. Natively, having the Update Opportunity privilege allows a user to close Opportunity records as won or lost. If a CRM administrator wanted to restrict the ability to close these records to a subset of users who could edit opportunities, he or she would have used a blank role, assigned it to users granted to “close” privilege and then detect this with custom code. It was effective, but didn’t scale well to additional rules; having many CRM security roles for privilege management could become unwieldy.</p>  <h3><font color="#4f81bd">The solution</font></h3>  <p>A more scalable solution would allow settings to be defined dynamically by a power user and use common code to to properly restrict the functionality. For our solution, we’re focusing on basic settings that a user can be granted and providing a means to easily retrieve these rules for use in <em>CustomRule</em> definitions within the <em>EnableRules</em> node of RibbonDiffXml.</p>  <p>The entity, which we have entitled Privilege Setting, is a simple entity with a Name field to store the name of the custom privilege. I’ve also enabled this entity for Connections, which allow us to easily enable or disable the users granted the privilege. Administrators can create additional rules very easily through the Dynamics CRM 2011 UI and consume those rules with JavaScript and ribbon customizations, as outlined below.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01539175ae21970b-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8b694345970d-pi" width="644" height="335" /></a></p>  <p>To take advantage of the power of Connections, I have defined two custom Connection Roles. One, exclusive to Users, is called <i>Has Permission To</i>. The second, exclusive to Privilege Settings, is called <i>Is Granted To</i>. When you create the Connection, you grant a user the permission to the custom privilege. Another benefit of this approach is these roles enhance the understanding of the assignment and know why the association exists.</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543548ee55970c-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543548ee7d970c-pi" width="644" height="334" /></a></p>  <p>In this example above, both Jim and I are configured with the ability to close opportunities.</p>  <p>Once the configuration is complete, the next step is to apply a custom ribbon rule to use the privilege setting.</p>  <p>Defining <em>CustomRule</em> JavaScript, you have to produce an asynchronous JavaScript call to retrieve the settings record(s). This technique is outlined in the <a href="http://msdn.microsoft.com/en-us/library/gg334682.aspx" target="_blank">CRM 2011 SDK</a> in a note under <em>&lt;CustomRule&gt;</em>, although I personally would direct you to Makarand Keer’s <a href="http://myencounterwithcrm.wordpress.com/2011/06/09/walkthrough-of-asynchronous-call-from-customrule-ribbondiff/" target="_blank">blog post</a> which demonstrates the process with a JavaScript sample. I have adapted the script that Keer uses, providing a generic JavaScript method to support retrieving settings records for <em>CustomRules</em>.</p>  <p>Once the entity, connection roles and JavaScript web resources are in place, we have to define the RibbonDiffXml to create rules based on these settings records. I’ve provided a sample <em>CustomRule</em> that would consume a settings record and sample <em>CommandDefinitions</em> that use the <em>CustomRule</em> for CanCloseOpportunities to enable/disable the <i>Close As Won</i> and <i>Close As Lost</i> ribbon buttons for opportunities. This ribbon XML assumes the settings record named &quot;CanCloseOpportunities&quot; exists. The <em>CustomRule</em> for json2.js forces Dynamics CRM 2011 to load the JSON library on which settings.js is dependent; <i>isNaN</i> without a parameter is guaranteed to return true.</p>  <h3>CustomRule</h3>  <blockquote>   <p><font size="2" face="Courier New">&lt;EnableRule Id=&quot;Sonoma.PrivilegeSetting.CanCloseOpportunity&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;CustomRule FunctionName=&quot;isNaN&quot; Library=&quot;$webresource:sonoma_/Scripts/Utils/json2.js&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;CustomRule Default=&quot;false&quot; FunctionName=&quot;Sonoma.Ribbon.Settings.hasPrivilege&quot; Library=&quot;$webresource:sonoma_/Scripts/Ribbon/settings.js&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;StringParameter Value=&quot;CanCloseOpportunities&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160; &lt;/CustomRule&gt;        <br /></font><font size="2" face="Courier New">&lt;/EnableRule&gt;</font></p> </blockquote>  <h3>CommandDefinitions</h3>  <blockquote>   <p><font size="2" face="Courier New">&lt;CommandDefinition Id=&quot;Mscrm.HomepageGrid.opportunity.MarkAsWon&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Mscrm.SelectionCountExactlyOne&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Mscrm.VisualizationPaneNotMaximized&quot; /&gt;        <br /></font><b><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Sonoma.PrivilegeSetting.CanCloseOpportunity&quot; /&gt;          <br /></font></b><font size="2" face="Courier New">&#160; &lt;/EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;Mscrm.CanWriteOpportunity&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;Actions&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;JavaScriptFunction Library=&quot;/_static/_common/scripts/ribbonactions.js&quot; FunctionName=&quot;Mscrm.OpportunityActions.close&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160; &lt;CrmParameter Value=&quot;SelectedControlSelectedItemReferences&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160; &lt;BoolParameter Value=&quot;true&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160; &lt;CrmParameter Value=&quot;SelectedControl&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;/JavaScriptFunction&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/Actions&gt;        <br /></font><font size="2" face="Courier New">&lt;/CommandDefinition&gt;        <br /></font><font size="2" face="Courier New">&lt;CommandDefinition Id=&quot;Mscrm.HomepageGrid.opportunity.MarkAsLost&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Mscrm.SelectionCountExactlyOne&quot; /&gt;        <br /></font><font size="2" face="Courier New"></font><font size="2" face="Courier New"></font><font size="2" face="Courier New"></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Mscrm.VisualizationPaneNotMaximized&quot; /&gt;        <br /></font><b><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Sonoma.PrivilegeSetting.CanCloseOpportunity&quot; /&gt;          <br /></font></b><font size="2" face="Courier New">&#160; &lt;/EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;Mscrm.CanWriteOpportunity&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;Actions&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;JavaScriptFunction Library=&quot;/_static/_common/scripts/ribbonactions.js&quot; FunctionName=&quot;Mscrm.OpportunityActions.close&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160; &lt;CrmParameter Value=&quot;SelectedControlSelectedItemReferences&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160; &lt;BoolParameter Value=&quot;false&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160; &lt;CrmParameter Value=&quot;SelectedControl&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;/JavaScriptFunction&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/Actions&gt;        <br /></font><font size="2" face="Courier New">&lt;/CommandDefinition&gt;        <br /></font><font size="2" face="Courier New">&lt;CommandDefinition Id=&quot;Mscrm.Form.opportunity.MarkAsLost&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Mscrm.CanWritePrimary&quot; /&gt;        <br /></font><b><font size="2" face="Courier New">&#160;&#160;&#160; &lt;EnableRule Id=&quot;Sonoma.PrivilegeSetting.CanCloseOpportunity&quot; /&gt;          <br /></font></b><font size="2" face="Courier New">&#160; &lt;/EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;Mscrm.CanWriteOpportunity&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;Mscrm.OpportunityIsOpen&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;Actions&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;JavaScriptFunction Library=&quot;/_static/sfa/opps/opps.js&quot; FunctionName=&quot;complete&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160; &lt;BoolParameter Value=&quot;false&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;/JavaScriptFunction&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/Actions&gt;        <br /></font><font size="2" face="Courier New">&lt;/CommandDefinition&gt;        <br /></font><font size="2" face="Courier New">&lt;CommandDefinition Id=&quot;Mscrm.Form.opportunity.MarkAsWon&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160; &lt;EnableRule Id=&quot;Mscrm.CanWritePrimary&quot; /&gt;        <br /></font><b><font size="2" face="Courier New">&#160;&#160;&#160;&#160; &lt;EnableRule Id=&quot;Sonoma.PrivilegeSetting.CanCloseOpportunity&quot; /&gt;          <br /></font></b><font size="2" face="Courier New">&#160; &lt;/EnableRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;Mscrm.CanWriteOpportunity&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;DisplayRule Id=&quot;Mscrm.OpportunityIsOpen&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/DisplayRules&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;Actions&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;JavaScriptFunction Library=&quot;/_static/sfa/opps/opps.js&quot; FunctionName=&quot;complete&quot;&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160;&#160;&#160; &lt;BoolParameter Value=&quot;true&quot; /&gt;        <br /></font><font size="2" face="Courier New">&#160;&#160;&#160; &lt;/JavaScriptFunction&gt;        <br /></font><font size="2" face="Courier New">&#160; &lt;/Actions&gt;        <br /></font><font size="2" face="Courier New">&lt;/CommandDefinition&gt;</font></p> </blockquote>  <p>We’ve packaged the Privilege Setting entity, the two Connection Roles and the two JavaScript files into a managed solution (<a href="http://www.sonomapartners.com/Downloads/PrivilegeSetting" target="_blank">download here</a>). This solution can be imported into your Dynamics CRM 2011 environment and consumed immediately; you simply need to create 1 or more Privilege Settings records and revise your ribbon definitions to include <em>CustomRules</em> that call the settings.js library, as shown above. Then connect the users to that custom privilege record to allow access.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=H0E_VtvfpBo:iNaU6_qri-w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=H0E_VtvfpBo:iNaU6_qri-w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/H0E_VtvfpBo" height="1" width="1"/>]]></content:encoded>



<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Fri, 09 Sep 2011 12:26:25 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/09/creating-your-own-custom-privilege-settings-in-dynamics-crm-2011.html</feedburner:origLink></item>

<item>
<title>Is your Microsoft CRM Ribbon missing in Outlook?</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/dZrXpVUwCIo/ribbon-errors-in-outlook-add-in-for-dynamics-crm-2011.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/08/ribbon-errors-in-outlook-add-in-for-dynamics-crm-2011.html</guid>
<description>We've been doing a lot of work with the ribbon in Microsoft CRM 2011. It's much more flexible than the old ISV.config setup from Microsoft CRM 4.0, but that flexibility comes at the cost of complexity. If you've worked with...</description>


<content:encoded><![CDATA[<p>We&#39;ve been doing a lot of work with the ribbon in Microsoft CRM 2011. It&#39;s <em>much</em> more flexible than the old ISV.config setup from Microsoft CRM 4.0, but that flexibility comes at the cost of complexity. If you&#39;ve worked with the ribbon at all, you know what I&#39;m talking about!</p>
<p>For a recent client, we added a custom group and button to the main grid for every entity in the Application Ribbon, and then we control which entities the button actually displays for using a DisplayRule. The intent is to not have to include all the entities we want to add ribbon buttons to in our solution, since the entities are commonly customized ones like account, contact and lead. This way, we can also easily extend this button to more entities in the future by simply altering the DisplayRule and not having to touch the entity specific ribbon.</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390c6a5d7970b-pi" style="display: inline;"><img alt="ButtonOnAccountGrid" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef015390c6a5d7970b image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390c6a5d7970b-800wi" title="ButtonOnAccountGrid" /></a></p>
<p>We had the CustomAction set up something like this, using the <span style="font-family: &#39;courier new&#39;, courier;">{!EntityLogicalName}</span> token to ensure that the action applied for all entities:</p>
<p style="padding-left: 30px;"><span style="font-family: &#39;courier new&#39;, courier;">&lt;CustomAction Id=&quot;Customer.Global.AllEntities.HomepageGrid.Group.CustomAction&quot; Location=&quot;Mscrm.HomepageGrid.{!EntityLogicalName}.MainTab.Groups._children&quot; Sequence=&quot;110&quot;&gt;</span></p>
<p>And it had a child button that looked like this:</p>
<p style="padding-left: 30px;"><span style="font-family: &#39;courier new&#39;, courier;">&lt;Button Id=&quot;Customer.Global.AllEntities.HomepageGrid.Group.Button.DoSomething&quot; Command=&quot;Customer.Global.Commands.DoSomething.Grid&quot; Sequence=&quot;10&quot; LabelText=&quot;$LocLabels:Customer.Global.Labels.SendMail&quot; ToolTipTitle=&quot;$LocLabels:Customer.Global.Labels.DoSomething&quot; ToolTipDescription=&quot;$LocLabels:Customer.Global.Labels.DoSomething.Description&quot; TemplateAlias=&quot;isv&quot; Image16by16=&quot;$webresource:new_/Images/DoSomething_16x16.png&quot; Image32by32=&quot;$webresource:new_/Images/DoSomething_32x32.png&quot; /&gt;</span></p>
<p>We used similarly set up buttons in the application ribbon for all entities&#39; forms and subgrids. This worked perfectly in the regular CRM web interface. However, we started to notice that people were having issues with the CRM Outlook integration, <strong>saying that the ribbons for CRM were not showing up anymore.</strong></p>
<p>To debug this, we enabled a feature in Outlook you might not know exists: you can enable add-ins to show user interface errors. Go to File -&gt; Options -&gt; Advanced -&gt; Developers, and then check off the &quot;Show add-in user interface errors&quot; option:</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390c6ace8970b-pi" style="display: inline;"><img alt="OutlookAddonOptions" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef015390c6ace8970b image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390c6ace8970b-800wi" title="OutlookAddonOptions" /></a></p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390c6ace8970b-pi" style="display: inline;"></a>When we reloaded Outlook, we received a series of errors that claimed that we had duplicate Ids for a ribbon button:</p>
<p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154349a20b8970c-pi" style="display: inline;"><img alt="DupeError" border="0" class="asset  asset-image at-xid-6a00d8341e71de53ef0154349a20b8970c image-full" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154349a20b8970c-800wi" title="DupeError" /></a></p>
<p>We escalated to Microsoft support, confused that our buttons worked with no issue in the Web UI, but caused issues in Outlook. Their response was something that we&#39;d overlooked: <strong>you can use the <span style="font-family: &quot;courier new&quot;, courier;">{!EntityLogicalName}</span> token in the Id field as well, not just in the location.</strong> It seems that when the XML for the final ribbon is generated, CRM will actually duplicate actions and buttons with the <span style="font-family: &#39;courier new&#39;, courier;">{!EntityLogicalName}</span> token in their location so that each entity has their own copy of the button. This doesn&#39;t cause an issue in the Web, but Outlook must handle loading the XML differently and sees multiple XML nodes with the same id which it is unable to handle. Incidentally, this issue only rears its head when using buttons added to the HomepageGrid; buttons on the Form and SubGrid both work fine the way we originally had them set up on the Web and in Outlook.</p>
<p>To solve this, we changed the &quot;AllEntities&quot; part of our ids to be the <span style="font-family: &#39;courier new&#39;, courier;">!{EntityLogicalName}</span> token. Thus our final action looks like this:</p>
<p style="padding-left: 30px;"><span style="font-family: &#39;courier new&#39;, courier;">&lt;CustomAction Id=&quot;Customer.Global.<span style="background-color: #ffff00;">{!EntityLogicalName}</span>.HomepageGrid.Group.CustomAction&quot; Location=&quot;Mscrm.HomepageGrid.{!EntityLogicalName}.MainTab.Groups._children&quot; Sequence=&quot;110&quot;&gt; </span></p>
<p>This worked like a charm, and the ribbon now loads in Outlook just like it should. Hope this helps!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=dZrXpVUwCIo:VtdvVTjZx6A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=dZrXpVUwCIo:VtdvVTjZx6A:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/dZrXpVUwCIo" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 2011</category>

<dc:creator>Matt Weiler</dc:creator>
<pubDate>Mon, 22 Aug 2011 15:17:41 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/08/ribbon-errors-in-outlook-add-in-for-dynamics-crm-2011.html</feedburner:origLink></item>

<item>
<title>The CRM Journey &amp;ndash; What&amp;rsquo;s next?</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/LEL48FJv9FI/the-crm-journey-whats-next.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/08/the-crm-journey-whats-next.html</guid>
<description>Chances are if you are reading this blog post you already use a CRM system. The biggest change in CRM over the last couple of years has been the transformation to the Cloud. Even if you still run CRM as...</description>


<content:encoded><![CDATA[<p>Chances are if you are reading this blog post you already use a CRM system.&#160; The biggest change in CRM over the last couple of years has been the transformation to the Cloud.&#160; Even if you still run CRM as an on-premises solution there are still pieces of data that reside in the Public or Private Cloud.&#160; As the Cloud evolution continues we are also seeing businesses adapt to all of the new social technologies.&#160; Twitter, Facebook and YouTube are just a few of the websites where businesses now advertise and communicate with their customers.&#160; Sonoma Partners developed <a href="http://www.sonomapartners.com/Differences/IP/VibeSocialNetworking.aspx">Vibe</a> for Microsoft Dynamics CRM to support social collaboration.&#160; Microsoft has announced that their fall CRM release will contain a native social CRM application.&#160; So with all of these trends what’s next with CRM and what should you know now to prepare yourself for tomorrow?</p>  <p><font size="2"><strong><em>Mobility – Mobility – Mobility</em></strong></font></p>  <p>Always connected – sound familiar?&#160; All the major technology companies are depending on it.&#160; Your world is evolving right in front of you and you may not even know it.&#160; Have you been on a flight lately?&#160; WiFi is starting to become the standard on flights.&#160; So even at 37,000 feet you can still track your CRM email activities real-time.&#160; Crazy!</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543492896b970c-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Mango" border="0" alt="Mango" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543492896f970c-pi" width="190" height="191" /></a>&#160;&#160;&#160;&#160;&#160; <a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015434928976970c-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Android" border="0" alt="Android" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390bf035e970b-pi" width="261" height="196" /></a>&#160; <a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8ab251a2970d-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="iPhone" border="0" alt="iPhone" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390bf036c970b-pi" width="174" height="196" /></a></p>  <p>In conjunction with mobility, “touch” interfaces have become the expectation of consumers.&#160; We are now starting to see these trends work their way into corporations.&#160; I was just on a call last week where a company purchased iPads for their entire sales organization (1,000+).&#160; Microsoft understands this trend is not going away and has been working for a few years to transition their product lines to support mobility and a more immersive end-user experience (like touch).&#160; Enter the “<a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/03/18/windows-phone-7-series-ui-design-amp-interaction-guide.aspx">Metro</a>” user interface. The Metro design concept has worked it’s way into Windows, Windows Phone and Xbox.&#160; </p>  <p>One of the core concepts to the Metro experience is Live Tiles.&#160; Live Tiles deliver real-time information to the user in an interactive type fashion.&#160; As an example, if someone posts a message on your Facebook wall that message will appear within the Live Tile for Facebook on your Windows 8, Windows Phone and/or Xbox dashboard.&#160; Think of Live Tiles as a notification engine but on steroids.&#160; Live Tiles allow developers to present real-time information to all of the hardware interfaces you might use on a daily basis (phones, computers and gaming consoles).</p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543492899d970c-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Windows8" border="0" alt="Windows8" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154349289af970c-pi" width="369" height="208" /></a>&#160;&#160;&#160;&#160; </p>  <p><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390bf0388970b-pi"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Xbox" border="0" alt="Xbox" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef0154349289c1970c-pi" width="370" height="208" /></a></p>  <p>So how does this impact CRM?&#160; Simple – CRM is all about your customers.&#160; If your customers are communicating with you via email, Skype, Facebook, LinkedIn, Twitter, Foursquare, etc. then your CRM system should support tracking this information in a seamless manner.&#160; Going one step further, your CRM system will need to push and pull data through these applications utilizing new mobility technologies.&#160; </p>  <p>I know, you are reading this and thinking “Xbox,” why is he talking about “Xbox?”&#160; It’s simple really.&#160; Gaming consoles are just another way to communicate with consumers.&#160; Creating an immersive interface that is the same across hardware platforms builds a cohesive ecosystem that becomes familiar to consumers and consistent to developers.&#160; </p>  <p>Microsoft understands our world is changing fast.&#160; If consumers are living on Facebook, watching Live TV on Xbox or conferencing via Skype then we need to be able to communicate and track relevant content with them.&#160; Mobile phones, tablets, laptops, desktops and gaming consoles are here today.&#160; Tomorrow will be another new technology device.&#160; Microsoft continues to innovate with all of their existing products to support these changes and Microsoft Dynamics CRM is no exception.&#160; </p>  <p>To keep pace with innovation in the market, the Dynamics CRM team will be delivering new product functionality every six months.&#160; I suspect that one of the key design pillars moving forward is providing a user interface that takes advantage of an “immersive experience.”&#160; I expect future product updates will take advantage of the Metro design concepts and more specifically, Live Tiles.&#160; </p>  <p><font size="2"><strong><em>Tomorrow</em></strong></font></p>  <p>Sonoma Partners is highly invested in Microsoft Dynamics CRM because this is all we do.&#160; We eat our own dog food by using Microsoft Dynamics CRM to run our business (from A-Z).&#160; To help prepare our consultants for tomorrow we are attending the “<a href="http://www.buildwindows.com/">Build</a>” conference next month in Anaheim, CA.&#160; We are looking forward to building new and exciting CRM applications for Windows 8, Windows Phone and other mobile technologies.&#160; </p>  <p><a href="http://www.buildwindows.com/"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Build" border="0" alt="Build" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8ab2520f970d-pi" width="464" height="340" /></a></p>  <p>If you’re not attending Build don’t worry about it.&#160; Just follow them on <a href="http://twitter.com/#!/bldwin">Twitter</a> and <a href="http://www.facebook.com/bldwin">Facebook</a> to stay up-to-date with all of the latest information.&#160; You can also follow us on <a href="http://twitter.com/#!/sonomapartners">Twitter</a> and watch for Tweets about the next generation of Windows and how CRM will evolve.&#160; </p>  <p>Cheers!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=LEL48FJv9FI:-j4qzMhMu9o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=LEL48FJv9FI:-j4qzMhMu9o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/LEL48FJv9FI" height="1" width="1"/>]]></content:encoded>



<dc:creator>Ryan Toenies</dc:creator>
<pubDate>Tue, 16 Aug 2011 10:36:57 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/08/the-crm-journey-whats-next.html</feedburner:origLink></item>

<item>
<title>Are you Missing Outlook Reminders with Office 2010 SP1 and Microsoft CRM 2011?</title>
<link>http://feedproxy.google.com/~r/typepad/sonoma/~3/OQGAElbqaNA/outlook-2010-reminders-with-office-2010-sp1.html</link>
<guid isPermaLink="false">http://blog.sonomapartners.com/2011/08/outlook-2010-reminders-with-office-2010-sp1.html</guid>
<description>Today’s guest blogger is Peter Majer, a CRM Sr. Consultant at Sonoma Partners. Recently, the Office 2010 SP1 was delivered through Windows Updates, and many people in our office who have the Microsoft Dynamics CRM 2011 Outlook Client installed have...</description>


<content:encoded><![CDATA[<p><em>Today’s guest blogger is <a href="http://www.linkedin.com/profile/view?id=2398262" target="_blank">Peter Majer</a>, a CRM Sr. Consultant at Sonoma Partners.</em></p>
<p>Recently, the Office 2010 SP1 was delivered through Windows Updates, and many people in our office who have the Microsoft Dynamics CRM 2011 Outlook Client installed have been reporting that Outlook reminders are no longer working. The only obvious workarounds would be to either uninstall the CRM 2011 Outlook Client, or uninstall Office 2010 SP1. Obviously I didn’t want to uninstall the CRM 2011 Outlook Client as I use it daily to track emails sent to our customers. Uninstalling Office SP1 also wasn’t ideal, as we have a custom Microsoft Word add-in that we built to integrate data between Word and CRM which stopped working after uninstalling Office SP1.</p>
<p>This issue only appears to be occurring when you have both the Office 2010 SP1 installed, and the CRM Outlook Client configured:</p>
<ul>
<li>CRM Outlook Client Configured + Office 2010 = Reminders Work</li>
<li>CRM Outlook Client Not Configured + Office 2010 = Reminders Work</li>
<li>CRM Outlook Client Not Configured + Office 2010 SP1 = Reminders Work</li>
<li>CRM Outlook Client Configured + Office 2010 SP1 = Reminders Don’t Work</li>
</ul>
<p>There’s a <a href="http://social.microsoft.com/Forums/en-US/crm/thread/43791b51-9ab9-4394-9a1e-cc6919d4cecd">forum post</a> that has been logged identify this issue, and Microsoft is aware of the issue. They’ve created a <a href="http://support.microsoft.com/kb/2586274">KB Article</a> to track this issue which will be updated once they identify the fix. After a fix is found, I assume they’ll roll that into a future UR.</p>
<p>Fortunately, after playing around with the Outlook Client, we were able to come up with a workaround that allows you to have both the Microsoft Dynamics CRM 2011 Outlook Client installed and configured, along with Office 2010 SP1 installed, and your Outlook reminders will still appear. Here are the steps to perform this workaround:</p>
<p><strong> </strong></p>
<p><strong>1. </strong><strong>Un-configure your CRM Outlook Client installation      <br /></strong> <br />Outlook must be closed at this point to start the CRM Configuration Wizard. You can do this by running the Configuration Wizard which is typically found in Start-&gt; All Programs -&gt; Microsoft Dynamics CRM 2011 -&gt; Configuration Wizard. Select the Organization(s) that you’ve configured your Outlook Client for, and select “Delete”    <br /><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8ab19a79970d-pi"><img alt="clip_image002" border="0" height="478" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef014e8ab19a82970d-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002" width="644" /></a> <br /><strong> </strong></p>
<p>2. <strong>Startup Outlook and Configure the CRM Outlook Client     <br /></strong> <br />When Outlook starts, it should realize that the CRM Outlook Client is installed and not configured, and then prompt you to configure the CRM Outlook Client. Go ahead and enter in your Server URL and select the correct Organization. Complete the information and click OK.    <br /><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543491d656970c-pi"><img alt="clip_image003" border="0" height="477" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390be5296970b-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image003" width="644" /></a></p>
<p>Your Outlook reminders should once again be firing, and CRM will be configured and available for use.   <br /> <br /><a href="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef015390be52a5970b-pi"><img alt="clip_image004" border="0" height="174" src="http://sonomapartners.typepad.com/.a/6a00d8341e71de53ef01543491d667970c-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image004" width="244" /></a> <br /> <br />Unfortunately, you’ll need to go through these steps again each time you restart Outlook. While certainly not ideal, I hope this workaround will keep you working until a resolution is provided by Microsoft.</p>
<p>Enjoy!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=OQGAElbqaNA:G0If5aI1zAg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/sonoma?a=OQGAElbqaNA:G0If5aI1zAg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/sonoma?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/sonoma/~4/OQGAElbqaNA" height="1" width="1"/>]]></content:encoded>



<category>Microsoft Dynamics CRM 2011</category>

<dc:creator>Sonoma Partners</dc:creator>
<pubDate>Tue, 16 Aug 2011 08:31:05 -0500</pubDate>

<feedburner:origLink>http://blog.sonomapartners.com/2011/08/outlook-2010-reminders-with-office-2010-sp1.html</feedburner:origLink></item>

</channel>
</rss><!-- ph=1 -->

