<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://code.msdn.microsoft.com/rss.xsl"?><rss version="2.0"><channel><title>Plugin development and samples for Microsoft Dynamics CRM 4.0</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Project/ProjectRss.aspx</link><description>Sample Plugin for CRM 4.0   Tricks and Tweaks to Plugin development and plugin registration</description><item><title>NEW POST: Call Plugin after attaching file to case</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Thread/View.aspx?ThreadId=1907</link><description>&lt;div class="wikidoc"&gt;
Hi,&lt;br /&gt; &lt;br /&gt;How can I call Plugin after attaching a file to case without saving that case? When I attach a file to case, I want to call a plugin that will update the fields in table for that case id for an attachment. Plugin should get called before saving that case and update fields in table.&lt;br /&gt; &lt;br /&gt;Thanks.&lt;br /&gt;
&lt;/div&gt;</description><author>ssmitake</author><pubDate>Mon, 22 Jun 2009 20:51:05 GMT</pubDate><guid isPermaLink="false">NEW POST: Call Plugin after attaching file to case 20090622P</guid></item><item><title>NEW POST: Error in Updating Plugin Assembly using the new Plugin Registration Tool </title><link>http://code.msdn.microsoft.com/crmpluginsamples/Thread/View.aspx?ThreadId=1452</link><description>&lt;div class="wikidoc"&gt;
Hi ,&lt;br /&gt; &lt;br /&gt;I had deployed a Plugin successfully using the Plugin registration tool version 2.1 on my production server earlier.&lt;br /&gt;Now when I logged on the server to update the assembly dll , I am unable to do so.&lt;br /&gt;Even I am not able to unregister the assembly .&lt;br /&gt; &lt;br /&gt;I had registered the assembly on the database and also copied the files in the Server/bin directory of the CRm server.&lt;br /&gt; &lt;br /&gt;The error I get is as below:&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Unhandled Exception: System.Web.Services.Protocols.SoapException: Server was unable to process request.&lt;br /&gt;Detail: &amp;lt;detail&amp;gt;&amp;lt;error&amp;gt;&lt;br /&gt;  &amp;lt;code&amp;gt;0x80040216&amp;lt;/code&amp;gt;&lt;br /&gt;  &amp;lt;description&amp;gt;An unexpected error occurred.&amp;lt;/description&amp;gt;&lt;br /&gt;  &amp;lt;type&amp;gt;Platform&amp;lt;/type&amp;gt;&lt;br /&gt;&amp;lt;/error&amp;gt;&amp;lt;/detail&amp;gt;&lt;br /&gt;   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;br /&gt;   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;br /&gt;   at PluginRegistrationTool.CrmSdk.CrmService.Update(BusinessEntity entity)&lt;br /&gt;   at PluginRegistrationTool.RegistrationHelper.UpdateAssembly(CrmOrganization org, String pathToAssembly, CrmPluginAssembly assembly)&lt;br /&gt;   at PluginRegistrationTool.PluginRegistrationForm.btnRegister_Click(Object sender, EventArgs e)&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Please let me know if anyone has a solution as to how I can update the dll on the Production CRm server.&lt;br /&gt; &lt;br /&gt;Thanks In Advance&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>CapriS</author><pubDate>Tue, 17 Mar 2009 07:19:51 GMT</pubDate><guid isPermaLink="false">NEW POST: Error in Updating Plugin Assembly using the new Plugin Registration Tool  20090317A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Resource Page Description&lt;/b&gt;&lt;br /&gt;Sample Plugin for CRM 4.0&lt;br /&gt;Tricks and Tweaks to Plugin development and plugin registration
&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;LogContextToCRM&lt;/b&gt; plug-in logs all the Context to new_plugincontext entity&lt;/li&gt;&lt;li&gt;&lt;b&gt;AmIExecutingOffline&lt;/b&gt; plug-in displays a popup showing if plug-in is running in Offline or on the Server&lt;/li&gt;&lt;li&gt;&lt;b&gt;RetrieveEntityId&lt;/b&gt; retrieves the EntityId from the InputParameters property bag&lt;/li&gt;&lt;li&gt;&lt;b&gt;RetrieveIncidentIdOnCloseIncident&lt;/b&gt; gets the IncidentId from the InputParameters property bag&lt;/li&gt;&lt;li&gt;&lt;b&gt;PluginHelper.cs&lt;/b&gt; has all the libraries to help write plugins easier&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Plugin registration tool is located at &lt;a href="http://code.msdn.microsoft.com/crmplugin" class="externalLink"&gt;http://code.msdn.microsoft.com/crmplugin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;
&lt;/h2&gt; &lt;br /&gt;Links to some blog post related to crm plugin samples&lt;br /&gt;&lt;a href="http://blogs.msdn.com/crm/archive/2008/03/07/developing-plug-ins-for-crm-4-0.aspx" class="externalLink"&gt;http://blogs.msdn.com/crm/archive/2008/03/07/developing-plug-ins-for-crm-4-0.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>ajithg</author><pubDate>Thu, 15 Jan 2009 03:01:48 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20090115A</guid></item><item><title>UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=1213</link><description>Have you had problems accessing SQL database from Plugin&amp;#63; Do you want to know how to impersonate as Caller in the SQL instead of making calls as NetworkService&amp;#63;&lt;br /&gt;&lt;br /&gt;You can achieve this using the Execute AS command in SQL. You can read more at &amp;#91;url&amp;#58;http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;ms181362.aspx&amp;#93;&lt;br /&gt;Network Service should be granted as sysadmin role in the database in order for Impersonation to work&amp;#40;Security-&amp;#62;Logins-&amp;#62;NT AUTHORITY&amp;#92;NETWORK SERVICE&amp;#41;&lt;br /&gt;&lt;br /&gt;I have created a simple plugin to demonstrate this process. I do the following steps&lt;br /&gt;&amp;#35; Retrieve the Domain Name of the caller from the CRM using SDK. SystemUser entity in CRM stores this information, so you can call Retrieve on that entity to get the information&lt;br /&gt;&amp;#35; Create the SQL Connection to a custom database using the connection string specified in the configuration attribute of the step. You can use integrated auth or hard coded sql user as explained in the above section&lt;br /&gt;&amp;#35; Start the impersonation as the caller&lt;br /&gt;&amp;#35; Run the code that you would like to execute&lt;br /&gt;&amp;#35; Revert the sql context to the Networkservice&lt;br /&gt;&lt;br /&gt;public void Execute&amp;#40;IPluginExecutionContext context&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#47;&amp;#47; Step 1. Get the Domain Name of the Caller&lt;br /&gt;&amp;#9;ICrmService crmService &amp;#61; context.CreateCrmService&amp;#40;false&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;systemuser callingUser &amp;#61; &amp;#40;systemuser&amp;#41;crmService.Retrieve&amp;#40;EntityName.systemuser.ToString&amp;#40;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;, context.UserId, new ColumnSet&amp;#40;new string&amp;#91;&amp;#93; &amp;#123; &amp;#34;domainname&amp;#34; &amp;#125;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#47;&amp;#47; Step 2 . Connect using SQL Connection specified in the configuration of step&lt;br /&gt;&amp;#9;using &amp;#40;SqlConnection conn &amp;#61; new SqlConnection&amp;#40;m_connectionString&amp;#41;&amp;#41;&lt;br /&gt;&amp;#9;&amp;#123;&lt;br /&gt;&amp;#9;&amp;#9;conn.Open&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;SqlCommand comm &amp;#61; conn.CreateCommand&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Step3. Start Imersonation in the SQL&lt;br /&gt;&amp;#9;&amp;#9;comm.CommandText &amp;#61; &amp;#64;&amp;#34;Execute as Login&amp;#61;&amp;#39;&amp;#34; &amp;#43; callingUser.domainname &amp;#43;&amp;#34;&amp;#39;&amp;#59; &amp;#34;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Step 4. Run the Commands that need to be executed&lt;br /&gt;&amp;#9;&amp;#9;comm.CommandText &amp;#43;&amp;#61; &amp;#34;SELECT SUSER_NAME&amp;#40;&amp;#41;&amp;#59; &amp;#34;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Step 5. Revert the Context back to the NetworkService context in the SQL&lt;br /&gt;&amp;#9;&amp;#9;comm.CommandText &amp;#43;&amp;#61; &amp;#34;revert&amp;#59;&amp;#34;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;comm.CommandType &amp;#61; System.Data.CommandType.Text&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#47;&amp;#47; For Demo, I am displaying the username it is running as&lt;br /&gt;&amp;#9;&amp;#9;throw new InvalidPluginExecutionException&amp;#40; comm.ExecuteScalar&amp;#40;&amp;#41;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author></author><pubDate>Sat, 28 Jun 2008 03:17:58 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008) 20080628A</guid></item><item><title>UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=1213</link><description>Have you had problems accessing SQL database from Plugin&amp;#63; Do you want to know how to impersonate as Caller in the SQL instead of making calls as NetworkService&amp;#63;&lt;br /&gt;&lt;br /&gt;You can achieve this using the Execute AS command in SQL. You can read more at http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;ms181362.aspx &lt;br /&gt;Network Service should be granted as sysadmin role in the database in order for Impersonation to work&amp;#40;Security-&amp;#62;Logins-&amp;#62;NT AUTHORITY&amp;#92;NETWORK SERVICE&amp;#41;</description><author></author><pubDate>Sat, 28 Jun 2008 03:14:44 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008) 20080628A</guid></item><item><title>UPDATED RELEASE: Sample Plugins (Feb 29, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=443</link><description>&amp;#33;&amp;#33; Plugin Samples Version 1.0&lt;br /&gt;&lt;br /&gt;&amp;#42; &amp;#42;LogContextToCRM&amp;#42; plug-in logs all the Context to new_plugincontext entity&lt;br /&gt;&amp;#42; &amp;#42;AmIExecutingOffline&amp;#42; plug-in displays a popup showing if plug-in is running in Offline or on the Server&lt;br /&gt;&amp;#42; &amp;#42;RetrieveEntityId&amp;#42; retrieves the EntityId from the InputParameters property bag&lt;br /&gt;&amp;#42; &amp;#42;RetrieveIncidentIdOnCloseIncident&amp;#42; gets the IncidentId from the InputParameters property bag&lt;br /&gt;&amp;#42; &amp;#42;PluginHelper.cs&amp;#42; has all the libraries to help write plugins easier&lt;br /&gt; - &amp;#43;Ajith Gande&amp;#43;&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Simple conflict resolution for requests played back by an offline client&lt;br /&gt;&lt;br /&gt;&amp;#42; A plugin now knows if a request is coming from an offline queue playback and the timestamp of when it was added to the offline queue. The sample plugin uses the timestamp to determine if there is a conflict i.e. the record has been changed on the server after that time and if so, rejects the request from the offline queue&amp;#8221;.&lt;br /&gt; - &amp;#43;Navin Thadani&amp;#43;&lt;br /&gt;</description><author></author><pubDate>Sat, 28 Jun 2008 03:13:48 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Sample Plugins (Feb 29, 2008) 20080628A</guid></item><item><title>UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=1213</link><description>Have you had problems accessing SQL database from Plugin&amp;#63; Do you want to know how to impersonate as Caller in the SQL instead of making calls as NetworkService&amp;#63;&lt;br /&gt;&lt;br /&gt;You can achieve this using the Execute AS command in SQL. You can read more at http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;ms181362.aspx &lt;br /&gt;Network Service should be granted as sysadmin role in the database in order for Impersonation to work&amp;#40;Security-&amp;#62;Logins-&amp;#62;NT AUTHORITY&amp;#92;NETWORK SERVICE&amp;#41;</description><author></author><pubDate>Sat, 28 Jun 2008 03:13:30 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008) 20080628A</guid></item><item><title>UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=1213</link><description>Have you had problems accessing SQL database from Plugin&amp;#63; Do you want to know how to impersonate as Caller in the SQL instead of making calls as NetworkService&amp;#63;&lt;br /&gt;&lt;br /&gt;You can achieve this using the Execute AS command in SQL. You can read more at http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;ms181362.aspx &lt;br /&gt;Network Service should be granted as sysadmin role in the database in order for Impersonation to work&amp;#40;Security-&amp;#62;Logins-&amp;#62;NT AUTHORITY&amp;#92;NETWORK SERVICE&amp;#41;</description><author></author><pubDate>Sat, 28 Jun 2008 03:13:17 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008) 20080628A</guid></item><item><title>CREATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=1213</link><description>Have you had problems accessing SQL database from Plugin&amp;#63; Do you want to know how to impersonate as Caller in the SQL instead of making calls as NetworkService&amp;#63;&lt;br /&gt;&lt;br /&gt;You can achieve this using the Execute AS command in SQL. You can read more at http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;ms181362.aspx &lt;br /&gt;Network Service should be granted as sysadmin role in the database in order for Impersonation to work&amp;#40;Security-&amp;#62;Logins-&amp;#62;NT AUTHORITY&amp;#92;NETWORK SERVICE&amp;#41;</description><author></author><pubDate>Sat, 28 Jun 2008 03:12:53 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: Access SQL Database from Plugin (Jun 27, 2008) 20080628A</guid></item><item><title>UPDATED RELEASE: Sample Plugins (Feb 29, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=443</link><description>&amp;#33;&amp;#33; Plugin Samples Version 1.0&lt;br /&gt;&lt;br /&gt;&amp;#42; &amp;#42;LogContextToCRM&amp;#42; plug-in logs all the Context to new_plugincontext entity&lt;br /&gt;&amp;#42; &amp;#42;AmIExecutingOffline&amp;#42; plug-in displays a popup showing if plug-in is running in Offline or on the Server&lt;br /&gt;&amp;#42; &amp;#42;RetrieveEntityId&amp;#42; retrieves the EntityId from the InputParameters property bag&lt;br /&gt;&amp;#42; &amp;#42;RetrieveIncidentIdOnCloseIncident&amp;#42; gets the IncidentId from the InputParameters property bag&lt;br /&gt;&amp;#42; &amp;#42;PluginHelper.cs&amp;#42; has all the libraries to help write plugins easier&lt;br /&gt; - &amp;#43;Ajith Gande&amp;#43;&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Simple conflict resolution for requests played back by an offline client&lt;br /&gt;&lt;br /&gt;&amp;#42; A plugin now knows if a request is coming from an offline queue playback and the timestamp of when it was added to the offline queue. The sample plugin uses the timestamp to determine if there is a conflict i.e. the record has been changed on the server after that time and if so, rejects the request from the offline queue&amp;#8221;.&lt;br /&gt; - &amp;#43;Navin Thadani&amp;#43;&lt;br /&gt;</description><author></author><pubDate>Fri, 07 Mar 2008 15:57:04 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Sample Plugins (Feb 29, 2008) 20080307P</guid></item><item><title>UPDATED RELEASE: Sample Plugins (Feb 29, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=443</link><description>&amp;#33;&amp;#33; Plugin Samples Version 1.0&lt;br /&gt;&lt;br /&gt;&amp;#42; &amp;#42;LogContextToCRM&amp;#42; plug-in logs all the Context to new_plugincontext entity&lt;br /&gt;&amp;#42; &amp;#42;AmIExecutingOffline&amp;#42; plug-in displays a popup showing if plug-in is running in Offline or on the Server&lt;br /&gt;&amp;#42; &amp;#42;RetrieveEntityId&amp;#42; retrieves the EntityId from the InputParameters property bag&lt;br /&gt;&amp;#42; &amp;#42;RetrieveIncidentIdOnCloseIncident&amp;#42; gets the IncidentId from the InputParameters property bag&lt;br /&gt;&amp;#42; &amp;#42;PluginHelper.cs&amp;#42; has all the libraries to help write plugins easier&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Simple conflict resolution for requests played back by an offline client&lt;br /&gt;&lt;br /&gt;&amp;#42; A plugin now knows if a request is coming from an offline queue playback and the timestamp of when it was added to the offline queue. The sample plugin uses the timestamp to determine if there is a conflict i.e. the record has been changed on the server after that time and if so, rejects the request from the offline queue&amp;#8221;.&lt;br /&gt; - &amp;#43;Navin Thadani&amp;#43;&lt;br /&gt;</description><author></author><pubDate>Fri, 07 Mar 2008 15:56:31 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Sample Plugins (Feb 29, 2008) 20080307P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Resource Page Description&lt;/b&gt;&lt;br /&gt;Sample Plugin for CRM 4.0&lt;br /&gt;Tricks and Tweaks to Plugin development and plugin registration
&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;LogContextToCRM&lt;/b&gt; plug-in logs all the Context to new_plugincontext entity&lt;/li&gt;&lt;li&gt;&lt;b&gt;AmIExecutingOffline&lt;/b&gt; plug-in displays a popup showing if plug-in is running in Offline or on the Server&lt;/li&gt;&lt;li&gt;&lt;b&gt;RetrieveEntityId&lt;/b&gt; retrieves the EntityId from the InputParameters property bag&lt;/li&gt;&lt;li&gt;&lt;b&gt;RetrieveIncidentIdOnCloseIncident&lt;/b&gt; gets the IncidentId from the InputParameters property bag&lt;/li&gt;&lt;li&gt;&lt;b&gt;PluginHelper.cs&lt;/b&gt; has all the libraries to help write plugins easier&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Plugin registration tool is located at &lt;a href="http://code.msdn.microsoft.com/crmplugin" class="externalLink"&gt;http://code.msdn.microsoft.com/crmplugin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;/div&gt;</description><author>ajithg</author><pubDate>Fri, 07 Mar 2008 12:54:48 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080307P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Resource Page Description&lt;/b&gt;&lt;br /&gt;Sample Plugin for CRM 4.0&lt;br /&gt;Tricks and Tweaks to Plugin development and plugin registration
&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;LogContextToCRM plug-in logs all the Context to new_plugincontext entity&lt;/li&gt;&lt;li&gt;AmIExecutingOffline plug-in displays a popup showing if plug-in is running in Offline or on the Server&lt;/li&gt;&lt;li&gt;RetrieveEntityId retrieves the EntityId from the InputParameters property bag&lt;/li&gt;&lt;li&gt;RetrieveIncidentIdOnCloseIncident gets the IncidentId from the InputParameters property bag&lt;/li&gt;&lt;li&gt;PluginHelper.cs has all the libraries to help write plugins easier&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Plugin registration tool is located at &lt;a href="http://code.msdn.microsoft.com/crmplugin" class="externalLink"&gt;http://code.msdn.microsoft.com/crmplugin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;/div&gt;</description><author>ajithg</author><pubDate>Fri, 07 Mar 2008 12:54:01 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080307P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Resource Page Description&lt;/b&gt;&lt;br /&gt;How to develop a plugin&amp;#63;&lt;br /&gt; - Tips &amp;#38; Tricks&lt;br /&gt;Sample plugins&lt;br /&gt;
&lt;br /&gt;&lt;h2&gt;
Plugin registration tool is located at &lt;a href="http://code.msdn.microsoft.com/crmplugin" class="externalLink"&gt;http://code.msdn.microsoft.com/crmplugin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;/div&gt;</description><author>ajithg</author><pubDate>Wed, 05 Mar 2008 04:21:29 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080305A</guid></item><item><title>UPDATED RELEASE: Sample Plugins (Feb 29, 2008)</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=443</link><description>&amp;#33;&amp;#33; Simple conflict resolution for requests played back by an offline client&lt;br /&gt;&lt;br /&gt;&amp;#42; A plugin now knows if a request is coming from an offline queue playback and the timestamp of when it was added to the offline queue. The sample plugin uses the timestamp to determine if there is a conflict i.e. the record has been changed on the server after that time and if so, rejects the request from the offline queue&amp;#8221;.&lt;br /&gt; - &amp;#43;Navin Thadani&amp;#43;&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Coming soon &amp;#33;&amp;#33;&amp;#33;&lt;br /&gt;1. How to read EntityId in the Plugin for most of the messages&amp;#63;&lt;br /&gt;2. How to use pass data to plugin via registration&amp;#63;&lt;br /&gt;3. How to use Filtered Views from Plugins&amp;#63;&lt;br /&gt;</description><author></author><pubDate>Sat, 01 Mar 2008 02:02:39 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Sample Plugins (Feb 29, 2008) 20080301A</guid></item><item><title>UPDATED RELEASE: Sample Plugins</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=443</link><description>&amp;#33; Simple conflict resolution for requests played back by an offline client&lt;br /&gt;&lt;br /&gt;A plugin now knows if a request is coming from an offline queue playback and the timestamp of when it was added to the offline queue. The sample plugin uses the timestamp to determine if there is a conflict i.e. the record has been changed on the server after that time and if so, rejects the request from the offline queue&amp;#8221;.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Coming soon &amp;#33;&amp;#33;&amp;#33;&lt;br /&gt;1. How to read EntityId in the Plugin for most of the messages&amp;#63;&lt;br /&gt;2. How to use pass data to plugin via registration&amp;#63;&lt;br /&gt;3. How to use Filtered Views from Plugins&amp;#63;&lt;br /&gt;</description><author></author><pubDate>Sat, 01 Mar 2008 02:01:34 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Sample Plugins 20080301A</guid></item><item><title>UPDATED RELEASE: Sample Plugins</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=443</link><description>&amp;#33; Simple conflict resolution for requests played back by an offline client&lt;br /&gt;&lt;br /&gt;A plugin now knows if a request is coming from an offline queue playback and the timestamp of when it was added to the offline queue. The sample plugin uses the timestamp to determine if there is a conflict i.e. the record has been changed on the server after that time and if so, rejects the request from the offline queue&amp;#8221;.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Coming soon &amp;#33;&amp;#33;&amp;#33;&lt;br /&gt;1. How to read EntityId in the Plugin for most of the messages&amp;#63;&lt;br /&gt;2. How to use pass data to plugin via registration&amp;#63;&lt;br /&gt;3. How to use Filtered Views from Plugins&amp;#63;&lt;br /&gt;</description><author></author><pubDate>Sat, 01 Mar 2008 02:01:17 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Sample Plugins 20080301A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Resource Page Description&lt;/b&gt;&lt;br /&gt;How to develop a plugin&amp;#63;&lt;br /&gt; - Tips &amp;#38; Tricks&lt;br /&gt;Sample plugins&lt;br /&gt;
&lt;br /&gt;Plugin registration tool is located at &lt;a href="http://code.msdn.microsoft.com/crmplugin" class="externalLink"&gt;http://code.msdn.microsoft.com/crmplugin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>ajithg</author><pubDate>Fri, 29 Feb 2008 19:50:21 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080229P</guid></item><item><title>CREATED RELEASE: Sample Plugins for reading entity id</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Release/ProjectReleases.aspx?ReleaseId=443</link><description>1. How to read EntityId in the Plugin for most of the messages&amp;#63;&lt;br /&gt;2. How to use pass data to plugin via registration&amp;#63;&lt;br /&gt;3. How to use Filtered Views from Plugins&amp;#63;&lt;br /&gt;</description><author></author><pubDate>Thu, 21 Feb 2008 22:13:55 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: Sample Plugins for reading entity id 20080221P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/crmpluginsamples/Wiki/View.aspx?title=Home&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Resource Page Description&lt;/b&gt;&lt;br /&gt;How to develop a plugin&amp;#63;&lt;br /&gt; - Tips &amp;#38; Tricks&lt;br /&gt;Sample plugins&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description><author>ajithg</author><pubDate>Thu, 21 Feb 2008 22:10:57 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080221P</guid></item></channel></rss>