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

<channel>
	<title>BugsOli&#039;s xRM blog</title>
	<atom:link href="http://www.furnemont.eu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.furnemont.eu</link>
	<description>Functional &#38; technical consultant mapping business requirements to Microsoft Dynamics CRM</description>
	<lastBuildDate>Fri, 19 Apr 2013 12:24:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CRM 2011: Bad &#8216;setFormMode&#8217; error!</title>
		<link>http://www.furnemont.eu/2013/04/crm-2011-bad-setformmode-error/</link>
		<comments>http://www.furnemont.eu/2013/04/crm-2011-bad-setformmode-error/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 12:24:17 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Reports]]></category>
		<category><![CDATA[Update Rollup]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=489</guid>
		<description><![CDATA[The other day, I was]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>The other day, I was puzzled by a weird problem coming from a &#8220;Go to URL&#8221; action in a CRM sub-report.</p>
<p><span id="more-489"></span></p>
<p>The link was constructed correctly by using the following line of code:<br />
Parameters!CRM_URL.Value &amp; &#8220;?ID={&#8220;&amp; Fields!new_bookingid.Value.ToString() &amp;&#8221;}&amp;LogicalName=new_booking&#8221;<br />
which was rendered as:</p>
<p>https://crm.site.com/main.aspx?etn=new_booking&#038;extraqs=etc%3d10048&#038;id%3d4a528068-a2a1-e211-bc2c-d067e5e91163&#038;id=4a528068-a2a1-e211-bc2c-d067e5e91163&#038;pagetype=entityrecord</p>
<p>Notice how the ID has been replicated twice? Now the form was opening correctly but no Javascript was called after I updated the fields, which is why I fired up the IE developer tools and debugged the form scripts to discover an horrible Javascript error: Object doesn&#8217;t support property or method &#8216;setFormMode&#8217;</p>
<p>I then remembered that my client CRM server was on Update Rollup 7, so after having read the following forum post <a href="http://social.microsoft.com/Forums/en-US/crmdevelopment/thread/0c0aa09e-0ea6-4150-8056-a2b7b91f3256">http://social.microsoft.com/Forums/en-US/crmdevelopment/thread/0c0aa09e-0ea6-4150-8056-a2b7b91f3256</a>, I knew the only solution was to update the server!</p>
<p>Hope this helps someone.</p>
<div class="shr-publisher-489"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2013%2F04%2Fcrm-2011-bad-setformmode-error%2F' data-shr_title='CRM+2011%3A+Bad+%27setFormMode%27+error%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2013%2F04%2Fcrm-2011-bad-setformmode-error%2F' data-shr_title='CRM+2011%3A+Bad+%27setFormMode%27+error%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2013%2F04%2Fcrm-2011-bad-setformmode-error%2F' data-shr_title='CRM+2011%3A+Bad+%27setFormMode%27+error%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4900"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2013/04/crm-2011-bad-setformmode-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BI: TARGIT Certified Specialist</title>
		<link>http://www.furnemont.eu/2012/03/bi-targit-certified-specialist/</link>
		<comments>http://www.furnemont.eu/2012/03/bi-targit-certified-specialist/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 06:48:12 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Diverse]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[TARGIT]]></category>
		<category><![CDATA[TCS]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=483</guid>
		<description><![CDATA[Congratulations to my colleague Mathieu]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Congratulations to my colleague Mathieu and I as we have successfully passed the TCS exam and are now proud to announce that we can deliver TARGIT trainings in French to customers in Belgium (French part) and Luxemburg!</p>
<p><img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2012/03/wlEmoticon-smile2.png" /></p>
<p>   <img style="display: inline" title="targit logo 175-14-35-SPECIALIST" alt="targit logo 175-14-35-SPECIALIST" src="http://www.furnemont.eu/wp-content/uploads/2012/03/TARGITCertifiedSpecialist-logo_ExclusivelyforpartnerswhopassedtheCertifiedSpecialistexam.png" width="201" height="80" /></p>
<div class="shr-publisher-483"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fbi-targit-certified-specialist%2F' data-shr_title='BI%3A+TARGIT+Certified+Specialist'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fbi-targit-certified-specialist%2F' data-shr_title='BI%3A+TARGIT+Certified+Specialist'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fbi-targit-certified-specialist%2F' data-shr_title='BI%3A+TARGIT+Certified+Specialist'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4840"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2012/03/bi-targit-certified-specialist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: MB2-866 certification</title>
		<link>http://www.furnemont.eu/2012/03/crm-2011-mb2-866-certification/</link>
		<comments>http://www.furnemont.eu/2012/03/crm-2011-mb2-866-certification/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 13:20:00 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[MB2-866]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=477</guid>
		<description><![CDATA[Passed it today, and got]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Passed it today, and got the maximum score…1000/1000 <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2012/03/wlEmoticon-smile1.png" /></p>
<div class="shr-publisher-477"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fcrm-2011-mb2-866-certification%2F' data-shr_title='CRM+2011%3A+MB2-866+certification'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fcrm-2011-mb2-866-certification%2F' data-shr_title='CRM+2011%3A+MB2-866+certification'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fcrm-2011-mb2-866-certification%2F' data-shr_title='CRM+2011%3A+MB2-866+certification'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4780"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2012/03/crm-2011-mb2-866-certification/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Error 404 while using internal claims authentication</title>
		<link>http://www.furnemont.eu/2012/03/crm-2011-error-404-while-using-internal-claims-authentication/</link>
		<comments>http://www.furnemont.eu/2012/03/crm-2011-error-404-while-using-internal-claims-authentication/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 09:16:15 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[ADFS]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Claims authentication]]></category>
		<category><![CDATA[Error 404]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=471</guid>
		<description><![CDATA[This error has driven me]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>This error has driven me crazy for a while: while using Microsoft CRM 2011 in IFD-mode, the external authentication would work correctly but not the internal access!</p>
<p>DNS were working correctly, the TMG server was configured correctly, the SSL certificate was correctly bound to the internal &amp; external (we are using a wildcard SSL certificate) and ADFS was set up per the Microsoft installation document.</p>
<p>Now, to resolve the internal access issue, I had to remove the “:443” from the Deployment Manager Web addresses:</p>
<p><a href="http://www.furnemont.eu/wp-content/uploads/2012/03/image.png"><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://www.furnemont.eu/wp-content/uploads/2012/03/image_thumb.png" width="419" height="460" /></a></p>
<p>And now everything is working properly <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2012/03/wlEmoticon-smile.png" /></p>
<div class="shr-publisher-471"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fcrm-2011-error-404-while-using-internal-claims-authentication%2F' data-shr_title='CRM+2011%3A+Error+404+while+using+internal+claims+authentication'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fcrm-2011-error-404-while-using-internal-claims-authentication%2F' data-shr_title='CRM+2011%3A+Error+404+while+using+internal+claims+authentication'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F03%2Fcrm-2011-error-404-while-using-internal-claims-authentication%2F' data-shr_title='CRM+2011%3A+Error+404+while+using+internal+claims+authentication'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4720"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2012/03/crm-2011-error-404-while-using-internal-claims-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: ADFS error 317</title>
		<link>http://www.furnemont.eu/2012/01/crm-2011-adfs-error-317/</link>
		<comments>http://www.furnemont.eu/2012/01/crm-2011-adfs-error-317/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 10:46:52 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[ADFS]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[error 317]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=465</guid>
		<description><![CDATA[While deploying a new CRM]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>While deploying a new CRM 2011 environment at a client site, I got errors with my ADFS setup:</p>
<ul>
<li>We used a wildcard certificate for all servers (on the same domain), purchased from RapidSSL</li>
<li>ADFS is on a separate server</li>
<li>CRM 2011 is on its own server</li>
<li>DNS internal entries were made and could resolve correctly to both servers</li>
</ul>
<p>The problem occurred right after enabling claims in CRM 2011 Deployment Manager: the internal CRM address specified in the deployment manager could not be resolved and a couple of 317 &amp; 364 errors were logged on the ADFS server.</p>
<p>I tried creating SPNs for both servers, remove and import the certificates again on both server, recreate the relying party for CRM, etc. but with no correct results.</p>
<p>Since the SSL certificates were created with lowercase characters for the domain, I changed the CRM web addresses to lowercase as well, which made the ADFS authentication form appear!</p>
<p>But I could still not get passed the 317 error after logging in with valid credentials…</p>
<p>Then I found <a href="http://blogs.technet.com/b/speschka/archive/2010/11/24/configuring-adfs-trusts-for-multiple-identity-providers-with-sharepoint-2010.aspx" target="_blank">this post</a> were a PowerShell command was shown:</p>
<p>Add-PSSnapin Microsoft.Adfs.PowerShell</p>
<p>Set-ADFSRelyingPartyTrust -TargetName RPNameInADFS -EncryptionCertificateRevocationCheck None</p>
<p>Reset IIS on the ADFS server and voilà, it worked for me!</p>
<div class="shr-publisher-465"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F01%2Fcrm-2011-adfs-error-317%2F' data-shr_title='CRM+2011%3A+ADFS+error+317'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F01%2Fcrm-2011-adfs-error-317%2F' data-shr_title='CRM+2011%3A+ADFS+error+317'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2012%2F01%2Fcrm-2011-adfs-error-317%2F' data-shr_title='CRM+2011%3A+ADFS+error+317'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4660"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2012/01/crm-2011-adfs-error-317/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Q4 Service Update</title>
		<link>http://www.furnemont.eu/2011/11/crm-2011-q4-service-update/</link>
		<comments>http://www.furnemont.eu/2011/11/crm-2011-q4-service-update/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 10:37:17 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Q4 Service Update]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=459</guid>
		<description><![CDATA[OK, now that you have]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>OK, now that you have installed Update Rollup 5 for Microsoft CRM 2011, you can import the Activity Feeds solution provided by Microsoft and available <a href="http://dynamics-crm.pinpoint.microsoft.com/en-US/applications/microsoft-dynamics-crm-activity-feeds-12884926310" target="_blank">here</a>.</p>
<p>This new solution will provide new functionalities that are related to “social networking” (a description of the new functionalities can be found <a href="http://blogs.msdn.com/b/crm/archive/2011/10/26/building-your-business-hub-using-the-power-of-social-for-a-more-productive-enterprise.aspx" target="_blank">here</a> and <a href="http://blogs.msdn.com/b/crm/archive/2011/10/27/following-and-unfollowing-records-in-crm.aspx" target="_blank">here</a>).</p>
<p><span id="more-459"></span>
<p>Once the new solution is installed under your organization (be sure to check the ‘Post Import Actions’ to activate all the processes and plugins), you need to configure the activity feeds for the entities you want to follow, by going to the ‘Activity Feeds Configuration’ menu under the CRM system settings:</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/11/image.png" width="620" height="276" /></p>
<p>In this example, I’ve configured the following of “accounts” by specifying a new configuration profile with a target entity name of “account”, and by publishing the entity through my custom solution.</p>
<p>I also enabled the configuration on the “task” entity, and activated the ‘New Task for an Account’ rule:</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/11/image1.png" width="623" height="390" /></p>
<p>Once this is done, you will see a new ribbon option to ‘follow’ or ‘unfollow’ any number of selected accounts in the accounts view:</p>
<p><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/11/image2.png" width="625" height="221" /></p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/11/image22.png" width="350" height="266" /></p>
<p>Now that the desired company is being followed, any new task activity linked to this account will be displayed in the activity feed screen:</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/11/image3.png" width="621" height="200" /></p>
<p>The next step is to provide a way to capture data from social networks such as LinkedIn, Facebook or Twitter to automatically store these information in the CRM <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/11/wlEmoticon-smile.png" /></p>
<div class="shr-publisher-459"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-q4-service-update%2F' data-shr_title='CRM+2011%3A+Q4+Service+Update'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-q4-service-update%2F' data-shr_title='CRM+2011%3A+Q4+Service+Update'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-q4-service-update%2F' data-shr_title='CRM+2011%3A+Q4+Service+Update'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4600"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/11/crm-2011-q4-service-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Q4 Service Update and localhost</title>
		<link>http://www.furnemont.eu/2011/11/crm-2011-q4-service-update-and-localhost/</link>
		<comments>http://www.furnemont.eu/2011/11/crm-2011-q4-service-update-and-localhost/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 10:26:38 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Q4 Service Update]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=451</guid>
		<description><![CDATA[If, like me, you get]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>If, like me, you get consistent ‘Access denied’ error while browsing the “What’s New” activity feed screen, this is because you are using the following Web address: <a href="http://localhost/YOUR_ORG">http://localhost/YOUR_ORG</a></p>
<p>Instead, try using the computer’s Netbios name, for example: <a href="http://yourserver/YOUR_ORG">http://yourserver/YOUR_ORG</a> it should work!</p>
<div class="shr-publisher-451"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-q4-service-update-and-localhost%2F' data-shr_title='CRM+2011%3A+Q4+Service+Update+and+localhost'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-q4-service-update-and-localhost%2F' data-shr_title='CRM+2011%3A+Q4+Service+Update+and+localhost'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-q4-service-update-and-localhost%2F' data-shr_title='CRM+2011%3A+Q4+Service+Update+and+localhost'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4520"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/11/crm-2011-q4-service-update-and-localhost/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Update Rollup 5 with Q4 Service Update available through direct download</title>
		<link>http://www.furnemont.eu/2011/11/crm-2011-update-rollup-5-with-q4-service-update-available-through-direct-download/</link>
		<comments>http://www.furnemont.eu/2011/11/crm-2011-update-rollup-5-with-q4-service-update-available-through-direct-download/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 08:10:45 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[KB2567454]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Q4 Service Update]]></category>
		<category><![CDATA[Update Rollup]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=449</guid>
		<description><![CDATA[More information here: http://support.microsoft.com/kb/2567454/en-us Link]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>More information here: <a title="http://support.microsoft.com/kb/2567454/en-us" href="http://support.microsoft.com/kb/2567454/en-us">http://support.microsoft.com/kb/2567454/en-us</a></p>
<p>Link to the individual downloads: <a title="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27820" href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27820">http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27820</a></p>
<p>This update will be available through Windows Update from the November 8, 2011.</p>
<div class="shr-publisher-449"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-update-rollup-5-with-q4-service-update-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+5+with+Q4+Service+Update+available+through+direct+download'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-update-rollup-5-with-q4-service-update-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+5+with+Q4+Service+Update+available+through+direct+download'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F11%2Fcrm-2011-update-rollup-5-with-q4-service-update-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+5+with+Q4+Service+Update+available+through+direct+download'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4500"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/11/crm-2011-update-rollup-5-with-q4-service-update-available-through-direct-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Update Rollup 4 available through direct download</title>
		<link>http://www.furnemont.eu/2011/09/crm-2011-update-rollup-4-available-through-direct-download/</link>
		<comments>http://www.furnemont.eu/2011/09/crm-2011-update-rollup-4-available-through-direct-download/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 10:05:50 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[KB2556167]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Update Rollup]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=447</guid>
		<description><![CDATA[More information here: http://support.microsoft.com/kb/2556167/en-us Link]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>More information here: <a title="http://support.microsoft.com/kb/2556167/en-us" href="http://support.microsoft.com/kb/2556167/en-us">http://support.microsoft.com/kb/2556167/en-us</a></p>
<p>Link to the download: <a title="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27554" href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27554">http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27554</a></p>
<p>This update will be available through Windows Update from the 27<sup>th</sup> of September</p>
<div class="shr-publisher-447"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F09%2Fcrm-2011-update-rollup-4-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+4+available+through+direct+download'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F09%2Fcrm-2011-update-rollup-4-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+4+available+through+direct+download'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F09%2Fcrm-2011-update-rollup-4-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+4+available+through+direct+download'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4480"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/09/crm-2011-update-rollup-4-available-through-direct-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Thunderbird compatibility</title>
		<link>http://www.furnemont.eu/2011/08/crm-2011-thunderbird-compatibility/</link>
		<comments>http://www.furnemont.eu/2011/08/crm-2011-thunderbird-compatibility/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 14:08:20 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Thunderbird]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=439</guid>
		<description><![CDATA[Well, this one is a]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Well, this one is a recurring question: is Microsoft CRM compatible with other email clients such as Thunderbird?</p>
<p>Well, the simple answer is “No sir”, but I’ve found myself thinking about creating a free plugin that will give the ability to convert emails in Thunderbird to CRM emails and to synchronize contacts (at least from the Thunderbird address book to CRM).</p>
<p>It is a very much anticipated development but I already have the skeleton, and thanks to Microsoft CRM 2011 REST feature, I think I might end-up getting things to work.</p>
<p>What do you think, would such a plugin be useful to you? Feel free to comment and give me advices <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Clignement d&#39;œil" src="http://www.furnemont.eu/wp-content/uploads/2011/08/wlEmoticon-winkingsmile.png" /></p>
<div class="shr-publisher-439"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F08%2Fcrm-2011-thunderbird-compatibility%2F' data-shr_title='CRM+2011%3A+Thunderbird+compatibility'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F08%2Fcrm-2011-thunderbird-compatibility%2F' data-shr_title='CRM+2011%3A+Thunderbird+compatibility'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F08%2Fcrm-2011-thunderbird-compatibility%2F' data-shr_title='CRM+2011%3A+Thunderbird+compatibility'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4400"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/08/crm-2011-thunderbird-compatibility/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How-to: Use SQL CTE with custom reports in CRM</title>
		<link>http://www.furnemont.eu/2011/07/how-to-use-sql-cte-with-custom-reports-in-crm/</link>
		<comments>http://www.furnemont.eu/2011/07/how-to-use-sql-cte-with-custom-reports-in-crm/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 12:55:42 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[CTE]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[TSQL]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=436</guid>
		<description><![CDATA[Using Common Table Expressions (CTE) in a custom report to get all the children of a parent subject in Microsoft CRM]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>One of my client asked me the other day to produce a report containing all the cases (incidents) in the system… OK, this is pretty easy and it already exists somewhere <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2011/07/wlEmoticon-smile.png" /></p>
<p>But the hardest part was the filtering of this report: he wanted to be able to put a parent subject in the filter and the report should take care of getting all the child <u>under</u> this subject!</p>
<p><span id="more-436"></span>
<p>I said “hum…sure it can be done!” because I remembered about the CTE, or <strong>Common Table Expressions</strong> (more information here: <a href="http://en.wikipedia.org/wiki/Common_table_expressions">http://en.wikipedia.org/wiki/Common_table_expressions</a>)</p>
<p>Before going on with this post and dealing with code, I should back up a little bit and talk about the CTE…</p>
<p>As you may know, the CTE is kind of a temporary ‘table’, defined in the execution scope of a SELECT statement (for example). The beauty of this temporary ‘table’ is that it can be self-referencing so it’s easy to create recursive queries using them.</p>
<p>From the MSDN:</p>
<blockquote><p>A CTE can be used to:</p>
<ul>
<li>
<p>Create a recursive query. For more information, see <a href="http://msdn.microsoft.com/en-us/library/ms186243.aspx">Recursive Queries Using Common Table Expressions</a>.</p>
</li>
<li>
<p>Substitute for a view when the general use of a view is not required; that is, you do not have to store the definition in metadata.</p>
</li>
<li>
<p>Enable grouping by a column that is derived from a scalar subselect, or a function that is either not deterministic or has external access.</p>
</li>
<li>
<p>Reference the resulting table multiple times in the same statement.</p>
</li>
</ul>
<p>Using a CTE offers the advantages of improved readability and ease in maintenance of complex queries. The query can be divided into separate, simple, logical building blocks. These simple blocks can then be used to build more complex, interim CTEs until the final result set is generated.</p>
</blockquote>
<p>Wow…I could’nt have done better <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smilewithtongueout" alt="Tire la langue" src="http://www.furnemont.eu/wp-content/uploads/2011/07/wlEmoticon-smilewithtongueout.png" /> And now for the fun part…</p>
<h1>Retrieve the complete list of subject</h1>
<p>You may think that this is simple but wait to see the query and you’ll get it:</p>
<p>This is how it looks in Microsoft CRM:</p>
<p><a href="http://www.furnemont.eu/wp-content/uploads/2011/07/image.png"><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://www.furnemont.eu/wp-content/uploads/2011/07/image_thumb.png" width="240" height="118" /></a></p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">WITH</span>  SubjectTree</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span>         <span style="color: #0000ff">AS</span> (</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>               <span style="color: #008000">-- anchor</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>             <span style="color: #0000ff">SELECT</span>  s.subjectid, s.title, s.parentsubjectname, 0 <span style="color: #0000ff">as</span> <span style="color: #0000ff">Level</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>             <span style="color: #0000ff">FROM</span>    dbo.FilteredSubject s (nolock)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>             <span style="color: #0000ff">UNION</span> <span style="color: #0000ff">ALL</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>               <span style="color: #008000">-- recursive member</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>             <span style="color: #0000ff">SELECT</span>  s.subjectid, s.title, s.parentsubjectname, <span style="color: #0000ff">Level</span>+1</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>             <span style="color: #0000ff">FROM</span>    dbo.FilteredSubject s (nolock)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span>                     <span style="color: #0000ff">INNER</span> <span style="color: #0000ff">JOIN</span> SubjectTree <span style="color: #0000ff">AS</span> t </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span>                       <span style="color: #0000ff">ON</span> s.parentsubject = t.subjectid</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span>            )</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13">  13:</span> <span style="color: #0000ff">SELECT</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14">  14:</span>     t.*</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15">  15:</span> <span style="color: #0000ff">FROM</span> SubjectTree <span style="color: #0000ff">AS</span> t</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16">  16:</span> <span style="color: #0000ff">ORDER</span> <span style="color: #0000ff">BY</span> t.<span style="color: #0000ff">Level</span></pre>
<p><!--CRLF--></div>
</div>
<p>This query’s result:</p>
<p><a href="http://www.furnemont.eu/wp-content/uploads/2011/07/image1.png"><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://www.furnemont.eu/wp-content/uploads/2011/07/image_thumb1.png" width="436" height="352" /></a></p>
<h1>Filtering the CTE query:</h1>
<p>Let’s put a query filter in the anchor part of the CTE query:</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #008000">-- anchor</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> <span style="color: #0000ff">SELECT</span>  s.subjectid, s.title, s.parentsubjectname, 0 <span style="color: #0000ff">as</span> <span style="color: #0000ff">Level</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span> <span style="color: #0000ff">FROM</span>    dbo.FilteredSubject s (nolock)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span> <span style="color: #0000ff">WHERE</span> s.title = <span style="color: #006080">'Root level'</span></pre>
<p><!--CRLF--></div>
</div>
<p>The result:</p>
<p><a href="http://www.furnemont.eu/wp-content/uploads/2011/07/image2.png"><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://www.furnemont.eu/wp-content/uploads/2011/07/image_thumb2.png" width="436" height="141" /></a></p>
<p>It’s pretty obvious that this kind of query can be very helpful in custom search engines or in reports, where the subject is used.</p>
<p>So how about integrating this kind of query in a custom report?</p>
<h1>Integrating the CTE in a custom report:</h1>
<p>I won’t explain how to create a custom report in this post since it has been covered previously (see <a href="http://www.furnemont.eu/2010/05/how-to-series-create-a-custom-report-part-1/" target="_blank">part 1</a>, <a href="http://www.furnemont.eu/2010/05/how-to-series-create-a-custom-report-part-2/" target="_blank">part 2</a>, <a href="http://www.furnemont.eu/2010/06/how-to-series-create-a-custom-report-part-3/" target="_blank">part 3</a>, <a href="http://www.furnemont.eu/2010/07/how-to-series-create-a-custom-report-part-4/" target="_blank">part 4</a> or <a href="http://www.furnemont.eu/2011/02/how-to-series-create-a-custom-report-part-5/" target="_blank">part 5</a>).</p>
<p>Instead, I will put the query I’m using to show how to filter the cases based on a subject:</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">DECLARE</span> @<span style="color: #0000ff">sql</span> NVARCHAR(<span style="color: #0000ff">MAX</span>)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span>  </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span> <span style="color: #0000ff">SET</span> @<span style="color: #0000ff">sql</span> = <span style="color: #006080">'</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     WITH  SubjectTree</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>         AS (</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>               -- anchor</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>             SELECT  s.subjectid, s.title, 0 as Level</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>             FROM    FilteredSubject s (nolock)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>         WHERE   s.subjectid IN (SELECT i.subjectid FROM ('</span> + @CRM_FilteredIncident + <span style="color: #006080">') AS i)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span>             UNION ALL</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span>               --recursive member</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span>             SELECT  s.subjectid, s.title, Level+1</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13">  13:</span>             FROM    dbo.FilteredSubject s (nolock)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14">  14:</span>                     INNER JOIN SubjectTree AS t </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15">  15:</span>                       ON s.parentsubject = t.subjectid</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16">  16:</span>            )</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum17">  17:</span>  </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum18">  18:</span>     SELECT </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum19">  19:</span>         i.contactidname AS contact,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum20">  20:</span>         i.ticketnumber AS reference,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum21">  21:</span>         i.title,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum22">  22:</span>         i.subjectidname AS domain,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum23">  23:</span>         i.createdon,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum24">  24:</span>         i.owneridname AS owner,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum25">  25:</span>         i.statecodename AS state</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum26">  26:</span>     FROM FilteredIncident AS i</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum27">  27:</span>     INNER JOIN SubjectTree AS s</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum28">  28:</span>         ON i.subjectid = s.subjectid</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum29">  29:</span>     WHERE i.casetypecodename = '</span><span style="color: #006080">'Urgent Problem'</span><span style="color: #006080">'</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum30">  30:</span>         AND i.statecode = 0</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum31">  31:</span>     ORDER BY i.createdon DESC'</span> </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum32">  32:</span>  </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum33">  33:</span> <span style="color: #0000ff">EXEC</span>(@<span style="color: #0000ff">sql</span>)</pre>
<p><!--CRLF--></div>
</div>
<p>Don’t forget to specify a default filter in your report when you upload it so your clients won’t have to define it afterwards, they will only have to set the correct subject and voilà, your report with recursive subject tree will spit out the results they are looking for <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-hotsmile" alt="Star" src="http://www.furnemont.eu/wp-content/uploads/2011/07/wlEmoticon-hotsmile.png" /></p>
<h1>Useful links:</h1>
<ul>
<li>Using CTE (MSDN): <a href="http://msdn.microsoft.com/en-us/library/ms190766.aspx">here</a> </li>
<li>Recursive queries using CTEs (MSDN): <a href="http://msdn.microsoft.com/en-us/library/ms186243.aspx">here</a> </li>
<li>Definition of CTE (Wikipedia): <a href="http://en.wikipedia.org/wiki/Common_table_expressions">here</a> </li>
<li>Comparison of relational DB systems (Wikipedia): <a href="http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems#Database_capabilities" target="_blank">here</a> </li>
</ul>
<div class="shr-publisher-436"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F07%2Fhow-to-use-sql-cte-with-custom-reports-in-crm%2F' data-shr_title='How-to%3A+Use+SQL+CTE+with+custom+reports+in+CRM'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F07%2Fhow-to-use-sql-cte-with-custom-reports-in-crm%2F' data-shr_title='How-to%3A+Use+SQL+CTE+with+custom+reports+in+CRM'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F07%2Fhow-to-use-sql-cte-with-custom-reports-in-crm%2F' data-shr_title='How-to%3A+Use+SQL+CTE+with+custom+reports+in+CRM'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4370"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/07/how-to-use-sql-cte-with-custom-reports-in-crm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting article: Microsoft CRM 2011 Multiple Forms basics</title>
		<link>http://www.furnemont.eu/2011/06/interesting-article-microsoft-crm-2011-multiple-forms-basics/</link>
		<comments>http://www.furnemont.eu/2011/06/interesting-article-microsoft-crm-2011-multiple-forms-basics/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 12:28:48 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[xRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=425</guid>
		<description><![CDATA[I&#8217;ve just found out this]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I&#8217;ve just found out this very nice post on multiple forms basics in Microsoft CRM 2011, so I wanted to share it with you all&#8230;</p>
<p><a href="http://www.resultondemand.nl/support/blog/post/Microsoft-CRM-2011-Multiple-Forms-basics.aspx">Microsoft CRM 2011: Multiple Forms basics</a>.</p>
<div class="shr-publisher-425"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Finteresting-article-microsoft-crm-2011-multiple-forms-basics%2F' data-shr_title='Interesting+article%3A+Microsoft+CRM+2011+Multiple+Forms+basics'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Finteresting-article-microsoft-crm-2011-multiple-forms-basics%2F' data-shr_title='Interesting+article%3A+Microsoft+CRM+2011+Multiple+Forms+basics'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Finteresting-article-microsoft-crm-2011-multiple-forms-basics%2F' data-shr_title='Interesting+article%3A+Microsoft+CRM+2011+Multiple+Forms+basics'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4260"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/06/interesting-article-microsoft-crm-2011-multiple-forms-basics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How-to series: Send SMS messages from CRM 2011 (part 3)</title>
		<link>http://www.furnemont.eu/2011/06/how-to-series-send-sms-messages-from-crm-2011-part-3/</link>
		<comments>http://www.furnemont.eu/2011/06/how-to-series-send-sms-messages-from-crm-2011-part-3/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 09:50:34 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[xRM]]></category>
		<category><![CDATA[Clickatell]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Plug-in]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=422</guid>
		<description><![CDATA[Finally! This is the final]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Finally! This is the final part of my how-to series on how to send and track SMS messages in Microsoft CRM 2011.</p>
<p>The <a href="http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-1/" target="_blank">first post</a> explained how to prepare the solution.</p>
<p>The <a href="http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-2/" target="_blank">second post</a> talked about the Web front-end customization.</p>
<p>This last post will explain how to communicate with Clickatell’s gateway to send your SMS messages.</p>
<p><span id="more-422"></span><br />
<h1>First step: sign-up for a Clickatell account</h1>
<ol>
<li>First of all, you need to sign-up on Clickatell’s web site using their sign-up form which can be found here: <a title="http://www.clickatell.com/register/account_signup.php" href="http://www.clickatell.com/register/account_signup.php">http://www.clickatell.com/register/account_signup.php</a> </li>
<li>Make sure you select the ‘clickatell central (api)’ and ‘International’ option for either Small Business or Enterprise <img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image.png" width="585" height="378" /> </li>
<li>During the registration process, you have to provide a cellphone number in order to receive a unique and personal code, which will be needed to create a ‘Sender ID’. The definition of the ‘Sender ID’ is this:<br />
<blockquote>
<p>A Sender ID is the name or number that the message appears to come from. By default you can send a message from the mobile number you registered your account with. If you wish to send messages from other numbers or names you will be required to register them. Approval of your submitted Sender ID is not guaranteed and generally only numbers, company and product names that we are able to verify will be approved. Any MO numbers linked to your account do not need to be registered.</p>
</blockquote>
</li>
<li>Once you have filled all the required information, you will receive an email to activate your account and you will be able to put the activation code you received by SMS </li>
<li>Once the account is validated, you should receive 3 important information:
<ul>
<li>Your username </li>
<li>Your password </li>
<li>Your ‘<strong>Client ID</strong>’ </li>
</ul>
</li>
</ol>
<h1>Which API do you need?</h1>
<p>OK, this can be a bit confusing since Clickatell offers several types of API to developers: COM, HTTP, SOAP, SMTP, etc.</p>
<p>In my example, I used the <strong>SOAP API</strong> which is easier to integrate in a Microsoft CRM plugin but needs a permanent connection to the Web Service.</p>
<p>These are the steps to register a new API connection:</p>
<ul>
<li>Log on to your Clickatell account (<a title="http://www.clickatell.com/register/account_login.php" href="http://www.clickatell.com/register/account_login.php">http://www.clickatell.com/register/account_login.php</a>) using the correct product (in our case ‘Central API’) and fill in the username, client ID and password to access the ‘Central Home’ management console<img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image1.png" width="601" height="353" /><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image2.png" width="602" height="518" /> </li>
<li>The management console allows you to:
<ul>
<ul>
<li>Verify how many SMS has been sent </li>
<li>How many SMS failed to be sent </li>
<li>Create a new API connection </li>
<li>Verify your credit balance </li>
<li>etc. </li>
</ul>
</ul>
</li>
<li>To create a new API connection, simply click on the ‘Create a new Connection’ hyperlink and select the type of connection you want to create, then request your ‘<strong>API ID</strong>’ (<u><font color="#ff0000">this parameter is really important for the rest of this article</font></u>)<img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image3.png" width="591" height="657" /> </li>
<li>Once you close the confirmation screen, you will see a message stating that the 10 first test credits will always display the same SMS text (it’s OK, it’s just for testing purposes <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/06/wlEmoticon-smile.png" /> ) </li>
<li>You are all set! </li>
</ul>
<p>FYI, if you need to retrieve the API ID, just click on the ‘Manage my Products’ link in the management console:</p>
<p><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image4.png" width="631" height="410" /></p>
<h1>Create the CRM plugin</h1>
<p>OK, now it’s time to create our Microsoft CRM plugin using Visual Studio 2010; I’m using Pogo69’s <a href="http://pogo69.wordpress.com/2011/04/15/crm-2011-visual-studio-plugin-templates/">CRM 2011 – Visual Studio Plugin Templates</a> to easy my plugin developments so you might as well use it, it’s free <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://www.furnemont.eu/wp-content/uploads/2011/06/wlEmoticon-winkingsmile.png" /></p>
<ol>
<li>Create a new VS project using the CRM 2011 plugin template and give it a easy name, such as ‘SMSMessaging’
<ul>
<li>In this new project, everything is already there for you to start developing your plugin, so I’m not going to explain all the steps </li>
</ul>
</li>
<li>Start by modifying the ‘plugin.cs’ file and change the name of the public class to ‘SendSMS’ for example </li>
<li>Next step is to register the Clickatell’s Web Service by using the Internet address provided during the API connection creation: <a title="http://api.clickatell.com/soap/webservice.php?WSDL" href="http://api.clickatell.com/soap/webservice.php?WSDL">http://api.clickatell.com/soap/webservice.php?WSDL</a> and by giving it an easy name (example: ‘Clickatell’)</li>
<li>Add a new CS file (it will contain the SOAP API return codes) called ‘ClickatellRC.cs’ with the following C# code:
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #0000ff">using</span> System;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #0000ff">using</span> System.Collections.Generic;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #0000ff">using</span> System.Linq;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #0000ff">using</span> System.Text;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #0000ff">namespace</span> SMSMessaging.ReturnCodes</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">{</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">public</span> <span style="color: #0000ff">sealed</span> <span style="color: #0000ff">class</span> StatusCodes</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m001 = <span style="color: #006080">&quot;Status unknown&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m002 = <span style="color: #006080">&quot;Message queued&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m003 = <span style="color: #006080">&quot;Delivered to client gateway&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m004 = <span style="color: #006080">&quot;Received by recipient&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m005 = <span style="color: #006080">&quot;Error with message&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m006 = <span style="color: #006080">&quot;User cancelled message delivery&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m007 = <span style="color: #006080">&quot;Error delivering message&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m008 = <span style="color: #006080">&quot;Message received by gateway&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m009 = <span style="color: #006080">&quot;Routing error&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m010 = <span style="color: #006080">&quot;Message expired&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m011 = <span style="color: #006080">&quot;Message queued for later delivery&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">const</span> <span style="color: #0000ff">string</span> m012 = <span style="color: #006080">&quot;Out of credit&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">}</pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>In your ‘plugin.cs’ file, add a reference to your return codes file:
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #0000ff">using</span> SMSMessaging.ReturnCodes;</pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>When all of this is done, you can paste the following code in your file and then modify it to include the correct parameter according to your CRM customization (see <a href="http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-2/" target="_blank">previous post</a>) :
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> SendSMS : IPlugin</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>     <span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> Execute(IServiceProvider serviceProvider)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>         IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(<span style="color: #0000ff">typeof</span>(IPluginExecutionContext));</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>         <span style="color: #008000">// TODO - If you require tracing, uncomment the following line</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>         ITracingService trace = (ITracingService)serviceProvider.GetService(<span style="color: #0000ff">typeof</span>(ITracingService));</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span>         Entity entity = <span style="color: #0000ff">null</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span>         <span style="color: #008000">// Check if the InputParameters property bag contains a target</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13">  13:</span>         <span style="color: #008000">// of the current operation and that target is of type Entity.</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14">  14:</span>         <span style="color: #0000ff">if</span> (context.InputParameters.Contains(<span style="color: #006080">&quot;Target&quot;</span>) &amp;&amp; context.InputParameters[<span style="color: #006080">&quot;Target&quot;</span>] <span style="color: #0000ff">is</span> Entity)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15">  15:</span>         {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16">  16:</span>             <span style="color: #008000">// Obtain the target business entity from the input parmameters.</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum17">  17:</span>             entity = (Entity)context.InputParameters[<span style="color: #006080">&quot;Target&quot;</span>];</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum18">  18:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum19">  19:</span>             <span style="color: #008000">// TODO Test for an entity type and message supported by your plug-in.</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum20">  20:</span>             <span style="color: #0000ff">if</span> (entity.LogicalName != <span style="color: #006080">&quot;xxx_smsmessage&quot;</span>) { <span style="color: #0000ff">return</span>; }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum21">  21:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum22">  22:</span>         <span style="color: #0000ff">else</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum23">  23:</span>         {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum24">  24:</span>             <span style="color: #0000ff">return</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum25">  25:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum26">  26:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum27">  27:</span>         <span style="color: #0000ff">try</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum28">  28:</span>         {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum29">  29:</span>             <span style="color: #0000ff">if</span> ((<span style="color: #0000ff">bool</span>)entity.Attributes[<span style="color: #006080">&quot;xxx_readytosend&quot;</span>] == <span style="color: #0000ff">true</span>)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum30">  30:</span>             {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum31">  31:</span>                 <span style="color: #008000">// Obtain the organization service reference.</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum32">  32:</span>                 IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(<span style="color: #0000ff">typeof</span>(IOrganizationServiceFactory));</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum33">  33:</span>                 IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum34">  34:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum35">  35:</span>                 <span style="color: #008000">// Need to specify 'by hand' the binding and endpoint address</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum36">  36:</span>                 BasicHttpBinding binding = <span style="color: #0000ff">new</span> BasicHttpBinding();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum37">  37:</span>                 EndpointAddress ws = <span style="color: #0000ff">new</span> EndpointAddress(<span style="color: #006080">&quot;http://api.clickatell.com/soap/webservice.php&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum38">  38:</span>                 <span style="color: #008000">// Instanciation of the Web Service client</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum39">  39:</span>                 Clickatell.PushServerWSPortTypeClient client = <span style="color: #0000ff">new</span> Clickatell.PushServerWSPortTypeClient(binding, ws);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum40">  40:</span>                 <span style="color: #008000">// Preparing the message</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum41">  41:</span>                 <span style="color: #0000ff">string</span>[] to = <span style="color: #0000ff">new</span> <span style="color: #0000ff">string</span>[1];</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum42">  42:</span>                 to[0] = entity.Attributes[<span style="color: #006080">&quot;xxx_phonenumber&quot;</span>].ToString().Replace(<span style="color: #006080">&quot;+&quot;</span>, <span style="color: #006080">&quot;&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum43">  43:</span>                 <span style="color: #0000ff">string</span> smsText = entity.Attributes[<span style="color: #006080">&quot;subject&quot;</span>].ToString();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum44">  44:</span>                 <span style="color: #008000">// Sending the message to Clickatell server</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum45">  45:</span>                 <span style="color: #0000ff">string</span>[] retCode = client.sendmsg(<span style="color: #006080">&quot;&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum46">  46:</span>                     API_ID,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum47">  47:</span>                     <span style="color: #006080">&quot;USERNAME&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum48">  48:</span>                     <span style="color: #006080">&quot;PASSWORD&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum49">  49:</span>                     to,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum50">  50:</span>                     <span style="color: #006080">&quot;SENDER_ID&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum51">  51:</span>                     smsText,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum52">  52:</span>                     0,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum53">  53:</span>                     1,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum54">  54:</span>                     0,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum55">  55:</span>                     0,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum56">  56:</span>                     3,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum57">  57:</span>                     0,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum58">  58:</span>                     1,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum59">  59:</span>                     0,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum60">  60:</span>                     0,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum61">  61:</span>                     <span style="color: #0000ff">null</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum62">  62:</span>                     0,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum63">  63:</span>                     <span style="color: #006080">&quot;SMS_TEXT&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum64">  64:</span>                     <span style="color: #0000ff">null</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum65">  65:</span>                     <span style="color: #0000ff">null</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum66">  66:</span>                     1440);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum67">  67:</span>                 <span style="color: #008000">// Retrieving the message status to know if sent or not</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum68">  68:</span>                 <span style="color: #0000ff">string</span> msgId = retCode[0].ToString();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum69">  69:</span>                 retCode = client.querymsg(<span style="color: #006080">&quot;&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum70">  70:</span>                     API_ID,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum71">  71:</span>                     <span style="color: #006080">&quot;USERNAME&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum72">  72:</span>                     <span style="color: #006080">&quot;PASSWORD&quot;</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum73">  73:</span>                     msgId,</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum74">  74:</span>                     <span style="color: #0000ff">null</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum75">  75:</span>                 <span style="color: #008000">// Looking for the status code in the return code</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum76">  76:</span>                 <span style="color: #0000ff">int</span> index = retCode[0].IndexOf(<span style="color: #006080">&quot;Status:&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum77">  77:</span>                 <span style="color: #0000ff">string</span> statusCode = retCode[0].Substring(index, 11);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum78">  78:</span>                 statusCode = statusCode.Substring(statusCode.IndexOf(<span style="color: #006080">&quot;0&quot;</span>), 3);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum79">  79:</span>                 <span style="color: #008000">// Updating the SMS activity status and delivery info</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum80">  80:</span>                 SetStateRequest smsStatus = <span style="color: #0000ff">new</span> SetStateRequest();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum81">  81:</span>                 smsStatus.EntityMoniker = entity.ToEntityReference();</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum82">  82:</span>                 <span style="color: #0000ff">switch</span> (statusCode)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum83">  83:</span>                 {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum84">  84:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;001&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum85">  85:</span>                         smsStatus.State = <span style="color: #0000ff">new</span> OptionSetValue(1);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum86">  86:</span>                         smsStatus.Status = <span style="color: #0000ff">new</span> OptionSetValue(100000002);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum87">  87:</span>                         <span style="color: #0000ff">break</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum88">  88:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;002&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum89">  89:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;003&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum90">  90:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;008&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum91">  91:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;011&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum92">  92:</span>                         smsStatus.State = <span style="color: #0000ff">new</span> OptionSetValue(0);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum93">  93:</span>                         smsStatus.Status = <span style="color: #0000ff">new</span> OptionSetValue(100000003);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum94">  94:</span>                         <span style="color: #0000ff">break</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum95">  95:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;004&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum96">  96:</span>                         smsStatus.State = <span style="color: #0000ff">new</span> OptionSetValue(1);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum97">  97:</span>                         smsStatus.Status = <span style="color: #0000ff">new</span> OptionSetValue(2);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum98">  98:</span>                         <span style="color: #0000ff">break</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum99">  99:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;005&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum100"> 100:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;007&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum101"> 101:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;009&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum102"> 102:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;010&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum103"> 103:</span>                         smsStatus.State = <span style="color: #0000ff">new</span> OptionSetValue(1);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum104"> 104:</span>                         smsStatus.Status = <span style="color: #0000ff">new</span> OptionSetValue(100000001);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum105"> 105:</span>                         <span style="color: #0000ff">break</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum106"> 106:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;006&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum107"> 107:</span>                     <span style="color: #0000ff">case</span> <span style="color: #006080">&quot;012&quot;</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum108"> 108:</span>                         smsStatus.State = <span style="color: #0000ff">new</span> OptionSetValue(2);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum109"> 109:</span>                         smsStatus.Status = <span style="color: #0000ff">new</span> OptionSetValue(3);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum110"> 110:</span>                         <span style="color: #0000ff">break</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum111"> 111:</span>                     <span style="color: #0000ff">default</span>:</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum112"> 112:</span>                         <span style="color: #0000ff">break</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum113"> 113:</span>                 }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum114"> 114:</span>                 SetStateResponse resp = (SetStateResponse)service.Execute(smsStatus);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum115"> 115:</span>             }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum116"> 116:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum117"> 117:</span>         <span style="color: #0000ff">catch</span> (FaultException&lt;OrganizationServiceFault&gt; ex)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum118"> 118:</span>         {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum119"> 119:</span>             <span style="color: #0000ff">throw</span> <span style="color: #0000ff">new</span> InvalidPluginExecutionException(<span style="color: #006080">&quot;An error occurred in the plug-in.&quot;</span>, ex);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum120"> 120:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum121"> 121:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum122"> 122:</span> }</pre>
<p><!--CRLF--></div>
</p></div>
</li>
<ul>
<li><font color="#0000ff">You have to modify the following line #:</font> 20, 29, 42, 46 to 50, 70 to 72</li>
</ul>
<li>Your complete solution should look like this:<img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image5.png" width="237" height="318" /></li>
</ol>
<p>Now, I’m aware this code is not the best looking or the best bullet-proof C# code but it is only meant for educational purposes, so feel free to add all the error catching you want, etc. I don’t mind <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/06/wlEmoticon-smile.png" /></p>
<p>Also, note that the part where I update the SMS message after getting the return code back from the Web Service <u>does not work</u>! The code is correct but the return message is always the same, which means that it is always kind of ‘OK’ even when it’s not <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-confusedsmile" alt="Confused smile" src="http://www.furnemont.eu/wp-content/uploads/2011/06/wlEmoticon-confusedsmile.png" /></p>
<p>This might be due to the fact that the process is run synchronously or something like that, I don’t know and I haven’t investigated much…</p>
<h1>Deploy your plugin</h1>
<p>Now for the easy and last part of this post: deploying the new plugin!</p>
<ul>
<li>Start the ‘Plugin Registration Tool’ found in the Microsoft CRM 2011 SDK package</li>
<li>Connect to your CRM server and to the appropriate organization</li>
<li>Register a new assembly and select your plugin’s compiled assembly<img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image6.png" width="569" height="609" /></li>
<li>Once the assembly has been registered, you have to create a new step for it; in my case, I wanted to call the plugin in a new SMS message ‘Create’ event<img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image7.png" width="544" height="415" /></li>
<li>Click on register new step, you’re all set!</li>
</ul>
<h1>Test your plugin</h1>
<p>If you followed all the steps here above and modified what needed to be modified in the plugin code, you should be able to test your new plugin successfully:</p>
<ul>
<li>Connect to your CRM server and go to your ‘Activities’ list</li>
<li>Create a new SMS message from the ribbon<img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image8.png" width="399" height="176" /></li>
<li>Select a contact and type in its phone number (in a final customization, this field <u>must be</u> populated automatically according to a relationship mapping in CRM)</li>
<ul>
<ul>
<ul>
<li>The phone number’s country code is <u>required and must be</u> typed without 0s or + sign<img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/06/image9.png" width="565" height="258" /></li>
</ul>
</ul>
</ul>
<li>Click on the ‘Send SMS’ button in the ribbon… if everything goes well, you should receive a cool SMS message on your phone!</li>
</ul>
<p><img src="http://www.furnemont.eu/wp-content/uploads/2011/05/photo.png" /></p>
<p>That’s it for this how-to series, I hope you enjoyed it! Feel free to put comments on this blog and remember…..you can always redirect your friends or colleagues to my posts also <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/06/wlEmoticon-smile.png" /></p>
<p>Stay tuned for more how-to series in a near future.</p>
<div class="shr-publisher-422"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Fhow-to-series-send-sms-messages-from-crm-2011-part-3%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+3%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Fhow-to-series-send-sms-messages-from-crm-2011-part-3%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+3%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Fhow-to-series-send-sms-messages-from-crm-2011-part-3%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+3%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4230"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/06/how-to-series-send-sms-messages-from-crm-2011-part-3/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Update Rollup 2 available through direct download</title>
		<link>http://www.furnemont.eu/2011/06/crm-2011-update-rollup-2-available-through-direct-download/</link>
		<comments>http://www.furnemont.eu/2011/06/crm-2011-update-rollup-2-available-through-direct-download/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 07:10:15 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Update Rollup]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=404</guid>
		<description><![CDATA[More information here: http://support.microsoft.com/kb/2466086/en-us Link]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>More information here: <a title="http://support.microsoft.com/kb/2466086/en-us" href="http://support.microsoft.com/kb/2466086/en-us">http://support.microsoft.com/kb/2466086/en-us</a></p>
<p>Link to the download: <a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5a088be-c19e-43b5-87fb-219c2a2bc280&amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5a088be-c19e-43b5-87fb-219c2a2bc280&amp;displaylang=en">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5a088be-c19e-43b5-87fb-219c2a2bc280&amp;displaylang=en</a></p>
<p>This update will be available through Windows Update from the 28<sup>th</sup> of June.</p>
<div class="shr-publisher-404"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Fcrm-2011-update-rollup-2-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+2+available+through+direct+download'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Fcrm-2011-update-rollup-2-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+2+available+through+direct+download'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F06%2Fcrm-2011-update-rollup-2-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+2+available+through+direct+download'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-4050"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/06/crm-2011-update-rollup-2-available-through-direct-download/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How-to series: Send SMS messages from CRM 2011 (part 2)</title>
		<link>http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-2/</link>
		<comments>http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-2/#comments</comments>
		<pubDate>Tue, 17 May 2011 09:36:24 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[xRM]]></category>
		<category><![CDATA[Clickatell]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Plug-in]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=397</guid>
		<description><![CDATA[In the first part (see]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In the first part (see <a href="http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-1/" target="_blank">part 1</a>), I explained how a SMS could be better to communicate with your customers and contacts, since it is instantly dispatched on the cell phone.</p>
<p>In this part, I’ll deal with customizing the CRM as to enable this kind of communication.</p>
<p><span id="more-397"></span><br />
<h1>How I’m doing it</h1>
<p>Since we are dealing with a new activity, we are going to create a new activity entity; this entity will be responsible for sending the SMS messages to our contacts so we need a button to really do the action of ‘sending’ the message.</p>
<p>What I’ve devised is a simple method to send the message: once the ‘send’ button is clicked, a small JavaScript function changes the state of a check box on the message form then saves the message; once the message has been saved, a C# plugin is called which verifies the status of the check box and then constructs a message to send to Clickatell’s gateway.</p>
<p>That’s it! Pretty easy right? <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/05/wlEmoticon-smile1.png" /></p>
<p>In the remaining of this post, I’ll deal with:</p>
<ul>
<li>The creation of the new custom entity </li>
<li>The implementation of the JavaScript function </li>
<li>The customization of the custom entity main form’s ribbon </li>
</ul>
<h1>Create a new activity type entity</h1>
<p>The first thing to do is to create a new custom entity that will allow us to send SMS messages to our customers; of course this entity must be a new activity type, since we want to track down every single message sent to them in our communication history.</p>
<p>So here are the steps to follow:</p>
<ol>
<li>In Microsoft CRM, go to your new ‘SMSMessaging’ solution (see <a href="http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-1/" target="_blank">part 1</a>), click on the ‘New’ button and select ‘Entity’ in the sub-menu<a href="http://www.furnemont.eu/wp-content/uploads/2011/05/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image_thumb1.png" width="394" height="142" /></a> </li>
<li>In the new screen, enter the following information
<ul>
<li>Display Name: SMS Message </li>
<li>Plural Name: SMS Messages </li>
<li>Name: XXX_smsmessage (or whatever you want) </li>
<li>Tick the ‘Define as an activity entity’ check box and make sure ‘Display in Activity Menus’ is checked as well </li>
<li>The rest is up to you </li>
</ul>
<p><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image2.png" width="590" height="144" /></p>
<ul>
<li>Save your new entity </li>
</ul>
</li>
<li>Now it’s time to add or modify some fields that will help us store the SMS message information such as: when was it sent, to which customer and which phone number, what is the message status, etc.<br />
<table border="1" cellspacing="0" cellpadding="2" width="590">
<tbody>
<tr>
<td valign="top" width="120">Field</td>
<td valign="top" width="102">Display Name</td>
<td valign="top" width="53">
<p align="center">Custom</p>
</td>
<td valign="top" width="60">Type</td>
<td valign="top" width="253">Comment</td>
</tr>
<tr>
<td valign="top" width="120">RegardingObjectID</td>
<td valign="top" width="102">Contact</td>
<td valign="top" width="53">
<p align="center">No</p>
</td>
<td valign="top" width="60">Lookup</td>
<td valign="top" width="253">When creating a new SMS message from an account or contact, only this field is set by default!</td>
</tr>
<tr>
<td valign="top" width="120">Subject</td>
<td valign="top" width="102">Text Message</td>
<td valign="top" width="53">
<p align="center">No</p>
</td>
<td valign="top" width="60">Text</td>
<td valign="top" width="253">The text sent in the SMS message</td>
</tr>
<tr>
<td valign="top" width="120">XXX_phonenumber</td>
<td valign="top" width="102">Phone Number</td>
<td valign="top" width="53">
<p align="center">Yes</p>
</td>
<td valign="top" width="60">Text</td>
<td valign="top" width="253">The contact’s phone number (must be formatted properly)</td>
</tr>
<tr>
<td valign="top" width="120">XXX_readytosend</td>
<td valign="top" width="102">Ready to Send?</td>
<td valign="top" width="53">
<p align="center">Yes</p>
</td>
<td valign="top" width="60">Bit</td>
<td valign="top" width="253">Is the message ready to send or not (more on that later on)</td>
</tr>
</tbody>
</table>
</li>
<li>Customize the main form to something like this<img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image3.png" width="594" height="325" /> </li>
<li>Add some cool icons and publish your customization and check to see if it looks good <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/05/wlEmoticon-smile1.png" /><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image4.png" width="593" height="293" /> </li>
</ol>
<p>Ok, we are done with the entity customization… now we need to create a small JavaScript function that will change the ‘Ready to send’ check box</p>
<h1>Add a JavaScript function</h1>
<p>Since we are going to use a C# plug-in for sending the message, we need something to ‘tell’ it to create the message and send it properly: this will be done thanks to our ‘Ready to send’ check box and JavaScript code below:</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #0000ff">function</span> SendSMS()</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">{</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">if</span> (Xrm.Page.getAttribute(<span style="color: #006080">&quot;xxx_readytosend&quot;</span>).getValue() == <span style="color: #0000ff">false</span>)</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        Xrm.Page.getControl(<span style="color: #006080">&quot;xxx_readytosend&quot;</span>).setDisabled(<span style="color: #0000ff">false</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        Xrm.Page.getAttribute(<span style="color: #006080">&quot;xxx_readytosend&quot;</span>).setValue(<span style="color: #0000ff">true</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        Xrm.Page.getControl(<span style="color: #006080">&quot;xxx_readytosend&quot;</span>).setDisabled(<span style="color: #0000ff">true</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        Xrm.Page.data.entity.save(<span style="color: #006080">&quot;saveandclose&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    <span style="color: #0000ff">else</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        alert(<span style="color: #006080">&quot;SMS message already delivered for sending!&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">}</pre>
<p><!--CRLF--></div>
</div>
<p>This code must be included in a JS file and in the solution:</p>
<ol>
<li>In your solution, click on the ‘New’ button and select ‘Web Resource’ in the sub-menu<img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image5.png" width="401" height="202" /> </li>
<li>In the new screen, enter the following information
<ul>
<li>Name: XXX_sendsms </li>
<li>Display Name: Send SMS JavaScript </li>
<li>Description: whatever you like </li>
<li>Type: Script (JScript) </li>
<li>You can either paste your JavaScript code by using the ‘Text Editor’ button or upload your JS file (my choice here)<img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image6.png" width="576" height="344" /> </li>
</ul>
</li>
<li>Save and close the screen to upload the file to Microsoft CRM </li>
<li>That’s it, your JavaScript has been packaged! </li>
</ol>
<p>The last thing we need to do is to add something that’ll help us send the SMS message: this will be possible thanks to a custom button in the new entity’s ribbon, that will call our JavaScript function.</p>
<h1>Customize the ribbon</h1>
<p>The customization of the entity’s ribbon must be done <u>manually</u> in the customization file, which must be exported by using the solution export functionality:</p>
<p><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image7.png" width="426" height="128" /></p>
<ul>
<li>Once the solution has been exported, you’ll find a single ZIP file where is enclosed several XML files; the one we are interested in is the ‘customizations.xml’ file:<img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image8.png" width="404" height="124" /> </li>
<li>Open this file in your favorite text editor and look for the following node
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">&lt;Entity&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">      &lt;Name LocalizedName=<span style="color: #006080">&quot;SMS Message&quot;</span></pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>
<p>The entity section contains several sub-nodes which defines the entity’s fields, forms, queries, etc.; the sub-node we need to modify is the ‘RibbonDiffXml’ node </p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">&lt;Entity&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;Name LocalizedName=<span style="color: #006080">&quot;SMS Message&quot;</span> OriginalName=<span style="color: #006080">&quot;SMS Message&quot;</span>&gt;ofusms_smsmessage&lt;/Name&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;ObjectTypeCode&gt;10000&lt;/ObjectTypeCode&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;EntityInfo /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;FormXml /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;SavedQueries /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;RibbonDiffXml /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">&lt;/Entity&gt;</pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>
<p>In the ‘RibbonDiffXml’ section, you have to (just copy the code below and you’re done <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/05/wlEmoticon-smile1.png" />) :</p>
<ul>
<ul>
<li>
<p>Add a custom action containing the new ‘Send’ button</p>
</li>
<li>
<p>Add a command definition containing a call to your JavaScript send function</p>
</li>
<li>
<p>Add a rule definition that enables the button when creating or updating an active SMS message</p>
</li>
</ul>
</ul>
</li>
</ul>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> &lt;RibbonDiffXml&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span>     &lt;CustomActions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>         &lt;CustomAction Id=<span style="color: #006080">&quot;CA_SendSMS&quot;</span> Location=<span style="color: #006080">&quot;Mscrm.Form.ofusms_smsmessage.MainTab.Save.Controls._children&quot;</span> Sequence=<span style="color: #006080">&quot;1&quot;</span>&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>             &lt;CommandUIDefinition&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>                 &lt;Button Id=<span style="color: #006080">&quot;B_SendSMS&quot;</span> Command=<span style="color: #006080">&quot;Mscrm.RunSomeJS&quot;</span> LabelText=<span style="color: #006080">&quot;Send SMS&quot;</span> ToolTipTitle=<span style="color: #006080">&quot;Send SMS&quot;</span> ToolTipDescription=<span style="color: #006080">&quot;Runs the test JS to see if this works&quot;</span> TemplateAlias=<span style="color: #006080">&quot;o1&quot;</span> Image16by16=<span style="color: #006080">&quot;/_imgs/SFA/SendAsEmail_16.png&quot;</span> Image32by32=<span style="color: #006080">&quot;/_imgs/SFA/SendAsEmail_32.png&quot;</span> /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>             &lt;/CommandUIDefinition&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>         &lt;/CustomAction&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>         &lt;HideCustomAction HideActionId=<span style="color: #006080">&quot;CA_HideSaveAsComplete&quot;</span> Location=<span style="color: #006080">&quot;Mscrm.Form.ofusms_smsmessage.SaveAsComplete&quot;</span> /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>         &lt;HideCustomAction HideActionId=<span style="color: #006080">&quot;CA_HideDeactivate&quot;</span> Location=<span style="color: #006080">&quot;Mscrm.Form.ofusms_smsmessage.Deactivate&quot;</span> /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span>     &lt;/CustomActions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span>     &lt;Templates&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span>         &lt;RibbonTemplates Id=<span style="color: #006080">&quot;Mscrm.Templates&quot;</span>&gt;&lt;/RibbonTemplates&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13">  13:</span>     &lt;/Templates&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14">  14:</span>     &lt;CommandDefinitions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15">  15:</span>         &lt;CommandDefinition Id=<span style="color: #006080">&quot;Mscrm.RunSomeJS&quot;</span>&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16">  16:</span>             &lt;EnableRules&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum17">  17:</span>                 &lt;EnableRule Id=<span style="color: #006080">&quot;B_SendSMS.Enable&quot;</span> /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum18">  18:</span>             &lt;/EnableRules&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum19">  19:</span>             &lt;DisplayRules /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum20">  20:</span>             &lt;Actions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum21">  21:</span>                 &lt;JavaScriptFunction FunctionName=<span style="color: #006080">&quot;SendSMS&quot;</span> Library=<span style="color: #006080">&quot;$Webresource:ofusms_sendsms&quot;</span>&gt;&lt;/JavaScriptFunction&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum22">  22:</span>             &lt;/Actions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum23">  23:</span>         &lt;/CommandDefinition&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum24">  24:</span>     &lt;/CommandDefinitions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum25">  25:</span>     &lt;RuleDefinitions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum26">  26:</span>         &lt;TabDisplayRules /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum27">  27:</span>         &lt;DisplayRules /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum28">  28:</span>         &lt;EnableRules&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum29">  29:</span>             &lt;EnableRule Id=<span style="color: #006080">&quot;B_SendSMS.Enable&quot;</span>&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum30">  30:</span>                 &lt;OrRule&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum31">  31:</span>                     &lt;Or&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum32">  32:</span>                         &lt;FormStateRule State=<span style="color: #006080">&quot;Create&quot;</span> /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum33">  33:</span>                     &lt;/Or&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum34">  34:</span>                     &lt;Or&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum35">  35:</span>                         &lt;FormStateRule State=<span style="color: #006080">&quot;Existing&quot;</span> /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum36">  36:</span>                     &lt;/Or&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum37">  37:</span>                 &lt;/OrRule&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum38">  38:</span>             &lt;/EnableRule&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum39">  39:</span>         &lt;/EnableRules&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum40">  40:</span>     &lt;/RuleDefinitions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum41">  41:</span>     &lt;LocLabels /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum42">  42:</span> &lt;/RibbonDiffXml&gt;</pre>
<p><!--CRLF--></div>
</div>
<p>Let me explain what this code does:</p>
<ul>
<li>Line 3: Defines where a custom button (for example) will be positioned in the default ribbon </li>
<li>Line 5: This line defines the custom button, with all its properties (the button text, the JavaScript command, the icons, etc.) </li>
<li>Line 8 &amp; 9: These 2 lines are used to hide a particular element in the ribbon (in these cases the ‘Save as complete’ &amp; ‘Deactivate’ buttons) </li>
<li>Line 15: This line defines the command that has been set in the button properties (see line 5, ‘Command’) </li>
<li>Line 17: This line defines when the command can be used, it is a reference to the line 29 </li>
<li>Line 21: This line defines which JavaScript function is called in which web resource when the button is clicked </li>
<li>Line 29: This is the rule definition for the custom button (same as saying ‘when is the button enabled?’) </li>
</ul>
<p>Why did I use an ‘OrRule’ in my ‘EnableRules’ section? Well, a CRM form <u>can’t be</u> in ‘Create’ mode and in ‘Edit’ mode at the same time so you need to specify that the button is enabled either in ‘Create’ or ‘Existing’ (‘Edit’) mode <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://www.furnemont.eu/wp-content/uploads/2011/05/wlEmoticon-winkingsmile1.png" /></p>
<p>Make sure you include your modified customization file in a <u>new</u><em> </em>ZIP file and import it back in your CRM, publish everything and you should see something like this in your SMS message form ribbon:</p>
<p><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/05/image9.png" width="237" height="122" /></p>
<p>This is it for this pretty long post, I’ll take you on the plugin journey in the next part so stay tuned for the big final!</p>
<div class="shr-publisher-397"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F05%2Fhow-to-series-send-sms-messages-from-crm-2011-part-2%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+2%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F05%2Fhow-to-series-send-sms-messages-from-crm-2011-part-2%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+2%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F05%2Fhow-to-series-send-sms-messages-from-crm-2011-part-2%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+2%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3980"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How-to series: Send SMS messages from CRM 2011 (part 1)</title>
		<link>http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-1/</link>
		<comments>http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-1/#comments</comments>
		<pubDate>Fri, 06 May 2011 10:59:10 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[xRM]]></category>
		<category><![CDATA[Clickatell]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Plug-in]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=382</guid>
		<description><![CDATA[Describes how to send SMS from Microsoft CRM 2011]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In a time where the information must be available quickly, there is an alternative to feeds, tweets, walls and emails….this alternative is called SMS, for Short Message Service.</p>
<p>Of course, one can always say that an SMS is the same thing as a tweet with roughly the same text length but who can say that its cell phone is <u>always</u> connected to the Internet? Not me, it is way too expensive here in Belgium!</p>
<p>On the same note, <u>all</u> cell phones can receive basic text SMS messages so this is an interesting alternative to emails and so on.</p>
<p>So in this series, I wanted to focus on a small plugin that would allow any of your customers to be alerted by SMS instead of by email, SMS that should be sent from Microsoft CRM of course <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/05/wlEmoticon-smile.png" /></p>
<p>This first part will focus on customizing Microsoft CRM to prepare for the plug-in that I’ll develop on the second part.</p>
<h1>Pre-requisites to this series</h1>
<p>For this SMS integration to work, you should consider using a Clickatell account (<a href="http://www.clickatell.com">www.clickatell.com</a>) and their set of APIs to connect to their SMS gateway (APIs available through HTTP, SMTP, SOAP, XML, COM, …)</p>
<p>This company offers 10 free SMS to test your code, then you can buy credits for sending ‘real’ messages throughout the world (I don’t have any acquaintance with them but I find that their site is clear and easy to understand; on the other hand, there are no real C# code samples).</p>
<p><a href="http://www.furnemont.eu/wp-content/uploads/2011/05/photo.png"><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="photo" border="0" alt="photo" src="http://www.furnemont.eu/wp-content/uploads/2011/05/photo_thumb.png" width="164" height="244" /></a></p>
<p>If you need help signing-up with them, please contact me and I’ll try to help you.</p>
<h1>How is this series divided?</h1>
<p>This series will be divided in 3 parts:</p>
<ul>
<li>Part 1 of 3: Expressing the requirements and creating the CRM solution </li>
<li>Part 2 of 3: Customizing the CRM for the new SMS activity </li>
<li>Part 3 of 3: Developing the CRM plugin for sending the SMS </li>
</ul>
<h1>Expressing the business needs</h1>
<p>Ok, down on the needs now <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2011/05/wlEmoticon-smile.png" /></p>
<p>Let’s assume you want to be able to send SMS to your customers just like you would send an email from Microsoft CRM, how would you that?</p>
<p>Well thankfully, Microsoft CRM 2011 allows you to create new activity types (see previous post <a href="http://www.furnemont.eu/2010/11/crm-2011-new-activity-types-for-dummies-part-1/" target="_blank">New activity types for dummies</a>) so I’ll use this new awesome feature.</p>
<h1>Creating the CRM solution</h1>
<p>Ok, in this first post I’ll show you how to properly prepare a solution for your SMS implementation but you are free to do as you wish.</p>
<ul>
<li>Make sure you have a backup of your original CRM customizations before you start customizing your system</li>
<li>Within Microsoft CRM, create a new solution called <em>SMSMessaging</em>; this solution will host our customizations for the new SMS functionality </li>
</ul>
<p><a href="http://www.furnemont.eu/wp-content/uploads/2011/05/image.png"><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://www.furnemont.eu/wp-content/uploads/2011/05/image_thumb.png" width="620" height="97" /></a></p>
<ul>
<li>Open your new solution and add the following entities for now:</li>
<ul>
<ul>
<ul>
<li>Account</li>
<li>Activity</li>
<li>Contact</li>
<li>Lead</li>
<li>User</li>
</ul>
</ul>
</ul>
</ul>
<p>OK you’re ready to go…..it’s very easy for now but stay tuned and watch for the second part of this series, where I’ll show you some cool stuff! <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://www.furnemont.eu/wp-content/uploads/2011/05/wlEmoticon-winkingsmile.png" /></p>
<div class="shr-publisher-382"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F05%2Fhow-to-series-send-sms-messages-from-crm-2011-part-1%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+1%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F05%2Fhow-to-series-send-sms-messages-from-crm-2011-part-1%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+1%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F05%2Fhow-to-series-send-sms-messages-from-crm-2011-part-1%2F' data-shr_title='How-to+series%3A+Send+SMS+messages+from+CRM+2011+%28part+1%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3830"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/05/how-to-series-send-sms-messages-from-crm-2011-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Hide a button in a custom entity&#8217;s form ribbon</title>
		<link>http://www.furnemont.eu/2011/04/crm-2011-hide-a-button-in-a-custom-entitys-form-ribbon/</link>
		<comments>http://www.furnemont.eu/2011/04/crm-2011-hide-a-button-in-a-custom-entitys-form-ribbon/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 13:01:44 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[xRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Ribbon]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=372</guid>
		<description><![CDATA[For all of you who]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>For all of you who wanted to know how to do this, here are the steps:</p>
<ol>
<li>Make sure the custom entity is part of the solution you want to export and modify </li>
<li>Export the solution and edit the <strong>customizations.xml</strong> file </li>
<li>In this file, each entity has its own &lt;Entity&gt; tag so you need to find the one that suits your needs (example: if your custom entity is called <em>new_test</em>, you should look for the node
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;Entity&gt;<br /> &lt;Name LocalizedName=<span style="color: #006080">&quot;Test&quot;</span> OriginalName=<span style="color: #006080">&quot;Test&quot;</span>&gt;new_test&lt;/Name&gt;<br />[...]<br /></pre>
<p></div>
</li>
<li>In this node, you should see a sub-node starting with &lt;RibbonDiffXml&gt;, which is the node containing the ribbons elements for your particular entity </li>
<li>In this new section, you should only modify the &lt;CustomActions /&gt; node, which is the node containing all the custom actions for the entity’s ribbon: add a new button, hide a button, change the behavior of a particular button, etc.
<ol>
<li>Under &lt;CustomActions&gt;, place the following code if you want to hide the ‘Save as complete’ button
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;HideCustomAction HideActionId=<span style="color: #006080">&quot;CA_HideSaveAsComplete&quot;</span> Location=<span style="color: #006080">&quot;Mscrm.Form.new_test.SaveAsComplete&quot;</span> /&gt;<br /></pre>
<p></div>
</li>
<li><font color="#ff0000">Do not forget to close the &lt;CustomActions&gt; tag after it!</font> </li>
</ol>
</li>
<li>The complete code should look like this:
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">&lt;RibbonDiffXml&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;CustomActions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        &lt;HideCustomAction HideActionId=<span style="color: #006080">&quot;CA_HideSaveAsComplete&quot;</span> Location=<span style="color: #006080">&quot;Mscrm.Form.new_test.SaveAsComplete&quot;</span> /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;/CustomActions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;Templates&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        &lt;RibbonTemplates Id=<span style="color: #006080">&quot;Mscrm.Templates&quot;</span>&gt;&lt;/RibbonTemplates&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;/Templates&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;CommandDefinitions /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;RuleDefinitions&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        &lt;TabDisplayRules /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        &lt;DisplayRules /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">        &lt;EnableRules /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;/RuleDefinitions&gt; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">    &lt;LocLabels /&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px">&lt;/RibbonDiffXml&gt;</pre>
<p><!--CRLF--></div>
</p></div>
</li>
</ol>
<p>After having saved the modified <strong>customizations.xml</strong> file, <u>compress</u> all the solution files in a <u>new</u> ZIP package and import it back in Microsoft CRM.</p>
<p>Once the package has been published, you should “see” that the ‘Save as complete’ button has disappeared on your entity’s form <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://www.furnemont.eu/wp-content/uploads/2011/04/wlEmoticon-winkingsmile.png" /></p>
<div class="shr-publisher-372"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F04%2Fcrm-2011-hide-a-button-in-a-custom-entitys-form-ribbon%2F' data-shr_title='CRM+2011%3A+Hide+a+button+in+a+custom+entity%26rsquo%3Bs+form+ribbon'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F04%2Fcrm-2011-hide-a-button-in-a-custom-entitys-form-ribbon%2F' data-shr_title='CRM+2011%3A+Hide+a+button+in+a+custom+entity%26rsquo%3Bs+form+ribbon'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F04%2Fcrm-2011-hide-a-button-in-a-custom-entitys-form-ribbon%2F' data-shr_title='CRM+2011%3A+Hide+a+button+in+a+custom+entity%26rsquo%3Bs+form+ribbon'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3730"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/04/crm-2011-hide-a-button-in-a-custom-entitys-form-ribbon/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Update Rollup 1 available through direct download</title>
		<link>http://www.furnemont.eu/2011/04/crm-2011-update-rollup-1-available-through-direct-download/</link>
		<comments>http://www.furnemont.eu/2011/04/crm-2011-update-rollup-1-available-through-direct-download/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 10:16:00 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Update Rollup]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=365</guid>
		<description><![CDATA[More information here: http://support.microsoft.com/kb/2466084 If]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>More information here: <a href="http://support.microsoft.com/kb/2466084">http://support.microsoft.com/kb/2466084</a></p>
<p>If you don’t want to bother downloading all the components separately, wait until the 26th of April when the update will be given through Windows Update.</p>
<div class="shr-publisher-365"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F04%2Fcrm-2011-update-rollup-1-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+1+available+through+direct+download'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F04%2Fcrm-2011-update-rollup-1-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+1+available+through+direct+download'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F04%2Fcrm-2011-update-rollup-1-available-through-direct-download%2F' data-shr_title='CRM+2011%3A+Update+Rollup+1+available+through+direct+download'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3660"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/04/crm-2011-update-rollup-1-available-through-direct-download/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Are you ready for the Cloud?</title>
		<link>http://www.furnemont.eu/2011/03/are-you-ready-for-the-cloud/</link>
		<comments>http://www.furnemont.eu/2011/03/are-you-ready-for-the-cloud/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 14:49:46 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[CRM in general]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Brad Wilson]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Software Advice]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=362</guid>
		<description><![CDATA[In this video from Software]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In this video from <a href="http://www.softwareadvice.com/crm/" target="_blank">Software Advice</a>, Brad Wilson, General Manager of Microsoft Dynamics CRM, explains the choice between Microsoft Dynamics CRM Online and On Premise.</p>
<p>It all ends up to this obvious question: are your clients ready for the Cloud or not?</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:70554df4-2244-4599-8197-59688b4c314f" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/wDAn6JLuK9Q?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/wDAn6JLuK9Q?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Brad Wilson on moving to the Cloud</div>
</div>
<div class="shr-publisher-362"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F03%2Fare-you-ready-for-the-cloud%2F' data-shr_title='Are+you+ready+for+the+Cloud%3F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F03%2Fare-you-ready-for-the-cloud%2F' data-shr_title='Are+you+ready+for+the+Cloud%3F'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F03%2Fare-you-ready-for-the-cloud%2F' data-shr_title='Are+you+ready+for+the+Cloud%3F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3630"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/03/are-you-ready-for-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get ready for a fight Salesforce.com!</title>
		<link>http://www.furnemont.eu/2011/02/get-ready-for-a-fight-salesforce-com/</link>
		<comments>http://www.furnemont.eu/2011/02/get-ready-for-a-fight-salesforce-com/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 08:32:32 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[CRM in general]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Brad Wilson]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Software Advice]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=356</guid>
		<description><![CDATA[In this video from Software]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In this video from <a href="http://www.softwareadvice.com/crm/" target="_blank">Software Advice</a>, Brad Wilson, General Manager of Microsoft Dynamics CRM, gives an overview of the current and future strategy behind Microsoft Dynamics CRM 2011.</p>
<p>What is interesting about this interview is the fact that Microsoft is really focusing on its cloud solution (3:35), which will offer various cloud-based scenarios.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7fe286de-0af0-4ebf-ab8d-2108b0e085e1" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/0eK60Z9HJWs?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/0eK60Z9HJWs?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Brad Wilson on Microsoft’s strategy for Microsoft Dynamics CRM 2011</div>
</div>
<div class="shr-publisher-356"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fget-ready-for-a-fight-salesforce-com%2F' data-shr_title='Get+ready+for+a+fight+Salesforce.com%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fget-ready-for-a-fight-salesforce-com%2F' data-shr_title='Get+ready+for+a+fight+Salesforce.com%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fget-ready-for-a-fight-salesforce-com%2F' data-shr_title='Get+ready+for+a+fight+Salesforce.com%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3570"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/02/get-ready-for-a-fight-salesforce-com/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Where are we with the CRM software market today?</title>
		<link>http://www.furnemont.eu/2011/02/where-are-we-with-the-crm-software-market-today/</link>
		<comments>http://www.furnemont.eu/2011/02/where-are-we-with-the-crm-software-market-today/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 09:41:30 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[CRM in general]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Brad Wilson]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Software Advice]]></category>
		<category><![CDATA[Software Market]]></category>
		<category><![CDATA[Trends]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=351</guid>
		<description><![CDATA[Discussion on the current trends in the CRM software market, with Brad Wilson, General Manager of Microsoft Dynamics CRM.]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Here is an interesting video from <a href="http://www.softwareadvice.com/crm/" target="_blank">Software Advice</a> about the CRM software market as-of today compared with 12 years ago.</p>
<p>As you will hear, Brad Wilson (General Manager of Microsoft Dynamics CRM) talks about the difference between the way people treated a CRM solution 12 years ago and nowadays, stating the obvious: CRM is a must-have today!</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:6c57b3b4-7cd7-4986-9880-53841b196e6d" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/Aw8XLPMptFw?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/Aw8XLPMptFw?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">State of the CRM Software Market, with Brad Wilson</div>
</div>
<div class="shr-publisher-351"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fwhere-are-we-with-the-crm-software-market-today%2F' data-shr_title='Where+are+we+with+the+CRM+software+market+today%3F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fwhere-are-we-with-the-crm-software-market-today%2F' data-shr_title='Where+are+we+with+the+CRM+software+market+today%3F'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fwhere-are-we-with-the-crm-software-market-today%2F' data-shr_title='Where+are+we+with+the+CRM+software+market+today%3F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3520"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/02/where-are-we-with-the-crm-software-market-today/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CRM 2011: RTM today!</title>
		<link>http://www.furnemont.eu/2011/02/crm-2011-rtm-today/</link>
		<comments>http://www.furnemont.eu/2011/02/crm-2011-rtm-today/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 10:59:20 +0000</pubDate>
		<dc:creator>Olivier</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/?p=348</guid>
		<description><![CDATA[Or yesterday it seems http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c3f82c6f-c123-4e80-b9b2-ee422a16b91d&#038;displaylang=en]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Or yesterday it seems <img src='http://www.furnemont.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c3f82c6f-c123-4e80-b9b2-ee422a16b91d&#038;displaylang=en</p>
<div class="shr-publisher-348"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fcrm-2011-rtm-today%2F' data-shr_title='CRM+2011%3A+RTM+today%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fcrm-2011-rtm-today%2F' data-shr_title='CRM+2011%3A+RTM+today%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fcrm-2011-rtm-today%2F' data-shr_title='CRM+2011%3A+RTM+today%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3490"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/02/crm-2011-rtm-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to series: Create a custom report (part 5)</title>
		<link>http://www.furnemont.eu/2011/02/how-to-series-create-a-custom-report-part-5/</link>
		<comments>http://www.furnemont.eu/2011/02/how-to-series-create-a-custom-report-part-5/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 12:23:52 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2011/02/how-to-series-create-a-custom-report-part-5/</guid>
		<description><![CDATA[So, after a long time,]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>So, after a long time, I’ve decided to end my how-to series by explaining how to embed a subreport in a custom report.</p>
<p>If you don’t already know how to create a custom report, I’ll suggest that you follow my previous posts on this same blog for more info: <a href="http://www.furnemont.eu/2010/05/how-to-series-create-a-custom-report-part-1/" target="_blank">part 1</a>, <a href="http://www.furnemont.eu/2010/05/how-to-series-create-a-custom-report-part-2/" target="_blank">part 2</a>, <a href="http://www.furnemont.eu/2010/06/how-to-series-create-a-custom-report-part-3/" target="_blank">part 3</a> and <a href="http://www.furnemont.eu/2010/07/how-to-series-create-a-custom-report-part-4/" target="_blank">part 4</a>.</p>
<p>So the purpose of this last post of the series is to explain how-to embed a subreport in a parent report and how-to pass parameters to this subreport (for example: pass the account ID from the parent report to the subreport).</p>
<p>  <span id="more-343"></span>
<p>Now, let’s imagine you want to track software deployments and milestones within your CRM with the following business requirements:</p>
<ul>
<li>Each account can have 0..N deployment(s) [<strong>1:N relationship in CRM</strong>] </li>
<li>Each deployment can have 0..N activitie(s) [<strong>1:N relationship in CRM</strong>] </li>
<li>Each deployment can have 0..N milestone(s) [<strong>1:N relationship in CRM</strong>] </li>
<li>Each milestone can have 0..N activitie(s) [<strong>1:N relationship in CRM</strong>] </li>
</ul>
<p>I’m sure you figured how to map these requirements in Microsoft CRM already, so let’s just put an image to illustrate the entities and their relationships (fields and entities not relevant to our example are omitted for easy understanding):</p>
<p><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="relationalmodel" border="0" alt="relational model" src="http://www.furnemont.eu/wp-content/uploads/2011/02/image.png" width="480" height="218" /></p>
<p>Now for the report design requirements:</p>
<ul>
<li>The report should be grouped by milestone category </li>
<li>Each row should display only the milestone title and should allow for drill-down to the complete description and linked activities </li>
<li>Each milestone should have an order number in the report (not in CRM) </li>
<li>For each milestone displayed, the linked activities should be displayed under it </li>
</ul>
<p>If you’ve already done some reports using Reporting Services, you know this is kind of basic stuff; for the others, I’ll explain the steps needed to create this kind of report since it involves the use of a subreport:</p>
<ol>
<li>Create a new report and add the default datasets for use against CRM; my advice is to create a new report based on an existing CRM report </li>
<li>This report will contain:
<ul>
<li>2 new datasets that will be used to populate our table </li>
<li>A report parameter (<strong>CRM_ParameterID</strong>) that will be used to store the milestone ID, this parameter being used in the subreport </li>
<li>A table that holds the deployment &amp; milestone info, as well as a reference to the subreport which will display the activities linked to the milestones; the TSQL code for the dataset behind this table should look like this:
<pre class="code"><span style="color: blue">DECLARE </span><span style="color: teal">@sql </span><span style="color: blue">NVARCHAR</span><span style="color: gray">(</span><span style="color: magenta">MAX</span><span style="color: gray">)

</span><span style="color: blue">SET </span><span style="color: teal">@sql </span><span style="color: gray">= </span><span style="color: red">'
    select 
        account0.name as accountname,
        contact0.fullname as contact_name,
        contact0.emailaddress1 as contact_email,
        contact0.telephone1 as contact_phone,
        deploy0.new_deploymentid,
        deploy0.new_deploymentsubject as subject,
        deploy0.new_deploymenttypename as deploy_type,
        miles0.new_milestoneid,
        ROW_NUMBER() OVER (ORDER BY miles0.new_milestonecategory) as milestone_nb,
        miles0.new_milestonecategoryname as category,
        miles0.new_milestonedate as planned_date,
        miles0.new_milestonetitle as milestone_title,
        miles0.new_milestonedescription as milestone_desc,
        miles0.new_milestonerealizeddate as realized_date,
        miles0.owneridname as responsible
    from (' </span><span style="color: gray">+ </span><span style="color: teal">@CRM_FilteredAccount </span><span style="color: gray">+ </span><span style="color: red">') as account0
    inner join Filterednew_deployment as deploy0
        on account0.accountid = deploy0.new_associatedaccountid
    inner join Filterednew_milestone as miles0
        on deploy0.new_deploymentid = miles0.new_associateddeployment
    left join FilteredContact as contact0
        on deploy0.new_associatedcontactid = contact0.contactid
    order by miles0.new_milestonecategory ASC'

</span><span style="color: blue">EXEC</span><span style="color: gray">(</span><span style="color: teal">@sql</span><span style="color: gray">)</span></pre>
</li>
</ul>
<blockquote>
<p><strong>NB: In this TSQL example, I used the ROW_NUMBER() OVER ([…]) function to generate some auto-numbers based on the milestones category; for more information on this SQL Server function (only available in SQL Server 2005 and up), please follow this <a href="http://msdn.microsoft.com/en-us/library/ms186734(v=SQL.100).aspx" target="_blank">article</a>.</strong></p>
</blockquote>
</li>
<li>The general layout for this report should look like this (this is an example):
<p><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://www.furnemont.eu/wp-content/uploads/2011/02/image1.png" width="584" height="238" /></p>
<ul>
<li>In this example, the element highlighted in yellow is the reference to the subreport: to reference a sub-report, just click on the subreport icon and select an empty cell in the table<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/02/image2.png" width="79" height="102" /> </li>
<li>The subreport properties we must deal with are the general properties and the parameters properties:<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/02/image3.png" width="126" height="113" /> </li>
<li>In the ‘General’ properties, you must choose the report to be used as a subreport (see #4 hereunder)<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/02/image4.png" width="411" height="229" /> </li>
<li>In the ‘Parameters’ properties, you must configure the parameter to use and the value that will be passed, in this case it is the <strong>CRM_ParameterID</strong> parameter, which gets the ‘new_milestoneid’ value:<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/02/image5.png" width="406" height="163" /> </li>
</ul>
</li>
<li>After the first report is completed, create a new empty report with the following:
<ul>
<li>A report parameter (<strong>CRM_ParameterID</strong>) that will hold the milestone ID passed by the parent report </li>
<li>A dataset that returns the list of activities based on the parameter; here is an example of TSQL code:
<pre class="code"><span style="color: blue">select 
    </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: teal">activitytypecode</span><span style="color: gray">,
    </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: blue">description as </span><span style="color: teal">activity_desc</span><span style="color: gray">,
    </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: teal">owneridname </span><span style="color: blue">as </span><span style="color: teal">activity_resp</span><span style="color: gray">,
    </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: blue">subject as </span><span style="color: teal">activity_subject</span><span style="color: gray">,
    </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: teal">scheduledend </span><span style="color: blue">as </span><span style="color: teal">activity_time</span><span style="color: gray">,
    </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: teal">statuscodename </span><span style="color: blue">as </span><span style="color: teal">activity_status
</span><span style="color: blue">from </span><span style="color: teal">FilteredActivityPointer </span><span style="color: blue">as </span><span style="color: teal">act0
</span><span style="color: blue">where </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: teal">regardingobjectid </span><span style="color: gray">= </span><span style="color: teal">@CRM_ParameterID
</span><span style="color: blue">order by </span><span style="color: teal">act0</span><span style="color: gray">.</span><span style="color: teal">scheduledend </span><span style="color: blue">DESC</span></pre>
</li>
<li>The design is really simple and could look like this:<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://www.furnemont.eu/wp-content/uploads/2011/02/image6.png" width="562" height="67" /> </li>
</ul>
</li>
<li>Okay, time to deploy the reports!&#160; First, you must deploy the parent report then the subreport; I will not explain the deployment of the first report, since this has been explained
<p>at the end of this <a href="http://www.furnemont.eu/2010/05/how-to-series-create-a-custom-report-part-2/" target="_blank">post</a>. The steps to deploy the subreport are exactly the same, and since everything was configured correctly in the parent report, the ‘Parent Report’ section is automatically filled for you:<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2011/02/image7.png" width="342" height="55" /></p>
</li>
<li>
<p>Once you test the report, this is the result you get:<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="Untitled" border="0" alt="Untitled" src="http://www.furnemont.eu/wp-content/uploads/2011/02/Untitled.png" width="585" height="278" /></p>
</li>
</ol>
<div class="shr-publisher-343"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fhow-to-series-create-a-custom-report-part-5%2F' data-shr_title='How-to+series%3A+Create+a+custom+report+%28part+5%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fhow-to-series-create-a-custom-report-part-5%2F' data-shr_title='How-to+series%3A+Create+a+custom+report+%28part+5%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2011%2F02%2Fhow-to-series-create-a-custom-report-part-5%2F' data-shr_title='How-to+series%3A+Create+a+custom+report+%28part+5%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3440"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2011/02/how-to-series-create-a-custom-report-part-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CRM 2011: The RC version is here!</title>
		<link>http://www.furnemont.eu/2010/12/crm-2011-the-rc-version-is-here/</link>
		<comments>http://www.furnemont.eu/2010/12/crm-2011-the-rc-version-is-here/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 09:09:57 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[xRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[RC]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/12/crm-2011-the-rc-version-is-here/</guid>
		<description><![CDATA[As stated on various blog]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>As stated on various blog around the world, the Release Candidate version of Microsoft CRM 2011 is finally here!</p>
<p>I’ll updating soon, if not today, to see what has changed and what has been corrected <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://www.furnemont.eu/wp-content/uploads/2010/12/wlEmoticon-winkingsmile1.png" /></p>
<p>Stay tuned!</p>
<p>Some links:</p>
<p><strong>CRM 2011 Server RC</strong></p>
<p><u><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c3f82c6f-c123-4e80-b9b2-ee422a16b91d">http://www.microsoft.com/downloads/details.aspx?FamilyID=c3f82c6f-c123-4e80-b9b2-ee422a16b91d</a></u></p>
<p><strong>CRM 2011 Outlook Client</strong></p>
<p><u><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=22dc423a-7194-491e-a169-6ace16bfdd36">http://www.microsoft.com/downloads/details.aspx?FamilyID=22dc423a-7194-491e-a169-6ace16bfdd36</a></u></p>
<p><strong>Language Pack</strong></p>
<p><u><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=db44c564-2338-407e-980a-c9c83ad37729">http://www.microsoft.com/downloads/details.aspx?FamilyID=db44c564-2338-407e-980a-c9c83ad37729</a></u></p>
<p><strong>Email Router</strong></p>
<p><u><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a995f6ad-0099-42fd-9b22-cf7b3d40a2bf">http://www.microsoft.com/downloads/details.aspx?FamilyID=a995f6ad-0099-42fd-9b22-cf7b3d40a2bf</a></u></p>
<p><strong>BIDS</strong></p>
<p><u><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=64a09b75-8376-4b9d-aea3-8a83a1837c4d">http://www.microsoft.com/downloads/details.aspx?FamilyID=64a09b75-8376-4b9d-aea3-8a83a1837c4d</a></u></p>
<p><strong>SharePoint Connector</strong></p>
<p><u><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=23c0f351-8694-4d92-9ddf-34a949aec6a7">http://www.microsoft.com/downloads/details.aspx?FamilyID=23c0f351-8694-4d92-9ddf-34a949aec6a7</a></u></p>
<div class="shr-publisher-324"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fcrm-2011-the-rc-version-is-here%2F' data-shr_title='CRM+2011%3A+The+RC+version+is+here%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fcrm-2011-the-rc-version-is-here%2F' data-shr_title='CRM+2011%3A+The+RC+version+is+here%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fcrm-2011-the-rc-version-is-here%2F' data-shr_title='CRM+2011%3A+The+RC+version+is+here%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3250"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/12/crm-2011-the-rc-version-is-here/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Azure: Want to know more about SQL Azure DB Manager?</title>
		<link>http://www.furnemont.eu/2010/12/azure-want-to-know-more-about-sql-azure-db-manager/</link>
		<comments>http://www.furnemont.eu/2010/12/azure-want-to-know-more-about-sql-azure-db-manager/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 09:03:18 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[SQL Azure]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/12/azure-want-to-know-more-about-sql-azure-db-manager/</guid>
		<description><![CDATA[Follow this link!]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Follow this <a href="http://www.renaldnollet.com/blog/2010/12/13/SQLAzureDatabaseManagerPart1HowToConnectToYourSQLAzureDB.aspx" target="_blank">link</a>!</p>
<div class="shr-publisher-321"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fazure-want-to-know-more-about-sql-azure-db-manager%2F' data-shr_title='Azure%3A+Want+to+know+more+about+SQL+Azure+DB+Manager%3F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fazure-want-to-know-more-about-sql-azure-db-manager%2F' data-shr_title='Azure%3A+Want+to+know+more+about+SQL+Azure+DB+Manager%3F'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fazure-want-to-know-more-about-sql-azure-db-manager%2F' data-shr_title='Azure%3A+Want+to+know+more+about+SQL+Azure+DB+Manager%3F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3220"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/12/azure-want-to-know-more-about-sql-azure-db-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to series: Create-and-deploy a &#8220;template&#8221; organization</title>
		<link>http://www.furnemont.eu/2010/12/how-to-series-create-and-deploy-a-template-organization/</link>
		<comments>http://www.furnemont.eu/2010/12/how-to-series-create-and-deploy-a-template-organization/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 08:56:25 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[Cloning]]></category>
		<category><![CDATA[CRM 4]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Organization]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/12/how-to-series-create-and-deploy-a-template-organization/</guid>
		<description><![CDATA[Okay, now this post is]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Okay, now this post is going to show how to quickly export a complete CRM 4.0 organization, which includes:</p>
<ul>
<li>customizations </li>
<li>reports </li>
<li>workflows</li>
<li>mail-merge templates</li>
<li>email templates</li>
<li>contract templates</li>
<li>plugins (<strong>only those who have been deployed to the database</strong>) </li>
<li>data </li>
</ul>
<p>  <span id="more-319"></span>
<p>The principle behind all this: quickly clone all your developments in a small amount of steps! Who said that the IT guys are lazy? <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2010/12/wlEmoticon-smile.png" /></p>
<p>Ok, now suppose that you have a project where you must deploy a couple of times the same customizations, same plugins, etc. What I&#8217;m talking about here is typical of a company offering the same basic customization to all of their clients (which is my business right now).</p>
<p>In my case, I needed to deploy 30 organizations within the same CRM implementation with the <u>same</u> customizations, reports, plugins and ISV pages <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-surprisedsmile" alt="Surprised smile" src="http://www.furnemont.eu/wp-content/uploads/2010/12/wlEmoticon-surprisedsmile.png" /></p>
<p>My first approach, which is correct but time-consuming, was to create 30 different OUs and to deploy all my customizations, reports and plugins afterwards. You can imagine the time it takes: even if you take 30 minutes per OU, it would take at least (30 min * 30 OU) = 900 minutes (or nearly 2 days based on a 8-hour a day work-day) just for the deployment part!</p>
<p>This timing does not even include the organization parameterization: users creation, system parameters management, and so on.</p>
<p>So I needed to find another way to quickly deploy my 30 OUs…then I remembered that you <u>could import new organizations in Microsoft CRM</u> just by using the ‘Deployment Manager’.</p>
<p>So I investigated this path, and came to the conclusion that <u>it is possible</u> and <u>highly efficient</u>, so here are the steps to follow to <strong>clone</strong> your organizations:</p>
<ol>
<li>Prepare your “template” organization by deploying all your customizations, reports, workflows, email &amp; mail-merge templates and your plugins (<strong>remember:</strong> your plugins should be deployed in the database; refer to this <a href="http://www.furnemont.eu/2010/10/how-to-series-generate-auto-numbers-on-custom-entities-part-2/" target="_blank">post</a> to show how to deploy them in DB) </li>
<li>Disable (or deactivate) the “template” organization using the ‘Deployment Manager’
<ul>
<li>Launch the ‘Deployment Manager’ </li>
<li>Go to “Organizations”, then select the “template” organization and choose “Disable” in the right-hand view<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/12/image.png" width="178" height="191" /> </li>
</ul>
</li>
<li>Now that your OU is disabled, you have a “template” OU, <u>pointing to</u> a “template” (or “master”) SQL Server database; the next step is to clone this database (along with the log file) to be able to reimport it afterwards
<ul>
<li>Launch the SQL Server Management Studio </li>
<li>Right-click on your “master” database and select “Tasks –&gt; Copy Database…”; The <strong>Copy Database Wizard</strong> should show up<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="Untitled" border="0" alt="Untitled" src="http://www.furnemont.eu/wp-content/uploads/2010/12/Untitled.png" width="456" height="388" /> </li>
<li>Follow the wizard until it asks you for the <u>destination</u> database, where you must change the database name (from “master” to “clone”)<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://www.furnemont.eu/wp-content/uploads/2010/12/image1.png" width="520" height="400" /> </li>
<li>If everything was done correctly, the process should be successful and you should get a perfect copy of your “master” CRM database (meaning: you have a perfect “clone” <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://www.furnemont.eu/wp-content/uploads/2010/12/wlEmoticon-winkingsmile.png" /> ) <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="http://www.furnemont.eu/wp-content/uploads/2010/12/Untitled1.png" width="248" height="196" /></li>
</ul>
</li>
<li>Now, head back to the ‘Deployment Manager’ to import the new organization
<ul>
<li>Go to “Organizations”, then choose “Import Organization…” in the right-hand view<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/12/image2.png" width="178" height="191" /> </li>
<li>The import wizard will show up and let you choose the organization to import; this step involves querying the SQL Server databases in search for new MSCRM databases, so we must find our “clone” in the list of available databases</li>
<li>The next steps involve giving an organization name (must be unique) and pointing to the correct Reporting Services server in order to deploy the <u>embedded</u> reports</li>
</ul>
</li>
<li>Voilà, you’re done! You have successfully deployed a perfect clone of your “template” organization in maybe 10 minutes (in my case: 10 min * 30 OUs = 300 minutes or 5 hours <u>max</u> to deploy everything!)</li>
</ol>
<p>HTH</p>
<div class="shr-publisher-319"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fhow-to-series-create-and-deploy-a-template-organization%2F' data-shr_title='How-to+series%3A+Create-and-deploy+a+%26ldquo%3Btemplate%26rdquo%3B+organization'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fhow-to-series-create-and-deploy-a-template-organization%2F' data-shr_title='How-to+series%3A+Create-and-deploy+a+%26ldquo%3Btemplate%26rdquo%3B+organization'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fhow-to-series-create-and-deploy-a-template-organization%2F' data-shr_title='How-to+series%3A+Create-and-deploy+a+%26ldquo%3Btemplate%26rdquo%3B+organization'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3200"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/12/how-to-series-create-and-deploy-a-template-organization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Global launch event</title>
		<link>http://www.furnemont.eu/2010/12/crm-2011-global-launch-event/</link>
		<comments>http://www.furnemont.eu/2010/12/crm-2011-global-launch-event/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 15:25:13 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[xRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/12/crm-2011-global-launch-event/</guid>
		<description><![CDATA[“Thursday, January 20th, 2011 at]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>“Thursday, January 20th, 2011 at 9am PST” is the date you can’t miss!</p>
<p>Quote from the web page <a href="http://crm.dynamics.com/2011launch/">http://crm.dynamics.com/2011launch/</a>:</p>
<p>“Attend this FREE global virtual launch event and watch Microsoft CEO Steve Ballmer introduce Microsoft Dynamics CRM 2011. Learn how it is designed to help you boost sales, improve marketing, enrich customer service interactions, and accelerate line of business application development through xRM. </p>
<p>Hear keynote presentations by Kirill Tatarinov (Corporate Vice President, Microsoft Business Solutions), Michael Park (Corporate Vice President, Microsoft Business Solutions), and Brad Wilson (General Manager, Microsoft Dynamics CRM).”</p>
<p>“In addition, you’ll be able to:</p>
<ul>
<li>Get a sneak peek view through engaging demos. </li>
<li>Hear success stories from real customers who put Microsoft Dynamics CRM 2011 to work for them. </li>
<li>Choose from 15 different tracks especially designed to suit your business, industry or IT needs. </li>
<li>Chat live with Microsoft experts and other customers in real time during the event.”</li>
</ul>
<p>Ready? Register <a href="https://presentations.inxpo.com/Shows/MS_CRM/01-11/Registration/registration.html" target="_blank">here</a>.</p>
<div class="shr-publisher-310"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fcrm-2011-global-launch-event%2F' data-shr_title='CRM+2011%3A+Global+launch+event'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fcrm-2011-global-launch-event%2F' data-shr_title='CRM+2011%3A+Global+launch+event'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F12%2Fcrm-2011-global-launch-event%2F' data-shr_title='CRM+2011%3A+Global+launch+event'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3110"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/12/crm-2011-global-launch-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011 : Ajouter des packs de langue</title>
		<link>http://www.furnemont.eu/2010/11/crm-2011-ajouter-des-packs-de-langue/</link>
		<comments>http://www.furnemont.eu/2010/11/crm-2011-ajouter-des-packs-de-langue/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 11:47:37 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/11/crm-2011-ajouter-des-packs-de-langue/</guid>
		<description><![CDATA[Bien que Microsoft CRM 2011]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Bien que Microsoft CRM 2011 soit multi-langues, il est nécessaire d’installer un pack de langue pour que celle-ci soit disponible lors de l’instanciation d’une nouvelle organisation (OU).</p>
<p>  <span id="more-306"></span>
<p>En effet, il faut savoir que dans la version bêta, l’instance par défaut créée lors de l’installation, est toujours en langue anglaise (ENG).</p>
<p>Une fois l’installation terminée, il est nécessaire d’installer un ou plusieurs pack(s) de langue pour que les OU suivantes puissent en bénéficier.</p>
<p>Les étapes à suivre sont :</p>
<ol>
<li>Télécharger le pack de langue adéquat sur le site de Microsoft en choisissant une langue différente de l’anglais <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0c7dcc45-9d41-4e2e-8126-895517b4274c" target="_blank">ici</a>
<ul>
<li>Si on choisit le français, il n’est pas possible de télécharger la version “serveur” de Microsoft CRM 2011, par contre, il faut télécharger le fichier <strong>MUI</strong> (exemple : CRM2011-mui-FRA-amd64.exe)<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="file" border="0" alt="file" src="http://www.furnemont.eu/wp-content/uploads/2010/11/file.jpg" width="550" height="314" /></li>
</ul>
</li>
<li>Une fois le pack téléchargé, il faut <u>l’installer sur</u> le serveur CRM</li>
<ul>
<li>Double-cliquer sur le pack téléchargé pour lancer l’extraction des fichiers</li>
<li>Double-cliquer sur le fichier <strong>muisetup_CODELANGUE_CODEPLATEFORME.exe</strong> (exemple : <strong>muisetup_1036_adm64.exe</strong>)<strong><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="files" border="0" alt="files" src="http://www.furnemont.eu/wp-content/uploads/2010/11/files.jpg" width="186" height="120" /></strong></li>
</ul>
<li>Une fois l’installation terminée, vous pouvez utiliser la langue installée lors de la création d’une nouvelle organisation via le gestionnaire de deploiement</li>
</ol>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="lang" border="0" alt="lang" src="http://www.furnemont.eu/wp-content/uploads/2010/11/lang.jpg" width="489" height="508" /></p>
<p>Et voilà !</p>
<div class="shr-publisher-306"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-ajouter-des-packs-de-langue%2F' data-shr_title='CRM+2011+%3A+Ajouter+des+packs+de+langue'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-ajouter-des-packs-de-langue%2F' data-shr_title='CRM+2011+%3A+Ajouter+des+packs+de+langue'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-ajouter-des-packs-de-langue%2F' data-shr_title='CRM+2011+%3A+Ajouter+des+packs+de+langue'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3070"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/11/crm-2011-ajouter-des-packs-de-langue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to series: Change activities&#8217; status when closing opportunities</title>
		<link>http://www.furnemont.eu/2010/11/how-to-series-change-activities-status-when-closing-opportunities/</link>
		<comments>http://www.furnemont.eu/2010/11/how-to-series-change-activities-status-when-closing-opportunities/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 12:34:29 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/11/how-to-series-change-activities-status-when-closing-opportunities/</guid>
		<description><![CDATA[Okay, this post is a]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Okay, this post is a response to a good question made by someone on the Microsoft Dynamics CRM forum (for Partners).</p>
<p>The initial question was:</p>
<p>“Hi All,</p>
<p>When an opportunity is cancelled, the activities (tasks, appointments, etc.) are not being flagged as cancelled and staying considered as “open” items. We need to&#160; find a solution that when an opportunity is closed (or cancelled) that all associated activities tied to that opportunity be deleted. Can i automate the above process? I tried using workflow, but i am not able to trigger an Activity record.</p>
<p>Regards,</p>
<p>VP”</p>
<p>A response from <u>Dylan Haskins</u> pointed to a really cool workflow plugin called ‘Distributed Workflow’ and available on Codeplex <a href="http://crm40distributewf.codeplex.com/" target="_blank">here</a>.</p>
<p>  <span id="more-301"></span>
<p>In this post, I will show how to use this plugin in the particular situation stated above.</p>
<ol>
<li>Download the plugin (which is basically a DLL) and copy it on your CRM server </li>
<li>Launch the ‘Plugin Registration tool’, given with the Microsoft Dynamics CRM SDK (available <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&amp;displaylang=en" target="_blank">here</a>) </li>
<li>In the registration tool, you simply need to register the plugin and that’s it!<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="Plugin registration tool" border="0" alt="Plugin registration tool" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image6.png" width="553" height="596" /> </li>
<li>When this step is done, a new workflow step will be available in your workflow rules:<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="New workflow step" border="0" alt="New workflow step" src="http://www.furnemont.eu/wp-content/uploads/2010/11/Untitled.jpg" width="408" height="387" /> </li>
<li>So, let’s create a new workflow rule that will target an opportunity, but first you have to know the type of relationship between an activity and an opportunity: start by going to the “<strong>1:N relationships</strong>” in the opportunity entity and write down the name of the relations between the various activities and the opportunity <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="1:N Relationships" border="0" alt="1:N Relationships" src="http://www.furnemont.eu/wp-content/uploads/2010/11/Untitled1.jpg" width="581" height="340" /></li>
<li>Now create a new workflow rule against the phone call entity and simply add a workflow step that changes the phone call’s status to ‘Cancelled’; this workflow rule must be available to run ‘on demand’. <u>Publish it</u><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="Phone call workflow" border="0" alt="Phone call workflow" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image7.png" width="580" height="365" /></li>
<li>
<p>Now that you have your ‘related’ workflow rule, let’s create another one but this time you must target the opportunity entity<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="Workflow rule opportunity" border="0" alt="Workflow rule opportunity" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image8.png" width="584" height="174" /></p>
</li>
<li>
<p>This workflow should run whenever you change the opportunities’ status reason to ‘Cancelled’, so we should first verify the status reason and then launch the ‘on demand’ workflow rule, <u>based on the 1:N relationship.</u> Don’t forget to publish your workflow once it is done.<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="Workflow steps opportunity" border="0" alt="Workflow steps opportunity" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image9.png" width="585" height="453" /></p>
</li>
<li>
<p>In our case, the ‘Distribute Workflow (1:N)’ properties should be set to this:<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="Distribute workflow settings" border="0" alt="Distribute workflow settings" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image10.png" width="585" height="120" /></p>
</li>
</ol>
<p>Before the workflow rules were deployed, this is what it looked like when an opportunity was closed or cancelled:</p>
<p><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="Open activities" border="0" alt="Open activities" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image11.png" width="629" height="170" /></p>
<p>You can see that all the activities are still open!</p>
<p>Now that we have deployed our new workflow rules, this is what it looks like (which is much better <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2010/11/wlEmoticon-smile1.png" /> ):</p>
<h1>Workflow running</h1>
<p><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="Workflow running" border="0" alt="Workflow running" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image12.png" width="502" height="186" /></p>
<h1>Phone call activity now cancelled as well!</h1>
<p><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="Cancelled activities" border="0" alt="Cancelled activities" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image13.png" width="633" height="166" /></p>
<p><strong><font color="#ff0000">NOTE: If you want to cancel other activity types, you have to repeat the steps 5 &amp; 6 to create a workflow rule for each activity type; then, you would modify the opportunity workflow rule to take into account the other ‘on demand’ workflows</font></strong></p>
<p>HTH!</p>
<div class="shr-publisher-301"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fhow-to-series-change-activities-status-when-closing-opportunities%2F' data-shr_title='How-to+series%3A+Change+activities%26rsquo%3B+status+when+closing+opportunities'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fhow-to-series-change-activities-status-when-closing-opportunities%2F' data-shr_title='How-to+series%3A+Change+activities%26rsquo%3B+status+when+closing+opportunities'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fhow-to-series-change-activities-status-when-closing-opportunities%2F' data-shr_title='How-to+series%3A+Change+activities%26rsquo%3B+status+when+closing+opportunities'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-3020"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/11/how-to-series-change-activities-status-when-closing-opportunities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update Rollup 14</title>
		<link>http://www.furnemont.eu/2010/11/update-rollup-14/</link>
		<comments>http://www.furnemont.eu/2010/11/update-rollup-14/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 09:20:01 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Update Rollup]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/11/update-rollup-14/</guid>
		<description><![CDATA[Haha! This update rollup *should*]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Haha! This update rollup *should* resolve the following issue I had with my workflows: “For a Send Email step in a workflow, an email template is not retained when the email step properties window is opened again.”</p>
<p>It is available here: <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0fde5456-05a5-4407-81b3-0eaa928c8cc3&amp;displaylang=en">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0fde5456-05a5-4407-81b3-0eaa928c8cc3&amp;displaylang=en</a></p>
<div class="shr-publisher-288"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fupdate-rollup-14%2F' data-shr_title='Update+Rollup+14'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fupdate-rollup-14%2F' data-shr_title='Update+Rollup+14'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fupdate-rollup-14%2F' data-shr_title='Update+Rollup+14'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2890"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/11/update-rollup-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: New activity types for dummies&#174; &#8211; Part 1</title>
		<link>http://www.furnemont.eu/2010/11/crm-2011-new-activity-types-for-dummies-part-1/</link>
		<comments>http://www.furnemont.eu/2010/11/crm-2011-new-activity-types-for-dummies-part-1/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 15:31:26 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/11/crm-2011-new-activity-types-for-dummies-part-1/</guid>
		<description><![CDATA[How to create new activity types in MSCRM 2011]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>After a couple of days without posting anything, I thought about explaining a real case scenario where your client would like to deal with meeting minutes <u>inside</u> Microsoft CRM.</p>
<p>  <span id="more-286"></span>
<p>This real case scenario is based, obviously, on Microsoft CRM 2011 and its ability to create new activity types (meaning: these new types are derivative of the ‘Activity’ entity).</p>
<p><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image.png" width="250" height="228" /></p>
<p>The scenario is pretty simple: the client wants to track the meeting minutes in the CRM and use the field audit feature to track the meeting minutes revision (more on that in another post).</p>
<p>Furthermore, he/she (let’s not be sexist <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2010/11/wlEmoticon-smile.png" /> ) wants to be able to assign actions related to the meeting minutes (action plan definition). A good read about what “minutes” are is available <a href="http://en.wikipedia.org/wiki/Minutes" target="_blank">here</a>.</p>
<p>Here is the object model, based on the Microsoft CRM object model (available <a href="http://msdn.microsoft.com/en-us/library/bb955306.aspx" target="_blank">here</a>):</p>
<p><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image1.png" width="615" height="304" /></p>
<h1>How to create a new activity type</h1>
<ol>
<li>Create a new entity and give it a name (for example: ‘Meeting Minute’) </li>
<li>Check the ‘Define as an activity entity’ check box and keep the ‘Display in Activity Menus’ check box checked<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; margin-left: 0px; border-left-width: 0px; margin-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/11/image2.png" width="577" height="197" /> </li>
<li>Change the primary field name to reflect your needs<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://www.furnemont.eu/wp-content/uploads/2010/11/image3.png" width="582" height="174" /> </li>
<li>Save your new entity! </li>
<li>Now that your entity is created, you can modify the fields that have been created <u>automatically</u> by setting the ‘Define as an activity’ check box
<ul>
<li>‘Rescription’ is renamed to ‘Report’: will hold all the meeting’s discussion points </li>
<li>‘Owner’ is renamed ‘Submitter’: the person who submits the meeting minutes </li>
<li>‘Required’ is renamed ‘Present’: the people who attended the meeting </li>
<li>‘Optional’ is renamed ‘Absent’: the people who did not attend the meeting </li>
<li>‘Actual End’ is renamed ‘End of Meeting’: the real meeting’s end time </li>
<li>‘Actual Start’ is renamed ‘Start of Meeting’: the real meeting’s start time </li>
<li>‘Subject’ is renamed ‘Purpose’: why is the meeting taking place anyway? </li>
</ul>
</li>
<li>Last but not least, as you want to track all the meeting’s action points, you must create a 1:N relationship to the ‘Task’ entity (this way, you can use the “sub-grid” functionality in the form’s designer!)<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://www.furnemont.eu/wp-content/uploads/2010/11/image4.png" width="583" height="97" /></li>
<li>When all of this is done, it’s time to edit the entity’s default form; I’ll put the form I designed for my client:</li>
<ul>
<li>On my form, I have 7 different “tabs”</li>
<ul>
<ul>
<li><strong>agenda</strong>: a meeting for what? / who is the organizer? / regarding what?</li>
<li><strong>attendees</strong>: who was there? / who wasn’t there?</li>
<li><strong>timeline</strong>: when did the meeting start? / when did it end?</li>
<li><strong>report</strong>: the meeting’s complete report (text field)</li>
<li><strong>action items</strong>: a list of tasks that are created during the meeting</li>
<li><strong>documents</strong>: uses the SharePoint list component to store documents</li>
<li><strong>notes</strong>: (self-explanatory)</li>
</ul>
</ul>
<li>For visibility, I’ve also put the regarding field in the form’s header, which is a good way of knowing to which customer (for example) this meeting minute is linked to</li>
<li>Also, I make a good use of the new form’s footer functionality by exposing the ‘Created By’ and ‘Created On’ fields as they are system fields which do not require any user-entry</li>
</ul>
<li>The result of these customizations should look like this:<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://www.furnemont.eu/wp-content/uploads/2010/11/image5.png" width="588" height="507" /></li>
</ol>
<h1>Conclusion</h1>
<p>The concept of having the ability to create new activity types is awesome! You’re not limited anymore and only your imagination will limit you <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.furnemont.eu/wp-content/uploads/2010/11/wlEmoticon-smile.png" /></p>
<p>This is the kind of customization I wanted to see a long time ago in CRM 3.0 &amp; 4.0, hopefully it did come to life (there is still another thing that could be cool: the ability to “send” a meeting minute like a mail, but I haven’t found how yet, except with a workflow).</p>
<div class="shr-publisher-286"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-new-activity-types-for-dummies-part-1%2F' data-shr_title='CRM+2011%3A+New+activity+types+for+dummies%26reg%3B+-+Part+1'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-new-activity-types-for-dummies-part-1%2F' data-shr_title='CRM+2011%3A+New+activity+types+for+dummies%26reg%3B+-+Part+1'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-new-activity-types-for-dummies-part-1%2F' data-shr_title='CRM+2011%3A+New+activity+types+for+dummies%26reg%3B+-+Part+1'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2870"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/11/crm-2011-new-activity-types-for-dummies-part-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CRM 2011: New update (KB2439176) for beta available!</title>
		<link>http://www.furnemont.eu/2010/11/crm-2011-new-update-kb2439176-for-beta-available/</link>
		<comments>http://www.furnemont.eu/2010/11/crm-2011-new-update-kb2439176-for-beta-available/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 10:19:44 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/11/crm-2011-new-update-kb2439176-for-beta-available/</guid>
		<description><![CDATA[New update for Microsoft CRM]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>New update for Microsoft CRM 2011 beta is available through Windows Update since the 26th of October.</p>
<p>I haven’t found any information on this update so far, so I’m going to test it against my deployment to find any bug or error.</p>
<div class="shr-publisher-278"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-new-update-kb2439176-for-beta-available%2F' data-shr_title='CRM+2011%3A+New+update+%28KB2439176%29+for+beta+available%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-new-update-kb2439176-for-beta-available%2F' data-shr_title='CRM+2011%3A+New+update+%28KB2439176%29+for+beta+available%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F11%2Fcrm-2011-new-update-kb2439176-for-beta-available%2F' data-shr_title='CRM+2011%3A+New+update+%28KB2439176%29+for+beta+available%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2790"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/11/crm-2011-new-update-kb2439176-for-beta-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Show-off your icons!</title>
		<link>http://www.furnemont.eu/2010/10/crm-2011-show-off-your-icons/</link>
		<comments>http://www.furnemont.eu/2010/10/crm-2011-show-off-your-icons/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 14:04:53 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Icons]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/crm-2011-show-off-your-icons/</guid>
		<description><![CDATA[New icon formats available in Microsoft Dynamics CRM 2011 for custom entities]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>One of the noteworthy feature available now in Microsoft CRM 2011 is the ability to define ‘Web Resources’ which are a set of ‘virtual’ files that can be accessed from a URL (think: virtual folder holding the files on the CRM server).</p>
<p><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="Capture2" src="http://www.furnemont.eu/wp-content/uploads/2010/10/Capture2.jpg" border="0" alt="Capture2" width="629" height="132" /></p>
<p><span id="more-274"></span></p>
<p>One thing you can do now in CRM 2011 is store a couple of PNG files representing icons for custom entities, which is pretty cool since the PNG format is a <em>lossless</em> and <em>well-compressed </em>format which adds variable transparency compared to GIF which is a <em>compressed</em> format based on a proprietary patent! (<a href="http://www.w3.org/QA/Tips/png-gif" target="_blank">source</a>).</p>
<p>So, from now on, please, SHOW-OFF your icons <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="http://www.furnemont.eu/wp-content/uploads/2010/10/wlEmoticonsmile4.png" alt="Sourire" /></p>
<p><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="Capture" src="http://www.furnemont.eu/wp-content/uploads/2010/10/Capture.jpg" border="0" alt="Capture" width="617" height="482" /></p>
<div class="shr-publisher-274"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-show-off-your-icons%2F' data-shr_title='CRM+2011%3A+Show-off+your+icons%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-show-off-your-icons%2F' data-shr_title='CRM+2011%3A+Show-off+your+icons%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-show-off-your-icons%2F' data-shr_title='CRM+2011%3A+Show-off+your+icons%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2750"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/crm-2011-show-off-your-icons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CRM 2011 : Adaptez vos mod&#232;les d&#8217;emails &#224; la nouvelle version !</title>
		<link>http://www.furnemont.eu/2010/10/modeles-demails-et-documents-attaches/</link>
		<comments>http://www.furnemont.eu/2010/10/modeles-demails-et-documents-attaches/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 13:34:41 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/modeles-demails-et-documents-attaches/</guid>
		<description><![CDATA[Finalement, il n’en fallait pas]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Finalement, il n’en fallait pas plus à Microsoft pour adapter sa plateforme CRM aux demandes des partenaires (dont moi <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2010/10/wlEmoticonsmile3.png" /> ) : il est désormais possible d’attacher un ou plusieurs document(s) dans les modèles d’emails !</p>
<p>  <span id="more-270"></span>
<p>En effet, quoi de plus frustrant dans les versions précédentes (3.0 et 4.0) que l’impossibilité d’attacher des documents annexes aux modèles d’emails : pour preuve, qu’il s’agisse de la volonté d’envoyer un magazine mensuel par voie électronique ou une fiche produit, il a fallu attendre la version 2011 de la plateforme CRM pour que cela devienne possible.</p>
<p>Ainsi, il faudra tenir compte, lors d’un upgrade futur, de la possibilité de révision de <u>tous</u> les modèles d’enteprise afin de prendre en compte cette nouvelle fonctionnalité.</p>
<p>Voici un bref aperçu des nouvelles possibilités désormais offertes par Microsoft CRM 2011 au niveau des modèles (liste non exhaustive, il faudra attendre la prochaine release pour l’activation de toutes les fonctionnalités) :</p>
<ul>
<li>Ajout d’un ou de plusieurs documents<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image58.png" width="475" height="443" /></li>
<li>Ajout d’images via l’éditeur de texte (actuellement indisponible dans la bêta)</li>
<li>Ajout de liens hypertexte via l’éditeur de texte (actuellement indisponible dans la bêta)<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image59.png" width="597" height="51" /></li>
</ul>
<p>N’oubliez donc pas de prévoir du temps pour cette migration, car passer en revue tous les modèles d’une grande organisation (bancaire par exemple) peut s’avérer fastidieux !</p>
<p>Olivier</p>
<div class="shr-publisher-270"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fmodeles-demails-et-documents-attaches%2F' data-shr_title='CRM+2011+%3A+Adaptez+vos+mod%26egrave%3Bles+d%26rsquo%3Bemails+%26agrave%3B+la+nouvelle+version+%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fmodeles-demails-et-documents-attaches%2F' data-shr_title='CRM+2011+%3A+Adaptez+vos+mod%26egrave%3Bles+d%26rsquo%3Bemails+%26agrave%3B+la+nouvelle+version+%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fmodeles-demails-et-documents-attaches%2F' data-shr_title='CRM+2011+%3A+Adaptez+vos+mod%26egrave%3Bles+d%26rsquo%3Bemails+%26agrave%3B+la+nouvelle+version+%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2710"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/modeles-demails-et-documents-attaches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-to series: Generate auto-numbers on custom entities (part 2)</title>
		<link>http://www.furnemont.eu/2010/10/how-to-series-generate-auto-numbers-on-custom-entities-part-2/</link>
		<comments>http://www.furnemont.eu/2010/10/how-to-series-generate-auto-numbers-on-custom-entities-part-2/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 08:03:38 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/how-to-series-generate-auto-numbers-on-custom-entities-part-2/</guid>
		<description><![CDATA[In the first post of]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In the first post of the series (see <a href="http://www.furnemont.eu/2010/09/how-to-series-generate-auto-numbers-on-custom-entities-part-1/" target="_blank">Part 1</a>), I was dealing with the creation of a new entity which can be used to store the autonumbering parameters such as: which entity must get a number, which attribute must store the number, the number length, the prefix &amp; suffix, etc.</p>
<p>  <span id="more-263"></span>
<p>In this second post, we will see how to generate the autonumber by using a plugin.</p>
<p>I’ll use Visual Studio 2010 with C# to create this plugin and then show how it work in real life.</p>
<ol>
<li>First step, open VS 2010 <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2010/10/wlEmoticonsmile2.png" /> </li>
<li>Next, create a new ‘Visual C# Windows Class Library’ project (you can choose either the .NET Framework 3.0 or 3.5)<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://www.furnemont.eu/wp-content/uploads/2010/10/image50.png" width="589" height="338" /> </li>
<li>Add a reference to the two following Microsoft assemblies <u>given with the Microsoft CRM SDK</u> (these DLLs are located under the CrmSdk\bin folder; make sure you choose the right version: 32-bits or 64-bits)
<ul>
<li>Microsoft.CRM.Sdk.dll </li>
<li>Microsoft.CRM.SdkTypeProxy.dll </li>
</ul>
</li>
<li>Next step, sign your assembly before doing anything else
<ul>
<li>Right-click on your project and select ‘Properties’ </li>
<li>Select the ‘Signing’ menu </li>
<li>In the drop-down list, choose to create a new strong name key file by selecting the “&lt;New…&gt;” option<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image51.png" width="386" height="118" /> </li>
<li>Type in a key file name and choose a strong password </li>
<li>Visual Studio will then create a ‘.pfx’ file which will be attached to the assembly </li>
</ul>
</li>
<li>Rename the created C# class to whatever you like and put the code listed above (the code is self-explanatory):
<pre class="code"><p><span style="color: blue">using </span>System;
<span style="color: blue">using </span>System.Collections.Generic;
<span style="color: blue">using </span>System.Linq;
<span style="color: blue">using </span>System.Text;
<span style="color: blue">using </span>System.Security.Cryptography;
<span style="color: blue">using </span>Microsoft.Crm.Sdk;
<span style="color: blue">using </span>Microsoft.Crm.SdkTypeProxy;
<span style="color: blue">using </span>Microsoft.Crm.Sdk.Query;

<span style="color: blue">namespace </span>xRM.AutoNumberPlugin
{
    <span style="color: gray">/// &lt;summary&gt;
    /// </span><span style="color: green">Class that generates a random number for the Test Entity
    </span><span style="color: gray">/// &lt;/summary&gt;
    </span><span style="color: blue">public class </span><span style="color: #2b91af">TestEntityAutoNumber </span>: <span style="color: #2b91af">IPlugin
    </span>{
        <span style="color: blue">public void </span>Execute(<span style="color: #2b91af">IPluginExecutionContext </span>context)
        {
            <span style="color: #2b91af">DynamicEntity </span>entity = <span style="color: blue">null</span>;

            <span style="color: green">// Verify we have an entity to work with
            </span><span style="color: blue">if </span>(context.InputParameters.Properties.Contains(<span style="color: #a31515">&quot;Target&quot;</span>) &amp;&amp;
                context.InputParameters.Properties[<span style="color: #a31515">&quot;Target&quot;</span>] <span style="color: blue">is </span><span style="color: #2b91af">DynamicEntity </span>&amp;&amp;
                context.MessageName.Equals(<span style="color: #a31515">&quot;Create&quot;</span>))
            {
                <span style="color: green">// Obtain the target business entity from the input parameters.
                </span>entity = (<span style="color: #2b91af">DynamicEntity</span>)context.InputParameters.Properties[<span style="color: #a31515">&quot;Target&quot;</span>];

                <span style="color: blue">if </span>(!context.OutputParameters.Properties.Contains(<span style="color: #a31515">&quot;id&quot;</span>)) { <span style="color: blue">return</span>; }

                <span style="color: green">// Verify that the entity represents a test entity
                </span><span style="color: blue">if </span>(entity.Name != <span style="color: #a31515">&quot;new_testentity&quot;</span>) { <span style="color: blue">return</span>; }
            }
            <span style="color: blue">else </span>{ <span style="color: blue">return</span>; }

            <span style="color: blue">try
            </span>{
                <span style="color: green">// Verify that the ID is returned upon creation of the test entity
                </span><span style="color: blue">string </span>entityId = context.OutputParameters.Properties[<span style="color: #a31515">&quot;id&quot;</span>].ToString();
                <span style="color: #2b91af">Key </span>entityKey = <span style="color: blue">new </span><span style="color: #2b91af">Key</span>();
                entityKey.Value = <span style="color: blue">new </span><span style="color: #2b91af">Guid</span>(entityId);

                <span style="color: green">// Get a new instance of the CRM service from the context
                </span><span style="color: #2b91af">ICrmService </span>service = (<span style="color: #2b91af">ICrmService</span>)context.CreateCrmService(<span style="color: blue">true</span>);

                <span style="color: green">// Create the query on the auto number entity
                </span><span style="color: #2b91af">QueryByAttribute </span>query = <span style="color: blue">new </span><span style="color: #2b91af">QueryByAttribute</span>();
                query.ColumnSet = <span style="color: blue">new </span><span style="color: #2b91af">AllColumns</span>();
                query.EntityName = <span style="color: #a31515">&quot;xrm_automaticnumber&quot;</span>;
                query.Attributes = <span style="color: blue">new string</span>[] { <span style="color: #a31515">&quot;xrm_entityname&quot; </span>};
                <span style="color: green">// The entity name you're looking for, selected from the drop-down list (see the how-to part 1)</span><span style="color: green">
                </span>query.Values = <span style="color: blue">new string</span>[] { <span style="color: #a31515">&quot;new_testentity&quot; </span>};
                <span style="color: green">// Create the request based on the above query
                </span><span style="color: #2b91af">RetrieveMultipleRequest </span>request = <span style="color: blue">new </span><span style="color: #2b91af">RetrieveMultipleRequest</span>();
                <span style="color: green">// Set the request properties
                </span>request.Query = query;
                request.ReturnDynamicEntities = <span style="color: blue">true</span>;
                <span style="color: green">// Execute the request and get the response
                </span><span style="color: #2b91af">RetrieveMultipleResponse </span>response = (<span style="color: #2b91af">RetrieveMultipleResponse</span>)service.Execute(request);

                <span style="color: blue">string </span>prefix = <span style="color: blue">null</span>;
                <span style="color: blue">string </span>suffix = <span style="color: blue">null</span>;
                <span style="color: blue">int </span>length = 1;
                <span style="color: green">// Parse the response to get the values you want 
                //  (there should be only one record for the same entity)
                </span><span style="color: blue">foreach </span>(<span style="color: #2b91af">BusinessEntity </span>be <span style="color: blue">in </span>response.BusinessEntityCollection.BusinessEntities)
                {
                    <span style="color: blue">if </span>(((<span style="color: #2b91af">DynamicEntity</span>)be).Properties.Contains(<span style="color: #a31515">&quot;xrm_prefix&quot;</span>))
                        prefix = ((<span style="color: blue">string</span>)((<span style="color: #2b91af">DynamicEntity</span>)be)[<span style="color: #a31515">&quot;xrm_prefix&quot;</span>]).ToString();
                    <span style="color: blue">if </span>(((<span style="color: #2b91af">DynamicEntity</span>)be).Properties.Contains(<span style="color: #a31515">&quot;xrm_suffix&quot;</span>))
                        suffix = ((<span style="color: blue">string</span>)((<span style="color: #2b91af">DynamicEntity</span>)be)[<span style="color: #a31515">&quot;xrm_suffix&quot;</span>]).ToString();
                    <span style="color: blue">if </span>(((<span style="color: #2b91af">DynamicEntity</span>)be).Properties.Contains(<span style="color: #a31515">&quot;xrm_length&quot;</span>))
                        length = ((<span style="color: #2b91af">CrmNumber</span>)((<span style="color: #2b91af">DynamicEntity</span>)be)[<span style="color: #a31515">&quot;xrm_length&quot;</span>]).Value;
                }
                <span style="color: green">// Generating a random number based on the cryptographic library                </span><span style="color: blue">char</span>[] chars = <span style="color: blue">new char</span>[10];
                <span style="color: blue">string </span>a;
                a = <span style="color: #a31515">&quot;1234567890&quot;</span>;
                chars = a.ToCharArray();
                <span style="color: blue">byte</span>[] data = <span style="color: blue">new byte</span>[1];

                <span style="color: #2b91af">RNGCryptoServiceProvider </span>crypto = <span style="color: blue">new </span><span style="color: #2b91af">RNGCryptoServiceProvider</span>();
                crypto.GetNonZeroBytes(data);

                data = <span style="color: blue">new byte</span>[length];
                crypto.GetNonZeroBytes(data);
                <span style="color: #2b91af">StringBuilder </span>result = <span style="color: blue">new </span><span style="color: #2b91af">StringBuilder</span>(length);
                <span style="color: blue">foreach </span>(<span style="color: blue">byte </span>b <span style="color: blue">in </span>data)
                {
                    result.Append(chars[b % (chars.Length - 1)]);
                }
                <span style="color: green">// Update the new entity's number attribute with the retrieved prefix &amp; suffix and add the random number
                </span><span style="color: #2b91af">PropertyCollection </span>properties = <span style="color: blue">new </span><span style="color: #2b91af">PropertyCollection</span>();
                properties.Add(<span style="color: #2b91af">CrmTypes</span>.CreateStringProperty(<span style="color: #a31515">&quot;new_testentitynumber&quot;</span>, prefix + <span style="color: #a31515">&quot;-&quot; </span>+ result.ToString() + <span style="color: #a31515">&quot;-&quot; </span>+ suffix));
                properties.Add(<span style="color: #2b91af">CrmTypes</span>.CreateKeyProperty(<span style="color: #a31515">&quot;new_testentityid&quot;</span>, entityKey));
                entity.Properties = properties;

                <span style="color: green">// Creating a target update message to alter the newly created entity
                </span><span style="color: #2b91af">TargetUpdateDynamic </span>updateEntity = <span style="color: blue">new </span><span style="color: #2b91af">TargetUpdateDynamic</span>();
                updateEntity.Entity = entity;

                <span style="color: green">// Creating a request on the server
                </span><span style="color: #2b91af">UpdateRequest </span>updateRequest = <span style="color: blue">new </span><span style="color: #2b91af">UpdateRequest</span>();
                updateRequest.Target = updateEntity;

                <span style="color: green">// Updating the entity by using the created ICrmService
                </span><span style="color: #2b91af">UpdateResponse </span>updated = (<span style="color: #2b91af">UpdateResponse</span>)service.Execute(updateRequest);
            }
            <span style="color: blue">catch </span>(System.Web.Services.Protocols.<span style="color: #2b91af">SoapException </span>ex)
            {
                <span style="color: blue">throw new </span><span style="color: #2b91af">InvalidPluginExecutionException</span>(<span style="color: #a31515">&quot;An error occurred in the TestEntityAutoNumber plug-in.&quot;</span>, ex);
            }
        }
    }
}</p></pre>
</li>
<li>Compile your code and copy your assembly over to your server (I prefer this method) </li>
<li>Launch the “Plugin Registration Tool” on the CRM server and connect to the desired organization<img style="border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image52.png" width="210" height="74" />
<ul>
<li>Once connected to the correct organization, the right screen will display the list of already deployed plug-ins <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="http://www.furnemont.eu/wp-content/uploads/2010/10/Untitled.jpg" width="406" height="99" /> </li>
</ul>
<ul>
<li>Click on ‘Register’ and select the ‘Register New Assembly’ option from the toolbar, or use CTRL &#8211; A <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image53.png" width="227" height="90" /> </li>
<li>On the ‘Register New Plugin’ screen, select your assembly and select the class you want to register; I always choose to store my plug-ins in the database but this depends on your needs. Hit the “Register Selected Plugins” once you’re done<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="http://www.furnemont.eu/wp-content/uploads/2010/10/Untitled1.jpg" width="417" height="607" /> </li>
<li>If everything is OK, you should see this kind of message:<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image54.png" width="303" height="215" /> </li>
<li>The next step is the registration of a new ‘Step’ which is the <strong>event</strong> the plug-in will be attached to; to register a new step for the new plug-in, select your plug-in in the right screen and click on the ‘Register New Step’ in the toolbar (or hit CTRL – T)<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image55.png" width="227" height="96" /> </li>
<li>Now this is the fun part: you have to tell the server to which event the plug-in will be attached to (Create, Update, Delete, etc.). You also need to specify on which entity the plug-in will be run and the stage of execution (pre or post): these parameters are mandatory! (You can find more information on the execution pipeline <a href="http://msdn.microsoft.com/en-us/library/cc151078.aspx" target="_blank">here</a> and on plug-in development &amp; deployment <a href="http://msdn.microsoft.com/en-us/library/bb955365.aspx" target="_blank">here</a>) <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="http://www.furnemont.eu/wp-content/uploads/2010/10/Untitled2.jpg" width="574" height="311" /> </li>
<li>Hit ‘Register New Step’ to create the event handler </li>
<li>Last step is to create a pre or post XML image depending on your needs: in my case, I always create a post image if I’m dealing with a ‘Create’ messages (obviously, there is nothing in the database at that time so a pre image is irrelevant) and I always create pre &amp; post images on ‘Update’ messages to get the data before and after update (think audit plug-in for example). To create a new image, select the step you just created in the right screen and select the ‘Register New Image’ from the toolbar or hit CTRL – I<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image[14]" border="0" alt="image[14]" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image141.png" width="227" height="96" /> </li>
<li>In this last screen, you have to select the image type (pre or post) and give it a name: the name is really important if you want to use a code like the one below, which creates a new dynamic entity object <u><strong>from</strong></u> the post image:
<pre class="code"><p><span style="color: green">// Post image for the current entity</span></p><p><span style="color: green"></span><span style="color: #2b91af">DynamicEntity </span>postImage = <span style="color: blue">new </span><span style="color: #2b91af">DynamicEntity</span>();
postImage = (<span style="color: #2b91af">DynamicEntity</span>)context.PostEntityImages.Properties[<span style="color: #a31515">&quot;postEntityImageXml&quot;</span>];
</p></pre>
<p>        <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="http://www.furnemont.eu/wp-content/uploads/2010/10/Untitled3.jpg" width="565" height="538" /> </li>
</ul>
<ul>
<li>Hit the ‘Register Image’ button to create the new image </li>
</ul>
</li>
<li>Everything is all set! Your plug-in is now deployed and ready to run <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2010/10/wlEmoticonsmile2.png" /> And here is the example based on the code above (see step 5 on this blog post):<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image57.png" width="230" height="30" /> </li>
</ol>
<p>Links: </p>
<ul>
<li>Generating unique keys in C#: <a href="http://www.codeproject.com/KB/aspnet/UniqueKeys.aspx" target="_blank">http://www.codeproject.com/KB/aspnet/UniqueKeys.aspx</a> </li>
<li>MSDN – Creating a simple plug-in: <a href="http://msdn.microsoft.com/en-us/library/bb955365.aspx">http://msdn.microsoft.com/en-us/library/bb955365.aspx</a> </li>
</ul>
<div class="shr-publisher-263"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fhow-to-series-generate-auto-numbers-on-custom-entities-part-2%2F' data-shr_title='How-to+series%3A+Generate+auto-numbers+on+custom+entities+%28part+2%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fhow-to-series-generate-auto-numbers-on-custom-entities-part-2%2F' data-shr_title='How-to+series%3A+Generate+auto-numbers+on+custom+entities+%28part+2%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fhow-to-series-generate-auto-numbers-on-custom-entities-part-2%2F' data-shr_title='How-to+series%3A+Generate+auto-numbers+on+custom+entities+%28part+2%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2640"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/how-to-series-generate-auto-numbers-on-custom-entities-part-2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Installer le connecteur SharePoint 2010 pour Microsoft CRM 2011</title>
		<link>http://www.furnemont.eu/2010/10/crm-2011-installer-le-connecteur-sharepoint-2010-pour-microsoft-crm-2011/</link>
		<comments>http://www.furnemont.eu/2010/10/crm-2011-installer-le-connecteur-sharepoint-2010-pour-microsoft-crm-2011/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 13:14:00 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Document management]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/crm-2011-installer-le-connecteur-sharepoint-2010-pour-microsoft-crm-2011/</guid>
		<description><![CDATA[Utilisation du connecteur SharePoint 2010 pour gestion documentaire dans CRM 2011]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Une nouvelle fonctionnalité de Microsoft CRM 2011 est la possibilité d’utiliser SharePoint 2011 pour l’intégration des documents CRM.</p>
<p>Cette fonctionnalité était longuement attendue et pouvait être implémentée dans la version précédente de Microsoft CRM (4.0) en utilisant du code (voir <a href="http://blogs.msdn.com/b/crm/archive/2006/10/23/creating-folders-in-sharepoint-document-libraries.aspx" target="_blank">ici</a> et <a href="http://blogs.msdn.com/b/crm/archive/2006/09/11/750609.aspx" target="_blank">là</a>).</p>
<p>  <span id="more-249"></span>
<p>Au jour d’aujourd’hui, il est plus qu’important d’avoir une visibilité sur les informations des comptes et contacts, non seulement au niveau des informations générales (nom, adresse, préférences, etc.) mais aussi au niveau des documents échangés.</p>
<p>Ainsi, Microsoft a finalement mis le paquet au niveau de l’intégration entre SharePoint et CRM : il est désormais possible de faire un projet SharePoint chez un client et de venir ajouter une option CRM et inversément; l’offre client change !</p>
<p>Dans ce post, je vais tenter d’expliquer comment fonctionne le connecteur SharePoint avec Microsoft CRM 2011 en expliquant comment l’installer et surtout comment l’utiliser.</p>
<h1>Pré-requis</h1>
<ul>
<li>Windows Server 2008 64-bits </li>
<li>SharePoint 2010 (Foundation ou autre) </li>
<li>Microsoft CRM 2011 </li>
</ul>
<h1>Installation</h1>
<ol>
<li>Télécharger le connecteur sur le site de Microsoft <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0c7dcc45-9d41-4e2e-8126-895517b4274c&amp;displayLang=en" target="_blank">ici</a> (<strong>CRM2011-SharePointList-ENU-amd64.exe</strong>) </li>
<li>Une fois téléchargé, extraire les fichiers à l’endroit que vous voulez sur votre serveur après avoir accepté les conditions d’utilisation:<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image12.png" width="381" height="346" /><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image13.png" width="367" height="131" /> </li>
<li>Dès que les fichiers sont extraits, il est nécessaire de vérifier au niveau de SharePoint qu’il existe au moins une application Web pouvant être partagée avec CRM; pour cela, il est nécessaire de passer par la console d’administration centrale de SharePoint 2010<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://www.furnemont.eu/wp-content/uploads/2010/10/image14.png" width="581" height="523" /> </li>
<li>Cliquer sur ‘Gérer les applications Web’ et cliquer sur le bouton ‘Nouveau’ dans la barre de menu afin de créer un nouveau site SharePoint<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image15.png" width="396" height="119" /> </li>
<li>Voici les différentes étapes à suivre pour la création d’un nouveau site SharePoint 2010
<ul>
<li>Etant donné que nous sommes sur la même VM pour SharePoint 2010 et CRM 2011, nous allons configurer l’authentification en mode classique; de plus, il faut choisir un nom d’hôte afin que le port 80 puisse être réutilisée (ici j’ai choisi intranet.MONDOMAINE) : </li>
</ul>
<p><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://www.furnemont.eu/wp-content/uploads/2010/10/image16.png" width="589" height="572" /></p>
<ul>
<li>Le fournisseur d’authentification le plus simple à utiliser est le NTLM aussi j’ai choisi cette option et j’ai désactivé les connexions anonymes pour plus de sécurité : </li>
</ul>
<p><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://www.furnemont.eu/wp-content/uploads/2010/10/image17.png" width="590" height="575" /></p>
<ul>
<li>Un nouveau site SharePoint peut fonctionner sur un pool d’application existant mais il est toujours recommandé d’en créer un nouveau; pour ce faire, il faut prélablement vérifier qu’un compte de service existe dans l’Active Directory (utilisateur “classique”), en l’occurrence ici il s’agit du compte <strong>sp_user</strong> : </li>
</ul>
<p><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[21]" border="0" alt="image[21]" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image21.png" width="415" height="549" /></p>
<ul>
<li>Une fois le compte de service créé, il suffit de le sélectionner dans la liste des comptes de sécurité à associer au pool d’applications : </li>
</ul>
<p>     <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://www.furnemont.eu/wp-content/uploads/2010/10/image18.png" width="593" height="580" />
<ul>
<li>Si le compte AD n’est pas présent dans la liste déroulante, il suffit de cliquer sur le lien “Enregistrer le nouveau compte géré” et remplir les paramètres suivants : </li>
</ul>
<p><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[19]" border="0" alt="image[19]" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image19.png" width="586" height="469" /></p>
<ul>
<li>Pour notre VM de test, nous n’allons pas créer de serveur de basculement ni utiliser de search server donc il suffit de laisser ces paramètres vide : </li>
</ul>
<p><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://www.furnemont.eu/wp-content/uploads/2010/10/image20.png" width="590" height="552" /></p>
<ul>
<li>La dernière étape du wizard est l’activation au programme d’amélioration Microsoft, auquel je n’ai pas souscrit : </li>
</ul>
<p><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://www.furnemont.eu/wp-content/uploads/2010/10/image22.png" width="590" height="213" /></p>
<ul>
<li>Un clic sur le bouton OK et le wizard déploie la nouvelle application (cela prend quelques minutes) : </li>
</ul>
<p><img style="background-image: none; border-right-width: 0px; margin: 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://www.furnemont.eu/wp-content/uploads/2010/10/image23.png" width="503" height="250" /></p>
<ul>
<li>Une fois l’application déployée, vous recevez un chouette message tel que celui-ci ! </li>
</ul>
<p><img style="background-image: none; border-right-width: 0px; margin: 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://www.furnemont.eu/wp-content/uploads/2010/10/image24.png" width="504" height="352" /></p>
</li>
<li>Maintenant que nous avons une nouvelle application SharePoint, il est nécessaire de vérifier qu’elle fonctionne et surtout de finir le paramétrage afin de pouvoir l’intégrer avec CRM 2011 :
<ul>
<li>Dans la liste, cliquer sur la nouvelle application précédemment créée </li>
<li>Ensuite, cliquer sur le bouton “Paramètres généraux” et le sous-menu “Paramètres généraux” dans la barre de menu<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image25.png" width="171" height="201" /> </li>
<li>Il faut assouplir la gestion des fichiers par les navigateurs en choisissant l’option “Permissif”, puis cliquer sur OK<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image26.png" width="291" height="436" /> </li>
</ul>
</li>
<li>Une fois le paramétrage effectué, il faut créer un nouveau site dans l’application afin de pouvoir partager des informations
<ul>
<li>A l’écran d’accueil de l’administration centrale de SharePoint, sélectionner l’option “Créer des collections de sites” </li>
<li>Choisir la nouvelle application, lui donner un titre et créer un nouveau site à partir du modèle “Espace de travail du document”<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image27.png" width="581" height="386" /> </li>
<li>Ensuite, il est nécessaire de choisir le(s) administrateur(s) de la collection de sites (le secondaire n’est pas obligatoire)<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image28.png" width="577" height="239" /> </li>
</ul>
</li>
<li>Une fois le nouveau site créé, il suffit de le tester en se rendant à l’adresse précédemment créé (dans mon cas : intranet.crm.furnemont.eu)<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image29.png" width="583" height="63" /> </li>
<li>Si vous ne parvenez pas à atteindre votre site Web, c’est à cause du “Loopback Check” de Windows 2008 : pour le désactiver, suivre la procédure décrite <a href="http://support.microsoft.com/kb/926642/en-us" target="_blank">ici</a> puis il faut redémarrer le serveur </li>
<li>Après redémarrage, voici la page d’acceuil de votre nouveau site :<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://www.furnemont.eu/wp-content/uploads/2010/10/image30.png" width="590" height="355" /> </li>
<li>Une fois votre site créé, il est nécessaire d’installer le connecteur CRM 2011 en vous rendant dans les “Actions du site” et après avoir cliqué sur le sous-menu “Paramètre du site”<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image31.png" width="258" height="530" /> </li>
<li>Sous les paramètres du site, il faut choisir le déploiement d’une nouvelle solution sous l’option “Galeries”<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image32.png" width="219" height="133" /> </li>
<ul>
<li>Cliquer sur le bouton “Télécharger la solution” dans la barre de menu<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image33.png" width="145" height="94" /> </li>
<li>La galerie de solutions vous propose de sélectionner un fichier à télécharger : il suffit de pointer vers le fichier <strong>crmlistcomponent.wsp</strong> (voir point n°2)<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image34.png" width="555" height="196" /><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image35.png" width="556" height="329" /> </li>
</ul>
<li>Normalement, il est possible d’activer le nouveau composant en cliquant sur le bouton “Activer” mais il est parfois possible que ce bouton soit grisé; pour l’activer, il faut suivre les étapes suivantes : </li>
<ul>
<li>Depuis l’écran d’accueil de l’administration centrale de SharePoint, cliquer sur le bouton “Gérer les services sur le serveur”<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image36.png" width="276" height="118" /></li>
<li>Démarrer le service “Service de code en mode bac à sable Microsoft SharePoint Foundation”</li>
<li>Re-télécharger le composant CRM et, hop, le bouton “Activer” apparaît !<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image37.png" width="574" height="341" /></li>
</ul>
<li>Et voilà, le composant CRM pour SharePoint 2010 est finalement installé !<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image38.png" width="594" height="103" /></li>
</ol>
<h1>&#160;</h1>
<h1>Utilisation</h1>
<p>Maintenant que le connecteur CRM pour SharePoint est installé, il est temps de l’utiliser !</p>
<p>Pour ce faire, il suffit de se connecter au CRM et de le paramétrer en suivant les étapes :</p>
<ol>
<li>Se rendre dans les paramètres et choisir le sous-menu “Document Management” pour choisir l’option “Document Management Settings”<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image39.png" width="589" height="189" /></li>
<li>Sélectionner les entités pour lesquelles il faut activer la fonctionnalité de gestion des documents (dans notre cas, nous allons utiliser uniquement les contacts et les ‘assets’); il est également nécessaire de saisir l’adresse du site SharePoint qui sera utilisé pour la gestion des documents :<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image40.png" width="522" height="446" /></li>
<li>A l’étape suivante, choisir la structure des dossiers (dans mon cas, je choisis une structure basée sur les contacts afin d’organiser au mieux les documents) :<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image41.png" width="522" height="219" /></li>
<li>La création de la structure des documents peut prendre un certain temps en fonction du nombre d’entité sélectionnée :<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image42.png" width="515" height="524" /><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image43.png" width="416" height="178" /></li>
<li>Succès ! Cliquer sur “Finish” pour quitter le wizard<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image44.png" width="520" height="601" /></li>
<li>Pour tester la fonctionnalité de gestion des documents, il suffit dès lors d’ajouter un document quelconque (PDF, XLS, DOC, etc.) à un contact</li>
<ul>
<li>Cliquer sur le menu “Documents” et cliquer sur le bouton “Add Location” dans la barre de menu pour créer un nouveau répertoire dans SharePoint :<img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image45.png" width="537" height="421" /></li>
<li>Donner un nom à la location et choisir l’option de création d’une nouvelle location sur SharePoint :<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image[134]" border="0" alt="image[134]" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image134.png" width="564" height="248" /></li>
<li>Un nouveau répertoire sera créé sur le SharePoint :<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image46.png" width="389" height="151" /></li>
<li>Vous pouvez désormais ajouter, supprimer et même éditer des documents directement depuis Microsoft CRM !<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image47.png" width="426" height="92" /></li>
</ul>
<li>Une fois un document ajouté dans Microsoft CRM, il est possible de le voir dans le SharePoint et inversément !</li>
</ol>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image48.png" width="492" height="167" /></p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image49.png" width="628" height="156" /></p>
<div class="shr-publisher-249"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-installer-le-connecteur-sharepoint-2010-pour-microsoft-crm-2011%2F' data-shr_title='CRM+2011%3A+Installer+le+connecteur+SharePoint+2010+pour+Microsoft+CRM+2011'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-installer-le-connecteur-sharepoint-2010-pour-microsoft-crm-2011%2F' data-shr_title='CRM+2011%3A+Installer+le+connecteur+SharePoint+2010+pour+Microsoft+CRM+2011'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-installer-le-connecteur-sharepoint-2010-pour-microsoft-crm-2011%2F' data-shr_title='CRM+2011%3A+Installer+le+connecteur+SharePoint+2010+pour+Microsoft+CRM+2011'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2500"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/crm-2011-installer-le-connecteur-sharepoint-2010-pour-microsoft-crm-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CRM 2011: New update (KB2409294) for beta available!</title>
		<link>http://www.furnemont.eu/2010/10/update-kb2409294-available-for-microsoft-crm-2011-beta/</link>
		<comments>http://www.furnemont.eu/2010/10/update-kb2409294-available-for-microsoft-crm-2011-beta/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 09:21:30 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/update-kb2409294-available-for-microsoft-crm-2011-beta/</guid>
		<description><![CDATA[New update for Microsoft CRM]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>New update for Microsoft CRM 2011 beta is available through Windows Update</p>
<p>Link: <a href="http://blogs.msdn.com/b/crm/archive/2010/09/29/microsoft-dynamics-crm-2011-client-beta-updates-available-on-microsoft-update.aspx#comments">http://blogs.msdn.com/b/crm/archive/2010/09/29/microsoft-dynamics-crm-2011-client-beta-updates-available-on-microsoft-update.aspx#comments</a></p>
<p><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://www.furnemont.eu/wp-content/uploads/2010/10/image11.png" width="585" height="449" /></p>
<div class="shr-publisher-209"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fupdate-kb2409294-available-for-microsoft-crm-2011-beta%2F' data-shr_title='CRM+2011%3A+New+update+%28KB2409294%29+for+beta+available%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fupdate-kb2409294-available-for-microsoft-crm-2011-beta%2F' data-shr_title='CRM+2011%3A+New+update+%28KB2409294%29+for+beta+available%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fupdate-kb2409294-available-for-microsoft-crm-2011-beta%2F' data-shr_title='CRM+2011%3A+New+update+%28KB2409294%29+for+beta+available%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2100"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/update-kb2409294-available-for-microsoft-crm-2011-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CRM 2011: A first look at the field security</title>
		<link>http://www.furnemont.eu/2010/10/crm-2011-first-look-at-the-field-security/</link>
		<comments>http://www.furnemont.eu/2010/10/crm-2011-first-look-at-the-field-security/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 14:29:47 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/crm-2011-first-look-at-the-field-security/</guid>
		<description><![CDATA[Brief overview of the field security Microsoft CRM 2011 has to offer]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A nice feature that has been added to Microsoft CRM 2011 is the field security.</p>
<p>I’ll try to explain it with an example where a customer wanted to store the contact’s password in Microsoft CRM for easier maintenance (RH department).</p>
<p>  <span id="more-207"></span>
<p>Obviously, the passwords must be hidden for certain CRM users but not for the IT guys (for example): in Microsoft CRM 4.0 you could achieve this result by retrieving the connected user’s security role and then show/hide the password field on the form.</p>
<p>Now, with CRM 2011, you do not have to deal with JavaScript anymore: you just need to create a security profile and add the fields you want to secure!</p>
<p>Ok, time for the example:</p>
<ol>
<li>Create a new field called ‘Contact password’ and enable the ‘Field Security’ option<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image2.png" width="404" height="341" /> </li>
<li>Add the new field to the contact form by drag &amp; droping it; you’ll see a small key next to the label meaning that the field is ‘secured’<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image3.png" width="572" height="254" /> </li>
<li>Publish your (really simple) customization and head down to the Microsoft CRM administration section to edit the ‘Field Security Profiles’<img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image4.png" width="586" height="216" /> </li>
<li>On a clean install, Microsoft CRM creates a default security profile for the system administrator security privilege (which can not be modified!); therefore, we are going to create a new profile for the end-users and for the IT guys<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image5.png" width="521" height="125" /></li>
<li>When you open the new security profile, you will find all the secured fields in your current solution under the ‘Field Permissions’ left menu<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image6.png" width="594" height="53" /></li>
<li>To modify the permissions for the field, click on the ‘Edit’ button (double-click not working?) and select the appropriate permissions you want to enable/disable<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image7.png" width="389" height="180" /></li>
<li>Once your security profile is done, you must link it to the users<img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image8.png" width="593" height="414" /></li>
<li>If everything is all set, your users should not be able to see anything!</li>
</ol>
<p>Before</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image9.png" width="393" height="285" /></p>
<p>After</p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/10/image10.png" width="389" height="283" /></p>
<p>Cool <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2010/10/wlEmoticonsmile1.png" /></p>
<div class="shr-publisher-207"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-first-look-at-the-field-security%2F' data-shr_title='CRM+2011%3A+A+first+look+at+the+field+security'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-first-look-at-the-field-security%2F' data-shr_title='CRM+2011%3A+A+first+look+at+the+field+security'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-first-look-at-the-field-security%2F' data-shr_title='CRM+2011%3A+A+first+look+at+the+field+security'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-2080"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/crm-2011-first-look-at-the-field-security/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Finally a way to alter the &#8216;queue items&#8217; view!</title>
		<link>http://www.furnemont.eu/2010/10/crm-2011-finally-a-way-to-alter-the-queue-items-view/</link>
		<comments>http://www.furnemont.eu/2010/10/crm-2011-finally-a-way-to-alter-the-queue-items-view/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 13:21:28 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/crm-2011-finally-a-way-to-alter-the-queue-items-view/</guid>
		<description><![CDATA[Yes, now it’s nearly official:]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Yes, now it’s nearly official: you CAN alter the queue items views and set the columns you want to display!</p>
<p>Before:</p>
<p><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://www.furnemont.eu/wp-content/uploads/2010/10/image.png" width="627" height="83" /></p>
<p>After:</p>
<p><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://www.furnemont.eu/wp-content/uploads/2010/10/image1.png" width="626" height="72" /></p>
<p>This was a long awaited need for my clients, thanks Microsoft! <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2010/10/wlEmoticonsmile.png" /></p>
<div class="shr-publisher-196"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-finally-a-way-to-alter-the-queue-items-view%2F' data-shr_title='CRM+2011%3A+Finally+a+way+to+alter+the+%26lsquo%3Bqueue+items%26rsquo%3B+view%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-finally-a-way-to-alter-the-queue-items-view%2F' data-shr_title='CRM+2011%3A+Finally+a+way+to+alter+the+%26lsquo%3Bqueue+items%26rsquo%3B+view%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fcrm-2011-finally-a-way-to-alter-the-queue-items-view%2F' data-shr_title='CRM+2011%3A+Finally+a+way+to+alter+the+%26lsquo%3Bqueue+items%26rsquo%3B+view%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1970"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/crm-2011-finally-a-way-to-alter-the-queue-items-view/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hommage &#224; la politique Belge !</title>
		<link>http://www.furnemont.eu/2010/10/hommage-a-la-politique-belge/</link>
		<comments>http://www.furnemont.eu/2010/10/hommage-a-la-politique-belge/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 12:17:20 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Gunzig]]></category>
		<category><![CDATA[La Première]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/10/hommage-a-la-politique-belge/</guid>
		<description><![CDATA[Ce n’est pas de moi]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ce n’est pas de moi mais de Thomas Gunzig sur La Première (copyright à qui de droit)…messieurs les pseudo-ministres, prenez-en un peu de la graine !</p>
<p><b>Samedi dernier, Thomas Gunzig a offert un véritable bijou aux auditeurs de la Semaine Infernale, diffusée à 11 h sur La Première. Voici le texte intégral. Régalez-vous !</b></p>
<p>  <span id="more-192"></span>
<p><b>Bande de cons !</b></p>
<p><b>Pas vous, cher public !</b></p>
<p><b>Les autres, les formateurs, informateurs, explorateurs, chefs de groupe, présidents de parti flamand, présidents de parti francophone, seconds couteaux, troisièmes couteaux, de gauche, de droite, les cathos, les écolos, les franc-maçons, les libéraux&#8230;</b></p>
<p><b>Bande de cons de Flandre</b></p>
<p><b>Bande de cons de Bruxelles</b></p>
<p><b>Bande de cons de Wallonie.</b></p>
<p><b>D&#8217;abord à tous ceux qui croient avoir gagné les élections d&#8217;il y a 5 mois.</b></p>
<p><b>A tous ceux qui avaient un grand sourire</b></p>
<p><b>A tous ceux qui avaient les bras en l&#8217;air.</b></p>
<p><b>Le temps est venu de vous avouer quelque chose :</b></p>
<p><b>Les gens n&#8217;ont pas voté pour vous parce qu&#8217;ils vous aimaient.</b></p>
<p><b>Les gens ont voté pour vous parce qu&#8217;ils étaient obligés.</b></p>
<p><b>A la veille du onze juin : dans les rues, les maisons, les bureaux, les gens hochaient la tête et se demandaient vraiment qui ils allaient pouvoir choisir parmi ce catalogue de nuls, de klets, de nouilles, d&#8217;opportunistes agressifs, de carriéristes sans charisme, de mal fringués, de gros types à l&#8217;élocution problématique, de petit nerveux en pleine tendinite de l&#8217;égo, de semi-hystériques, de semi-mafieux, de cynique, de je-m&#8217;en-foutiste, de ratés, de tout le reste, de fils à papa, d&#8217;experts comptables en décrochage professionnel, d&#8217;entrepreneurs en faillite frauduleuse, de sinistres, de pas lavés, de faux gentils, de vrais méchants&#8230;</b></p>
<p><b>Les Leterme, De Krem, Reynders, Milquet, Michel, De Wever, Maingain, Wattelet, Bacquelaine&#8230;&#160; Cette morbide collection de névroses qui nous gouvernent avec leurs troubles anxieux, leur troubles dissociatifs, leur troubles psycho-sexuels, leurs troubles obsessionnels compulsifs.</b></p>
<p><b>Et en plus, ils sont tous&#8230; si moches&#8230;</b></p>
<p><b>Cette élection, à tout le monde, ça a un peu fait l&#8217;impression d&#8217;un de ces mariages forcé que l&#8217;on organise dans des pays très loin d&#8217;ici.</b></p>
<p><b>C&#8217;est comme si on avait été une jeune fille devant choisir entre le vieux marchand qui pète au lit ou l&#8217;arrière-cousin qui ne se brosse pas les dents.</b></p>
<p><b>Bande de cons.</b></p>
<p><b>Vous n&#8217;avez rien gagné du tout.</b></p>
<p><b>Si c&#8217;était possible, on reprendrait nos voix et on ne les donnerait qu&#8217;après les négociations, à ceux qui auraient su être un peu intelligents, un peu sobres, un peu humains.</b></p>
<p><b>Mais non. Donner c&#8217;est donner, reprendre c&#8217;est voler.</b></p>
<p><b>Vous aviez un chouette petit pays, pas très grand mais bien équipé de voisins plutôt sympas bien situé avec la mer, avec la forêt, avec pas trop de charges.</b></p>
<p><b>Vous aviez une chouette petite population, pas parfaite parfaite.</b></p>
<p><b>Mais en gros, ce n&#8217;était pas des talibans non plus, c&#8217;était pas des Contras, c&#8217;était pas des Tigres Tamouls : une petite population de fabricant de pralines, des marchand de kayaks, des chanteurs à texte, des comiques parfois drôles, des stylistes un peu punk, des postiers plutôt polis, des sportifs en minijupe, des flics à moustache, des tas de gens prêts à travailler plus, à gagner toujours moins et à ne pas dire grand-chose.</b></p>
<p><b>Une petite population qui mélange le goût des mandarines à celui des spéculoos.</b></p>
<p><b>Une petite population qui n&#8217;a rien contre l&#8217;Eurovision ni les horodateurs.</b></p>
<p><b>Une petite population qui rend visite à ses grands-parents le dimanche pour boire un café après le chicon gratin.</b></p>
<p><b>Une petite population de buveurs de bière et de joueurs de kicker.</b></p>
<p><b>Une petite population qui emmène ses enfants à Plankendael au printemps et à Paradisio en hiver&#8230;&#160; Comme ça, sans ennuyer le monde, en VW Touran.</b></p>
<p><b>Une petite population prévoyante qui a quelques euros sur un compte-épargne et une concession au cimetière.</b></p>
<p><b>Une petite population qui est plutôt toujours d&#8217;accord et en gros une petite population qui ne veut pas d&#8217;histoire.</b></p>
<p><b>Et vous,</b></p>
<p><b>bande de cons,</b></p>
<p><b>tout ce que vous trouvez à faire, ce sont ces petites réunions où l&#8217;on tourne encore plus en rond que sur un circuit Marklin, ce sont ces petits comités aussi stériles qu&#8217;un champs de patates à Tchernobyl, ce sont ces petites réactions à chaud qui me rappellent les crises de mon chat, quand il n&#8217;aime pas la marque de ses croquettes, ce sont ces airs de petits tribuns en solde, ce sont ces grands chevaux sur lesquels vous montez et qui seront toujours comme ces petits poneys tristes de la foire du Midi.</b></p>
<p><b>Tout ce que vous trouvez à faire, c&#8217;est de vous tirer dans les pattes pour gagner une floche qui vous donnera droit à un tour gratuit sur ce manège sinistre que vous appelez &quot;politique&quot;.</b></p>
<p><b>Bande de nuls.</b></p>
<p><b>Alors moi,</b></p>
<p><b>J&#8217;ai eu une idée, une grève, une vraie grève, une bonne grève, une grève de tout le monde tant que la politique Belge ressemblera à une conserve de rollmops :</b></p>
<p><b>Les enfants n&#8217;iront plus à l&#8217;école, les femmes enceintes n&#8217;accoucheront pas, les déménageurs ne déménageront pas.&#160; Navetteurs, ne navettez plus, Alcooliques, n&#8217;alcoolisez plus, chauffeurs, ne chauffez plus, pilote, mécanicien, traiteur, boucher, pêcheur, éboueur, esthéticienne, taxidermiste, stripteaseuse, scaphandrier, géomètres expert, fleuriste, trader, opticien, huissier, substitut, gourou, préfet, trésorier, banquier, infographiste, ajusteur, analyste programmeur, technicien, hotline, proxénète, dealer, animateur, orthodontiste, urologue, animateur socioculturel, fossoyeur&#8230;</b></p>
<p><b>Et tous les autres&#8230;</b></p>
<p><b>Total Stand By !&#160; On arrête tout&#8230;</b></p>
<p><b>Et vous verrez que dans trois jours, ils feront moins les malins.</b></p>
<div class="shr-publisher-192"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fhommage-a-la-politique-belge%2F' data-shr_title='Hommage+%26agrave%3B+la+politique+Belge+%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fhommage-a-la-politique-belge%2F' data-shr_title='Hommage+%26agrave%3B+la+politique+Belge+%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F10%2Fhommage-a-la-politique-belge%2F' data-shr_title='Hommage+%26agrave%3B+la+politique+Belge+%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1930"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/10/hommage-a-la-politique-belge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011: New &#8216;helpers&#8217; for system customizers! (Part 1)</title>
		<link>http://www.furnemont.eu/2010/09/crm-2011-new-%e2%80%98helpers%e2%80%99-for-customizers/</link>
		<comments>http://www.furnemont.eu/2010/09/crm-2011-new-%e2%80%98helpers%e2%80%99-for-customizers/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 13:52:29 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/09/crm-2011-new-%e2%80%98helpers%e2%80%99-for-customizers/</guid>
		<description><![CDATA[Useful informations on Microsoft CRM 2011 for customizers!]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>PREVIEW &#8211; Here is an overview of the new ‘helpers’ customizers have at their disposal while customizing Microsoft CRM 2011:</p>
<p>  <span id="more-191"></span><br />
<h1>Solutions</h1>
<ul>
<li>Upon installing Microsoft CRM, a new <u>default solution</u> is created that reflects the ‘default’ state of the system; this default state contains all the entities and components that are installed with the system </li>
<li>A solution can be seen as a ‘vertical solution’ created with Microsoft CRM; for example: you may need to create a new solution for customer Y, based on an existing solution created for customer X </li>
<li>A solution groups a series of customization </li>
<li>Solutions can be imported/exported </li>
<li>New solutions are empty, you just need to add the entities &amp; components you want to deploy! </li>
<li>Solutions are versioned using a ‘version’ field, meaning you can have multiple versions of your customizations resulting in ease of deployment and testing </li>
<li>A solution is based on a publisher, which means that each publisher can now be identified by a contact form and can have its own customization prefix <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://www.furnemont.eu/wp-content/uploads/2010/09/image12.png" width="593" height="273" /> </li>
<li>The publishers can sell their solutions through the new “Marketplace”, which is available through Microsoft CRM<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://www.furnemont.eu/wp-content/uploads/2010/09/image13.png" width="592" height="278" /> </li>
</ul>
<h1>Attributes = Fields</h1>
<ul>
<li>This may not seem quite interesting but it looks like someone at Microsoft thought that it would be more understandable for everyone to rename ‘Attributes’ to ‘Fields’ for the entities customization, not sure why… </li>
<li>A new field is available: lookup, which lets you decide to which entity you want to relate (account, contact, etc.); this field is similar to the attribute created when using a N-1 relationship in Microsoft CRM 4.0 </li>
</ul>
<p>&#160;<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://www.furnemont.eu/wp-content/uploads/2010/09/image14.png" width="388" height="101" /></p>
<h1>Entities</h1>
<ul>
<li>New entities can now be defined as being a new type of activities; for example: visits, meeting minutes, etc. </li>
<li>New entities can now be sent to queues </li>
<li>New entities can be set to send emails (not sure of that one, I still have to test it) </li>
<li>New entities can be audited based on the new auditing feature (more on that later) </li>
<li>New entities can be set to use the new ‘Document Management&#8217; feature which is tightly coupled with SharePoint 2010 (more on that later as well) </li>
</ul>
<p><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://www.furnemont.eu/wp-content/uploads/2010/09/image15.png" width="561" height="615" /></p>
<p>This is a first overview of the new functionalities (or helpers) that are available for system customizers, I’ll try to go more into details of these new cool stuffs!</p>
<div class="shr-publisher-191"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fcrm-2011-new-%25e2%2580%2598helpers%25e2%2580%2599-for-customizers%2F' data-shr_title='CRM+2011%3A+New+%26lsquo%3Bhelpers%26rsquo%3B+for+system+customizers%21+%28Part+1%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fcrm-2011-new-%25e2%2580%2598helpers%25e2%2580%2599-for-customizers%2F' data-shr_title='CRM+2011%3A+New+%26lsquo%3Bhelpers%26rsquo%3B+for+system+customizers%21+%28Part+1%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fcrm-2011-new-%25e2%2580%2598helpers%25e2%2580%2599-for-customizers%2F' data-shr_title='CRM+2011%3A+New+%26lsquo%3Bhelpers%26rsquo%3B+for+system+customizers%21+%28Part+1%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1920"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/09/crm-2011-new-%e2%80%98helpers%e2%80%99-for-customizers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CRM 2011: Installation issues and way to resolve it</title>
		<link>http://www.furnemont.eu/2010/09/crm-2011-installation-issues-and-way-to-resolve-it/</link>
		<comments>http://www.furnemont.eu/2010/09/crm-2011-installation-issues-and-way-to-resolve-it/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 14:22:32 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/09/crm-2011-installation-issues-and-way-to-resolve-it/</guid>
		<description><![CDATA[Some issues that can arise]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Some issues that can arise during the ‘System Checks’ while installing Microsoft CRM 2011…</p>
<h2>Issues</h2>
<ol>
<li>The SPN for the ASP.NET App Pool account has to be verified </li>
<li>The SPN for the CRM Deployment Web Service App Pool account has to be verified </li>
<li>The IIS NTAuthenticationProviders must be ‘Negotiate,NTLM’ </li>
</ol>
<p>For information, this are the messages I get on a Windows Server 2008 Std VM.</p>
<p>  <span id="more-186"></span>
<p><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://www.furnemont.eu/wp-content/uploads/2010/09/image8.png" width="585" height="505" /></p>
<h2>How to resolve these issues?</h2>
<h4>Issue #1:</h4>
<p>This issue arises when you specify a domain account for the ASP.NET service used by the CRM server instead of the ‘Network Service’ account. To resolve this issue, follow the steps below:</p>
<p><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://www.furnemont.eu/wp-content/uploads/2010/09/image9.png" width="410" height="249" /></p>
<ol>
<li>Use the SETSPN command to create the ‘Service Principal Name’ for the ASP.NET domain account you created (the SETSPN is part of the ‘Windows Support Tools’ which is part of the install of Windows Server 2008):
<ul>
<li>Open the command prompt with administrator privileges </li>
<li>Type the following command: <strong>setspn –A HTTP/servername:port domain\user</strong> (where <strong>servername</strong> is your CRM server name, <strong>port</strong> is the chosen Web Site port, <strong>domain\user</strong> is the domain account used for the CRM services) </li>
<li>Type the following command for the FQDN name: <strong>setspn –A HTTP/servername.company.com:port domain\user</strong> </li>
</ul>
</li>
<li>Open ‘Active Directory Users and Computers’ and enable the ‘<strong>Trust this user for delegation to any service (Kerberos only)</strong>’ for the selected domain account </li>
<li>Add the domain account to the <strong>IIS_IUSRS</strong> group </li>
<li></li>
</ol>
<h4>Issue #2:</h4>
<p>(See step as issue #1 since it is the same account)</p>
<h4>Issue #3:</h4>
<p>For CRM to work on our server, we need to enable both Kerberos and NTLM by following these steps:</p>
<ol>
<li>Open a command prompt with administrator privileges </li>
<li>Go to the <strong>C:\inetpub\AdminScripts</strong> folder (according C:\ is the drive where the inetpub folder is installed) </li>
<li>Verify the Web Site ID under IIS (here I’m installing CRM under the Default Web Site, which is ID 1):
<p><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://www.furnemont.eu/wp-content/uploads/2010/09/image10.png" width="355" height="154" /></p>
</li>
<li>Verify that the ‘NTAuthenticationProviders’ hasn’t changed by using this command: <strong>cscript adsutil.vbs get w3svc/<u>ID of your web site</u>/NTAuthenticationProviders</strong>; if the Web Site is dealing with NTLM only, you should get something like this:<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://www.furnemont.eu/wp-content/uploads/2010/09/image11.png" width="458" height="77" /> </li>
<li>To set the value to ‘Negotiate,NTLM’, use this command: <strong>cscript adsutil.vbs set w3svc/ID of your web site/NTAuthenticationProviders “Negotiate,NTLM”</strong></li>
<li>Verify again that your web site ID is set to the correct authentication provider by using the command at step 4, <u>then reset IIS</u> by using the <strong>iisreset</strong> command</li>
</ol>
<p><font color="#ff0000"><strong>NOTE: I have an issue here since the installation wizard does not seem to ‘see’ that my default web site is using Kerberos and NTLM for authentication. The only thing I’ve found so far is to let the wizard create a new Web Site on another port (see:</strong></font> <a href="http://social.microsoft.com/Forums/en/crm2011beta/thread/288ef9ce-42fc-46a4-b24b-b43519fec0f6">http://social.microsoft.com/Forums/en/crm2011beta/thread/288ef9ce-42fc-46a4-b24b-b43519fec0f6</a><font color="#ff0000"><strong>)</strong></font></p>
<div class="shr-publisher-186"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fcrm-2011-installation-issues-and-way-to-resolve-it%2F' data-shr_title='CRM+2011%3A+Installation+issues+and+way+to+resolve+it'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fcrm-2011-installation-issues-and-way-to-resolve-it%2F' data-shr_title='CRM+2011%3A+Installation+issues+and+way+to+resolve+it'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fcrm-2011-installation-issues-and-way-to-resolve-it%2F' data-shr_title='CRM+2011%3A+Installation+issues+and+way+to+resolve+it'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1870"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/09/crm-2011-installation-issues-and-way-to-resolve-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Deploy plugins in an IFD+OnPremise environment</title>
		<link>http://www.furnemont.eu/2010/09/deploy-plugins-in-an-ifdonpremise-environment/</link>
		<comments>http://www.furnemont.eu/2010/09/deploy-plugins-in-an-ifdonpremise-environment/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 08:19:52 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/09/deploy-plugins-in-an-ifdonpremise-environment/</guid>
		<description><![CDATA[If you are stuck with]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>If you are stuck with the Plugin Registration Tool (PRT) in an IFD environment, one test to make is this one:</p>
<ul>
<li>Compile the Visual Studio solution using VS 2008 or 2010 </li>
<li>Deploy the debug or release files PRT <u>on</u> the server, wherever you want, in its own folder<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://www.furnemont.eu/wp-content/uploads/2010/09/image5.png" width="531" height="354" /> </li>
<li>On the server, launch the PluginRegistration.exe file <u>with administrator privileges</u></li>
<li>When you configure a CRM environment for IFD, it is recommended to configure it with IFD + OnPremise, meaning that on the server, you can access (theoretically <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.furnemont.eu/wp-content/uploads/2010/09/wlEmoticonsmile.png" /> ) the CRM by using the local address (<a href="http://localhost">http://localhost</a>); therefore, if you connect to the server with a login that has access to the CRM with administrator privileges, you <u>don’t</u> need to enter the credentials in the PRT connection:<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://www.furnemont.eu/wp-content/uploads/2010/09/image6.png" width="311" height="251" /></li>
<li>This way, the PRT will use the current user’s credentials, using AD authentication, which will work; you will therefore be able to deploy your plugins by using the following addresses in the “Organization URLs” fields (you need to ensure that these URLs are the same for each OU in your CRM):<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://www.furnemont.eu/wp-content/uploads/2010/09/image7.png" width="541" height="156" /></li>
</ul>
<p>Woohoo, now I can deploy my plugins in our secured IFD environment!</p>
<div class="shr-publisher-181"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fdeploy-plugins-in-an-ifdonpremise-environment%2F' data-shr_title='Deploy+plugins+in+an+IFD%2BOnPremise+environment'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fdeploy-plugins-in-an-ifdonpremise-environment%2F' data-shr_title='Deploy+plugins+in+an+IFD%2BOnPremise+environment'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fdeploy-plugins-in-an-ifdonpremise-environment%2F' data-shr_title='Deploy+plugins+in+an+IFD%2BOnPremise+environment'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1820"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/09/deploy-plugins-in-an-ifdonpremise-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s new in Microsoft Dynamics CRM 2011?</title>
		<link>http://www.furnemont.eu/2010/09/whats-new-in-microsoft-dynamics-crm-2011/</link>
		<comments>http://www.furnemont.eu/2010/09/whats-new-in-microsoft-dynamics-crm-2011/#comments</comments>
		<pubDate>Sun, 12 Sep 2010 09:47:44 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/09/whats-new-in-microsoft-dynamics-crm-2011/</guid>
		<description><![CDATA[A good read for everyone,]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A good read for everyone, not only developers or customizers: <a href="http://rc.crm.dynamics.com/rc/2011/en-us/on-prem/5.0/whatsNewCRM5.aspx">http://rc.crm.dynamics.com/rc/2011/en-us/on-prem/5.0/whatsNewCRM5.aspx</a></p>
<div class="shr-publisher-176"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fwhats-new-in-microsoft-dynamics-crm-2011%2F' data-shr_title='What%27s+new+in+Microsoft+Dynamics+CRM+2011%3F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fwhats-new-in-microsoft-dynamics-crm-2011%2F' data-shr_title='What%27s+new+in+Microsoft+Dynamics+CRM+2011%3F'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fwhats-new-in-microsoft-dynamics-crm-2011%2F' data-shr_title='What%27s+new+in+Microsoft+Dynamics+CRM+2011%3F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1770"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/09/whats-new-in-microsoft-dynamics-crm-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How-to series: Generate auto-numbers on custom entities (part 1)</title>
		<link>http://www.furnemont.eu/2010/09/how-to-series-generate-auto-numbers-on-custom-entities-part-1/</link>
		<comments>http://www.furnemont.eu/2010/09/how-to-series-generate-auto-numbers-on-custom-entities-part-1/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 09:16:48 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/09/how-to-series-generate-auto-numbers-on-custom-entities-part-1/</guid>
		<description><![CDATA[Describes a way to generate auto-numbers with custom entities]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ok, in this series, I will try to explain how to generate auto-numbers on custom entities based on the user’s preferences (length of the auto-number, prefix, suffix, increment value, etc.)</p>
<p> <span id="more-175"></span>
<p>This kind of customization is based on the plug-in created and sold by <a href="http://www.crminnovation.com/autonumber.asp" target="_blank">CRM Innovation</a>.</p>
<p><font color="#ff0000"><strong>I am not trying to copy their work, and therefore my plug-in is not as complete as theirs. Meaning…. if you want more complete functionalities, don’t ask me but <u>BUY</u> their plug-in!</strong></font></p>
<p>The approach I will be using is very simple:</p>
<ol>
<li>Use an organization-owned entity for the users to configure the auto-numbering features </li>
<li>Use a plug-in to generate an auto-number based on the user’s preferences </li>
</ol>
<p>NB: I am not saying this is the best approach to this kind of feature but it shows how to use various techniques (JavaScript, C#) to customize Microsoft CRM. In this first series, I will describe the first step and explain the JavaScript used behind the customization.</p>
<p>Let’s get to work!</p>
<h1>Create the organization-owned “Auto Number” entity</h1>
<ol>
<li>Go to “Settings / Customizations” and create a new entity called ‘Auto Number’ (or whatever your language is, in French it would be ‘Numéro auto’)<img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/09/image.png" width="596" height="351" /> </li>
<li>Instead of using the default ‘Name’ field as-is, rename it to ‘Entity Name (schema)’ and change its schema name to ‘New_Entityname’; this field is going to store the selected entity schema name (physical name)<img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/09/image1.png" width="595" height="244" /> </li>
<li>Click the “Save” button to generate the new custom entity </li>
<li>Now we are going to create a couple of custom attributes that will be used to store various information:<br />
<table border="1" cellspacing="0" cellpadding="2" width="575">
<tbody>
<tr>
<td width="110"><strong>Name</strong></td>
<td width="320"><strong>Used for</strong></td>
<td width="70" align="center"><strong>Type</strong></td>
<td width="73" align="center"><strong>Length</strong></td>
</tr>
<tr>
<td width="110">Attribute Name</td>
<td width="320">Schema name of the attribute that will store the generated number</td>
<td width="70" align="center">varchar</td>
<td width="73" align="center">100</td>
</tr>
<tr>
<td width="110">Attribute Display</td>
<td width="320">Display name of the attribute that will store the generated number</td>
<td width="70" align="center">varchar</td>
<td width="73" align="center">100</td>
</tr>
<tr>
<td width="110">Entity Display</td>
<td width="320">Display name of the entity that will use the generated number</td>
<td width="70" align="center">varchar</td>
<td width="73" align="center">100</td>
</tr>
<tr>
<td width="110">Entity Type Code</td>
<td width="320">The entity type code</td>
<td width="70" align="center">varchar</td>
<td width="73" align="center">100</td>
</tr>
<tr>
<td width="110">Length</td>
<td width="320">The length of the generated number</td>
<td width="70" align="center">int</td>
<td width="73" align="center">&#160;</td>
</tr>
<tr>
<td width="110">Increment</td>
<td width="320">The increment value for the generated number</td>
<td width="70" align="center">int</td>
<td width="73" align="center">&#160;</td>
</tr>
<tr>
<td width="110">Prefix</td>
<td width="320">The prefix to use during the number generation (optional)</td>
<td width="70" align="center">varchar</td>
<td width="73" align="center">100</td>
</tr>
<tr>
<td width="110">Suffix</td>
<td width="320">The suffix to use during the number generation (optional)</td>
<td width="70" align="center">varchar</td>
<td width="73" align="center">100</td>
</tr>
<tr>
<td width="110">Example</td>
<td width="320">An example of generated number</td>
<td width="70" align="center">varchar</td>
<td width="73" align="center">100</td>
</tr>
</tbody>
</table>
</li>
<li>When all the attributes have been created, this is the looks of the default form: <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/09/image2.png" width="588" height="258" /> </li>
<li>The purpose of this customization is to render the first two attributes (&#8216;Entité’ [Entity] and ‘Attribut’ [Attribute]) as dynamic drop down lists: the first will allow the user to select the entity and the second will allow the user to select the attribute that will store the automatic identification number<img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/09/image3.png" width="587" height="191" /> </li>
<li>The code that deals with the dynamic drop-down list comes from <a href="http://www.thuta.info/2009/11/how-to-retrieve-entity-and-its-related.html" target="_blank">Thuta’s CRM blog</a> and is available below with some explanations: <a href="http://11011.net/software/vspaste"></a>
<pre class="code">crmForm.all.xrm_entitynamedisplay.ForceSubmit = <span style="color: blue">true</span>;
crmForm.all.xrm_attributenamedisplay.ForceSubmit = <span style="color: blue">true</span>;
crmForm.all.xrm_numberingexample.ForceSubmit = <span style="color: blue">true</span>;

<span style="color: #006400">// Function that will load the attribute drop down list and store the entity's drop down list selected value
</span>entityOnChange = <span style="color: blue">function </span>() {
    crmForm.all.xrm_entityname.DataValue = document.getElementById(<span style="color: maroon">'xrm_entitynamedisplay'</span>).options[document.getElementById(<span style="color: maroon">'xrm_entitynamedisplay'</span>).selectedIndex].getAttribute(<span style="color: maroon">'schemaName'</span>);
    crmForm.all.xrm_entitytypecode.DataValue = document.getElementById(<span style="color: maroon">'xrm_entitynamedisplay'</span>).options[document.getElementById(<span style="color: maroon">'xrm_entitynamedisplay'</span>).selectedIndex].getAttribute(<span style="color: maroon">'entitytypeid'</span>);

    <span style="color: blue">var </span>schemaName = document.getElementById(<span style="color: maroon">'xrm_entitynamedisplay'</span>).options[document.getElementById(<span style="color: maroon">'xrm_entitynamedisplay'</span>).selectedIndex].getAttribute(<span style="color: maroon">'schemaName'</span>);
    <span style="color: blue">var </span>request = <span style="color: maroon">&quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;utf-8\&quot;?&gt;&quot; </span>+
                  <span style="color: maroon">&quot;&lt;soap:Envelope xmlns:soap=\&quot;http://schemas.xmlsoap.org/soap/envelope/\&quot; xmlns:xsi=\&quot;http://www.w3.org/2001/XMLSchema-instance\&quot; xmlns:xsd=\&quot;http://www.w3.org/2001/XMLSchema\&quot;&gt;&quot; </span>+
                  GenerateAuthenticationHeader() +
                  <span style="color: maroon">&quot; &lt;soap:Body&gt;&quot; </span>+
                  <span style="color: maroon">&quot;     &lt;Execute xmlns=\&quot;http://schemas.microsoft.com/crm/2007/WebServices\&quot;&gt;&quot; </span>+
                  <span style="color: maroon">&quot;         &lt;Request xsi:type='RetrieveEntityRequest'&gt;&quot; </span>+
                  <span style="color: maroon">&quot;             &lt;MetadataId&gt;00000000-0000-0000-0000-000000000000&lt;/MetadataId&gt;&quot; </span>+
                  <span style="color: maroon">&quot;             &lt;EntityItems&gt;IncludeAttributes&lt;/EntityItems&gt;&quot; </span>+
                  <span style="color: maroon">&quot;             &lt;LogicalName&gt;&quot; </span>+ schemaName + <span style="color: maroon">&quot;&lt;/LogicalName&gt;&quot; </span>+
                  <span style="color: maroon">&quot;             &lt;RetrieveAsIfPublished&gt;true&lt;/RetrieveAsIfPublished&gt;&quot; </span>+
                  <span style="color: maroon">&quot;         &lt;/Request&gt;&quot; </span>+
                  <span style="color: maroon">&quot;     &lt;/Execute&gt;&quot; </span>+
                  <span style="color: maroon">&quot; &lt;/soap:Body&gt;&quot; </span>+
                  <span style="color: maroon">&quot;&lt;/soap:Envelope&gt;&quot;</span>;

    <span style="color: blue">var </span>xmlHttpRequest = <span style="color: blue">new </span>ActiveXObject(<span style="color: maroon">&quot;Msxml2.XMLHTTP&quot;</span>);
    xmlHttpRequest.Open(<span style="color: maroon">&quot;POST&quot;</span>, <span style="color: maroon">&quot;/mscrmservices/2007/MetadataService.asmx&quot;</span>, <span style="color: blue">false</span>);
    xmlHttpRequest.setRequestHeader(<span style="color: maroon">&quot;SOAPAction&quot;</span>, <span style="color: maroon">&quot;http://schemas.microsoft.com/crm/2007/WebServices/Execute&quot;</span>);
    xmlHttpRequest.setRequestHeader(<span style="color: maroon">&quot;Content-Type&quot;</span>, <span style="color: maroon">&quot;text/xml; charset=utf-8&quot;</span>);
    xmlHttpRequest.setRequestHeader(<span style="color: maroon">&quot;Content-Length&quot;</span>, request.length);
    xmlHttpRequest.send(request);

    <span style="color: blue">var </span>result = xmlHttpRequest.responseXML;
    <span style="color: blue">var </span>schemaNames = result.selectNodes(<span style="color: maroon">&quot;//EntityMetadata/Attributes/Attribute&quot;</span>);

    ConvertAttributeToPicklist(<span style="color: maroon">'xrm_attributenamedisplay'</span>, schemaNames);
}
<span style="color: #006400">// Function that will store the attribute's drop down list selected value
</span>attribOnChange = <span style="color: blue">function </span>() {
    crmForm.all.xrm_attributename.DataValue = document.getElementById(<span style="color: maroon">'xrm_attributenamedisplay'</span>).options[document.getElementById(<span style="color: maroon">'xrm_attributenamedisplay'</span>).selectedIndex].getAttribute(<span style="color: maroon">'schemaName'</span>);
}
<span style="color: #006400">// Function that converts the entity textbox to a drop down list
</span><span style="color: blue">function </span>ConvertEntityToPicklist(fieldName, dataItems) {
    <span style="color: blue">var </span>defaultValue = crmForm.all[fieldName].DataValue;
    <span style="color: blue">var </span>table = crmForm.all[fieldName + <span style="color: maroon">&quot;_d&quot;</span>];
    <span style="color: blue">var </span>select = <span style="color: maroon">&quot;&lt;select req='0' id='&quot; </span>+ fieldName + <span style="color: maroon">&quot;' name='&quot; </span>+ fieldName + <span style="color: maroon">&quot;' defaultSelected='' class='ms-crm-SelectBox' tabindex='1170' onchange='javascript:entityOnChange();'&gt;&quot;</span>;
    <span style="color: blue">var </span>defaultValueFound = <span style="color: blue">false</span>;

    <span style="color: blue">for </span>(<span style="color: blue">var </span>i = 0; i &lt; dataItems.length; i++) {
        <span style="color: blue">if </span>(dataItems[i].selectSingleNode(<span style="color: maroon">'IsCustomizable'</span>).text == <span style="color: maroon">&quot;true&quot;</span>) {
            select += <span style="color: maroon">&quot;&lt;option value='&quot; </span>+ dataItems[i].selectSingleNode(<span style="color: maroon">'LogicalName'</span>).text + <span style="color: maroon">&quot;' &quot;</span>;
            select += <span style="color: maroon">&quot;entitytypeid='&quot; </span>+ dataItems[i].selectSingleNode(<span style="color: maroon">'ObjectTypeCode'</span>).text + <span style="color: maroon">&quot;' &quot;</span>;
            select += <span style="color: maroon">&quot;schemaName='&quot; </span>+ dataItems[i].selectSingleNode(<span style="color: maroon">'LogicalName'</span>).text + <span style="color: maroon">&quot;'&quot;</span>;

            <span style="color: blue">if </span>(dataItems[i].selectSingleNode(<span style="color: maroon">'LogicalName'</span>).text == defaultValue) {
                select += <span style="color: maroon">&quot; SELECTED&quot;</span>;
                defaultValueFound = <span style="color: blue">true</span>;
            }

            select += <span style="color: maroon">&quot;&gt;&quot; </span>+ dataItems[i].selectSingleNode(<span style="color: maroon">'DisplayName/LocLabels/LocLabel/Label'</span>).text + <span style="color: maroon">&quot;&lt;/option&gt;&quot;</span>;
        }
    }

    <span style="color: blue">if </span>((defaultValue != <span style="color: blue">null</span>) &amp;&amp; (defaultValue.length &gt; 0) &amp;&amp; !defaultValueFound)
        select += <span style="color: maroon">&quot;&lt;option value='&quot; </span>+ defaultValue + <span style="color: maroon">&quot;' SELECTED&gt;&quot; </span>+ defaultValue + <span style="color: maroon">&quot;&lt;/option&gt;&quot;</span>;

    select += <span style="color: maroon">&quot;&lt;/select&gt;&quot;</span>;
    table.innerHTML = select;

    entityOnChange();
}
<span style="color: #006400">// Function that converts the attribute textbox to a drop down list
</span><span style="color: blue">function </span>ConvertAttributeToPicklist(fieldName, dataItems) {
    <span style="color: blue">var </span>defaultValue = crmForm.ObjectId != <span style="color: blue">null </span>? crmForm.all[fieldName].DataValue : <span style="color: blue">null</span>;
    <span style="color: blue">var </span>table = crmForm.all[fieldName + <span style="color: maroon">&quot;_d&quot;</span>];
    <span style="color: blue">var </span>select = <span style="color: maroon">&quot;&lt;select req='0' id='&quot; </span>+ fieldName + <span style="color: maroon">&quot;' name='&quot; </span>+ fieldName + <span style="color: maroon">&quot;' defaultSelected='' class='ms-crm-SelectBox' tabindex='1170' onchange='javascript:attribOnChange();'&gt;&quot;</span>;
    <span style="color: blue">var </span>defaultValueFound = <span style="color: blue">false</span>;

    <span style="color: blue">for </span>(<span style="color: blue">var </span>i = 0; i &lt; dataItems.length; i++) {
        <span style="color: blue">if </span>(dataItems[i].selectSingleNode(<span style="color: maroon">'DisplayName/LocLabels/LocLabel/Label'</span>) != <span style="color: blue">null</span>) {
            select += <span style="color: maroon">&quot;&lt;option value='&quot; </span>+ dataItems[i].selectSingleNode(<span style="color: maroon">'LogicalName'</span>).text + <span style="color: maroon">&quot;' &quot;</span>;
            select += <span style="color: maroon">&quot;schemaName='&quot; </span>+ dataItems[i].selectSingleNode(<span style="color: maroon">'LogicalName'</span>).text + <span style="color: maroon">&quot;'&quot;</span>;

            <span style="color: blue">if </span>(dataItems[i].selectSingleNode(<span style="color: maroon">'LogicalName'</span>).text == defaultValue) {
                select += <span style="color: maroon">&quot; SELECTED&quot;</span>;
                defaultValueFound = <span style="color: blue">true</span>;
            }

            select += <span style="color: maroon">&quot;&gt;&quot; </span>+ dataItems[i].selectSingleNode(<span style="color: maroon">'DisplayName/LocLabels/LocLabel/Label'</span>).text + <span style="color: maroon">&quot;&lt;/option&gt;&quot;</span>;
        }
    }

    <span style="color: blue">if </span>((defaultValue != <span style="color: blue">null</span>) &amp;&amp; (defaultValue.length &gt; 0) &amp;&amp; !defaultValueFound)
        select += <span style="color: maroon">&quot;&lt;option value='&quot; </span>+ defaultValue + <span style="color: maroon">&quot;' SELECTED&gt;&quot; </span>+ defaultValue + <span style="color: maroon">&quot;&lt;/option&gt;&quot;</span>;

    select += <span style="color: maroon">&quot;&lt;/select&gt;&quot;</span>;
    table.innerHTML = select;

    attribOnChange();
}
<span style="color: #006400">// Entity retrieval request: used to retrive the published entities
</span><span style="color: blue">var </span>request = <span style="color: maroon">&quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;utf-8\&quot;?&gt;&quot; </span>+
              <span style="color: maroon">&quot;&lt;soap:Envelope xmlns:soap=\&quot;http://schemas.xmlsoap.org/soap/envelope/\&quot; xmlns:xsi=\&quot;http://www.w3.org/2001/XMLSchema-instance\&quot; xmlns:xsd=\&quot;http://www.w3.org/2001/XMLSchema\&quot;&gt;&quot; </span>+
              GenerateAuthenticationHeader() +
              <span style="color: maroon">&quot;  &lt;soap:Body&gt;&quot; </span>+
              <span style="color: maroon">&quot;    &lt;Execute xmlns=\&quot;http://schemas.microsoft.com/crm/2007/WebServices\&quot;&gt;&quot; </span>+
              <span style="color: maroon">&quot;      &lt;Request xsi:type=\&quot;RetrieveAllEntitiesRequest\&quot;&gt;&quot; </span>+
              <span style="color: maroon">&quot;        &lt;RetrieveAsIfPublished&gt;true&lt;/RetrieveAsIfPublished&gt;&quot; </span>+
              <span style="color: maroon">&quot;        &lt;MetadataItems&gt;EntitiesOnly&lt;/MetadataItems&gt;&quot; </span>+
              <span style="color: maroon">&quot;      &lt;/Request&gt;&quot; </span>+
              <span style="color: maroon">&quot;    &lt;/Execute&gt;&quot; </span>+
              <span style="color: maroon">&quot;  &lt;/soap:Body&gt;&quot; </span>+
              <span style="color: maroon">&quot;&lt;/soap:Envelope&gt;&quot;</span>;

<span style="color: blue">var </span>xmlHttpRequest = <span style="color: blue">new </span>ActiveXObject(<span style="color: maroon">&quot;Msxml2.XMLHTTP&quot;</span>);
xmlHttpRequest.Open(<span style="color: maroon">&quot;POST&quot;</span>, <span style="color: maroon">&quot;/mscrmservices/2007/MetadataService.asmx&quot;</span>, <span style="color: blue">false</span>);
xmlHttpRequest.setRequestHeader(<span style="color: maroon">&quot;SOAPAction&quot;</span>, <span style="color: maroon">&quot;http://schemas.microsoft.com/crm/2007/WebServices/Execute&quot;</span>);
xmlHttpRequest.setRequestHeader(<span style="color: maroon">&quot;Content-Type&quot;</span>, <span style="color: maroon">&quot;text/xml; charset=utf-8&quot;</span>);
xmlHttpRequest.setRequestHeader(<span style="color: maroon">&quot;Content-Length&quot;</span>, request.length);
xmlHttpRequest.send(request);

<span style="color: blue">var </span>result = xmlHttpRequest.responseXML;
<span style="color: blue">var </span>schemaNames = result.selectNodes(<span style="color: maroon">&quot;//CrmMetadata/CrmMetadata&quot;</span>);

ConvertEntityToPicklist(<span style="color: maroon">'xrm_entitynamedisplay'</span>, schemaNames);</pre>
</li>
<li>The final result should look like this once a new record is created:<img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.furnemont.eu/wp-content/uploads/2010/09/image4.png" width="578" height="111" /> </li>
</ol>
<p>This first post of the series is to lay the groundwork of the following posts, which will deal with creating a plugin to generate a random number based on the information stored in the autonumber record.</p>
<p>Feel free to contact me for any question…<img alt="Wink" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/wink_smile.gif" /></p>
<div class="shr-publisher-175"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fhow-to-series-generate-auto-numbers-on-custom-entities-part-1%2F' data-shr_title='How-to+series%3A+Generate+auto-numbers+on+custom+entities+%28part+1%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fhow-to-series-generate-auto-numbers-on-custom-entities-part-1%2F' data-shr_title='How-to+series%3A+Generate+auto-numbers+on+custom+entities+%28part+1%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fhow-to-series-generate-auto-numbers-on-custom-entities-part-1%2F' data-shr_title='How-to+series%3A+Generate+auto-numbers+on+custom+entities+%28part+1%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1760"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/09/how-to-series-generate-auto-numbers-on-custom-entities-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Microsoft Dynamics CRM 2011 Beta Signup</title>
		<link>http://www.furnemont.eu/2010/09/microsoft-dynamics-crm-2011-beta-signup/</link>
		<comments>http://www.furnemont.eu/2010/09/microsoft-dynamics-crm-2011-beta-signup/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 06:23:05 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[CRM 2011]]></category>
		<category><![CDATA[CRM 5]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/09/microsoft-dynamics-crm-2011-beta-signup/</guid>
		<description><![CDATA[And there it is, the]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>And there it is, the beta signup for Microsoft Dynamics CRM 2011 is finally available!</p>
<p>More info here: <a title="https://offers.crmchoice.com/CRM2011Beta-Signup/" href="https://offers.crmchoice.com/CRM2011Beta-Signup/">https://offers.crmchoice.com/CRM2011Beta-Signup/</a></p>
<div class="shr-publisher-169"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fmicrosoft-dynamics-crm-2011-beta-signup%2F' data-shr_title='Microsoft+Dynamics+CRM+2011+Beta+Signup'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fmicrosoft-dynamics-crm-2011-beta-signup%2F' data-shr_title='Microsoft+Dynamics+CRM+2011+Beta+Signup'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fmicrosoft-dynamics-crm-2011-beta-signup%2F' data-shr_title='Microsoft+Dynamics+CRM+2011+Beta+Signup'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1700"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/09/microsoft-dynamics-crm-2011-beta-signup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A good read on 1 to 1 marketing</title>
		<link>http://www.furnemont.eu/2010/09/a-good-read-on-1-to-1-marketing/</link>
		<comments>http://www.furnemont.eu/2010/09/a-good-read-on-1-to-1-marketing/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 08:29:23 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[CRM in general]]></category>
		<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/09/a-good-read-on-1-to-1-marketing/</guid>
		<description><![CDATA[I&#8217;ve just rediscovered this book,]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I&#8217;ve just rediscovered this book, which was in my book library: http://www.amazon.com/gp/aw/d.html/ref=redir_mdp_mobile/186-8161065-2842614?a=038549369X<br />
If you can get a copy, it&#8217;s worth a reading!</p>
<div class="shr-publisher-168"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fa-good-read-on-1-to-1-marketing%2F' data-shr_title='A+good+read+on+1+to+1+marketing'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fa-good-read-on-1-to-1-marketing%2F' data-shr_title='A+good+read+on+1+to+1+marketing'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F09%2Fa-good-read-on-1-to-1-marketing%2F' data-shr_title='A+good+read+on+1+to+1+marketing'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1690"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/09/a-good-read-on-1-to-1-marketing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Boss is back!</title>
		<link>http://www.furnemont.eu/2010/08/the-boss-is-back/</link>
		<comments>http://www.furnemont.eu/2010/08/the-boss-is-back/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 17:02:49 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Mustang]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/08/the-boss-is-back/</guid>
		<description><![CDATA[Oh yeah baby, too bad]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Oh yeah baby, too bad for the taxes in Belgium <img src='http://www.furnemont.eu/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<div style="padding-bottom: 0px; margin: 0px auto; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:4f040bf2-5d89-41f7-a1e1-b69c7f5aaad2" class="wlWriterEditableSmartContent">
<div><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/jfVXBjeZBks&amp;hl=en"></param><embed src="http://www.youtube.com/v/jfVXBjeZBks&amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"></embed></object></div>
</div>
<div class="shr-publisher-167"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F08%2Fthe-boss-is-back%2F' data-shr_title='The+Boss+is+back%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F08%2Fthe-boss-is-back%2F' data-shr_title='The+Boss+is+back%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F08%2Fthe-boss-is-back%2F' data-shr_title='The+Boss+is+back%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1680"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/08/the-boss-is-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip: Use that default &#8216;name&#8217; field in custom entities!</title>
		<link>http://www.furnemont.eu/2010/08/tip-use-that-default-name-field-in-custom-entities/</link>
		<comments>http://www.furnemont.eu/2010/08/tip-use-that-default-name-field-in-custom-entities/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 11:00:00 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Customization]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/08/tip-use-that-default-name-field-in-custom-entities/</guid>
		<description><![CDATA[Tip on how to easily use the default attribute on custom entities]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Sometimes it is useful, sometimes it is not…when you create a new custom entity in Microsoft CRM, there is always one default field called ‘name’ which is a varchar field.</p>
<p>One will say that you can always make it ‘non-mandatory’ and remove it from the form, but the problem lies in the search view, where you will not be able to remove it!</p>
<p> <span id="more-166"></span>
<p>So here is a quick tip for those of you who want to keep this field in the default views but not on the form, by hiding it; the idea is very simple: suppose you have a picklist on the form, you can always retrieve it’s text to fill the ‘name’ field, therefore the text will be displayed in all the default views!</p>
<p>Here is an explanation of the example below: the new entity is used to track all the contacts’ income revenues, with the amount (money field) and the type of revenue (picklist).</p>
<ol>
<li>Create a new entity called ‘Income revenues’, with ‘User’ ownership
<ul>
<li>Modify the default attribute label from ‘Name’ to ‘Revenue type’ </li>
<li>Change its required level to ‘No constraint’ </li>
</ul>
</li>
<li>Save the new entity </li>
<li>Create a new attribute
<ul>
<li>Call it ‘Revenue type’ </li>
<li>Choose the picklist field type and add the appropriate values </li>
<li>Change its required level to either ‘Required’ or ‘Recommended’ </li>
</ul>
</li>
<li>On the default form:
<ul>
<li>Place the revenue type textbox next to the revenue type picklist </li>
<li>Disable the revenue type textbox </li>
<li>In the form properties, place this code in the OnLoad event </li>
</ul>
<pre class="code"><span style="color: green">/*hide field only*/
</span>crmForm.all.new_revenuetypetextfield.style.display = <span style="color: #a31515">'none'</span>;</pre>
<p>    <a href="http://11011.net/software/vspaste"></a></p>
<ul>
<li>In the picklist properties, place this code in the OnChange event </li>
</ul>
<pre class="code"><span style="color: blue">if </span>(crmForm.all.new_revenuetypelist != <span style="color: blue">null</span>)
{
   crmForm.all.new_revenuetypetextfield.DataValue = 
        crmForm.all.new_revenuetypelist.SelectedText;
}
<span style="color: blue">else
</span>{
   crmForm.all.new_revenuetypetextfield.DataValue = <span style="color: #a31515">&quot;&quot;</span>;
}

crmForm.all.new_revenuetypetextfield.ForceSubmit = <span style="color: blue">true</span>;</pre>
<p>    <a href="http://11011.net/software/vspaste"></a><a href="http://11011.net/software/vspaste"></a></li>
<li>Save &amp; test your form before publishing… if everything looks good, you’re all set!</li>
</ol>
<div class="shr-publisher-166"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F08%2Ftip-use-that-default-name-field-in-custom-entities%2F' data-shr_title='Tip%3A+Use+that+default+%26lsquo%3Bname%26rsquo%3B+field+in+custom+entities%21'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F08%2Ftip-use-that-default-name-field-in-custom-entities%2F' data-shr_title='Tip%3A+Use+that+default+%26lsquo%3Bname%26rsquo%3B+field+in+custom+entities%21'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F08%2Ftip-use-that-default-name-field-in-custom-entities%2F' data-shr_title='Tip%3A+Use+that+default+%26lsquo%3Bname%26rsquo%3B+field+in+custom+entities%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1670"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/08/tip-use-that-default-name-field-in-custom-entities/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Problem with Microsoft SQL Server Full-Text Search</title>
		<link>http://www.furnemont.eu/2010/07/problem-with-microsoft-sql-server-full-text-search/</link>
		<comments>http://www.furnemont.eu/2010/07/problem-with-microsoft-sql-server-full-text-search/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 05:00:00 +0000</pubDate>
		<dc:creator>BugsOli</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Dynamics CRM]]></category>
		<category><![CDATA[Microsoft CRM]]></category>

		<guid isPermaLink="false">http://www.furnemont.eu/2010/07/problem-with-microsoft-sql-server-full-text-search/</guid>
		<description><![CDATA[Problem with Microsoft SQL Server Full-Text Search and Microsoft CRM 4 after upgrade from SQL 2005 to 2008]]></description>
				<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>If, by any means, you have upgraded your Microsoft SQL Server 2005 to 2008, you’ve probably seen this: you want to install a brand new CRM 4 on your server and, just before the end of the wizard, the verification process hangs on the Microsoft SQL Server node with the following message:</p>
<p> <span id="more-165"></span>
<p>“The Full-Text Search service msftesql is not started on the SQL Server”</p>
<p>This is because the Full-Text Search service is called MSSQLFDLauncher in SQL Server 2008, and this is a known bug that has the following workaround:</p>
<ul>
<li>Connect to the SQL Server with the appropriate privileges and edit the registry with the ‘REGEDIT’ command</li>
<li>Go to HKEY_LOCAL_MACHINE<strong>|</strong>SYSTEM<strong>|</strong>CurrentControlSet<strong>|</strong>Services</li>
<li>Find the node “MSSQLFDLauncher” (with “$YOUR_INSTANCE” if you have more than one SQL Server instance)</li>
<li>Rename the node “msftesql” (+ “$YOUR_INSTANCE” if you have more than one SQL Server instance)</li>
<li><u>Restart</u> the SQL Server computer!</li>
<li>On the next restart, verify that the Full-Text Search service is correctly started</li>
<li>Install CRM normally</li>
<li>Once CRM is installed, rename the service “msftesql” to “MSSQLFDLauncher”</li>
<li>Restart the SQL Server computer</li>
<li>On the next restart, verify that the Full-Text Search service is correctly started</li>
</ul>
<p>Once all these steps are done, you’re all set!</p>
<p>Adapted from (in French): <a href="http://blogs.coforcert.com/dntamack/Lists/Billets/Post.aspx?ID=56">http://blogs.coforcert.com/dntamack/Lists/Billets/Post.aspx?ID=56</a></p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://www.furnemont.eu/wp-content/uploads/2010/07/image10.png" width="231" height="262" /></p>
<div class="shr-publisher-165"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F07%2Fproblem-with-microsoft-sql-server-full-text-search%2F' data-shr_title='Problem+with+Microsoft+SQL+Server+Full-Text+Search'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F07%2Fproblem-with-microsoft-sql-server-full-text-search%2F' data-shr_title='Problem+with+Microsoft+SQL+Server+Full-Text+Search'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fwww.furnemont.eu%2F2010%2F07%2Fproblem-with-microsoft-sql-server-full-text-search%2F' data-shr_title='Problem+with+Microsoft+SQL+Server+Full-Text+Search'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --><div class="rw-right"><div class="rw-ui-container rw-class-blog-post rw-urid-1660"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.furnemont.eu/2010/07/problem-with-microsoft-sql-server-full-text-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 2.213 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-04-19 14:25:16 -->
