<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'>
<id>tag:blogger.com,1999:blog-7000017988547035680</id>
<updated>2010-03-23T22:03:02.798Z</updated><title type='text'>CRM Musings</title><subtitle type='html'>CRM news and views from Simon Jackson</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/blogger.html'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://feeds.feedburner.com/SoftwareDevelopmentMusings?format=xml'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage>
<entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-9943803339849883185</id><published>2010-07-23T22:03:00.000Z</published><updated>2010-07-23T22:03:02.804Z</updated><title type='text'>RSS Feed Moved</title><content type='html'>
Feed Moved:  Please update feed from link at http://blog.simonjackson.info.
</content><link rel='related' href='http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=584531fe-796e-4ffe-8881-65c1f94207ae' title='CRM Sharing Data across Microsoft Dynamics CRM Deployments'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/1943803339849883185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=1943803339849883185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1943803339849883185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1943803339849883185'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/crm-sharing-data-across-microsoft.html' title='CRM Sharing Data across Microsoft Dynamics CRM Deployments'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-3519465198944623088</id><published>2010-03-18T10:28:00.000Z</published><updated>2010-03-18T10:28:36.384Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Import'/><category scheme='http://www.blogger.com/atom/ns#' term='Exception'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>CRM 4 Import Customisations error "There is insufficient system memory in resource pool 'internal' to run this query."</title><content type='html'>I ran into the below error when importing customisations on to a new CRM 4 install, which had Server 2008 R2 and SQL 2008 on a virtual server with CRM Rollup 9 applied. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;There is insufficient system memory in resource pool 'internal' to run this query&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Googling only confused me as I develeved into many SQL fourms. &amp;nbsp;In the end the solution was really simple. &amp;nbsp;I'd inadvertantly only allocated 1GB of memory to the machine. &amp;nbsp;I doubled the memery and the import was sucessfull.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Prior to this issue, I also got the below error during the import:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Could not import a Saved Query {5ADB1DD1-2F93-4C65-AC0A-2372E3EAD103} for ObjectTypeCode 9100 because this is a system Saved Query. The Entity you are trying to import is not the same as the one existing in the database even though it has the same name.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Entity 9100 is the report entity, omitting the entity from the import stopped the issue, but I assume this means that you cannot import the report entity from Rollup 7 customisations export to Rollup 9 CRM instance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-3519465198944623088?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/3519465198944623088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=3519465198944623088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/3519465198944623088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/3519465198944623088'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/crm-4-import-customisations-error-there.html' title='CRM 4 Import Customisations error &quot;There is insufficient system memory in resource pool &apos;internal&apos; to run this query.&quot;'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-4901752138604753086</id><published>2010-03-17T09:30:00.002Z</published><updated>2010-03-17T09:38:02.187Z</updated><title type='text'>CRM 4 Import Export Customisations cool tool</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I've lost day working out why my CRM customisations have been corrupted because a custom attribute has changed datatype. I've spent hours working out what the exact customisation need to be exported to bring UAT in line with Dev. I've gone cross eyed deleting attributes that are no longer used.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;But no more this &lt;a href="http://blog.halan.se/post/CRM-Configuration-Manager.aspx"&gt;&lt;span class="Apple-style-span"&gt;tool&lt;/span&gt;&lt;/a&gt; solves these problems and more, totally awesome, look at at it's features:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 17px;"&gt;&lt;span class="Apple-style-span" style="font-family: Times;"&gt;&lt;span class="Apple-style-span" style="font-size: medium; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; line-height: 17px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Console Application&lt;/strong&gt;, Making it possible to import and export inside nant, msbuild or bat scripts, for example to export the customization each night and “check in”&lt;em&gt;&amp;nbsp;&lt;/em&gt;to a source code repository, enabling version control of the customizations. Also to import customizations directly from a MSI installation.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Export Only Modifications&lt;/strong&gt;, You can export a “clean” customization xml in the beginning of a project and save it in the application folder as “CleanCustomization.xml”, the application will compare the current state and only export the entities that are modified or added.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Remove Deleted Attributes&lt;/strong&gt;, This feature only applies when importing a customization. When this operation is selected one will be prompted with all attributes that has been removed in the new customization, given the possibility to remove them from the CRM instance.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Changes Attribute data type&lt;/strong&gt;, When changing an attributes data type and then trying to import it to a CRM instance that still contains the old attribute would normally generate an error. This is now handled and the data inside the old attribute will be converted to the new data type (when possible and logical)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Publish&lt;/strong&gt;, You can publish the customizations, can also be used at it’s own, for example assigning it to a system wide hotkey for fast access.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Node &amp;amp; Entity Selection&lt;/strong&gt;, you can select what nodes and entities to import and export. For example only export ISV Config or the Site Map. Possible items to select,&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; line-height: 17px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;table border="0" cellpadding="2" cellspacing="0" style="width: 604px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="113"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Entities&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="132"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Workflows&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="180"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Roles&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="177"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ISV Config&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="113"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sitemap&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="132"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Templates&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="180"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Calendar Settings&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="177"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;General Settings&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="113"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Email Settings&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="132"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Marketing Settings&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="180"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Outlook Synchronization&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="177"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AutoNumbering Settings&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="113"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;And more…&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="132"&gt;&lt;/td&gt;&lt;td valign="top" width="180"&gt;&lt;/td&gt;&lt;td valign="top" width="177"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; line-height: 17px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; line-height: 17px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; line-height: 17px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; line-height: 17px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; line-height: 17px;"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;JavaScript Export/Import&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;, This allows you to extract JavaScript to a local folder, where you can work in a proper script editor, and later import them back. You can also create new javascripts in the same folder, just follow the name convention and they will also be imported to the correct entity / event.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;Zip support&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;, Now all features works with zipped customizations&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;Include Related Entities&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;, This features will automatically include related entities to the selected entities, so their relationships are exported and can be reviewed for&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://blog.halan.se/post/Changing-Relationship-Lookup-attribute-name.aspx" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: url(http://blog.halan.se/pics/remote.gif); background-position: 100% 0%; background-repeat: no-repeat; padding-right: 10px; text-decoration: none; white-space: nowrap;" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;conflicts&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;. This is recommended during the development process when relationships may change.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;Publish Workflows&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span"&gt;, Publish operation now also publishes workflows&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-4901752138604753086?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.halan.se/post/CRM-Configuration-Manager.aspx' title='CRM 4 Import Export Customisations cool tool'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/4901752138604753086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=4901752138604753086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4901752138604753086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4901752138604753086'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/crm-4-import-export-customisations-cool.html' title='CRM 4 Import Export Customisations cool tool'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-8607000614326553583</id><published>2010-03-16T09:41:00.001Z</published><updated>2010-03-16T09:43:24.169Z</updated><title type='text'>CRM Identify which fields are not being used for any given crm entity</title><content type='html'>We're currently working with a customer who has a CRM 4 deployment that is deemed a failure in the business (this was implemented by another CRM ISV). One of the activities we are undertaking is to simplify the CRM forms as much as possible.&lt;br /&gt;&lt;br /&gt;David Jennaway has a small &lt;a href="http://mscrmuk.blogspot.com/2010/03/bit-of-sql-finding-crm-attributes-with.html"&gt;post on identifing unused fields&lt;/a&gt;&amp;nbsp;that will be really useful to us to provide evidence which fields are not being used, now if we could just get that data cross referenced with the fields that are actually on the forms or in views....&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Trebuchet, 'Trebuchet MS', Arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;Use the following SQL to create the stored procedure:&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;create proc pExcCheckColumnValues @entityName nvarchar(64), @customOnly bit = 0, @maxThreshold int = null&lt;br /&gt;as&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Trebuchet, 'Trebuchet MS', Arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;declare @attrName nvarchar(50), @sql nvarchar(1024)&lt;br /&gt;declare cur cursor fast_forward for&lt;br /&gt;select a.name from attribute a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Trebuchet, 'Trebuchet MS', Arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;join entity e on a.entityid = e.entityid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;where e.name = @entityName and a.IsLogical = 0&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;and ((@customOnly = 1 and a.IsCustomField = 1) or isnull(@customOnly, 0) = 0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Trebuchet, 'Trebuchet MS', Arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;create table #tmp (EntityName nvarchar(64), AttributeName nvarchar(50), ValueCount int)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Trebuchet, 'Trebuchet MS', Arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;open cur&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;fetch next from cur into @attrName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;while @@fetch_status = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;&amp;nbsp;set @sql = 'insert #tmp select ''' + @entityName + ''', ''' + @attrName + ''', count(*) from Filtered' + @entityName + ' where ' + @attrName + ' is not null'&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;+ case when @maxThreshold is not null then ' having count(*) &amp;lt;= ' + cast(@maxThreshold as nvarchar) else '' end&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;&amp;nbsp;exec (@sql)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;&amp;nbsp;fetch next from cur into @attrName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Trebuchet, 'Trebuchet MS', Arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;close cur&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;deallocate cur&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; font-size: 11px;"&gt;select * from #tmp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 11px;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 11px;"&gt;&lt;/span&gt;&lt;br /&gt;To give an example of how to use the procedure, the following will return all custom attributes of the account, where no more than 10 account records have a value in this field:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 11px;"&gt;&lt;span style="font-family: 'courier new';"&gt;exec pExcCheckColumnValues @entityName = 'account', @customOnly = 1, @maxThreshold = 10&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-8607000614326553583?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://mscrmuk.blogspot.com/2010/03/bit-of-sql-finding-crm-attributes-with.html' title='CRM Identify which fields are not being used for any given crm entity'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/8607000614326553583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=8607000614326553583' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/8607000614326553583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/8607000614326553583'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/crm-identify-which-fields-are-not-being.html' title='CRM Identify which fields are not being used for any given crm entity'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-7585828697177139317</id><published>2010-03-15T15:49:00.000Z</published><updated>2010-03-15T15:49:47.770Z</updated><title type='text'>CRM 4 : Lookup name label not being displayed</title><content type='html'>I've had an issue for the last couple of weeks that has been difficult to resolve.  When users were trying to populate  certain lookups on some CRM forms the name was not being displayed for the selected record in the lookup records dialog, but the lookups could be populated from the form assistant. After disabling all javascript I was a bit stumped to see the issue was still present.&lt;br /&gt;&lt;br /&gt;I've been using a tool called &lt;a href="http://mscrmtools.blogspot.com/2009/01/new-tool-view-layout-replicator.html"&gt;CRM View Layout replicator&lt;/a&gt; to copy the columns in one view to other views.  It turns out there is a bug in this tool and when it updates the "lookup view" it updated the preview attribute in the customisation xml, it set it's value to 1 instead of keeping it's origin value of 0.  When you select an entity form the lookup records dialog, the system uses the view where preview value is 0 to find the name of a selected entity and populate it in to the lookup on the form.&lt;br /&gt;&lt;br /&gt;The fix is to export the entity xml and update preview="1" to preview="0" for all the lookup views (1 per entity) that the tool has been used against and then reimport the xml again.&lt;br /&gt;&lt;br /&gt;Here's an example where the preview attribute is incorrect:&lt;br /&gt;&lt;script class="brush: xml" type="syntaxhighlighter"&gt;&lt;![CDATA[       &lt;savedquery&gt;          ...            &lt;layoutxml&gt;              &lt;grid icon="1" jump="sj_name" name="resultset" object="10020" preview="1" select="1"&gt;             ...              &lt;/grid&gt;            &lt;/layoutxml&gt;            &lt;customizationlevel formattedvalue="1"&gt;1&lt;/customizationlevel&gt;            &lt;querytype formattedvalue="64"&gt;64&lt;/querytype&gt;            &lt;fetchxml&gt;              ...            &lt;/fetchxml&gt;            &lt;localizednames&gt;              &lt;localizedname description="MyEntityName Lookup View" languagecode="1033"&gt;            &lt;/localizedname&gt;&lt;/localizednames&gt;         &lt;/savedquery&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-7585828697177139317?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/7585828697177139317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=7585828697177139317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/7585828697177139317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/7585828697177139317'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/crm-4-lookup-name-label-not-being.html' title='CRM 4 : Lookup name label not being displayed'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-6429689553651655419</id><published>2010-03-12T21:10:00.000Z</published><updated>2010-03-12T21:10:42.516Z</updated><title type='text'>CRM 4 Import Organisation fails</title><content type='html'>Today I had an issue where I could not import an organisation into CRM4, I could not get past the map user screen.  I found a good &lt;a href="http://bit.ly/cz70MF"&gt;forum post&lt;/a&gt; but it still didn't resolve the issue my issue. &lt;br /&gt;&lt;br /&gt;The import wizard needs the setup user mapped, the setup user is the user that originally created the organisation, if the user has been disabled, or CRM system administrator rights removed then there can be problems during the import process, the below script put's things right. In fact it can even change the setup user if required. &lt;br /&gt;&lt;br /&gt;This script will just list all the users and their security roles, &lt;br /&gt;&lt;br /&gt;&lt;script class="brush: sql" type="syntaxhighlighter"&gt;&lt;![CDATA[--Listing Users and with their rolesSELECT    SU.DomainName ,SU.SetupUser ,SU.IsDisabled ,SU.AccessMode ,SUR.SystemUserId ,RB.Name [Role] ,SUR.RoleIdFROM  RoleBase RB INNER JOIN SystemUserRoles SUR on RB.RoleId = SUR.RoleId  INNER JOIN SystemUser SU ON SU.SystemUserId = SUR.SystemUserId--WHERE RB.Name = 'System Administrator'ORDER BY  -- Sort SysAdmins to the top CASE RB.Name WHEN 'System Administrator' THEN '!' ELSE RB.Name END, DomainName]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Use this script to set a user as the setup user, just update the set statement with the domain user name and run against the database you want to import.&lt;br /&gt;&lt;br /&gt; SET @NewSetupUserDomainName = 'CRM\Administrator'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script class="brush: sql" type="syntaxhighlighter"&gt;&lt;![CDATA[DECLARE @NewSetupUserDomainName NVARCHAR(255),  @NewSetupUserId UniqueIdentifier,  @SystemAdminRoleId UniqueIdentifier  --I've not tested this selecting a setup user that does not belong to the root business unit.SET @NewSetupUserDomainName = 'CRM\Administrator'SELECT @NewSetupUserId=SystemUserId FROM   SystemUser WHERE  DomainName=@NewSetupUserDomainNameIF (@NewSetupUserId IS NULL)  RAISERROR (N'Unable to find user %s.',            18, -- Severity,           1, -- State,           @NewSetupUserDomainName); ELSE BEGIN SELECT @SystemAdminRoleId=RoleID  FROM   SystemUser U INNER JOIN [Role] R ON R.BusinessUnitId=U.BusinessUnitId  WHERE R.Name = 'System Administrator' --remove all setup user(s) UPDATE SystemUser SET SetupUser = 0  --Mark our user as the setup user UPDATE SystemUser  SET  SetupUser  =1  ,IsDisabled =0  ,AccessMode =0 WHERE    SystemUserID = @NewSetupUserId   --Make sure that user has the system admin role IF (NOT EXISTS(SELECT * FROM SystemUserRoles WHERE SystemUserId=@NewSetupUserId AND RoleId=@SystemAdminRoleId)) BEGIN  INSERT SystemUserRoles (SystemUserRoleId,SystemUserId,RoleId)  SELECT NEWID()     ,@NewSetupUserId     ,@SystemAdminRoleId  PRINT 'Added CRM Sys Admin role to user' ENDEND]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-6429689553651655419?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/6429689553651655419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=6429689553651655419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/6429689553651655419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/6429689553651655419'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/crm-4-import-organisation-fails.html' title='CRM 4 Import Organisation fails'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-1391300019760482208</id><published>2010-03-12T14:06:00.000Z</published><updated>2010-03-12T14:06:01.515Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>How to change the user name and the logon name for a user record in Microsoft Dynamics CRM</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 16px;"&gt;If you change the logon name of a Microsoft Dynamics CRM user record in Active Directory, Microsoft Dynamics CRM can no longer use the logon name to locate the user in Active Directory. Therefore, the Microsoft Dynamics CRM user cannot log on to Microsoft Dynamics CRM.&lt;br style="-webkit-box-sizing: border-box;" /&gt;&lt;br style="-webkit-box-sizing: border-box;" /&gt;To make sure that a user can successfully log on to Microsoft Dynamics CRM, change the user name and the logon name for the user record in Microsoft Dynamics CRM. To do this, follow the appropriate steps.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; line-height: 16px;"&gt;Microsoft Dynamics CRM 4.0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;ol style="-webkit-box-sizing: border-box; position: relative;"&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;Modify the user account in Active Directory. For example, change the user name, and then change the logon name.&lt;/li&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;Open Microsoft Dynamics CRM 4.0 as a System Administrator user.&lt;/li&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;Click&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Settings&lt;/strong&gt;, click&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Administration&lt;/strong&gt;, click&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Users&lt;/strong&gt;, and then open the user record that you want to change.&lt;/li&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;In the&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Domain Logon Name&lt;/strong&gt;&amp;nbsp;box, type an Active Directory user account that is not used by a Microsoft Dynamics CRM 4.0 user record.&lt;br style="-webkit-box-sizing: border-box;" /&gt;&lt;br style="-webkit-box-sizing: border-box;" /&gt;&lt;b style="-webkit-box-sizing: border-box;"&gt;Note&lt;/b&gt; If all the Active Directory user accounts are used by Microsoft Dynamics CRM 4.0 user records, create a temporary Active Directory user account.&lt;/li&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;Click&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Save&lt;/strong&gt;.&lt;/li&gt;&lt;li style="-webkit-box-sizing: border-box; position: relative;"&gt;In the&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Domain Logon Name&lt;/strong&gt;&amp;nbsp;box, type the Active Directory user account. Then, click&amp;nbsp;&lt;strong class="uiterm" style="-webkit-box-sizing: border-box;"&gt;Save and Close&lt;/strong&gt;.&amp;nbsp;&lt;br style="-webkit-box-sizing: border-box;" /&gt;&lt;br style="-webkit-box-sizing: border-box;" /&gt;&lt;b style="-webkit-box-sizing: border-box;"&gt;Note&lt;/b&gt;&amp;nbsp;The Active Directory user account that you type in this step is the account that is used by a Microsoft Dynamics CRM 4.0 user record. The Microsoft Dynamics CRM 4.0 user record is the record for which you want to change the user name and the logon name in Microsoft Dynamics CRM 4.0.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Source:&amp;nbsp;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: 'Lucida Grande', Arial, Helvetica, sans-serif; font-size: 13px; line-height: normal; white-space: pre;"&gt;&lt;a href="http://support.microsoft.com/kb/930853"&gt;http://support.microsoft.com/kb/930853&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-1391300019760482208?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://support.microsoft.com/kb/930853' title='How to change the user name and the logon name for a user record in Microsoft Dynamics CRM'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/1391300019760482208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=1391300019760482208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1391300019760482208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1391300019760482208'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/how-to-change-user-name-and-logon-name.html' title='How to change the user name and the logon name for a user record in Microsoft Dynamics CRM'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-5003785701990001548</id><published>2010-03-09T20:04:00.000Z</published><updated>2010-03-09T20:04:46.140Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><title type='text'>Great Book Professional Enterprise.NET (Wrox Programmer to Programmer)</title><content type='html'>I've just finished reading this book and thought I'd share my thoughts.  &lt;br /&gt;&lt;br /&gt;Having read Head First Design patterns, (which I think has a unique and great way of teaching patterns), I still couldn't manage to get the patterns in my code. This book however, has finally allowed me to clearly identify and implement some useful patterns in my code, some I was already using but didn't realise! It offers clear explanations of why and how to organise your code into a clear and testable manor. The book has three distinct sections with a total of 12 chapters and presented in a good logical order. &lt;br /&gt;&lt;br /&gt;Part I, an Introduction to Practical Enterprise Development, covers the question why and what enterprise architecture and development is, these chapters cover the concepts of enterprise architecture and development talking about Reliability, Flexibility, Separations of Concerns, reusability and maintainability. &lt;br /&gt;&lt;br /&gt;Part II, the New Code -- Changing the Way You Build, shows you how you can write and organise your code to support the concepts discussed in part I. It also offers practical learning covering many key concepts in a logical order, amongst other things you will learn about loose coupling, refactoring, TDD, mocking, abstraction, unit testing and a variety of patterns. &lt;br /&gt;&lt;br /&gt;Part III, Enterprise Design Patterns, this was the meat for me, effectively covers various design patterns and tools that can be used. For me, some of the best content is in this section, I especially liked the Model-View-Presenter and Model-View-Controller patterns, this part of the book explains why and when these patterns can be used. &lt;br /&gt;&lt;br /&gt;In Summary, I would definitely recommend this book, it's a worthwhile read. It taught me so much about what's available out there and what's being used now in software development and will stay as a hands on reference resource going forward.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-5003785701990001548?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.amazon.co.uk/Professional-Enterprise-NET-Wrox-Programmer/dp/0470447613/ref=cm_cr_pr_product_top' title='Great Book Professional Enterprise.NET (Wrox Programmer to Programmer)'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/5003785701990001548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=5003785701990001548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/5003785701990001548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/5003785701990001548'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/03/great-book-professional-enterprisenet.html' title='Great Book Professional Enterprise.NET (Wrox Programmer to Programmer)'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-4953114480133081788</id><published>2010-02-07T19:43:00.003Z</published><updated>2010-03-12T07:37:53.556Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>CRM 4 Multi Entity Type Lookup</title><content type='html'>Create a single lookup on a CRM form that allows the user to select from multiple entity types. &lt;a href="http://www.simonjackson.info/blog/attachments/customizations.zip"&gt;Download these two entities&lt;/a&gt; to see this in action.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.simonjackson.info/blog/uploaded_images/metl.png" /&gt;&lt;br /&gt;&lt;br /&gt;The code is a class that you can implement, so it really should be easy to use. To use the class do the following steps:&lt;br /&gt;&lt;br /&gt;On the entity that requires the multi entity type lookup:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Add a N:1 relationship for each entity type that you want in the lookup.&lt;br /&gt;&lt;img src="http://www.simonjackson.info/blog/uploaded_images/metl_relationships.png" /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Add the look ups to the form, add one where you want the Multi Entity Type and the others to tab that we will hide from the user.&lt;br /&gt;&lt;img src="http://www.simonjackson.info/blog/uploaded_images/metl_first_lookup.png" /&gt; &lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.simonjackson.info/blog/uploaded_images/metl_second_lookups.png" /&gt;&lt;/li&gt;&lt;li&gt;In the onload paste in the class at the top: &lt;br /&gt;&lt;script class="brush: js" type="syntaxhighlighter"&gt;&lt;![CDATA[//Start MultiEntityTypeLookupfunction MultiEntityTypeLookup(PrimaryLookupFieldName){this.PrimaryLookupFieldName=PrimaryLookupFieldName;this.MultiLookupFieldName="c5_multilookup_"+this.PrimaryLookupFieldName;this.LookUps=new Object();this.LookUpsCount=0;this.ProcessMultiLookup=true;this.ReadOnly=!(crmForm.FormType==1||crmForm.FormType==2||crmForm.FormType==6);try{eval('var lookup = crmForm.all.'+this.PrimaryLookupFieldName+'; if (lookup) this.LookUps[\''+this.PrimaryLookupFieldName+'\'] = lookup;');eval('this.PrimaryLookupControl = crmForm.all.'+this.PrimaryLookupFieldName);}catch(ex){}if(this.PrimaryLookupControl){this.LookUpsCount=1;}else{this.ProcessMultiLookup=false;alert('Client side script multi-lookup argument invalid '+this.PrimaryLookupFieldName);}for(var i=1;i&lt;arguments.length;i++){try{eval('var lookup = crmForm.all.'+arguments[i]+'; if (lookup) this.LookUps[\''+arguments[i]+'\'] = lookup;');}catch(ex){}if(!this.LookUps[arguments[i]]){alert('Client side script multi-lookup argument invalid '+arguments[i]);}else{this.LookUpsCount++;}}if(!this.ReadOnly){var duplicateType=false;for(testKey in this.LookUps){var testType=this.LookupAttribute(testKey,'lookuptypes');for(searchKey in this.LookUps){var searchType=this.LookupAttribute(searchKey,'lookuptypes');if(testType==searchType&amp;&amp;testKey!=searchKey){this.ProcessMultiLookup=false;var message='Duplicate lookup types are not supported. '+testKey+' and '+searchKey+' are of the same lookup type!';alert(message);return;}}}}this.ProcessMultiLookup=this.LookUpsCount&gt;=2;if(this.ProcessMultiLookup){this.PrimaryLookupInnerHTML=this.GetLookupCell(this.PrimaryLookupFieldName).innerHTML;var MultiEntityData;for(keyVar in this.LookUps){var lookup=this.LookUps[keyVar];if(lookup.DataValue!=null){MultiEntityData=lookup.DataValue;break;}}var MultiEntityTypeLookupEditField=this.GetField(this.PrimaryLookupFieldName+"_ledit");var tabIndex;if(MultiEntityTypeLookupEditField==null){tabIndex=PrimaryLookupControl.getAttribute("tabIndex");}else{tabIndex=MultiEntityTypeLookupEditField.getAttribute("tabIndex");}var lookupTypes=this.ConcatLookupAttributes('lookuptypes',',');var lookupTypeNames=this.ConcatLookupAttributes('lookuptypenames',',');var lookupTypeIcons=this.ConcatLookupAttributes('lookuptypeIcons',':');var reqLevel=this.LookupAttribute(this.PrimaryLookupFieldName,'req');var multiLookupIdHtml=this.GetLookupFieldHtml(this.MultiLookupFieldName,tabIndex,lookupTypes,lookupTypeNames,lookupTypeIcons,reqLevel);this.ExchangeLookups(this.MultiLookupFieldName,this.PrimaryLookupFieldName,multiLookupIdHtml,true);this.MultiLookup=this.GetField(this.MultiLookupFieldName);this.MultiLookup.DataValue=MultiEntityData;if(this.ReadOnly){this.Disable(true);}}};MultiEntityTypeLookup.prototype.ConcatLookupAttributes=function(attributeName,delimiter){var concat='';for(keyVar in this.LookUps){var lookup=this.LookUps[keyVar];if(concat.length&gt;0)concat+=delimiter;concat+=lookup.attributes.item(attributeName).value;}return concat;};MultiEntityTypeLookup.prototype.LookupAttribute=function(lookupName,attributeName){var lookup=this.LookUps[lookupName];if(lookup){return lookup.attributes.item(attributeName).value;}else{return null;}};MultiEntityTypeLookup.prototype.GetLookupFieldHtml=function(name,tabIndex,lookupTypes,lookupTypeNames,lookupTypeIcons,reqLevel){var html="&lt;table class=\"ms-crm-Lookup\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"table-layout:fixed;\"&gt;"+"&lt;tbody&gt;"+"&lt;tr&gt;"+"&lt;td&gt;"+"&lt;div ime-mode=\"auto\" class=\"ms-crm-Lookup\" tabindex=\""+(parseInt(tabIndex)+1)+"\"&gt;&lt;/div&gt;"+"&lt;label class=\"ms-crm-Hidden-NoBehavior\" for=\""+name+"_ledit\"&gt;&lt;/label&gt;"+"&lt;input class=\"ms-crm-Hidden-NoBehavior\" ime-mode=\"auto\" type=\"text\" tabindex=\""+tabIndex+"\" id=\""+name+"_ledit\" maxlength=\"1000\"/&gt;"+"&lt;/td&gt;"+"&lt;td width=\"25\" class=\"Lookup_RenderButton_td\"&gt;"+"&lt;img src=\"/_imgs/btn_off_lookup.gif\" id=\""+name+"\" class=\"ms-crm-Lookup\" req=\""+reqLevel+"\" style=\"ime-mode:auto\" lookuptypes=\""+lookupTypes+"\" lookuptypenames=\""+lookupTypeNames+"\" lookuptypeIcons=\""+lookupTypeIcons+"\" lookupclass=\"BasicCustomer\" lookupbrowse=\"0\" lookupstyle=\"single\" defaulttype=\"0\" autoresolve=\"1\" showproperty=\"1\" resolveemailaddress=\"0\"&gt;"+"&lt;a href=\"#\" onclick=\"previousSibling.click();\" tabindex=\"-1\"&gt;&lt;/a&gt;"+"&lt;/td&gt;"+"&lt;/tr&gt;"+"&lt;/tbody&gt;"+"&lt;/table&gt;";return html;};MultiEntityTypeLookup.prototype.GetField=function(name){var oItem=crmForm.all.item(name);return oItem;};MultiEntityTypeLookup.prototype.GetLookupCellId=function(name){return name+"_d";};MultiEntityTypeLookup.prototype.GetLookupCell=function(name){return this.GetField(this.GetLookupCellId(name));};MultiEntityTypeLookup.prototype.ExchangeLookups=function(lookupToShowId,lookupToHideId,newLookupHtml,isNewLookup){var prevCell=this.GetLookupCell(lookupToHideId);var prevCellIndex=prevCell.cellIndex;var row=prevCell.parentNode;if(isNewLookup){prevCell.style.display="none";var newCell=row.insertCell(prevCellIndex);newCell.id=this.GetLookupCellId(lookupToShowId);newCell.innerHTML=newLookupHtml;}else{row.deleteCell(prevCellIndex);this.GetLookupCell(lookupToShowId).style.display="";}};MultiEntityTypeLookup.prototype.OnSave=function(){if(this.ProcessMultiLookup&amp;&amp;!this.ReadOnly){var MultiEntity=this.MultiLookup.DataValue;this.ExchangeLookups(this.PrimaryLookupFieldName,this.MultiLookupFieldName,this.PrimaryLookupInnerHTML,false);eval('this.LookUps[\''+this.PrimaryLookupFieldName+'\'] = crmForm.all.'+this.PrimaryLookupFieldName+';');var MultiEntitytype='';if(MultiEntity)MultiEntitytype=MultiEntity[0].type+'';for(keyVar in this.LookUps){var lookup=this.LookUps[keyVar];var thistype=this.LookupAttribute(keyVar,'lookuptypes');if(thistype==MultiEntitytype){lookup.DataValue=MultiEntity;}else{lookup.DataValue=null;}lookup.ForceSubmit=true;}this.ProcessMultiLookup=false;}else{}};MultiEntityTypeLookup.prototype.HasValue=function(){return(this.MultiLookup!=null&amp;&amp;this.MultiLookup.DataValue!=null);};MultiEntityTypeLookup.prototype.SelectedName=function(){return this.HasValue()?this.MultiLookup.DataValue[0].name:null;};MultiEntityTypeLookup.prototype.SelectedType=function(){return this.HasValue()?this.MultiLookup.DataValue[0].type:null;};MultiEntityTypeLookup.prototype.Disable=function(disabled){var CLASS_ENABELD='ms-crm-Lookup';var CLASS_DISABELD='ms-crm-Lookup ms-crm-ReadOnly ms-crm-ReadOnly';this.MultiLookup.disabled=disabled;this.MultiLookup.src=disabled?"/_imgs/btn_dis_lookup.gif":"/_imgs/btn_off_lookup.gif";this.MultiLookup.style.setAttribute("cursor",disabled?"auto":"hand");this.MultiLookup.className=disabled?CLASS_DISABELD:CLASS_ENABELD;this.MultiLookup.parentNode.parentNode.children[0].childNodes[0].className=disabled?CLASS_DISABELD:CLASS_ENABELD;};MultiEntityTypeLookup.prototype.ReadOnly=false;//End MultiEntityTypeLookup]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Call the class to setup the lookup&lt;br /&gt;&lt;img src="http://www.simonjackson.info/blog/uploaded_images/metl_onload.png" /&gt;&lt;br /&gt;&lt;script class="brush: js" type="syntaxhighlighter"&gt;&lt;![CDATA[debugger;OnLoad = function(){        //Setup lookup   document.CustomLookup=new MultiEntityTypeLookup('sjackson_accountid','sjackson_contactid','sjackson_customentityid');    //Add on change event if lookup setup was successful     if (document.CustomLookup.ProcessMultiLookup){        document.CustomLookup.MultiLookup.onchange = function(){alert('change event fired');};    }        //hide the tab    if (crmForm.all.tab1Tab != null) {        crmForm.all.tab1Tab.style.display = "none";    }}OnSave = function(){    if (document.CustomLookup)  document.CustomLookup.OnSave();}//Run onload OnLoad();]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Call the onsave method&lt;br /&gt;&lt;img src="http://www.simonjackson.info/blog/uploaded_images/metl_onsave.png" /&gt;&lt;br /&gt;&lt;script class="brush: js" type="syntaxhighlighter"&gt;&lt;![CDATA[    /* Just call the OnSave function defined in the onload */    OnSave();]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Please let me know if you find this useful by posting a comment.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-4953114480133081788?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/4953114480133081788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=4953114480133081788' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4953114480133081788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4953114480133081788'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/02/crm-4-multi-entity-type-lookup.html' title='CRM 4 Multi Entity Type Lookup'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-6494207520922794513</id><published>2010-02-07T09:29:00.006Z</published><updated>2010-02-08T21:25:08.022Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>Adding a browse button (html input file control) to a CRM form</title><content type='html'>Here's a quick example of how to put a browse button (html input file control) on a CRM form and then populate another field when it changed.  Put this into your onload and update the field name 'new_filepath' in the inputF_onChange method to the name of the field that you would to be populated with the full path.&lt;span class="Apple-style-span"   style="font-family:monospace, serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: pre;"&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;font-size:130%;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class='brush: js'&gt;inputF = document.createElement('input');&lt;br /&gt;inputF.type = 'file';&lt;br /&gt;inputF.onchange = inputF_onChange;&lt;br /&gt;&lt;br /&gt;tbl = crmForm.all.tab0.getElementsByTagName('table');&lt;br /&gt;if (tbl &amp;amp;&amp;amp; tbl[0]) tbl[0].parentNode.insertBefore(inputF, tbl[0]);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function  inputF_onChange() {&lt;br /&gt;if (inputF &amp;amp;&amp;amp; inputF.value)&lt;br /&gt;crmForm.all.new_filepath.DataValue = inputF.value;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Here's a list the members exposed by the input type=file object.&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms535263(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms535263(VS.85).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It should be noted that the above example will not work for IE8 as JavaScript can no longer read the full path from the value property.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As an alternative I would recommend trying a more supported method, for example, create an ISV page with the input file control and read the path server side and use javascript to populate the control on the parent CRM form.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-6494207520922794513?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/6494207520922794513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=6494207520922794513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/6494207520922794513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/6494207520922794513'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/02/adding-browse-button-html-input-file.html' title='Adding a browse button (html input file control) to a CRM form'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-4974030179961925041</id><published>2010-02-04T20:45:00.003Z</published><updated>2010-02-04T20:55:46.246Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='KB'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>Microsoft CRM 4.0 Update Rollup 7 and "Internet Explorer has blocked this site from using an ActiveX control in an unsafe manner."</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial"&gt;Rollup 7 adds a new “Configure CRM” button to setup the Outlook client.   The button uses an ActiveX control to read your CRM Outlook client, which can causes IE to display "Internet Explorer has blocked this site from using an ActiveX control in an unsafe manner."&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial"&gt;This occurs when you have the Microsoft Office Outlook installed but not configured, or if you are connecting to an organisation other than the organisation for which Microsoft Dynamics CRM for Microsoft Office Outlook is configured.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial"&gt;This issue is mentioned in &lt;a href="http://support.microsoft.com/default.aspx/kb/976539"&gt;http://support.microsoft.com/default.aspx/kb/976539&lt;/a&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial"&gt;A solution is mentioned here &lt;a href="http://support.microsoft.com/kb/2004601"&gt;http://support.microsoft.com/kb/2004601&lt;/a&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial; min-height: 15.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial"&gt;You can either change the IE security zone on the client or update the registry on the server.  To update the sever registry, follow these steps:&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; line-height: 17.0px; font: 13.0px Arial; color: #333233"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Open Regedit&lt;/li&gt;&lt;li&gt;Navigate to:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM&lt;/li&gt;&lt;li&gt;A a new 32bit DWORD called DisableOutlookSetupLink&lt;/li&gt;&lt;li&gt;Set the value to 1 to disable the CRM for Outlook button for all users.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;    &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; line-height: 17.0px; font: 13.0px Arial; color: #333233"&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-4974030179961925041?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://support.microsoft.com/kb/2004601' title='Microsoft CRM 4.0 Update Rollup 7 and &quot;Internet Explorer has blocked this site from using an ActiveX control in an unsafe manner.&quot;'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/4974030179961925041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=4974030179961925041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4974030179961925041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4974030179961925041'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/02/microsoft-crm-40-update-rollup-7-and.html' title='Microsoft CRM 4.0 Update Rollup 7 and &quot;Internet Explorer has blocked this site from using an ActiveX control in an unsafe manner.&quot;'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-5506061816941309537</id><published>2010-02-03T21:05:00.003Z</published><updated>2010-02-03T21:11:31.103Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>about:blank not always trusted, so not such a good default url for your CRM IFrame</title><content type='html'>Basically when setting a default page for your Crm Forms IFRAME &lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;about:blank&lt;/span&gt; can have a trust issues in the browser and it's better practice to use &lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;/_static/blank.htm&lt;/span&gt; instead.  &lt;div&gt;&lt;br /&gt;This nice article from those ascentium guys explains why.&lt;br /&gt;&lt;a href="http://xrm.ascentium.com/blog/crm/Post612.aspx"&gt;http://xrm.ascentium.com/blog/crm/Post612.aspx&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-5506061816941309537?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://xrm.ascentium.com/blog/crm/Post612.aspx' title='about:blank not always trusted, so not such a good default url for your CRM IFrame'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/5506061816941309537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=5506061816941309537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/5506061816941309537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/5506061816941309537'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2010/02/aboutblank-not-always-trusted-not-such.html' title='about:blank not always trusted, so not such a good default url for your CRM IFrame'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-9074796212710055102</id><published>2009-10-25T10:05:00.004Z</published><updated>2009-10-25T10:18:45.716Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Controls'/><category scheme='http://www.blogger.com/atom/ns#' term='Calendar'/><title type='text'>Excellent Calendar Control</title><content type='html'>I implemented a shared calendar view for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;CRM4&lt;/span&gt; at a client, it shows appointments across many different business units and account in consolidated views, we used a third party share point web part by Bamboo Solutions, unfortunately there were many limitations to the control that meant that the implementation was lacking in features, such as adding a new appointment from the control!!&lt;br /&gt;&lt;br /&gt;I've come across an excellent calendar control leaving me in doubt that if we ever have to implement a calendar for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;CRM&lt;/span&gt; again this is the control we will use.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Feature rich, excellent usability for the user and relatively cheap.  There's a demo page &lt;a href="http://www.daypilot.org/demo/Calendar/"&gt;here&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-9074796212710055102?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.daypilot.org/' title='Excellent Calendar Control'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/9074796212710055102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=9074796212710055102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/9074796212710055102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/9074796212710055102'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2009/10/excellent-calendar-control.html' title='Excellent Calendar Control'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-710005790028982150</id><published>2008-11-03T20:44:00.005Z</published><updated>2010-02-08T21:29:24.530Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='VPC'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>Optimising VPC Speed</title><content type='html'>I've started to use the following batch file to stop some unnecessary services in my CRM development virtual machine to help optimise it's speed.&lt;br /&gt;&lt;br /&gt;As you can see below this is not specific to CRM so will come in handy for my other environments.&lt;br /&gt;&lt;br /&gt;&lt;pre class='brush: js'&gt;@echo off&lt;br /&gt;@echo -- Stopping unnecessary services for optimal VPC speed&lt;br /&gt;@echo&lt;br /&gt;@echo -- ... Stopping "Help and Support" service&lt;br /&gt;net stop "Help and Support"&lt;br /&gt;@echo -- ... Stopping "Print Spooler" service&lt;br /&gt;net stop "Print Spooler"&lt;br /&gt;@echo -- ... Stopping "Error Reporting Service" service&lt;br /&gt;net stop "Error Reporting Service"&lt;br /&gt;@echo -- ... Stopping "Task Scheduler" service&lt;br /&gt;net stop "Task Scheduler"&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-710005790028982150?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/710005790028982150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=710005790028982150' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/710005790028982150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/710005790028982150'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/11/optimising-vpc-speed.html' title='Optimising VPC Speed'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-2917657036468371462</id><published>2008-10-22T07:43:00.004+01:00</published><updated>2008-10-22T07:50:28.170+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tracing'/><category scheme='http://www.blogger.com/atom/ns#' term='Issue'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>Crm Tracing on Server 2008 problem</title><content type='html'>I was pulling my hair out trying to get Crm4 tracing working on Server 2008 deployment, I logged onto the server made changes to the tracing registry settings but CRM did create any tracing files. So I double checked them all seemed ok!&lt;br /&gt;&lt;br /&gt;At first I thought it was permissions to the trace directory but it transpires this was caused by User Account Control(UAC) virtualising the registry. &lt;br /&gt;&lt;br /&gt;    &lt;a href="http://msdn.microsoft.com/en-us/library/aa965884.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa965884.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While the registry looked fine to my user account it was a virtual copy!  CRM was reading the registry but it didn’t have any trace settings.&lt;br /&gt;&lt;br /&gt;Turning off the registry virtualises for the CRM keys, this meant I could change the trace settings.  I ran the following from an administrator console to turn off visualisation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    REG FLAGS HKLM\Software\Microsoft\MSCRM SET DONT_VIRTUALIZE /s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Alternately I think I could have made the changes to the registry under the context of the CRM Application Process so that CRM would see the changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-2917657036468371462?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/2917657036468371462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=2917657036468371462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/2917657036468371462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/2917657036468371462'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/10/crm-tracing-on-server-2008-problem.html' title='Crm Tracing on Server 2008 problem'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-4390959258641435110</id><published>2008-10-22T07:05:00.003+01:00</published><updated>2008-10-25T15:48:50.454+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='plug-in'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>CreateCrmService incorrect url, CrmService fails with 404 - Not Found</title><content type='html'>I deployed a plug-in today to one of our clients dev server only to get a strange “404 - Not Found” exception being reported.  The exception was raised from the CrmService, the service object was returned from context.CreateCrmService so it should of been ok. Digging deeper I could see that the URL was pointing to localhost which is incorrect as it should have been the host header http://crm.mydomain.fqdn, as always Google had the answer.&lt;br /&gt;&lt;br /&gt;I found a great post where George Doubinski has reflected the issue and &lt;a href="http://crm.georged.id.au/post/2008/02/23/Synchronous-plugins-want-localhost.aspx"&gt;highlights the CRM bug&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There’s a hot-fix for the issue &lt;a href="http://support.microsoft.com/kb/950542"&gt;kb950542&lt;/a&gt; at the time of writing this had to be requested from MS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-4390959258641435110?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/4390959258641435110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=4390959258641435110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4390959258641435110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4390959258641435110'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/10/createcrmservice-incorrect-url.html' title='CreateCrmService incorrect url, CrmService fails with 404 - Not Found'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-757112895399778672</id><published>2008-08-31T15:10:00.007+01:00</published><updated>2008-08-31T23:04:32.208+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JScript'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>CRM4 JScript Export Tool</title><content type='html'>Joris Kalz has released a small tool to extract the JScript from CRM forms and put them into individual files.  His post can be found &lt;a href="http://blogs.msdn.com/joris_kalz/archive/2008/08/04/microsoft-dynamics-crm-jscript-export-tool.aspx"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;IMHO I think I'll find this useful for source control and handy when used in conjunction with  David Yack's JScript Intellisence solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-757112895399778672?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/757112895399778672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=757112895399778672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/757112895399778672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/757112895399778672'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/08/crm4-jscript-export-tool.html' title='CRM4 JScript Export Tool'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-1245833188720382703</id><published>2008-08-31T15:01:00.002+01:00</published><updated>2008-08-31T23:05:58.929+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KB'/><category scheme='http://www.blogger.com/atom/ns#' term='HotFix'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook Client'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>CRM4 Outlook Client Fixes from KB950088</title><content type='html'>&lt;p&gt;Microsoft has released a hotfix package for &lt;a target="_blank" href="http://support.microsoft.com/kb/950088"&gt;KB950088&lt;/a&gt;is a cumulative hotfix which resolve all the issues below:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;1. &lt;/b&gt;&lt;b&gt;Outlook hangs during initialization (progress toolbar displays “Loading…” and never finishes)&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This must-have fix is likely the most common perf/stability issue out there, especially on Outlook 2007. This fix resolves the issue. A current workaround exists by turning off the To Do bar.&lt;br /&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/952724"&gt;http://support.microsoft.com/kb/952724&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;2. &lt;/b&gt;&lt;b&gt;With E-mail Auto Promotion Enabled, Outlook may not close cleanly/properly.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This fix addresses a memory allocation issue that can occur somewhat unpredictably. If your users are using e-mail auto promotion, I encourage you to deploy this hotfix. &lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/948121"&gt;http://support.microsoft.com/kb/948121&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3. &lt;/b&gt;&lt;b&gt;Contacts with birthdays earlier than 1/1/1970 causes Outlook to crash&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This was caused by an API change by one of our dependencies.&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/948045"&gt;http://support.microsoft.com/kb/948045&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;4. &lt;/b&gt;&lt;b&gt;Items in Shared Calendars will report Sync Issues&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;We do not support Shared Calendars in CRM 4.0, we encountered a couple of cases where some code was getting executed against a shared calendar and causing problems.&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/949086"&gt;http://support.microsoft.com/kb/949086&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. &lt;b&gt;Cannot Promote an E-mail where the name of the attached file contains a ‘&amp;amp;’ symbol.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;If the attachment to an e-mail contains the ‘&amp;amp;’ symbol, it will fail to track in CRM.&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/949719"&gt;http://support.microsoft.com/kb/949719&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;6. &lt;/b&gt;&lt;b&gt;Selecting Dismiss on Outlook Calendar reminder for Service Activity causes record to change Status Reason back to default value for that record.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Selecting Dismiss on Outlook Calendar reminder for Service Activity causes record to change Status Reason back to default value for that record&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/950475"&gt;http://support.microsoft.com/kb/950475&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;7. &lt;/b&gt;&lt;b&gt;OWA Sent Emails Get Stuck in Outlook Draft Folder When Outlook Is Open And CRMADDIN is Enabled&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;When you have both Outlook and OWA open, and you have the Microsoft Dynamics CRM client for Microsoft Office Outlook installed, and you send an email form OWA, the email will be stopped in the Draft folder instead of being sent&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/950088"&gt;http://support.microsoft.com/kb/950088&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-1245833188720382703?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/1245833188720382703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=1245833188720382703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1245833188720382703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1245833188720382703'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/08/crm4-outllok-client-fixes-form-kb950088.html' title='CRM4 Outlook Client Fixes from KB950088'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-8065899606338513544</id><published>2008-08-31T14:24:00.005+01:00</published><updated>2008-08-31T23:12:08.223+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='JScript'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>Enable Jscript Intellisense for CRM by Leveraging Visual Studio 2008</title><content type='html'>&lt;div&gt;&lt;div&gt;The promise to have Jscript intellisence over the crm JScript object model has me sold&lt;br /&gt;on the book "&lt;a href="http://www.amazon.com/CRM-as-Rapid-Development-Platform/dp/0981511813"&gt;CRM as a Rapid Development Platform&lt;/a&gt;" (&lt;a href="http://www.thecrmbook.com/Purchase/PurchaseBook.aspx"&gt;electronic version&lt;/a&gt; $49.99) by David Yack.&lt;br /&gt;&lt;br /&gt;On David's site you can find a videocast demonstrating the benefit's of intellisence for Crm JScript and how to achieve it. &lt;a href="http://www.thecrmbook.com/Video/Customization/EnableCRMJavascriptIntellisense/viewvideo.aspx"&gt;Enable CRM JScript Intellisense&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As far as I am aware you need to buy the book to obtain the code that helps you achieve the intellisence in VS 2008. &lt;a href="http://www.thecrmbook.com/Video/Customization/EnableCRMJavascriptIntellisense/viewvideo.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-8065899606338513544?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/8065899606338513544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=8065899606338513544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/8065899606338513544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/8065899606338513544'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/08/enable-jscript-intellisense-for-crm-by.html' title='Enable Jscript Intellisense for CRM by Leveraging Visual Studio 2008'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-7266947713278085989</id><published>2008-08-31T14:12:00.003+01:00</published><updated>2008-08-31T14:21:47.077+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebPart'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>SharePoint List Web Part for Microsoft Dynamics CRM 4.0</title><content type='html'>I've been reading the  Microsoft Dynamics CRM "Statement of Direction" that's was updated in August 2008.  And noticed the following regarding SharePoint List Web Part for Microsoft Dynamics CRM 4.0:&lt;br /&gt;&lt;br /&gt;"The current List Web Part for Microsoft Dynamics CRM 3.0 provides a subset of the Microsoft Dynamics CRM 3.0 record list functionality. It allows users to view Microsoft Dynamics CRM 3.0 records as a list from a SharePoint page, open records in Microsoft Dynamics CRM 3.0 from that list, and connect different Microsoft Dynamics CRM 3.0 List Web Parts to filter associated CRM lists. It supports the following versions of SharePoint:&lt;br /&gt;- Microsoft Windows SharePoint Services 2.0&lt;br /&gt;- Microsoft Office SharePoint Portal Server 2003&lt;br /&gt;- Microsoft Office SharePoint Server (MOSS) 2007 (32-bit only)&lt;br /&gt;- Microsoft Windows SharePoint Services (WSS) 3.0 (32-bit only)&lt;br /&gt;The CRM records are displayed in a grid that behaves similarly to the grid within Microsoft Dynamics CRM 3.0. Users who have the proper privileges can perform actions such as create and edit.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Due out in the second half of 2008, there will be an updated SharePoint List Web Part for Microsoft Dynamics CRM 4.0. This web part will have the same features as the previous release but will also support the following:&lt;br /&gt;- The multi-tenancy architecture of Microsoft Dynamics CRM 4.0; the web part is&lt;br /&gt;configured with the Microsoft Dynamics CRM organization that will supply the list data.&lt;br /&gt;- Support for CRM on-premise and Internet Facing Deployments (IFD); support for Microsoft&lt;br /&gt;Dynamics CRM Online will be added in the first half of 2009. &lt;br /&gt;- MUI and language packs in all languages supported by Microsoft Dynamics CRM 4.0&lt;br /&gt;- MOSS and WSS 64-bit environments&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;I've been waiting for this upgrade for ages and will be very happy to see it released (in the near future).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-7266947713278085989?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/7266947713278085989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=7266947713278085989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/7266947713278085989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/7266947713278085989'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/08/sharepoint-list-web-part-for-microsoft.html' title='SharePoint List Web Part for Microsoft Dynamics CRM 4.0'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-300832153411282354</id><published>2008-04-28T18:42:00.002+01:00</published><updated>2008-04-28T18:45:18.766+01:00</updated><title type='text'>Creating SharePoint Sites With CRM Workflow</title><content type='html'>Nice post of creating a SharePoint sites using workflow.&lt;br /&gt;&lt;a href="http://blogs.msdn.com/ukcrm/archive/2008/04/27/creating-sharepoint-sites-with-crm-workflow.aspx"&gt;http://blogs.msdn.com/ukcrm/archive/2008/04/27/creating-sharepoint-sites-with-crm-workflow.aspx&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-300832153411282354?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/300832153411282354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=300832153411282354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/300832153411282354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/300832153411282354'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2008/04/creating-sharepoint-sites-with-crm.html' title='Creating SharePoint Sites With CRM Workflow'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-8386968950982201485</id><published>2007-10-30T11:20:00.000Z</published><updated>2007-10-30T18:49:03.563Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM4'/><title type='text'>CRM 4</title><content type='html'>&lt;p class="MsoNormal"&gt;I’ve been following the release of Microsoft CRM 4 with great interest.&lt;span style=""&gt;  &lt;/span&gt;Having deployed CRM 3 to many clients I’m all too aware of the limitation you hit customising CRM 3.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Philip Richardson is the CRM Lead Program Manager, he has released many of the screen casts below on his blog.  These should let you see some of some of the new features in action.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/DuplicateDetectionCTP3/DuplicateDetectionCTP3.html"&gt;&lt;span style=""&gt;Duplicate Detection&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/Mail%20Merge/Mail%20Merge.html"&gt;&lt;span style=""&gt;Mail Merge&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/ManyToManyRelationshipCTP3/ManyToManyRelationshipCTP3.html"&gt;&lt;span style=""&gt;Many to Many Relationships&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://www.philiprichardson.org/blog/post/Titan-Workflow.aspx"&gt;&lt;span style=""&gt;Workflow&lt;/span&gt;&lt;/a&gt;&lt;span style=""&gt; (&lt;/span&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/BasicWorkflowCTP3/BasicWorkflowCTP3.html"&gt;&lt;span style=""&gt;Basic Workflow&lt;/span&gt;&lt;/a&gt;&lt;span style=""&gt;) (&lt;/span&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/ComplexWorkflowCTP3/ComplexWorkflowCTP3.html"&gt;&lt;span style=""&gt;Complex Workflow&lt;/span&gt;&lt;/a&gt;&lt;span style=""&gt;) (&lt;/span&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/WorkflowActivityCTP3/WorkflowActivityCTP3.html"&gt;&lt;span style=""&gt;Workflow Activity&lt;/span&gt;&lt;/a&gt;&lt;span style=""&gt;)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/CRM%20for%20Outlook/CRM%20for%20Outlook.html"&gt;&lt;span style=""&gt;CRM for Outlook&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/AddMultipleUsersCTP3/AddMultipleUsersCTP3.html"&gt;&lt;span style=""&gt;Add Multiple Users&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/WebImportCTP3/WebImportCTP3.html"&gt;&lt;span style=""&gt;Import Screencast&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://www.philiprichardson.org/screencasts/titan/ExportCustomizationsCTP3/ExportCustomizationsCTP3.html"&gt;&lt;span style=""&gt;Export Customizations&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=""&gt;&lt;a href="http://blogs.msdn.com/lezamax/archive/2007/10/24/the-first-of-hopefully-many-to-come-titan-features.aspx"&gt;Renaming navigation areas of Out-Of-The-Box entities&lt;/a&gt; (Requires &lt;a href="http://www.microsoft.com/silverlight/install.aspx"&gt;SilverLight&lt;/a&gt; to view)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Some of the new features are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Multi-currency: Oh not just localized versions, but the ability to mix currency choice within one specific company. &lt;/li&gt;&lt;li&gt;Multi-language: The same as above and a big thank you to the team from the many companies with multiple global offices! &lt;/li&gt;&lt;li&gt;Support for roaming profiles when using terminal service environments &lt;/li&gt;&lt;li&gt;Significant development around increased WAN performance &lt;/li&gt;&lt;li&gt;Multi-layers of advanced duplicate detection. A major thank you from me to the team! They went above and beyond on this one (although this demanding little gemstone can always find more to want) &lt;/li&gt;&lt;li&gt;Support for SQL Monitoring and SQL Clusters &lt;/li&gt;&lt;li&gt;Support for alternative deployments &lt;/li&gt;&lt;li&gt;"self updating" installation &lt;/li&gt;&lt;li&gt;Diagnosis and process monitoring &lt;/li&gt;&lt;li&gt;Embedded Auto-Complete on numerous fields &lt;/li&gt;&lt;li&gt;More Bulk Changes and Data Cleansing features &lt;/li&gt;&lt;li&gt;Web Based Mail Merge &lt;/li&gt;&lt;li&gt;A new Report Wizard to empower customers to extract all the data they want to extract in the way they want to extract it &lt;/li&gt;&lt;li&gt;Integration with Office Communicator (think embedded IM) &lt;/li&gt;&lt;li&gt;Presence control (who is on-line) &lt;/li&gt;&lt;li&gt;360 Degree View of the Customer &lt;/li&gt;&lt;li&gt;Cross entity advanced find enhancements &lt;/li&gt;&lt;li&gt;Role based report foundation &lt;/li&gt;&lt;li&gt;New Deployment Wizards which include bulk importing of users from Active Directory &lt;/li&gt;&lt;li&gt;OneNote Integration &lt;/li&gt;&lt;li&gt;A new level of Bi-Directional integration to Excel (Export to Excel, make changes, re-import into DynamicsCRM) &lt;/li&gt;&lt;li&gt;New workflow Wizards, Templates and libraries &lt;/li&gt;&lt;li&gt;Web based/Client Workflow configuration &lt;/li&gt;&lt;li&gt;Break down any workflow into stages &lt;/li&gt;&lt;li&gt;Multi-criteria e-mail tracking. E-mail tracking token can be turned off. &lt;/li&gt;&lt;li&gt;New more flexible licensing options such as device versus user CALs &lt;/li&gt;&lt;li&gt;Role based Report Foundation - Reporting can be dependent on the user's rights, security and roles &lt;/li&gt;&lt;li&gt;New Microsoft Dynamics CRM Resource Center &lt;/li&gt;&lt;li&gt;Reconfiguration/Redesign of the Outlook Client for CRM to allow for the wide variety of outlook footprints and variables in the field &lt;/li&gt;&lt;li&gt;Diagnostic Tools in the Outlook for CRM client &lt;/li&gt;&lt;li&gt;The Windows Workflow Foundation (WWF) with more integration to MOSS (SharePoint) &lt;/li&gt;&lt;li&gt;Many to Many Relationships &lt;/li&gt;&lt;li&gt;System to System Relationships &lt;/li&gt;&lt;li&gt;Pop3 Support/Exchange 2007 Support (64 bit) &lt;/li&gt;&lt;li&gt;Direct External Interface into Dynamics CRM without a required VPN &lt;/li&gt;&lt;li&gt;Asynchronous processing &lt;/li&gt;&lt;li&gt;Offline and On-line use is consistent no change of features when offline &lt;/li&gt;&lt;li&gt;New Data Mapping features &lt;/li&gt;&lt;li&gt;Multiple ways to Authenticate &lt;/li&gt;&lt;li&gt;Various components from within Dynamics CRM can be split out onto different application servers including API Calls, WorkFlow, UI Calls, etc. &lt;/li&gt;&lt;li&gt;Greater Organization Visibility &lt;/li&gt;&lt;li&gt;New Client Migration Toolkit &lt;/li&gt;&lt;li&gt;Multi-Tenant platform for enterprise hosting &lt;/li&gt;&lt;li&gt;E-Mail Topology changed to support more multiple choices of e-mail routing &lt;/li&gt;&lt;li&gt;E-mail routing can be done without Exchange &lt;/li&gt;&lt;li&gt;Reporting stored within the database for easy disaster recovery planning&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-8386968950982201485?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/8386968950982201485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=8386968950982201485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/8386968950982201485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/8386968950982201485'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2007/10/crm-4-screencasts.html' title='CRM 4'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-1843922360135002411</id><published>2007-07-17T16:29:00.001+01:00</published><updated>2010-02-08T21:30:42.310Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>WSS3  - Hiding Navigation area</title><content type='html'>WSS3 / Moss doesn't provide a user interface option for turning off the header or top navigation menu.  However, because SharePoint sites use cascading style sheets styles, we can take advantage of cascading style sheets(CSS) and simply hide these items.&lt;br /&gt;To modify the CSS can use a content editor web part.  This allows us to add custom content and code that WSS will render on the page. Use the Source Editor enter the following code:&lt;pre class='brush: js'&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(153, 0, 0);"&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;style type="text/css"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.ms-bodyareaframe {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   padding: 0px;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.ms-globalbreadcrumb{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   display: none;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.ms-globaltitlearea{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   display: none;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.ms-bannerContainer{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   display: none;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.ms-titleareaframe{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   display: none;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.ms-pagetitleareaframe{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   display: none;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.ms-leftareacell{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   display: none;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;I also wanted to hide the navigation areas so that a custom AllItems.aspx page could be shown inside CRM Account and CRM Contact forms.  Unfortunately these pages do not allow WebParts so I used Microsoft Office SharePoint Designer to create a copy of AllItems.aspx and add the hiding CSS directly into the HTML in the page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-1843922360135002411?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/1843922360135002411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=1843922360135002411' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1843922360135002411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1843922360135002411'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2007/07/wss3-hiding-navigation-area.html' title='WSS3  - Hiding Navigation area'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-4485031786774822587</id><published>2007-06-21T10:46:00.000+01:00</published><updated>2007-06-21T10:54:08.295+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM3'/><title type='text'>Getting XSD Schema for CRM Entities</title><content type='html'>&lt;div class="postbody"&gt;&lt;p&gt;The CRM Metadata Browser can be used to see and document various CRM entities. Another similar thing available is the ability to get the XSD schema for the CRM entities. As you drill into an entity from the metadata browser, you can simply change the directory in the URL or just type it in as follows:&lt;/p&gt; &lt;pre&gt;&lt;blockquote&gt;http://yourcrmserver/sdk/xsd/entity.aspx?entity=account&lt;/blockquote&gt;&lt;/pre&gt;  &lt;p&gt;Of course, just change the entity listed at the end with any valid entity schema name.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thanks to Ryan Farley for &lt;a href="http://crmdeveloper.com/blog/archive/2006/02/17/16586.aspx"&gt;posting&lt;/a&gt; the info.&lt;/p&gt;&lt;p&gt;I'm using this as I'm adding the XSD to Word 2003 templates, these will be used server side to population CRM data into them and store them in an SharePoint library.  I'll post more on this over the next few weeks.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-4485031786774822587?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/4485031786774822587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=4485031786774822587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4485031786774822587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/4485031786774822587'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2007/06/getting-xsd-schema-for-crm-entities.html' title='Getting XSD Schema for CRM Entities'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7000017988547035679.post-1646712956252702389</id><published>2007-05-01T07:29:00.000+01:00</published><updated>2007-05-01T07:37:43.674+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM3'/><title type='text'>CRM3 – IFrame prompting for credentials</title><content type='html'>I had a problem today where new CRM IFrame customisations on various entities were prompting for additional security. The IFrame’s source pages were part of the same CRM site and only used integrated windows authentication in IIS snap-in console. Another symptom was that the pages IE security zone was “Unknown Zone (Mixed)”. Searching the news groups I could see other user have had this issue and that the IFrame has the security="restricted" attribute, this forces IE to re-authenticate the IFrame page for windows security even thought Windows Authentication is being used.&lt;br /&gt;&lt;br /&gt;The solution was to un-tick the default setting “restrict cross-frame scripting” in each of the CRM IFrame customizations, this resolved the issue and I once again had happy users, phew!&lt;br /&gt;&lt;br /&gt;According to the Working with Microsoft Dynamics CRM 3.0 book (page 455) this setting also does the following:&lt;br /&gt;·    Restricts JavaScript and VBScript from executing on the IFrame page&lt;br /&gt;·    All hyper links will open in a new browser window&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa682068.aspx"&gt;IFrame attributes used with Microsoft CRM&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms534622.aspx"&gt;IFrame Security Attribute&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7000017988547035679-1646712956252702389?l=www.simonjackson.info%2Fblog%2Fblogger.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/1646712956252702389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7000017988547035679&amp;postID=1646712956252702389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1646712956252702389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7000017988547035679/posts/default/1646712956252702389'/><link rel='alternate' type='text/html' href='http://www.simonjackson.info/blog/2007/05/crm3-iframe-prompting-for-credentials.html' title='CRM3 – IFrame prompting for credentials'/><author><name>Si</name><uri>http://www.blogger.com/profile/16796943354486385443</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='17237607029345426476'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>