<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-28669706</id><updated>2012-01-27T14:51:05.251+01:00</updated><category term='IFD'/><category term='SPLA'/><category term='Mesh-up'/><category term='Plugins'/><category term='Performance'/><category term='Offline'/><category term='DNS'/><category term='installation'/><category term='SQL'/><category term='64-Bit'/><category term='Outlook'/><category term='SQL Reporting Services'/><category term='Bugg'/><category term='development'/><category term='callout'/><category term='BizTalk'/><category term='Webpart'/><category term='SQL 2005'/><category term='Import'/><category term='hosting'/><category term='M3U'/><category term='SE-Forum'/><category term='IE CRM'/><category term='Content Query Web Part'/><category term='Custom entiteis'/><category term='data theft'/><category term='ASP.NET'/><category term='Administration'/><category term='Workflow activities'/><category term='c#'/><category term='Central Admin'/><category term='Scope'/><category term='MSDN'/><category term='CRM 4'/><category term='Courses'/><category term='Wikileaks'/><category term='Windows Server 2008 R2'/><category term='customizations'/><category term='Backup'/><category term='Dynamics CRM 4.0'/><category term='Logica'/><category term='Window Server 2008 R2'/><category term='attributes'/><category term='Workflows'/><category term='Display Name'/><category term='IP'/><category term='email'/><category term='MOSS'/><category term='Sony Ericsson'/><category term='Error'/><category term='CRMAsyncService'/><category term='Windows Service'/><category term='language code'/><category term='Virtual pc 2007'/><category term='hotfix'/><category term='SSIS'/><category term='Dynamics CRM 2011'/><category term='Domain Controller'/><category term='excel 2007'/><category term='aspx'/><category term='sonoma partner'/><category term='kerberos'/><category term='Cloud computing'/><category term='NTLM'/><category term='XRM'/><category term='query string'/><category term='Hosted'/><category term='Convergence'/><category term='CRM'/><category term='PDF'/><category term='Javascript'/><category term='security'/><category term='excel services'/><category term='commenting'/><category term='ASyncService'/><category term='MVP'/><category term='URL'/><category term='www.crmforum.se'/><category term='dynamic attaching events'/><category term='links'/><category term='IIS'/><category term='MapPoint'/><category term='SDK'/><category term='Virtual Server'/><category term='webservice'/><category term='NAT'/><category term='online'/><category term='CRM Diag Tool'/><category term='movie'/><category term='application pools'/><category term='CRM; Outlook'/><category term='Upgrade'/><category term='Microsoft Operations Management'/><category term='on-premise'/><category term='SID'/><category term='SSRS'/><category term='ssl'/><category term='Dynamics CRM IIS App Pool Certificate security authentication'/><category term='remote desktop'/><category term='mp3'/><category term='Phone Call'/><category term='ViewState'/><category term='Claims based authentication'/><category term='DHCP'/><category term='Demo'/><category term='.NET'/><category term='CRM Client'/><category term='Guest blog'/><category term='Country Code'/><category term='SQL RS'/><category term='rules'/><category term='mail'/><category term='Microsoft'/><category term='IIS 7'/><category term='callout.config'/><category term='Exchange'/><category term='Microsoft.Crm.Sdk'/><category term='Deployment'/><category term='hosts'/><category term='Email router'/><category term='export'/><category term='Integration'/><category term='Federation Services'/><category term='forum'/><category term='stsadm'/><category term='crm 4.0'/><category term='isv.config'/><category term='attachEvent'/><category term='Live Id'/><category term='download'/><category term='callouts'/><category term='Dynamics'/><category term='Dynamics CRM 4'/><category term='Humandata'/><category term='Live'/><category term='course'/><category term='Conference'/><category term='CRM-konsulterna'/><category term='MUI'/><category term='MS CRM'/><category term='supported customizations'/><category term='mail enabled folder'/><category term='content types'/><category term='Dynamics CRM'/><category term='Appointments'/><category term='URL-parameter'/><category term='Mobile'/><category term='Licensing'/><category term='CRM 2011'/><category term='ToDp'/><category term='Reports'/><category term='Celenia'/><category term='Certification'/><category term='CRM 3'/><category term='SharePoint'/><category term='Business processes'/><category term='Translations'/><category term='Customization.xml'/><category term='migration'/><category term='Import Organization'/><category term='Workflow'/><category term='Alternate Access Mapping'/><category term='Tracing'/><category term='syncronization'/><category term='blog'/><category term='Reporting Services'/><category term='V3C'/><category term='Dynamics CRM 2011 Online'/><category term='Site columns'/><category term='VPC'/><category term='aspnet_regiis'/><category term='w3wp'/><category term='P1i'/><category term='Titan'/><category term='bulk import'/><category term='SRS'/><category term='search'/><category term='https'/><category term='IE'/><category term='Sandbox'/><category term='Tectura'/><category term='AD'/><category term='custom activities'/><category term='Silverlight'/><category term='problem'/><title type='text'>Gustaf's Microsoft Dynamics CRM Blog</title><subtitle type='html'>A blog concerning use, development and customization of Microsoft Dynamics CRM.

I am the co-founder and CEO at CRM-Konsulterna AB a company specializing in only Microsoft Dynamics CRM.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default?start-index=101&amp;max-results=100'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>240</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28669706.post-6115355999986915557</id><published>2012-01-20T08:39:00.000+01:00</published><updated>2012-01-20T08:39:07.362+01:00</updated><title type='text'>Unable to upgrade CRM 4.0 database more than once</title><content type='html'>My colleague Rickard had an interesting problem yesterday when working with a client of ours. They had a prototype upgrade and now wanted the production upgrade. However, they wanted both of these organizations to be available (yes, will required an Enterprise license or separate SPLA licensing if it is a hosting environment). The prototype upgrade they want to be available as "orgname-old" and the normal upgrade just as "orgname".&lt;br /&gt;&lt;br /&gt;An interesting issue arose when Rickard tried to import the CRM 4.0 database into the CRM 2011 environment he receive an error message saying that a CRM 4.0 database can only be imported once into a CRM 2011 deployment. This might be noted somewhere but it is not something that I or my colleague Rickard have ever seen when working with CRM and we didn't find to much about it googling the issue either.&lt;br /&gt;&lt;br /&gt;The problem seems to be that Microsoft seems to have cut a corner when upgrading a CRM 4.0 database in comparison to normal redeployment as it does not give the organization a new GUID. Hence you cannot import two organizations twice.&lt;br /&gt;&lt;br /&gt;The workaround is, however, quite simple, upgrade the first database, disable it and remove it from deployment manager (do not delete it from the SQL-database).&lt;br /&gt;&lt;br /&gt;Upgrade the second database into CRM 2011. As there is no organization with this GUID now, this is no problem.&lt;br /&gt;&lt;br /&gt;Now, import the first database (redeployment) that you previously disabled and removed from deployment manager. You can now give it a new name if you like. As this is a redeployment, it will give this a organization a new Guid and the two organizations will not conflict.&lt;br /&gt;&lt;br /&gt;If you are creative you can probably think of you own solution using similar techniques.&lt;br /&gt;&lt;br /&gt;Big thanks to Rickard for input to this posting!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;a href="http://www.blogger.com/www.crmkonsulterna.se"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6115355999986915557?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6115355999986915557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2012/01/unable-to-upgrade-crm-40-database-more.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6115355999986915557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6115355999986915557'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2012/01/unable-to-upgrade-crm-40-database-more.html' title='Unable to upgrade CRM 4.0 database more than once'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1088667425157243103</id><published>2011-12-21T20:25:00.002+01:00</published><updated>2011-12-22T09:35:25.882+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bugg'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM 2011'/><title type='text'>Problems with converting email to case</title><content type='html'>I was recently working with a customer when I noticed an interesting bug in CRM 2011, in the Outlook Client. When trying to convert an email to either a lead, case or opportunity directly from the Outlook ribbon, it does not set the "regarding"&amp;nbsp;lookup field of the email that was tracked. However, if the email is first tracked, then "viewed in CRM" and then from the CRM&amp;nbsp;email form converted to lead, case or opportunity,&amp;nbsp;the regarding field is set&amp;nbsp;correctly.&lt;br /&gt;&lt;br /&gt;To make this a bit more clear I will describe this with a few screenshot below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We'll start off with opening a received email and pressing the Track button in CRM&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KOG2gFuMoWI/TvItA5R7WfI/AAAAAAAAAC8/cXbk6sfvHDg/s1600/Bild1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-KOG2gFuMoWI/TvItA5R7WfI/AAAAAAAAAC8/cXbk6sfvHDg/s1600/Bild1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This will then allow us to press the convert to Opportunity, Case or Lead, directly from Outlook. A very neat, and new function. It came with CRM 2011. In this example, I am selecting Case.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-N-mY6tHEH_8/TvItrnJ-GEI/AAAAAAAAADE/6ScSMZNJX44/s1600/Bild2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-N-mY6tHEH_8/TvItrnJ-GEI/AAAAAAAAADE/6ScSMZNJX44/s1600/Bild2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;This will show a smaller dialog allowing you to select case (not shown here) and also prompting you if you want to open the case or not. I selected to open the case.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-GEVnShWN-mw/TvIuC6GeMNI/AAAAAAAAADM/y2vXYObKJk0/s1600/Bild3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://1.bp.blogspot.com/-GEVnShWN-mw/TvIuC6GeMNI/AAAAAAAAADM/y2vXYObKJk0/s320/Bild3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;After opening the case, I checked the closed activities to see if the attached email that was I just converted to a case, but as you can see below there were none. I was a bit perplexed as I was showing this new functionality to the customer as was expecting to see the email here.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Z_LLVsXXJE0/TvIujobK0jI/AAAAAAAAADU/ZGLY8Y0emlI/s1600/Bild4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="161" src="http://4.bp.blogspot.com/-Z_LLVsXXJE0/TvIujobK0jI/AAAAAAAAADU/ZGLY8Y0emlI/s320/Bild4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I went back to the email from Outlook and opened it in CRM and found that it had not been correctly connected to the case using the lookup "Regarding" field.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9NLNUE0SDbw/TvIvEBV2DEI/AAAAAAAAADc/LA6wqwwMwuw/s1600/Bild5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="123" src="http://3.bp.blogspot.com/-9NLNUE0SDbw/TvIvEBV2DEI/AAAAAAAAADc/LA6wqwwMwuw/s320/Bild5.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So, I tried it the old way. I sent myself another email, pressed the track in CRM button, and then instead of converting it directly from Outlook, i pressed the "View in CRM" button to open it in CRM.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qUswsfenRHc/TvIvdncWtTI/AAAAAAAAADk/POHwEc47KOY/s1600/Bild6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-qUswsfenRHc/TvIvdncWtTI/AAAAAAAAADk/POHwEc47KOY/s1600/Bild6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I then converted it to a case from the ribbon menu from the CRM Email from by pressing the "To Case" button.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-mQPZTzZBOmw/TvIvytNy1FI/AAAAAAAAADs/SyufTkaoh74/s1600/Bild7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://2.bp.blogspot.com/-mQPZTzZBOmw/TvIvytNy1FI/AAAAAAAAADs/SyufTkaoh74/s320/Bild7.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I was shown a similar small dialog letting me select subject for the case and similar and then the case form was shown. It was identical to when created from Outlook, but when checking the closed activities there was one important difference;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-sqzeZfNYUTY/TvIwQwwVVFI/AAAAAAAAAD0/1lnbdz4sXyM/s1600/Bild8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="154" src="http://1.bp.blogspot.com/-sqzeZfNYUTY/TvIwQwwVVFI/AAAAAAAAAD0/1lnbdz4sXyM/s320/Bild8.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;And by opening the CRM email form from the list shows it clearly:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-erdq-_4pdJ8/TvIw8yTSUGI/AAAAAAAAAEE/J8eKYXu7uGs/s1600/Bild9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://4.bp.blogspot.com/-erdq-_4pdJ8/TvIw8yTSUGI/AAAAAAAAAEE/J8eKYXu7uGs/s320/Bild9.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The regarding field has been set properly.&lt;br /&gt;&lt;br /&gt;This is a very unfortunate bug in CRM and I do hope Microsoft solve it quickly as the feature that CRM 2011 adds in Outlook by being able to convert emails to cases, opportunities and leads directly from the email form is very good but as all of you know who work close to sales or customer service people, their time is very precious and every click counts and new features that do not deliver&amp;nbsp;as expected are always annoying to the user. So, until the bug has been fixed, make sure the users open the CRM form to convert the emails.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update: &lt;/strong&gt;&lt;a href="http://niiranen.eu/crm" rel="nofollow"&gt;&lt;span style="color: #2288bb;"&gt;&lt;strong&gt;Jukka Niiranen&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;left a very informative comment to this posting below informing us that Microsoft probably will fix this bug in UR6 planned to be released in Jan 2012.&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;a href="http://www.blogger.com/www.crmkonsulterna.se"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1088667425157243103?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1088667425157243103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/12/problems-with-converting-email-to-case.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1088667425157243103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1088667425157243103'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/12/problems-with-converting-email-to-case.html' title='Problems with converting email to case'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-KOG2gFuMoWI/TvItA5R7WfI/AAAAAAAAAC8/cXbk6sfvHDg/s72-c/Bild1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-6343326192874092530</id><published>2011-10-26T15:15:00.000+02:00</published><updated>2011-10-26T15:15:27.183+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='bulk import'/><title type='text'>Built in imports in CRM</title><content type='html'>I have been working with the built in import functionality for imports a bit lately and I must say that it has been improved a quite a lot. It as now reached a level where it is quite usable but there are still problematic areas you have to look out for.&lt;br /&gt;&lt;br /&gt;I found this blog posting (&lt;a href="http://blogs.msdn.com/b/crm/archive/2010/03/15/importing-multiple-files-using-zip-import.aspx"&gt;http://blogs.msdn.com/b/crm/archive/2010/03/15/importing-multiple-files-using-zip-import.aspx&lt;/a&gt;)&amp;nbsp;which was quite interesting and enlighted me to the fact that you can import zip:ed files which is really good since there are some size limitation on file uploads to CRM. Since you usually get really good compression rates on csv and xml files this is really good news.&lt;br /&gt;&lt;br /&gt;For those of you who don't know these limitations, the maximum upload file size to CRM is 8 MB. But if you zip the&amp;nbsp;files the total size of files that can be contained within the zipfile can be up to 35 MB. Just to give you an example of the compression rates that can be achieved, we tried compressing a 70 MB xml based excel document and the zip-file we got was only 0.5 MB. That is a ratio of 1/140, less that 1% of the original size.&lt;br /&gt;&lt;br /&gt;Zipping the import files is also good for uploading multiple files with at once, for instance when the files have dependencies or when there are attachments as this reduces the manual work a lot.&lt;br /&gt;&lt;br /&gt;A bit of advice though. I would strongly advice against using the csv-format since it is very volatile and often brakes and gives rise to a lot of strange errors. It is also dependent on the local regional settings, for instance, in Sweden, it is not comma separated, but semi-colon separated, as this is the standard numeral separator. Very confusing. &lt;br /&gt;&lt;br /&gt;On top of this you often have problems with codepages, if you work in other languages than english, and you have to re-save the file in UTF-8 to make it import properly. Today we also had some issues with Excel insisting on formating the Swedish personal number (Social Security Numbers) as 7.41231E+12 instead of the correct 7412311234. We had to manually force it with different kinds of formatting to save the number correctly.&lt;br /&gt;&lt;br /&gt;It didn't end there, Excel also found it fitting to add a few empty columns to the end of our CSV-file making it impossible to import into CRM.&lt;br /&gt;&lt;br /&gt;So, we have been working to iron these things out and we were getting there but somewhere along the line we decided to skip the CSV and to go all&amp;nbsp;in for the excel as xml format instead. The files that are saved are a lot bigger but with the zip feature it is managable.&lt;br /&gt;&lt;br /&gt;Despite the fact that the new xml-format support and the zip-support exist I think the next time I will be even more vigourous in my recommendation for an import tool such as QuickBix Integration Suite, Scribe, or Import Manager. The new import features are great but for smaller imports, not for migrations.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;a href="http://www.blogger.com/www.crmkonsulterna.se"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6343326192874092530?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6343326192874092530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/10/built-in-imports-in-crm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6343326192874092530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6343326192874092530'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/10/built-in-imports-in-crm.html' title='Built in imports in CRM'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3090996630701799867</id><published>2011-08-02T12:44:00.000+02:00</published><updated>2011-08-02T12:44:33.049+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Certification'/><title type='text'>Nice blog posting on new CRM 2011 certifications</title><content type='html'>Back from the summer vacation and discussed CRM 2011 certifications on &lt;a href="http://www.crmforum.se/"&gt;www.crmforum.se&lt;/a&gt; where my friend Fredrik Neiderud hinted about a nice blog posting by Richard Knudson regarding the new CRM 2011 certifications and what new in them.&lt;br /&gt;&lt;br /&gt;Please read about it here: &lt;a href="http://www.dynamicscrmtrickbag.com/2011/07/11/dynamics-crm-2011-certifications/"&gt;http://www.dynamicscrmtrickbag.com/2011/07/11/dynamics-crm-2011-certifications/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;a href="http://www.blogger.com/www.crmkonsulterna.se"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3090996630701799867?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dynamicscrmtrickbag.com/2011/07/11/dynamics-crm-2011-certifications/' title='Nice blog posting on new CRM 2011 certifications'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3090996630701799867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/08/nice-blog-posting-on-new-crm-2011.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3090996630701799867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3090996630701799867'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/08/nice-blog-posting-on-new-crm-2011.html' title='Nice blog posting on new CRM 2011 certifications'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2770186241376168414</id><published>2011-07-13T23:54:00.000+02:00</published><updated>2011-07-13T23:54:04.818+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>Some interesting questions on xRM functionality</title><content type='html'>I have received a few questions from one of the readers of this blog and I will answer them bellow:&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;br /&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;I am currently working on a project which is planning to use CRM 2011 as a development platform for migrating an existing&amp;nbsp; vertical specific LOB application.&amp;nbsp; As the existing application has a large and complicated database, I am trying to better understand how CRM 2011 can use external data, hence the following questions:&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;br /&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Calibri;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Can CRM 2011 use external data assuming it is exposed as an OData feed?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;Yes and no. CRM 2011 cannot using some simple mode of configuration connect to an OData feed but there are numerous customizations that can be done using techniques such as javascript, mash-ups, SilverLight, XSLT or ASP.NET that can be used to work with the Odata feed. When I work with my clients, I usually try to understand what they are trying to achieve to be able to recommend a technique that fits their requirements. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Calibri;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Will CRM allow creation of Metadata for external Odata?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;Yes, as mentioned above the different customization points allow for different ways of communicating and working with external data and metadata such as OData. There are no built in methods that automatically will connect OData to CRM (as I know of anyway). &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Calibri;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Can CRM security model be used for external Odata?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;The CRM security model is rather complex as it incorporates several concepts at the same time;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Security roles&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Organizational context with ownership of objects based on this and in conjunction with the roles.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Sharing privileges to individual users and/or teams&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;This results in the fact that it is rather complex to replicate the privileges for a certain object to a related object in another system. It can be done, but requires in-depth knowledge of the CRM security model and the API:s as all data related to this can be accessed from the API.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;As an example of the complexity, let’s say that you have users A, B and C. User A belongs to division inner sales, user B to division outer sales and user C to division service. All have the same role that only allows access to the accounts within the same division. The account “Vodaphone” is owned by A and A creates a new team to which he shares the rights to view the account “Vodaphone”. He then adds B to this team while creating it. Some time later he adds C to this team as well and shares read-write access directly to B as well. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;This is an example that despite the fact that they all have the same roles would involve a lot of setting access rights in the external system since the adding of team members to teams indirectly sets their rights. &lt;/span&gt;It is not impossible to implement but quite complex and does require a considerable amount of effort. For an experienced CRM developer, probably not less than 200 hours.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;When discussing issues like this with my clients, I, as I usually do, try to understand their core needs and motives so that I can suggest a good-enough solution that will give them the best bang of the buck.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Calibri;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Does CRM allow the use of external Odata in native forms or custom Silverlight UI has to be developed?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;No. Fields (previously called attributes) are directly connected to the database and there is no support for virtual attributes that will retrieve data from an external source.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Integrations to external systems, using any data source, for instance OData, can of course be created that will transfer data to CRM. &lt;/span&gt;Data could for instance be periodically sent or sent when there is an update if the external system allows that kind of triggering.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;It is also possible to jack into the retrieve or retrieve multiple events that occur when CRM tries to retrieve data so that CRM could pull data from the external data source when data is retrieved. I would not recommend this though since these events occur a lot and it would probably affect performance badly. It is also supported to fetch data directly from the database views using SQL and that would bypass this logic making this data incorrect. This would also cause some problems with working with CRM offline.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;The solution you are hinting at using Silverlight is of course also an option but would be similar to some mash-up integration that could also be created using ASP.NET or javascript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;It would sometimes also be an option to create specific reports in CRM that connect to external data sources and integrate the CRM data with the external data in this manner. This method is preferable when using data warehousing or when there are heavy performance issues, as these reports can be cached and scheduled.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Without knowing more about the specific requirements, I would hence recommend some kind of periodic or live integration that transfers the required data to CRM in read-only fields as this would be most in line with how CRM works and would enable all built in features that CRM has to work with this data. &lt;/span&gt;It would also be best from a performance perspective and could be scaled if needed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Calibri;"&gt;&lt;span style="mso-list: Ignore;"&gt;-&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Can external Odata be used in Workflow activities?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;Yes, custom workflows activities can be created in all versions of Microsoft Dynamics CRM 2011 except CRM Online where the same logic can be created with some work-around effort using plugins instead. &lt;/span&gt;These custom workflow activities are created using the .NET framework typically in C# and can hence easily use any available datasource, like Odata.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;On a related front, does CRM allow complicated (i.e. highly normalized and multi-level) data hierarchies to be implemented&amp;nbsp; natively?&amp;nbsp; If so, is there a performance penalty?&amp;nbsp; Would we be better off using this data as an external OData feed or bringing it internal to CRM?&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;No, CRM does not support some of the more complex OO concepts like interfaces and inheritance. &lt;/span&gt;As this is something many of us in the CRM community are looking for and it would also be a great addition to the xRM concept so I am certain it is on Microsoft’s list of features they are trying to implement. How far up, I cannot say.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;This is usually not a major issue for me when I work with my clients and I have created very complex verticalizations, for instance for the Telco industry which implement a highly normalized and multi-level information model called SID, in CRM. &lt;/span&gt;What you need to do is make it a bit more flat and more concrete which you more or less have to do anyway if you want to make the system usable. It is of course important to be well aware of the simplifications you are making but I do not imagine that any usable system possibly could implement the entire SID information model without simplification and still make the system usable and with any reasonable budget. &lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;The abstract class “Party” for instance is just too abstract to be of any real use, but it is of course useful to know that contact, account, competitor, lead, system user etc. do share some information. The implementation would however have benefited from one or two inheritances or interfaces.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language: EN-US;"&gt;If the data should be kept in or outside the system is not easy to answer without deeper knowledge of what you are trying to implement. If you keep it mostly outside, you would have to define a very strict line at which information is kept inside or outside of CRM. Do not, however, underestimate the power of the xRM platform, it is often advantageous to implement large or all parts of the LOB application inside CRM/xRM since you get so much functionality for free when doing this.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;In general I would need deeper domain knowledge to be able to give you more direct recommendations and I do not think that this is the forum for that kind of discussion as that requires a dialog and would probably best be done in workshops.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;I do like the fact that you sent me these questions as I think they are very relevant when looking at the system from an xRM perspective and put the finger on some of the issues that Microsoft have to improve in the system. If there are other readers out there, if you have questions, please send them to me and I will try to answer them on this blog.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;a href="http://www.blogger.com/www.crmkonsulterna.se"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2770186241376168414?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2770186241376168414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/07/some-interesting-questions-on-xrm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2770186241376168414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2770186241376168414'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/07/some-interesting-questions-on-xrm.html' title='Some interesting questions on xRM functionality'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1331936944118271841</id><published>2011-06-16T11:02:00.000+02:00</published><updated>2011-06-16T11:02:31.258+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'></title><content type='html'>Today I was deploying a solution to a production environment and ran into a quite difficult problem; the custom report we had made could not be uploaded to CRM and the error description was rather cryptic. This error description was independent on if we tried to import the entire solution or just added the report directly. The error we received was the following:&lt;br /&gt;&lt;br /&gt;Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: &lt;br /&gt;&lt;br /&gt;An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the report again. If this problem persists, contact your system administrator.Detail: &lt;br /&gt;&lt;br /&gt;&lt;organizationservicefault 2001="" www.w3.org="" xmlns:i="&amp;lt;a href=" xmlschema-instance?=""&gt;http://www.w3.org/2001/XMLSchema-instance" xmlns="&lt;a href="http://schemas.microsoft.com/xrm/2011/Contracts"&gt;http://schemas.microsoft.com/xrm/2011/Contracts&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;errorcode&gt;-2147188072&lt;/errorcode&gt;&lt;br /&gt;&amp;nbsp; &lt;errordetails 07="" 2004="" schemas.datacontract.org="" system.collections.generic?="" xmlns:d2p1="&amp;lt;a href="&gt;http://schemas.datacontract.org/2004/07/System.Collections.Generic" /&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;message&gt;An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the report again. If this problem persists, contact your system administrator.&lt;/message&gt;&lt;br /&gt;&amp;nbsp; &lt;timestamp&gt;2011-06-16T07:43:12.1856313Z&lt;/timestamp&gt;&lt;br /&gt;&amp;nbsp; &lt;innerfault i:nil="true"&gt;&lt;br /&gt;&amp;nbsp; &lt;tracetext i:nil="true"&gt;&lt;br /&gt;&lt;/tracetext&gt;&lt;/innerfault&gt;&lt;/errordetails&gt;&lt;/organizationservicefault&gt;&lt;br /&gt;&lt;br /&gt;I Binged/Googled the webb some and found that this article probably describes this error as it fits our environmen setup:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/2491352"&gt;http://support.microsoft.com/kb/2491352&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The error was due to the fact that reports written for SQL 2008 R2 are not compatible with SQL 2008. This has some very important effects as many customers might be running SQL 2008 for the production environments and many developers work with SQL 2008 R2 when developing. This difference might not be noticeable in general but this fact will cause these reports&amp;nbsp; to not be importable into the production environment.&lt;br /&gt;So, a general suggestion is to have all environments, development, development test, acceptance test, training and production on exactly the same version of both Windows server and SQL-server to avoid any errors showing up in one of the environments but not the other, something that can be very problematic to solve due to the difficulty of finding the error since it by definition cannot be replicated on some of the environments.&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;a href="http://www.blogger.com/www.crmkonsulterna.se"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1331936944118271841?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1331936944118271841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/06/today-i-was-deploying-solution-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1331936944118271841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1331936944118271841'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/06/today-i-was-deploying-solution-to.html' title=''/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-710646033639427527</id><published>2011-06-01T15:35:00.000+02:00</published><updated>2011-06-01T15:35:41.246+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow activities'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>Problem with Custom Workflow Activities in CRM 2011</title><content type='html'>The workflow activities framework for CRM 2011 has been upgraded from CRM 4.0. The dependance properties have been removed and it now support the simplified datatypes used in CRM 2011 like DateTime.&lt;br /&gt;&lt;br /&gt;I was developing a custom activity today and I had an output argument that was of the type EntityReference. However, when I tried to run it I got a weird error:&lt;br /&gt;&lt;br /&gt;"The argument of type 'Microsoft.Xrm.Sdk.EntityReference' cannot be used.  Make sure that it is declared on an activity."&lt;br /&gt;&lt;br /&gt;The argument declaration looked like this:&lt;br /&gt;&lt;br /&gt;[Output("The Output of special entity")]&lt;br /&gt;[ReferenceTarget("new_specialentity")]&lt;br /&gt;public OutArgument&lt;entityreference&gt; specOut { get; set; }&lt;/entityreference&gt;&lt;br /&gt;&lt;br /&gt;And I am trying to set it with the following code:&lt;br /&gt;&lt;br /&gt;specOut = new OutArgument&lt;entityreference&gt;();&lt;/entityreference&gt;&lt;br /&gt;Entity outent = entities.Entities[0];&lt;br /&gt;specOut.Set(executionContext, outent.ToEntityReference());&lt;br /&gt;&lt;br /&gt;I had also tried creating the entity reference with a default contstructor and filling id and logicalname, with the constructor setting id and logicalname. I had even tried setting it using the entity directly but they all give the same error. I had not found anything useful on the internet or in the SDK.&lt;br /&gt;&lt;br /&gt;After some rethinking I looked closer at the error message and thought that there might be something wrong with the declaration or definition of the OutArgument. And after some tries I found that the error was that I had created a new OutArgument which is wrong, it is precreated and this was the reason for the error. Hence I just removed the line:&lt;br /&gt;&lt;br /&gt;specOut = new OutArgument&lt;entityreference&gt;();&lt;/entityreference&gt;&lt;br /&gt;&lt;br /&gt;and it work like it should have from the beginning.&lt;br /&gt;&lt;br /&gt;It is always interesting to work with new technology!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-710646033639427527?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/710646033639427527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/06/problem-with-custom-workflow-activities.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/710646033639427527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/710646033639427527'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/06/problem-with-custom-workflow-activities.html' title='Problem with Custom Workflow Activities in CRM 2011'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1972240683233849171</id><published>2011-05-12T16:45:00.000+02:00</published><updated>2011-05-13T22:24:33.975+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='System Checks'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><title type='text'>Ignoring system checks during installation of CRM</title><content type='html'>Sometimes when installing, it can be necessary to allow the installation to take place despite the fact that some of the system checks that are conducted during the installation fail. There are some different places mentioning how to do this, it is actually rather simple, you just have to add the DWORD key IgnoreChecks with a value of "1" to the MSCRM key in the registry [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM]. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;www.crmkonsulterna.se&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1972240683233849171?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1972240683233849171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/ignoring-system-checks-during.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1972240683233849171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1972240683233849171'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/ignoring-system-checks-during.html' title='Ignoring system checks during installation of CRM'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3094575183645274848</id><published>2011-05-12T13:31:00.000+02:00</published><updated>2011-05-13T22:24:35.089+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tracing'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Plugins'/><title type='text'>Problems when connecting PluginRegistration Tool to CRM</title><content type='html'>I was going to deploy some plugins to a server today and when I tried to connect to the CRM with the PlugingRegistration.exe I found got the following error:&lt;br /&gt;&lt;br /&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"&gt;Unhandled Exception: System.ServiceModel.FaultException: The server was unable to process the request due to an internal error.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I switched on the tracing in CRM and read the following from the trace log (edited):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;System.IO.FileNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;Could not load file or assembly 'Microsoft.Xrm.Client, Version=5.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;The error seems to originate from CRM not being able to find the Microsoft.Xrm.Client.dll&amp;nbsp;file.&amp;nbsp;After some fiddeling, I fixed it&amp;nbsp;by copying the file from the SDK\bin&amp;nbsp;directory to CRMWeb\bin directory. It is a bit strange that it is required that you do this,&amp;nbsp;and it will probably be&amp;nbsp;fixed&amp;nbsp;in future rollups of CRM 2011.&lt;br /&gt;&lt;br /&gt;By the way, I heard some rumors from the CRM Statement of Direction that CRM 6 will be released Q2 2012 and that it will have multibrowser support. The feature we have all been waiting for, and it is probably going to be more or less the same thing as the 2011 version but with multibrowser support. So Software Assurance will probably be a good idea this year for Microsoft Dynamics CRM.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;&lt;span style="font-family: inherit;"&gt;www.crmkonsulterna.se&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&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/28669706-3094575183645274848?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3094575183645274848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/problems-when-connecting.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3094575183645274848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3094575183645274848'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/problems-when-connecting.html' title='Problems when connecting PluginRegistration Tool to CRM'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7721155601590462425</id><published>2011-05-10T08:38:00.000+02:00</published><updated>2011-05-10T08:38:19.868+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM'/><title type='text'>New design and name</title><content type='html'>Since I live by the principle that you should focus on what you are good at and leave the rest to others, I must admit that my SharePoint experience is degrading due to the fact that I havn't worked with it for several years. This can also be seen in the postings that I have done on the blog, where almost 100% of the posting during the last years have regarded Dynamics CRM.&lt;br /&gt;&lt;br /&gt;The natural conclusion of this is that this blog should also focus, hence I have renamed it to Gustaf's Microsoft Dynamics CRM Blog omitting the previous SharePoint part.&lt;br /&gt;&lt;br /&gt;I also revised the layout of the blog, to freshen things up a bit.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7721155601590462425?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7721155601590462425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/new-design-and-name.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7721155601590462425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7721155601590462425'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/new-design-and-name.html' title='New design and name'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2153301789653846670</id><published>2011-05-06T08:27:00.000+02:00</published><updated>2011-05-06T08:27:35.585+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sandbox'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Plugins'/><title type='text'>Debugging sandboxed plugins</title><content type='html'>Microsoft Dynamics CRM 2011 includes a feature to allow sandboxing of plugins. This means that the program execution is fenced off from the rest of the server to avoid any buggs or exploit attempts in the plugins to affect the rest of the server. This is most useful in the CRM Online and partner hosted deployments but can also be used in normal on-premise solutions to fence off some risky code.&lt;br /&gt;&lt;br /&gt;When developing plugins, I strongly recommend a local CRM installation, even if the deployment of the plugin is going to be on CRM Online. It is not possible to step-debug programs on CRM online for natural reasons, and the shotgun-debugging approach that is available from the CRM Plugin SDK is quite rough and does increase development time.&lt;br /&gt;&lt;br /&gt;Normally when step-debugging plugins, you would attach to the w3wp process for the CRM app-pool.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-PijqBOZ6nS0/TcOTXzZ-QkI/AAAAAAAAACo/UmDyq38pkb0/s1600/AttachToProcess.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="433" src="http://1.bp.blogspot.com/-PijqBOZ6nS0/TcOTXzZ-QkI/AAAAAAAAACo/UmDyq38pkb0/s640/AttachToProcess.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;However, you do have to remember that plugins that are registered to be run in the sandbox, actually are executed under a different process hence you cannot attach to the w3wp process when debugging but instead have to attach to the Sandbox process.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Pg1y5ybshak/TcOTx8YxJ_I/AAAAAAAAACs/uwLFmbrObfA/s1600/AttachToProcessSandbox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="434" src="http://1.bp.blogspot.com/-Pg1y5ybshak/TcOTx8YxJ_I/AAAAAAAAACs/uwLFmbrObfA/s640/AttachToProcessSandbox.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you would like, it is also possible to register the plugin outside the sandbox first while developing and the re-register it in the sandbox later. Some errors might, however, only show when working with sandboxed plugins so it is also good to be able to debug these.&lt;br /&gt;&lt;br /&gt;Do note that it I have installed the sandbox to use Network Servce as the executing account, this is not recommended for production deployments, since that will nullify some of the security features of the sandbox. Instead a dedicated minimum security account should be used to block the process from accessing anything outside the sandbox.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2153301789653846670?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2153301789653846670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/debugging-sandboxed-plugins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2153301789653846670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2153301789653846670'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/05/debugging-sandboxed-plugins.html' title='Debugging sandboxed plugins'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-PijqBOZ6nS0/TcOTXzZ-QkI/AAAAAAAAACo/UmDyq38pkb0/s72-c/AttachToProcess.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4350752452949707715</id><published>2011-04-05T00:17:00.000+02:00</published><updated>2011-04-05T00:17:47.948+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Email router'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4'/><title type='text'>Email router on Windows Server 2008 R2</title><content type='html'>A customer of mine is running CRM 4 in IFD mode on a Windows Server 2008 R2 and I thought it might be a good idea to activate the Email router and talk to them about sending mail using that instead of the internal email handler to reduce the need for them to be online with their Outlooks for things to work.&lt;br /&gt;&lt;br /&gt;Well, as usually I set up the email router on the CRM-server but was baffled when I couldn't connect to it. I just got this weird error of 401 Unauthorized error. I tried everthing, changing the users, adding the user to the privusergroup, changing the ADWebApplicationRootDomain. After some googling I found the solution on this excellent blog.&lt;br /&gt;&lt;a href="http://crmwizard.blogspot.com/2010/02/server-2008-and-email-router-with-ifd.html"&gt;http://crmwizard.blogspot.com/2010/02/server-2008-and-email-router-with-ifd.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It turned out that&amp;nbsp;the server was using IPv6 to access itself and&amp;nbsp;the onpremise exceptions set up in the IFD settings were only based on IPv4 hence it tried to access it in the IFD mode. I just switched IPv6 off in the&amp;nbsp;network adpater and everything worked as it should.&lt;br /&gt;&lt;br /&gt;If you speak swedish, there are some interesting discussions on &lt;a href="http://www.crmforum.se/"&gt;http://www.crmforum.se/&lt;/a&gt;, the only Swedish CRM-forum dedicated to Dynamics CRM. So head over there and digg in!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4350752452949707715?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4350752452949707715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/04/email-router-on-windows-server-2008-r2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4350752452949707715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4350752452949707715'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/04/email-router-on-windows-server-2008-r2.html' title='Email router on Windows Server 2008 R2'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4354768918149261925</id><published>2011-03-11T08:20:00.000+01:00</published><updated>2011-03-11T08:20:58.877+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM 2011 Online'/><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><category scheme='http://www.blogger.com/atom/ns#' term='online'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Licensing'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>CRM 2011 Online and datawarehousing</title><content type='html'>I attended a half day presentation by Microsoft yesterday on the subject of Dynamics CRM 2011 and integrations. It seems that many parterners are a bit hesistant to integrating Dynamics CRM 2011 Online and are promoting the on-premise versions when the issues of integration are important.&lt;br /&gt;&lt;br /&gt;Microsoft did a good job in showing that they do have sufficient technology to handle integrations to Dynamics CRM 2011 Online including the Azure based technology ACS - Access Control System that together with Active Directory Federation Services 2.0 can be used to allow Dynamics CRM 2011 Online to use a local AD as authenticator. It is probably not as easy as setting up a normal on-premise solution but at least it can be done and there hopefully are some whitepapers or Youtube-clips on how it is done.&lt;br /&gt;&lt;br /&gt;One of the issues that were discussed was the issue of integrations in reagards to Business Intelligence and data warehousing. This is usually done using SQL Integration Service (SSIS) with direct SQL communication. Their suggestion on how to address this issue was to use the new &lt;a href="http://www.odata.org/"&gt;OData&lt;/a&gt; interface that exists in Dynamics CRM 2011. I am no SQL expert but I do believe that this being a standardized protocol,&amp;nbsp;integrations will be possible. However, there will still be issues with performance as the amounts of&amp;nbsp;data that need to be transfered are quite large and the OData protocol&amp;nbsp;is still a strict pull-protocol which does not allow for trigger-based updates.&lt;br /&gt;&lt;br /&gt;Another issue&amp;nbsp;that I&amp;nbsp;asked about was the licensing issue in regards to Dynamics CRM 2011&amp;nbsp;Online.&amp;nbsp;Take the following example: A large company of about 40 000 employees&amp;nbsp;has about&amp;nbsp;500 people activly working in&amp;nbsp;with Dynamics CRM 2011 Online for SalesForceAutomation. A data warehouse is created and data is integrated from many different systems, ERP, production systems, quality control systems and CRM. CRM being the customer data master. SharePoint is used as the global Intranet platform and some of the data from the data warehouse is published on the SharePoint portal to all employees. For instance our currently 10 most important&amp;nbsp;customers. So, the 39 500 employees are only viewing a minute part of the customer data, and it indirecty, via the data warehouse, originates from the CRM system. What licenses in CRM are required for these users?&lt;br /&gt;&lt;br /&gt;In the case of an on-premise installation, the best licensing option for Dynamics CRM is the Application Platform Agreement (APA) that is&amp;nbsp;sort of a "free-for-all pass" which is negotiated with Microsoft. However, in the Online environment there is&amp;nbsp;no correlating licensing agreement to the APA. I explicitly asked&amp;nbsp;Micrsoft how this was to be licensed and their answer is&amp;nbsp;that 40 000 separate users&amp;nbsp;licenses are required for Dynamics CRM&amp;nbsp;2011 Online, making&amp;nbsp;it a rather impossible option, in other words forcing the company to either an on-premise solution, removing some of the data from the data warehouse/Intranet or moving to another CRM supplier. Neither of which is in line with showing off the power of Microsofts cloud services.&lt;br /&gt;&lt;br /&gt;I&amp;nbsp;hope this&amp;nbsp;is just a temporary flaw since&amp;nbsp;it does limit Microsofts business opportunities with larger companies and I&amp;nbsp;would think it is probable that some&amp;nbsp;similar&amp;nbsp;agreement form that matches the on-premise APA will be introduced.&lt;br /&gt;&lt;br /&gt;On the other hand, the External Connector license is not required at all for CRM Online&amp;nbsp;(or SPLA) making it even more interesting for smaller CRM customers as customer/event/portal integrations are more and more common.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4354768918149261925?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4354768918149261925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/crm-2011-online-and-datawarehousing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4354768918149261925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4354768918149261925'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/crm-2011-online-and-datawarehousing.html' title='CRM 2011 Online and datawarehousing'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4549786071245561967</id><published>2011-03-08T08:07:00.000+01:00</published><updated>2011-03-08T08:07:06.589+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM 4.0'/><title type='text'>Installing CRM 4.0 on Windows Server 2008 (R2)</title><content type='html'>Windows Server 2008 (R2) brings a lot of new and nice features. IIS 7 being one of them and fact that you need to install the features you want to use also makes it more slim and generally better.&lt;br /&gt;&lt;br /&gt;However, it does add some extra complexity to installing Dynamics CRM since it requires some components. The&amp;nbsp;installation&amp;nbsp;check that Dynamics CRM runs&amp;nbsp;during installation&amp;nbsp;is not complete in this aspect either and it misses out on some critical components.&lt;br /&gt;&lt;br /&gt;I am preparing a virtual machine&amp;nbsp;for a customer of mine and it came with everything installed, but not verified. The Dyn CRM installation did not work. After some checking I found that the following&amp;nbsp;role services&amp;nbsp;were missng:&lt;br /&gt;&lt;br /&gt;Static Content Handler&lt;br /&gt;Windows Authentication&lt;br /&gt;&lt;br /&gt;and I also added&lt;br /&gt;&lt;br /&gt;Digest Authentication and&lt;br /&gt;Static Content Compression&lt;br /&gt;&lt;br /&gt;Also the SQL Reporting Services (SSRS)&amp;nbsp;was configured to run with an Execution Account, which I found on some bloggs was erroneous. This is not strange since SSRS with Dynamics CRM is designed for sending the user credentials all the way to the SQL-server, which means that SSRS must impersonate the user. So I disabled this.&lt;br /&gt;&lt;br /&gt;After fixing these issues, the best way forward is to reinstall Dyn CRM since trying to fix a faulty installation is a lot harder and takes a lot more time. If you have data that you need, try reinstalling and then redeploying the database.&lt;br /&gt;&lt;br /&gt;I am also using VirtuaBox as virtualization and I strongly advise against using the snapshot functionality, it seems very unstable.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4549786071245561967?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4549786071245561967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/installing-crm-40-on-windows-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4549786071245561967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4549786071245561967'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/installing-crm-40-on-windows-server.html' title='Installing CRM 4.0 on Windows Server 2008 (R2)'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2360992974003482178</id><published>2011-03-04T09:21:00.002+01:00</published><updated>2011-03-04T09:24:10.852+01:00</updated><title type='text'>Javascript in CRM 2011 - lots of new stuff</title><content type='html'>CRM 2011 brings lots of new technology, one of the areas being web resources, a very longed for area where general resources like webpages, javascript libraries and silverlight applications can be uploaded in a general area and then selected in certain areas.&lt;br /&gt;&lt;br /&gt;Microsoft have also revised the javascript framework for CRM 2011 and it brings a lot of enhancments and and some old stuff has been depracated, but still works.&lt;br /&gt;&lt;br /&gt;I found a very interesting grid at this blog: &lt;a href="http://inogic.blogspot.com/2011/02/difference-between-crm-40-and-crm2011.html"&gt;http://inogic.blogspot.com/2011/02/difference-between-crm-40-and-crm2011.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have referenced it directly for your pleasure bellow, click it to view it in full size:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-W9jtkCdcDvA/TWJitcuq4-I/AAAAAAAAAsQ/EonZok8J4Yg/s1600/2ablog.png" imageanchor="1" style="cssfloat: left; margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="409" l6="true" src="http://4.bp.blogspot.com/-W9jtkCdcDvA/TWJitcuq4-I/AAAAAAAAAsQ/EonZok8J4Yg/s640/2ablog.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;Great thanks to the guys behind it at Inogic. A great help!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2360992974003482178?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2360992974003482178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/javascript-in-crm-2011-lots-of-new.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2360992974003482178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2360992974003482178'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/javascript-in-crm-2011-lots-of-new.html' title='Javascript in CRM 2011 - lots of new stuff'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-W9jtkCdcDvA/TWJitcuq4-I/AAAAAAAAAsQ/EonZok8J4Yg/s72-c/2ablog.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-6084025735464445518</id><published>2011-03-02T13:25:00.000+01:00</published><updated>2011-03-02T13:25:47.732+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='www.crmforum.se'/><title type='text'>www.crmforum.se</title><content type='html'>We have longed for a local Swedish forum dedicated to only Microsoft Dynamics CRM where both consultants, experts, trainers and users can create a community and discuss issues concerning Microsoft Dynamics CRM. Not as big as the official forum hosted by Microsoft, but smaller, in Swedish and maybe a bit more friendly! That is why we have created &lt;a href="http://www.crmforum.se/"&gt;http://www.crmforum.se/&lt;/a&gt;, the Swedish forum for the Dynamics CRM community in Sweden and Scandinavia. So if you are working with Microsoft Dynamics CRM and like to communicate in Swedish, join us. There are no adds and no fees.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmforum.se/"&gt;http://www.crmforum.se/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6084025735464445518?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.crmforum.se' title='www.crmforum.se'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6084025735464445518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/wwwcrmforumse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6084025735464445518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6084025735464445518'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/03/wwwcrmforumse.html' title='www.crmforum.se'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5983634847853050028</id><published>2011-02-17T16:54:00.000+01:00</published><updated>2011-02-17T16:54:32.878+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><title type='text'>CRM 2011 is now fully released</title><content type='html'>Now it is finally here in full! The new, brilliant version of our favorite product, Microsoft Dynamics CRM 2011. If you havn't already tried it, there is no time to loose! Click the link bellow and start downloading:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c3f82c6f-c123-4e80-b9b2-ee422a16b91d"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c3f82c6f-c123-4e80-b9b2-ee422a16b91d&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5983634847853050028?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5983634847853050028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/02/crm-2011-is-now-fully-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5983634847853050028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5983634847853050028'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/02/crm-2011-is-now-fully-released.html' title='CRM 2011 is now fully released'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-9156716344940000391</id><published>2011-02-10T15:52:00.001+01:00</published><updated>2011-02-11T09:33:52.986+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='Guest blog'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>My first apperance as guest blogger</title><content type='html'>I have been asked by the very well renowned blog at &lt;a href="http://www.softwareadvice.com/accounting/project-accounting-software-comparison/"&gt;Software Advice&lt;/a&gt;, to write a guest post and you can now read it at their site: &lt;a href="http://www.softwareadvice.com/articles/enterprise/is-your-cloud-system-safe-from-the-law-01020911/"&gt;Software Advice&lt;/a&gt;. It is a post concerning the legal problems of cloud based systems and where its data is stored. It is most uncertain which laws apply to the data, and the most probable outcome is that it will be viewed as subject to the country where it is stored. Something that might not always be beneficial to companies and organizations with sensitive data.&lt;br /&gt;&lt;br /&gt;Please read it and leave your comment on the subject, it would be very interesting to read your view on the subject. I personally think it is very interesting and that it is one of the aspects of cloud computing that I feel often is neglected by companies.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-9156716344940000391?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/9156716344940000391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/02/my-first-apperance-as-guest-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/9156716344940000391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/9156716344940000391'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/02/my-first-apperance-as-guest-blogger.html' title='My first apperance as guest blogger'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-196420031532000791</id><published>2011-01-17T13:38:00.000+01:00</published><updated>2011-01-17T13:38:10.577+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IFD'/><category scheme='http://www.blogger.com/atom/ns#' term='Federation Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Claims based authentication'/><title type='text'>CRM 2011 IFD</title><content type='html'>Internet Facing Deployment is one of the most important features of Dynamics CRM 4 and will be so for CRM 2011 aswell. It is the enabler for real multitennancy environments and for accessing Dynamics CRM from the Internet.&lt;br /&gt;&lt;br /&gt;As I mentioned &lt;a href="http://gustafwesterlund.blogspot.com/2010/11/crm-2011-and-internet-facing-deployment.html#links"&gt;previously&lt;/a&gt;, in CRM 2011 there have been some major changes to this feature as it is now based on Claims based authentication. I tried setting this up for the Beta release but the AD Federation Services 2.0 requirements were a bit over my head.&lt;br /&gt;&lt;br /&gt;Well, Microsoft acknowledged this and have now released a &lt;a href="http://www.youtube.com/watch?v=T9jZIxDTsBw"&gt;video&lt;/a&gt; on how to set this up and they mentioned it on the &lt;a href="http://blogs.msdn.com/b/crm/archive/2011/01/13/configuring-ifd-with-microsoft-dynamics-crm-2011.aspx"&gt;CRM Team blog&lt;/a&gt; aswell.&lt;br /&gt;&lt;br /&gt;I havn't tried it yet, but videos are an excellent way of learning how to do these things since you can pause, rewind&amp;nbsp;and do it one step at a time.&lt;br /&gt;&lt;br /&gt;If you have any experience of&amp;nbsp;setting up&amp;nbsp;IFD for CRM 2011, please drop a comment.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-196420031532000791?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/196420031532000791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/01/crm-2011-ifd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/196420031532000791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/196420031532000791'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2011/01/crm-2011-ifd.html' title='CRM 2011 IFD'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8399301776099238615</id><published>2010-12-22T13:43:00.000+01:00</published><updated>2010-12-22T13:43:11.990+01:00</updated><title type='text'>Need to approve email addresses in CRM 2011</title><content type='html'>As we are running CRM 2011 as dogfood, I found an interesting new feature of CRM 2011. When adding a new user, you have to approve their email for it to work properly, for instance in Outlook where you otherwise will get an error saying that the sending user does not have an email address.&lt;br /&gt;&lt;br /&gt;So, if you get this error, just add an email address and press the "Approve Email" button in the ribbon.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_heR3jQPxKvI/TRHyRHHg76I/AAAAAAAAACM/3cZ2cm7To9I/s1600/Approve+email.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" n4="true" src="http://4.bp.blogspot.com/_heR3jQPxKvI/TRHyRHHg76I/AAAAAAAAACM/3cZ2cm7To9I/s320/Approve+email.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8399301776099238615?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8399301776099238615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/need-to-approve-email-addresses-in-crm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8399301776099238615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8399301776099238615'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/need-to-approve-email-addresses-in-crm.html' title='Need to approve email addresses in CRM 2011'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_heR3jQPxKvI/TRHyRHHg76I/AAAAAAAAACM/3cZ2cm7To9I/s72-c/Approve+email.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2575969585075245797</id><published>2010-12-21T13:41:00.001+01:00</published><updated>2010-12-22T13:21:10.398+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Interesting blog article on Microsofts Dynamics in the cloud</title><content type='html'>The Cloud is hot. Everybody seems to be talking cloud computing like it is the holy grail of computing. I try to have a bit more cold headed view of it since I am often faced with the complexities of integrating systems with each other, I often find that it can be very complex to integrate two systems residing in machines next to each other, adding a level of complexity by placing these machines on the internet does make integration more complex and costly.&lt;br /&gt;&lt;br /&gt;The cloud does have its advantages though, for smaller companies, like my own, there is no need to own and run large servers. We, at CRM-Konsulterna, do not run any servers at all. The one server that we actually need, our lab environment, is actually hosted aswell, but on a infrastructure level.&lt;br /&gt;&lt;br /&gt;I was tipped by &lt;a href="http://www.softwareadvice.com/accounting/online-accounting-software-comparison/"&gt;Software Advice&lt;/a&gt;&amp;nbsp;about an interesting article on Microsofts push on cloud computing for Microsoft Dynamics. You can read it here: &lt;a href="http://www.softwareadvice.com/articles/accounting/microsoft-is-all-in-for-the-cloud-but-what-about-dynamics-1121310/"&gt;http://www.softwareadvice.com/articles/accounting/microsoft-is-all-in-for-the-cloud-but-what-about-dynamics-1121310/&lt;/a&gt;. It addresses some quite interesting points from a Dynamics perspective, not only CRM.&lt;br /&gt;&lt;br /&gt;I think that you need to understand the background in order to understand why Microsoft are pushing this so hard. The traditional on-premise deployment type of systems has always been Microsofts strongest area and Microsoft has for several reasons, like risk reduction, scalability etc. to have a business that is partner based. It is also heavily focused on adressing the IT part of customers business, which is natural when coming from their background.&lt;br /&gt;&lt;br /&gt;The recent years have shown that companies like Google and SalesForce.com deliver very competent cloud based services and this seriously endagers Microsofts core business model since it shortcuts Microsoft offers by adressing the business decions makers directly and circomventing the IT-departments. This is a outspoken stragegy for companies like SalesForce.com.&lt;br /&gt;&lt;br /&gt;So, what Microsoft tries to do is to compete on the cloud market &lt;em&gt;and&lt;/em&gt; the on-premise market at the same time while still trying to hold on to their partner network and maintain their loyalty. This is of course quite complicated since many Microsoft partners have made a living by installing and selling Microsoft software. There are new models for cloud based service reselling but it does feel like there is going to be a bit of a downside for many partners.&lt;br /&gt;&lt;br /&gt;From our perspective, as CRM-consultants, we are happy to offer CRM in any flavor since our main businesses is not selling the licenses but around helping our customers leverage the power of the system by adapting it to their needs. Hence it does not really matter if it on-premise or in the cloud.&lt;br /&gt;&lt;br /&gt;However, from a technical perspective, we do recommend either partner hosted or on-premise since that substantially reduces the pains of integrations and adaptions compared to a Microsoft hosted solution.&amp;nbsp;So,&amp;nbsp;our recommendation to our&amp;nbsp;customers is usually to choose partner hosted as that&amp;nbsp;relieves &amp;nbsp;them of the burden of managing the server etc. and at the same time gives us all the advantages of&amp;nbsp;adapting the system to their needs.&lt;br /&gt;&lt;br /&gt;The fact that Hunter Richards mentions about the different architectures of the Dynamics ERP products is true but does not really affect Microsoft CRM since it has a good Cloud platform, even though there are some adaptations that only can be done on on-premise or partner hosted systems, it is a very competent and flexible Cloud system and the new version CRM 2011 is even better.&lt;br /&gt;&lt;br /&gt;It will also be interesting to see how Microsoft will mange the partner channel in the future. It is something they, with their current business model cannot do without but at the same time something that slows them down a bit since partners naturally are slower to move than inhouse consultants.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2575969585075245797?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2575969585075245797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/interesting-blog-article-on-microsofts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2575969585075245797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2575969585075245797'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/interesting-blog-article-on-microsofts.html' title='Interesting blog article on Microsofts Dynamics in the cloud'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3170517348053255247</id><published>2010-12-16T15:21:00.000+01:00</published><updated>2010-12-16T15:21:06.846+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hosts'/><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM; Outlook'/><title type='text'>CRM 2011 Release Candidate and installation</title><content type='html'>As most of you dedicated CRM nerds most certainly already know, the Release Candidate for CRM 2011 has been released.&lt;br /&gt;&lt;br /&gt;As we at CRM-Konsulterna want to act as we preach, we have of course installed it and are now trying it out.&lt;br /&gt;&lt;br /&gt;We are a small company and do not yet have an AD except one for our development environments on our virtual server host that we rent. So, our computers are not part of the domain that the CRM resides in.&lt;br /&gt;&lt;br /&gt;An interesting thing about the Outlook client&amp;nbsp;installation was that when we tested the connection, it worked just fine, but when trying to press the OK button in the configuration wizard, it just complained with the following error message "The server address (URL) is not valid.".&lt;br /&gt;&lt;br /&gt;After some digging,&amp;nbsp;I found that the reason was that the stored URL&amp;nbsp;that the discovery service returns&amp;nbsp;is actually the computer name, and&amp;nbsp;since our&amp;nbsp;working computers arn't part of the CRM:s&amp;nbsp;AD, it couldn't find it.&lt;br /&gt;&lt;br /&gt;The simple fix is to add an entry in the local hosts file located in "C:\Windows\System32\drivers\etc\hosts" (if you installed windows to C:\Windows of course).&lt;br /&gt;&lt;br /&gt;There is probably some entry in the database,&amp;nbsp;where this is located as well, I had a quick look but didn't find it. If you know where, please let me know. The registry serverurl in the MSCRM key does not seem to be right. At least it does not change the webservice &lt;a href="http://www.blogger.com/s"&gt;http://www.blogger.com/s&lt;/a&gt; displayed in the customizations pages of CRM.&lt;br /&gt;&lt;br /&gt;CRM 2011 looks and feels, really good, there are some minor buggs but it is a&amp;nbsp;large step from CRM 4 which is a very good application as well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3170517348053255247?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3170517348053255247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/crm-2011-release-candidate-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3170517348053255247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3170517348053255247'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/crm-2011-release-candidate-and.html' title='CRM 2011 Release Candidate and installation'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3006313171336006783</id><published>2010-12-07T23:48:00.000+01:00</published><updated>2010-12-07T23:48:57.042+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wikileaks'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud computing'/><category scheme='http://www.blogger.com/atom/ns#' term='on-premise'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='data theft'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM'/><title type='text'>Customer databases and Wikileaks</title><content type='html'>The latest news concerning wikileaks have some very important implications on CRM systems or xRM systems in general for that matter. How do you set the system up to avoid large information losses? There are some general things to be taken into consideration and some specifics for Microsoft Dynamics CRM.&lt;br /&gt;&lt;br /&gt;For many companies, the list of customers, cases, interesting leads and business opportunities are among the most critical information the company has. If it gets into the&amp;nbsp;wrong hands, the effects can be anything from embarssing to fatal. The latest weeks news concerning wikileaks has put this risk into some new light and it is a good time for companies to really put the right focus on this and handle the problem before it is too late. A competent CRM system like Microsoft Dynamics CRM, can, if security issues have not be properly addressed, be a great tool to very quickly export a lot of very business critical information.&lt;br /&gt;&lt;br /&gt;There are some general tips that you really should address:&lt;br /&gt;&lt;br /&gt;- How critical is the data? Which data is the most critical? Try to focus on the most important data instead of trying to set up&amp;nbsp;fine masked security to cover all data. This will give you a bigger bang for the buck and also get the changes up and running quickly. Remember the fact that the chains often breaks at the weakest link, so focus on this link first.&lt;br /&gt;&lt;br /&gt;- What legal aspects of the data do you have? Do all employees sign non-disclosure agreements and do they understand the severity of actually taking along some data to a competitor. In reality it is very hard to drive legal actions based on this but making sure all employees have understood the severity, will act proactivly to reduce the risk.&lt;br /&gt;&lt;br /&gt;- Who can access the data? Usually not only the employees, IT-consultants, CRM- and ERP-consultants, and other contracted people might also have access.Trying to reduce the number of contractors, and signing company global NDA:s with contractors is usually a good idea.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;- Where is the data stored? In these cloud computing times, this is not always a simple question. Data might be stored in a country with very rigid anti-terrorist or anti-piracy laws allowing government or other agencies to demand access to the data. If these government agencies judge that it be in their contrys best interest to send this information forward, this might also be done. Might sound a bit paranoid, but security policy is more about being paranoid than being naive. I would recommed hosting the system yourself or at a local partner. Preferably a partner of similar size to your own company since this will give you the same amount of flexibility and beaurocracy. This local partner will also be under the same national laws as your own company and have a more intimate relationship with your business than a huge corporation with a global hosting service. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;- What is the weak link in the handling of data? It does not really matter if the CRM system in the cloud has astronomical encryption in the database and data transfers, if the people using the system have the same password in the CRM system as they have in all other online services like Facebook or Hotmail. Numerous examples have shown that people do share passwords between sites, and that cracking one site usually unlocks a lot more. An example can be a person using the same password for their local childcare&amp;nbsp;portal as they do for their CRM at the global company they work for. The simple&amp;nbsp;childcare portal, might be easily&amp;nbsp;hacked with normal methods like SQL-injection and the passwords generated from this can then be used to access the&amp;nbsp;global company CRM. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;There are still more general principles to follow, I will not list them all here, if you&amp;nbsp;have any you find particulary important, please leave a comment! &lt;br /&gt;&amp;nbsp; &lt;br /&gt;So, how do we handle this&amp;nbsp;in Microsoft Dynamics CRM?&amp;nbsp;There are several techniques that can be used but it is a constant battle between giving your users the power to really work with the data and making sure that the data is safe. Bellow are some of the more common ways of handling this: &lt;br /&gt;&amp;nbsp; &lt;br /&gt;- Security Roles and business units. The basic security architeture of Microsoft Dynamics CRM is really versatile and&amp;nbsp;has very good support for separating users and data into different business units and then&amp;nbsp;setting user roles to&amp;nbsp;restrict access based on these&amp;nbsp;business units.&amp;nbsp;For instance, a team of telesales&amp;nbsp;personell with a very high turnover of employees, can be set to only have read and write access to their own customers and opportunities and their team manager has the task of delegating the ownership of leads&amp;nbsp;or opportunities to them.&amp;nbsp;By using different roles, the senior sales team can&amp;nbsp;on the other hand have access to all customers and business opportunities in the system. If&amp;nbsp;a good separation&amp;nbsp;of data&amp;nbsp;can be&amp;nbsp;done based on business units and security roles, this is a very good method since&amp;nbsp;it&amp;nbsp;is&amp;nbsp;easy to&amp;nbsp;set up and change, and still has very deep functionality in Dynamics CRM, going all the way down to the Filtered Views in the Dynamics CRM SQL-database. &lt;br /&gt;&lt;br /&gt;- Disabling Excel export. Probably the most risky function in Dynamics CRM in regards to data theft from employees, is the Excel button. It can export any data the user has access to. There is a flag in the security roles, where this function can be switched off. It should be for all but powerusers, analysts and management.&lt;br /&gt;&lt;br /&gt;- Limiting Excel export size. There is a way of manipulating the Dynamics CRM database to only allow a certain amount of rows in an excel export. As I have understood it, it is really a way of easing the load on the server and not really meant as a means&amp;nbsp;of protecting data. It can only be set on a system wide way, which will limit the use of Excel for all users. You can read more about it in this blog entry, have a look in the comments, since it tells you how to set this for CRM 4. &lt;a href="http://ronaldlemmen.blogspot.com/2006/11/maximum-amount-of-records-in-excel.html"&gt;http://ronaldlemmen.blogspot.com/2006/11/maximum-amount-of-records-in-excel.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Custom Plugin code. Writing code that uses more complex functionality and filters the data can also be used. It need to trigger on the Retrieve, RetrieveMultiple and Execute methods. This is of course the moste versatile method. Even though it can be used to filter data that is accessed from the Dynamics CRM GUI it does not affect the Filtered Views in the database, so it is not a 100% solution but will work in most cases.&lt;br /&gt;&lt;br /&gt;- Unsupported customizations. There is of course the dark side of customizations as well, by rewriting the database with new stored procedures, views, by modifying the existing CRM functionality, very deep changes can be made. This is not something I recommend since it will usually require deep reverse engineering and will seriously affect the upgradablity of the Dynamics CRM system.&lt;br /&gt;&lt;br /&gt;This is a complex area and I would be happy to discuss it with you. Please leave a comment with your views on the subject. All comments are moderated to avoid spam.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;http://www.crmkonsulterna.se/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3006313171336006783?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3006313171336006783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/customer-databases-and-wikileaks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3006313171336006783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3006313171336006783'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/12/customer-databases-and-wikileaks.html' title='Customer databases and Wikileaks'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-6337469123972662334</id><published>2010-11-02T20:05:00.000+01:00</published><updated>2010-11-02T20:05:19.873+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Courses'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM-konsulterna'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM 2011'/><title type='text'>Lecturer at certification preparation courses</title><content type='html'>CRM-Konsulterna and Informator, have agreed on a partnership and as part of this I will be one of their regular Dynamics CRM lecturers. Since Microsoft are changing their partnership program, with a lot more focus on certification requirements, we are kicking off with two certification preparation courses for the Application and the Customization exam. If the interest is good, we will most certainly arrange courses in Installation &amp;amp; Configuration and Extending Dynamics CRM as well. Later on we are also planning some Microsoft Official Dynamics CRM courses, both CRM 4.0 and CRM 2011.&lt;br /&gt;&lt;br /&gt;So, make sure that you and you consultants are up to speed and join me for an instructive and very hands-on course that will certainly prepare you for the types of questions you will be facing in the exam.&lt;br /&gt;&lt;br /&gt;The courses will be held at Informator in Stockholm, but if you have interest in attending a course in some other place, please let me or Informator know and we'll see what we can do!&lt;br /&gt;&lt;br /&gt;At the following links you can read some more about the courses:&lt;br /&gt;&lt;a href="http://www.informator.se/utbildningar/infrastruktur/affarssystem/certifieringsforberedande-kurs-crm-40-application.aspx?TopicID=308"&gt;CRM 4.0 Application&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.informator.se/utbildningar/infrastruktur/affarssystem/certifieringsforberedande-kurs-crm-40-customization-and-configuration.aspx?TopicID=308"&gt;CRM 4.0 Customization&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;http://www.crmkonsulterna.se/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6337469123972662334?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6337469123972662334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/11/lecturer-at-certification-preparation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6337469123972662334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6337469123972662334'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/11/lecturer-at-certification-preparation.html' title='Lecturer at certification preparation courses'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8313981630785075098</id><published>2010-11-02T16:31:00.000+01:00</published><updated>2010-11-02T16:31:33.940+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Import Organization'/><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Importing organizations with custom reports</title><content type='html'>The import organization tool is very useful for setting up test or development environements with full production level data. However, I ran into a problem importing today, when importing the organization, I got the following fatal error:&lt;br /&gt;&lt;br /&gt;System.InvalidOperationException: ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.&lt;br /&gt;&lt;br /&gt;After a bit of googling I found that this had been discussed in the CRM forums: &lt;a href="http://social.microsoft.com/Forums/en/crmdeployment/thread/53c616e8-c454-48ec-9962-759071a82358"&gt;http://social.microsoft.com/Forums/en/crmdeployment/thread/53c616e8-c454-48ec-9962-759071a82358&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since I imported the organization, mainly to work with duplicates processing, I just removed all custom reports from the CRM database manually and the import went just fine.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8313981630785075098?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8313981630785075098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/11/importing-organizations-with-custom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8313981630785075098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8313981630785075098'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/11/importing-organizations-with-custom.html' title='Importing organizations with custom reports'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3130045968000517299</id><published>2010-11-01T23:30:00.000+01:00</published><updated>2010-11-01T23:30:12.824+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><category scheme='http://www.blogger.com/atom/ns#' term='Live Id'/><category scheme='http://www.blogger.com/atom/ns#' term='IFD'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Federation Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Claims based authentication'/><title type='text'>CRM 2011 and Internet Facing Deployment</title><content type='html'>I have now had the time to look quite a bit at CRM 2011 beta and it looks really good. The Dynamics CRM team at Microsoft have been really busy.&lt;br /&gt;&lt;br /&gt;One of the features I really liked about CRM 4 was Internet Facing Deployment. It opens a lot of doors and my current company offers it quite a lot.&lt;br /&gt;&lt;br /&gt;I had a look at this feature in CRM 2011 beta and it is both a really interesting feature and a disappointment. It is based on a completely new architecure, called Claims based authentication which allows any type of authenticator to authenticate users for Dynamics CRM. For example, LinkedIn, Facebook or Windows Live ID could be used to authenticate user in Dynamics CRM.&lt;br /&gt;&lt;br /&gt;This is really interesting since it allows for many types of authentication providers, even custom made. However, since the technique is a bit more complex than the old IFD technology in CRM 4.0 it will also require some more configuring. As far as I have understood it is for instance dependant on Active Directory Federation Service 2.0.&lt;br /&gt;&lt;br /&gt;I tried setting it up correctly in CRM 2011 beta in a demo environment, with a set up similar to CRM 4.0 with authentication using the AD, which I believe probably still will be mostly used (maybe Live Id will be used quite a lot as well) but after a couple of&amp;nbsp;hours felt that my skills&amp;nbsp;in&amp;nbsp;Active Directory in Windows Server 2008 R2, Federation Service 2.0 and the&amp;nbsp;more technical details of claims based authentication&amp;nbsp;have some&amp;nbsp;rather large white areas,&amp;nbsp;I left it alone.&lt;br /&gt;&lt;br /&gt;It is a very interesting technique and I hope that there will be good how-tos around for how to set this up correctly, most preferably a&amp;nbsp;wizard&amp;nbsp;or two, for&amp;nbsp;AD and Live Id authentication.&lt;br /&gt;&lt;br /&gt;Another interesting aspect of this is the&amp;nbsp;legacy support of IFD customizations from CRM 4.0. Since this technique is quite different from how this is&amp;nbsp;handled in CRM 4.0, I&amp;nbsp;wonder how Microsoft are going to create full legacy support for&amp;nbsp;old applications, since they are within the "supported" framework which&amp;nbsp;according to Microsofts promises, should&amp;nbsp;mean they are&amp;nbsp;auto-upgradable.&lt;br /&gt;&lt;br /&gt;If you have anything to add on this subject, feel free to add a comment. Especially if you know of a good instruction of how to set this up correctly!&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3130045968000517299?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3130045968000517299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/11/crm-2011-and-internet-facing-deployment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3130045968000517299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3130045968000517299'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/11/crm-2011-and-internet-facing-deployment.html' title='CRM 2011 and Internet Facing Deployment'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3202711428682956436</id><published>2010-10-27T15:28:00.000+02:00</published><updated>2010-10-27T15:28:11.437+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPLA'/><category scheme='http://www.blogger.com/atom/ns#' term='Licensing'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM 4'/><category scheme='http://www.blogger.com/atom/ns#' term='Hosted'/><title type='text'>External Connector for SPLA/Hosted CRM</title><content type='html'>Many of my customers are aquiring Dynamics CRM through the Service Provider License Agreement (SPLA) which more commonly is known as Partner Hosted. We are working closely with Hermelin IT-Partner (&lt;a href="http://www.hermelin.com/"&gt;http://www.hermelin.com/&lt;/a&gt;) for this service&amp;nbsp;as they are an excellent provider of IT-infrastructure.&lt;br /&gt;&lt;br /&gt;One of the&amp;nbsp;licensing issues I have been discussing&amp;nbsp;with Hermelin IT-Partner and Crayon, a Swedish&amp;nbsp;Microsoft Licensing&amp;nbsp;specialist partner, is how the External Connector is licensed for&amp;nbsp;SPLA.&lt;br /&gt;&lt;br /&gt;The External Connector is, as many of you probably know, a special license that is required&amp;nbsp;to&amp;nbsp;license external&amp;nbsp;users to&amp;nbsp;work with data in Dynamics CRM, without&amp;nbsp;working with the normal GUI (requires full license). Despite the name, it just a license form and does not contain any code at all.&lt;br /&gt;&lt;br /&gt;Typical scenarios where the external connector is required is for customer portals, case registrations by customers etc. where the portal or other software works directly with the CRM webservice or database. I have had extensive discussions with Microsoft concerning implicit information, like data warehouses and how these are to be licensed but have as of now only got the answer that as long as there is some interaction with the data, like drill-down, a license is required. If there are many users, the Application Platform Agreement is what is recommended. The external connector cannot be used in internal scenarios as it explicitly only gives accessrights to non-employees and the similar.&lt;br /&gt;&lt;br /&gt;For an on premise solution,&amp;nbsp;the external connector&amp;nbsp;is typically priced in the area of €25 000 or $30 000 which is quite hefty and a very large pricetag for a small company making it more or less impossible to buy.&lt;br /&gt;&lt;br /&gt;So, when working with Dynamics CRM&amp;nbsp;licensed&amp;nbsp;in&amp;nbsp;SPLA, how does the license agreement work? Crayon sent us the following sections concerning this:&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Tahoma&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-ansi-language: EN-US;"&gt;For Dynamics CRM 4.0 Service Provider :&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 6pt 0cm 0pt 9.35pt;"&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Tahoma&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-ansi-language: EN-US;"&gt;You do not need a SAL for external users who access Dynamics CRM 4.0 without using Dynamics CRM 4.0 Client for Microsoft Office Outlook and Microsoft Dynamics CRM 4.0 Web Client software.&amp;nbsp; External users means users that are not (i) a customer’s or a customer’s affiliates’ employees, or (ii) a customer’s or a customer’s affiliates’ contractors and agents.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;So, surprise, you don't need it at all! This is something I think is great since that really opens up the possibilities of really leveraging the full power of Dynamics CRM for our customers even the smallest with only a couple of users.&lt;br /&gt;&lt;br /&gt;It also has some other implications, namely that a customer that currently licenses Dynamics CRM as on-premise via Volume Licensing or by renting the licenses and currently are using the external connector, really should start looking at moving to partner hosted since that will remove the quite hefty cost of the external connector. It typically also comes with a SA of about 1/3 the cost per year so it is an ongoing cost.&lt;br /&gt;&lt;br /&gt;I hope that Microsoft will be harmonizing this with the rest of the "power of choice" so that it will be more reasonably priced also for on-premise solutions.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;http://www.crmkonsulterna.se/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3202711428682956436?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3202711428682956436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/10/external-connector-for-splahosted-crm.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3202711428682956436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3202711428682956436'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/10/external-connector-for-splahosted-crm.html' title='External Connector for SPLA/Hosted CRM'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8717741060646302294</id><published>2010-10-21T14:23:00.000+02:00</published><updated>2010-10-21T14:23:04.986+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bugg'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><title type='text'>Dublicate detection window too small...</title><content type='html'>Had an interesting error reported by a customer today. It seems that in the Swedish version of CRM 4.0 the duplicate detection window showing found duplicates is too small. You cannot see the buttons:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_heR3jQPxKvI/TMAu10_UE2I/AAAAAAAAACE/J7igS6NOPY0/s1600/Duplicate1.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" nx="true" src="http://2.bp.blogspot.com/_heR3jQPxKvI/TMAu10_UE2I/AAAAAAAAACE/J7igS6NOPY0/s320/Duplicate1.png" width="297" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is a bit trick to fix since this form is not customizable and I think the only supported way of actually&amp;nbsp;fixing it is changing the amount of text at the top by exporting the tags.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;There is, however, a very small unsupported change that you can do that will enable the scrollbars which will allow you to scroll down to see and press the buttons.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Open the file: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;CRMWeb/Tools/DuplicateDetection/ViewDuplicates/ViewDuplicates.aspx&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;and edit the tag to instead. It will give the following result:﻿&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_heR3jQPxKvI/TMAu4uTHdzI/AAAAAAAAACI/6jqUxlGkCio/s1600/Duplicate2.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" nx="true" src="http://1.bp.blogspot.com/_heR3jQPxKvI/TMAu4uTHdzI/AAAAAAAAACI/6jqUxlGkCio/s320/Duplicate2.png" width="286" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;﻿Which will allow the user to scroll down and see and press the buttons.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The risks of this unsupported fix is that it might be overwritten in update rollups, but it would destroy anything and there are no risks when upgrading to 2011.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I really would like Microsoft to fix this bugg though...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If anyone has some other solution to this, that is supported, please leave a comment.&lt;/div&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8717741060646302294?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8717741060646302294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/10/dublicate-detection-window-too-small.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8717741060646302294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8717741060646302294'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/10/dublicate-detection-window-too-small.html' title='Dublicate detection window too small...'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_heR3jQPxKvI/TMAu10_UE2I/AAAAAAAAACE/J7igS6NOPY0/s72-c/Duplicate1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1552952351756269173</id><published>2010-10-14T13:37:00.000+02:00</published><updated>2010-10-14T13:37:57.998+02:00</updated><title type='text'>Publishing reports for external use</title><content type='html'>Recently I have been working quite a lot with reports and I must say that the new GUI in Reportdesigner for SQL RS 2008 is really a nice facelift.&lt;br /&gt;&lt;br /&gt;I have been working with autogenerating reports as PDF:s as I have previously blogged about. It is a bit more complex to do in SQL Server 2005 and later since you have to work with two webservices that have similar class names, which I must say is a real stroke of genius. If there is interest, I might be looking into writing some about this.&lt;br /&gt;&lt;br /&gt;An interesting thing I noticed about this is that despite the fact that the report previously has been published for external use, each update of the report will require you to republish it in order for the changes to stick. You can otherwise get some really interesting inconsistencies.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1552952351756269173?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1552952351756269173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/10/publishing-reports-for-external-use.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1552952351756269173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1552952351756269173'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/10/publishing-reports-for-external-use.html' title='Publishing reports for external use'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1187011080939518133</id><published>2010-09-22T21:17:00.000+02:00</published><updated>2010-09-22T21:17:05.839+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><title type='text'>Problem with installing CRM on machine with Microsoft .NET Framework 4 installed</title><content type='html'>I was setting up a VPC today and during the checks I got the following error:&lt;br /&gt;"ASP.NET 2.0 is not installed"&lt;br /&gt;&lt;br /&gt;Very weird. I had it installed and I tried repairing the installation and running aspnet_regiis -i on the ASP.NET 2.0 framework. After some googling I found that this was due to Microsoft .NET Framework 4.0 installed and this excellent blog explaining what was wrong and how to fix it. I did, however, have to remove the ISAPI filter for .NET Framework 4.0. Check it out here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://crm.vdsnickt.eu/2010/05/ms-crm-4-0-setup-error-asp-net-is-not-installed/"&gt;http://crm.vdsnickt.eu/2010/05/ms-crm-4-0-setup-error-asp-net-is-not-installed/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1187011080939518133?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1187011080939518133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/09/problem-with-installing-crm-on-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1187011080939518133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1187011080939518133'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/09/problem-with-installing-crm-on-machine.html' title='Problem with installing CRM on machine with Microsoft .NET Framework 4 installed'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4928407906944003551</id><published>2010-09-09T13:32:00.000+02:00</published><updated>2010-09-09T13:32:08.490+02:00</updated><title type='text'>New webpage for CRM-Konsulterna</title><content type='html'>The work with starting the new company is coming along fine. We recently launched the new website where we tell everyone who'd like to know I bit more about the company and what we offer.&lt;br /&gt;&lt;br /&gt;It is currently available only in Swedish, but Google Translate will probably work if you really want to read it and feel a bit weak on the Swedish.&lt;br /&gt;&lt;br /&gt;We will try to attract the best Microsoft Dynamics CRM consultants in Sweden and hope to build a very interesting company where we can all excel and really bring value to our customers.&lt;br /&gt;&lt;br /&gt;Please have a look! &lt;a href="http://www.crmkonsulterna.se/"&gt;http://www.crmkonsulterna.se/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;http://www.crmkonsulterna.se/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4928407906944003551?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.crmkonsulterna.se' title='New webpage for CRM-Konsulterna'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4928407906944003551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/09/new-webpage-for-crm-konsulterna.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4928407906944003551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4928407906944003551'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/09/new-webpage-for-crm-konsulterna.html' title='New webpage for CRM-Konsulterna'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-118244230019323900</id><published>2010-09-07T11:31:00.000+02:00</published><updated>2010-09-07T11:31:21.770+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='IFD'/><category scheme='http://www.blogger.com/atom/ns#' term='NTLM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>IFD on Windows Server 2008 R2 problem with plugin registration</title><content type='html'>A customers system&amp;nbsp;I was working on today has just been reconfigured to and IFD setup. The server is a Windows Server 2008 R2 and I had made sure that it worked on port 80 with NTLM/AD internally. However, when I tried to connect the plugin registration wizard in the normal manner, it just gave me an error: &lt;br /&gt;&lt;br /&gt;"Request IP Address has different address family from network address."&lt;br /&gt;&lt;br /&gt;I found and interesting thread on Egghead café where some guys had run in to the same problem.&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/software/aspnet/31655329/-crm-4-on-2008-server--ipv6-related-problem.aspx"&gt;http://www.eggheadcafe.com/software/aspnet/31655329/-crm-4-on-2008-server--ipv6-related-problem.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I did as they suggested, added the servername to the hosts-file to the IP 127.0.0.1. If you don't know what this means, it works as a local DNS. The IP 127.0.0.1 is assigned to always be the local computer and "localhost" is usually directed to this adress. You can try by browsing to it if you havn't tried.&lt;br /&gt;&lt;br /&gt;The hosts file can be found in C:\Windows\System32\Drivers\etc\hosts. There are usually an entry or two in there so you can usually figure it out, the syntax is simple:&lt;br /&gt;&lt;br /&gt;127.0.0.1 servername&lt;br /&gt;&lt;br /&gt;If you tried pinging the servername before doing this, you would get the IP v6 address, after doing this, you will get an answer from 127.0.0.1 and after confirming this, you should have no problems getting it up and running.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-118244230019323900?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/118244230019323900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/09/ifd-on-windows-server-2008-r2-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/118244230019323900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/118244230019323900'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/09/ifd-on-windows-server-2008-r2-problem.html' title='IFD on Windows Server 2008 R2 problem with plugin registration'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7217194766974549596</id><published>2010-08-25T22:06:00.001+02:00</published><updated>2010-08-25T22:20:08.582+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Focus to give value</title><content type='html'>I am currently in the middle of the blizzard of getting&amp;nbsp;the company I am starting, up and running, taking care of all the customers we are moving from Hermelin IT-Partner, managing all the administration and so on. For us, you and me, who&amp;nbsp;work with CRM, a customer centric approach should be obvious, so the customers are of course first why the webpage is still a bit slim.&lt;br /&gt;&lt;br /&gt;One of my strong visions for the company is to be very focused. We will focus on the market leading CRM system, Microsoft Dynamics CRM&amp;nbsp;and no other CRM systems or other systems at all. It is&amp;nbsp;a very dynamics system and the possibilities are endless. On top of that there are huge numbers of third party products available and the only way of giving customers the best possible recommendations and services&amp;nbsp;on how to adapt the CRM system and which 3:rd party product will give the customer the best bang for the buck is to focus. It is hard enough with just such a huge system as Microsoft Dynamics CRM, that working with more than it is just not possible.&lt;br /&gt;&lt;br /&gt;Lauren Carlson at &lt;a href="http://www.softwareadvice.com/crm/"&gt;Software advice&lt;/a&gt; has assembled a list of their 15 favorite&amp;nbsp;verticalizations for&amp;nbsp;Microsoft Dynmaics CRM. It a good list to have in the back of you head when speaking to customers, why invent the the wheel twice? Have a look at it here: &lt;a href="http://www.softwareadvice.com/articles/crm/microsoft-dynamics-crm-industry-solutions-our-20-favorites-1082010/"&gt;http://www.softwareadvice.com/articles/crm/microsoft-dynamics-crm-industry-solutions-our-20-favorites-1082010/&lt;/a&gt;&amp;nbsp;. These most certainly will give your customers a bigger bang for the buck. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;http://www.crmkonsulterna.se/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7217194766974549596?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.crmkonsulterna.se' title='Focus to give value'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7217194766974549596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/focus-to-give-value.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7217194766974549596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7217194766974549596'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/focus-to-give-value.html' title='Focus to give value'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1313540369826860770</id><published>2010-08-20T15:15:00.000+02:00</published><updated>2010-08-20T15:15:21.727+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='language code'/><category scheme='http://www.blogger.com/atom/ns#' term='MUI'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Translations'/><title type='text'>Working with language translations and Dynamics CRM</title><content type='html'>I was recently preparing a demo for a potential customer here in Sweden, my last task at Logica, a company I am now leaving, which is a bit sad since I like the company and most especially my colleageus there.&lt;br /&gt;&lt;br /&gt;When preparing this demo I was working with an english version of CRM but the demo was to be all in Swedish and the potential customer was&amp;nbsp;a state-owned company which does all it's work in Swedish. Hence I needed to translate some of the customizations I had made and I had also used the eService accelerator and need to translate this aswell.&lt;br /&gt;&lt;br /&gt;I hadn't actually done any translations previously, it had always been my colleagues doing this and it was a good lesson.&lt;br /&gt;&lt;br /&gt;I exported the translations, opened the zip and started working with the translations in the xml. Wrong... despite the fact that it is xml it is actually an Excel document and I hadn't read that part and since my&amp;nbsp;CRM server didn't have Excel installed, I didn't see the icon you can see when you do have Excel installed.&lt;br /&gt;&lt;br /&gt;So, I was using Visual Studio to edit the translations and it was a bit of&amp;nbsp;a hassle since it was quite a large document and visual studio didn't really like it.&lt;br /&gt;&lt;br /&gt;Well, after some time I noticed that it had some tags saying it was an Excel document. So, I opened it in Excel and voilà a lot easier to work with. So, just a suggestion, don't do the same misstake and sometimes, RTFM.&lt;br /&gt;&lt;br /&gt;Another thing I found was that it was a bit hard finding the&amp;nbsp; right attributes in the rather large list and the solution was quite simple. When adding an attribute and entering the english display name, I added a string at the end, for instance "GWCRM". I could then use this as a search string in Excel when editing it, to find the correct displaynames to change. And when adding the swedish translation, I removed the "GWCRM" part at the end of the English.&lt;br /&gt;&lt;br /&gt;This is the last day at Logica, all my best to my wonderful colleagues here and I wish you all the best of luck with your future business!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;CEO, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1313540369826860770?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1313540369826860770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/working-with-language-translations-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1313540369826860770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1313540369826860770'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/working-with-language-translations-and.html' title='Working with language translations and Dynamics CRM'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8842500864176115145</id><published>2010-08-12T11:14:00.000+02:00</published><updated>2010-08-12T11:14:38.360+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft.Crm.Sdk'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Window Server 2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='64-Bit'/><title type='text'>32 bit apps in 64 bit IIS 7</title><content type='html'>I havn't been working that much with IIS 7 and not on 64 bit environments yet. Always easier to work with what you know but sometimes you just have to get out of that comfort zone and grasp the new!&lt;br /&gt;&lt;br /&gt;IIS 7 has a very different GUI from IIS 6 and there are many changes under the hull aswell.&lt;br /&gt;&lt;br /&gt;I was trying to install the eService Accelerator on a 64 bit environment with IIS 7 on Windows Server 2008 R2 and the example portal (Fabrikam) gave me the following error:&lt;br /&gt;&lt;br /&gt;Could not load file or assembly 'Microsoft.Crm.Sdk' or one of its dependencies. An attempt was made to load a program wih an incorrect format.&lt;br /&gt;&lt;br /&gt;A little digging around and checking some blogs I found the error, the app pool was set up to not support 32 bit applications. The fix is to mark the app pool, click advanced settings, and under the general section, change the "Enable 32-Bit Applications" to true. Then you can just confirm this by updating the webpage.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;President, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;www.crmkonsulterna.se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8842500864176115145?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8842500864176115145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/32-bit-apps-in-64-bit-iis-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8842500864176115145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8842500864176115145'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/32-bit-apps-in-64-bit-iis-7.html' title='32 bit apps in 64 bit IIS 7'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-746941822761734880</id><published>2010-08-12T10:56:00.000+02:00</published><updated>2010-08-12T10:56:40.660+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM-konsulterna'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>New times!</title><content type='html'>I am starting a new company together with Hermelin IT Partner (&lt;a href="http://www.hermelin.com/"&gt;http://www.hermelin.com/&lt;/a&gt;). This new company will be named CRM-konsulterna, (CRM Consultants in Swedish) and will focus on Microsoft Dynamics CRM and related products only. We will drive to attract the foremost Microsoft Dynamics CRM consultants in Sweden and be&amp;nbsp;&lt;em&gt;the&lt;/em&gt; Dynamics CRM partner for customers in Sweden and also be the driver of Microsoft Dynamics CRM in Sweden in general. However, Rome wasn't built in a day and neither will this. &lt;br /&gt;&lt;br /&gt;Are you interested in joining us or want to learn more of how we can help your company reach new heights, please send me an email at &lt;a href="mailto:myfirstname.mylastname@crmkonsulterna.se"&gt;myfirstname.mylastname@crmkonsulterna.se&lt;/a&gt; and I think you can figure out what you need to change in that adress. &lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;President, Chief Architect and co-Founder at CRM-konsulterna AB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crmkonsulterna.se/"&gt;http://www.crmkonsulterna.se/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-746941822761734880?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/746941822761734880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/new-times.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/746941822761734880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/746941822761734880'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/08/new-times.html' title='New times!'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7767895728738644661</id><published>2010-06-17T13:20:00.000+02:00</published><updated>2010-06-17T13:20:33.944+02:00</updated><title type='text'>Understanding the user</title><content type='html'>In all computer systems in general and in CRM systems specifically, it is essential to understand the world of the end user. The following movie gives some very interesting insigths into the current trends of how the users are changing. Are you changing with it or are you going to try to turn back time?&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/A3oIiH7BLmg&amp;border=1&amp;color1=0x6699&amp;color2=0x54abd6&amp;hl=sv_SE&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/A3oIiH7BLmg&amp;border=1&amp;color1=0x6699&amp;color2=0x54abd6&amp;hl=sv_SE&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund &lt;br/&gt;&lt;br /&gt;Microsoft Dynamics CRM Chief Architect &lt;br/&gt;&lt;br /&gt;Logica &lt;br/&gt;&lt;br /&gt;www.logica.com &lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7767895728738644661?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7767895728738644661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/06/understanding-user.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7767895728738644661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7767895728738644661'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/06/understanding-user.html' title='Understanding the user'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-820864918411853380</id><published>2010-06-14T16:30:00.000+02:00</published><updated>2010-06-14T16:30:24.725+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workflows'/><category scheme='http://www.blogger.com/atom/ns#' term='webservice'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4'/><title type='text'>Webservice loading strange workflows</title><content type='html'>Had an interesting problem today. I want to trigger workflows from an aspx-page by finding the right&amp;nbsp;one by name&amp;nbsp;and for some reason, I got an exception that the workflow had to be flagged to allow manual activation or to be run as a subworkflow. This was very strange since I several times checked the workflow and it was not only published, but both the flags for manual activation and run as sub workflow were checked.&lt;br /&gt;&lt;br /&gt;So, I applied my principle of first trying to find where the error was instead of finding what it was.&lt;br /&gt;&lt;br /&gt;By tracing and checking some, I found that the webservice actually returned 4 workflows with the exact name I was looking for. I tried to load some of them in the GUI by changing the URL and they did load but they were strange some how since I could not change them. 2 were drafts, 2 were published, 2 were marked as runondemand and 2 were not. The last one proved to be the right one (both published and runondemand).&lt;br /&gt;&lt;br /&gt;So, I had to change&amp;nbsp;the code for fetching the GUID for a workflow with a specific name, so that it also checked that the workflow was both published and&amp;nbsp;was allowed to be run&amp;nbsp;on demand. So, if you run into similar problems, you know&amp;nbsp;what to do.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund &lt;br /&gt;Microsoft Dynamics CRM Chief Architect &lt;br /&gt;Logica &lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-820864918411853380?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/820864918411853380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/06/webservice-loading-strange-workflows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/820864918411853380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/820864918411853380'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/06/webservice-loading-strange-workflows.html' title='Webservice loading strange workflows'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2521804511759829286</id><published>2010-06-09T13:40:00.000+02:00</published><updated>2010-06-09T13:40:20.847+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASyncService'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM'/><title type='text'>How to remove a windows service</title><content type='html'>Today I needed to reinstall CRM on a VPC and for some reason the Async Service wasn't unregistered properly. When I tried uninstalling it using installutil&amp;nbsp;with the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil" /u "C:\Program Files\Microsoft Dynamics CRM\Server\bin\CrmAsyncService.exe"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;it couldn't find the file. Seemingly, the uninstaller had a job half way and removed the file but not unregistering it as a service. So, how to uninstall? Looking around a bit I found the following command did exactly this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;sc delete MSCRMAsyncService&lt;/span&gt;&lt;br /&gt;Good to know, if needed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund &lt;br /&gt;Microsoft Dynamics CRM Chief Architect &lt;br /&gt;Logica &lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2521804511759829286?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2521804511759829286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/06/how-to-remove-windows-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2521804511759829286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2521804511759829286'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/06/how-to-remove-windows-service.html' title='How to remove a windows service'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5462309865811125537</id><published>2010-03-03T09:19:00.000+01:00</published><updated>2010-03-03T09:19:14.907+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='customizations'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>New version customization manager</title><content type='html'>My friend and colleague Daniel Halan has released a new version of his program CRM Customization Manager. It is a very very useful tool for handling customizationfiles for Microsoft Dynamics CRM. It can handle exporting from one system and importing to another from the same GUI. You can choose to export only javascripts, &lt;em&gt;you can change the datatype of attributes and keep the data&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;It is an essential tool for all Dynamics CRM professionals and Daniel is way to alturistik in my view to be giving it away for free.&lt;br /&gt;&lt;br /&gt;You can read more about it and download it here &lt;a href="http://blog.halan.se/"&gt;http://blog.halan.se/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5462309865811125537?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.halan.se/' title='New version customization manager'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5462309865811125537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/03/new-version-customization-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5462309865811125537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5462309865811125537'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/03/new-version-customization-manager.html' title='New version customization manager'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4684508754312625814</id><published>2010-03-01T14:00:00.000+01:00</published><updated>2010-03-01T14:00:23.294+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Reports'/><category scheme='http://www.blogger.com/atom/ns#' term='SRS'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL RS'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Reporting Services Windows Service wouldn't start</title><content type='html'>I created a new differencing disk of a CRM virtual machine today and I had some troubles getting Reporting services up and running. The service simply wouldn't start. I had previously used the same virtual harddisk base for other systems so I found it a bit strange, it should work.&lt;br /&gt;&lt;br /&gt;When I looked in the event viewer it showed the error "Report Server (MSSQLSERVER) cannot connect to the report server database.".&lt;br /&gt;&lt;br /&gt;I looked around a bit on the net and found a reference to the following which helped:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/839803"&gt;http://support.microsoft.com/kb/839803&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I concernings increasing the timeouts of pipes in the system to 60 seconds instead of 30. This might be needed on VPC:s that are not so fast and might not get the service up and running fast enough.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4684508754312625814?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4684508754312625814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/03/reporting-services-windows-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4684508754312625814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4684508754312625814'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/03/reporting-services-windows-service.html' title='Reporting Services Windows Service wouldn&apos;t start'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3816526732924987725</id><published>2010-02-20T22:51:00.000+01:00</published><updated>2010-02-20T22:51:10.794+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM Client'/><category scheme='http://www.blogger.com/atom/ns#' term='Appointments'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4'/><title type='text'>Marking an appointment as finnished from Outlook</title><content type='html'>One of the best features of Dynamics CRM is the integration to Microsoft Outlook. In comparisson to competing CRM systems, this is really one of the strongest unique selling points of Dynamics CRM.&lt;br /&gt;&lt;br /&gt;However, even though it is really good, there are some parts of it that could use some touchups and until that happens, some workarounds would be good.&lt;br /&gt;&lt;br /&gt;One of these issues, is that appointments can easily be created from Outlook and mapped to some object in CRM. This is easy and very few click. Nice. But, when this appointment is completed, it is a bit more complex and a lot more clicky. First you have to open the appointment in Outlook, then open the appointment in the CRM form. From there, you can press the "Save as completed" button, which is a bit tedious and many users find this a bit strange and I am having a hard time explaining why you have to do it this way, it isn't very obvious or logical. The best solution would be that the CRM addin had a button which could mark appointments and other activities as completed. But that just isn't there yet.&lt;br /&gt;&lt;br /&gt;So, is there a workaround, yes, of course there is. It isn't perfect, but it will work.&lt;br /&gt;&lt;br /&gt;Define some text, like for instance "Completed" and then tell the users to put Completed as the last text in the description field or in the subject field.&lt;br /&gt;&lt;br /&gt;Then create a workflow in CRM that triggers for updates on the field where you expect the text. Then let the workflow check if the end of the content of that field is "Completed" and if so, set the appointment as completed.&lt;br /&gt;&lt;br /&gt;The same functionality could of course be implemented in a plugin instead, but that requires a bit more programmatic skills.&lt;br /&gt;&lt;br /&gt;The functionality of adding a button to Outlook can of course also be developed with Visual Studio Tools for Office (VSTO), and that could of course be used to automatically update the appointment as completed.&lt;br /&gt;&lt;br /&gt;So, that might help you out a but I really hope that the CRM Client for version 5 will deliver this functionality since it isn't very hard to do when the rest is there.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3816526732924987725?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3816526732924987725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/02/marking-appointment-as-finnished-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3816526732924987725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3816526732924987725'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/02/marking-appointment-as-finnished-from.html' title='Marking an appointment as finnished from Outlook'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4104395555094444175</id><published>2010-02-19T14:07:00.000+01:00</published><updated>2010-02-19T14:07:02.696+01:00</updated><title type='text'>Hybris</title><content type='html'>A few weeks ago a new colleague started working here at the Dynamics CRM group at Logica Sweden. His name is Fredrik Strandin and he is a very skilled developer. He mentioned that part of the reason he contacted Logica for a position was that he was following this blog and liked it. A huge complement and I am very grateful for it. It is hard to know how many people actually are following this blog and what I write, so please leave a comment if you like. The best inspiration to writing more on the blog is praise from readers of the blog.&lt;br /&gt;&lt;br /&gt;I would also like to point out that I really enjoy working for Logica. It is a very friendly company with a very good customer approach. Of course, no company is perfect and a company with 40 000 employees can sometimes be&amp;nbsp;a bit bureaucratic but then again we have resources to approach the largest, coolest and most difficult of CRM projects. So, if you, like Fredrik would like an opportunity to come work with this most extraordinary team of Dynamics CRM professionals, please contact me, we are always looking for driven and skilled people. Just call the main Logica phone number and as for Gustaf Westerlund in Sweden. We have offices in about 40 countries around the world, so it doesn't really matter where you live :).&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4104395555094444175?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4104395555094444175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/02/hybris.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4104395555094444175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4104395555094444175'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/02/hybris.html' title='Hybris'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4910323501803701162</id><published>2010-02-19T13:55:00.000+01:00</published><updated>2010-02-19T13:55:54.060+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tracing'/><category scheme='http://www.blogger.com/atom/ns#' term='callouts'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 3'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4'/><category scheme='http://www.blogger.com/atom/ns#' term='Upgrade'/><title type='text'>Back to old times</title><content type='html'>Today I got involved in a project I havn't been working in for about 2 years, a CRM 3 project that now was upgraded and there were some issues with callouts not executing properly on the production system but there were no problems on the test system. So, there probably wasn't a code error.&lt;br /&gt;&lt;br /&gt;After activating the crm tracing (alway a good thing to do when CRM is missbehavn') it was quite clear that it couldn't find the dll Microsoft.Crm.Platform.Callout.dll which of course is required by CRM 4 if you want to execute workflows since this assembly contains the classes that are inherited from in the callouts. It is a bit strange that this dll isn't included in CRM 4 since callout are supposed to be seemlessly upgradable to CRM 4 and this is the one little stich that is missing. So, just had to dig it up and deploy it to the GAC and the callouts started working as they should.&lt;br /&gt;&lt;br /&gt;During this I also thought there might be errors in with the assembly being unsigned and after some looking around, I found that in Visual Studio 2003 it isn't found in the project settings so you have to fix it manually in the assemblyinfo.dll. However, this doesn't seem necessary event though it doesn't hurt.&lt;br /&gt;&lt;br /&gt;So, what did I learn?&lt;br /&gt;1. When in doubt, switch on CRM tracing.&lt;br /&gt;2. Make sure you have a good store of all dll:s that CRM uses so that you quickly can find them. How many of you have the Microsoft.Crm.Platform.dll in the CRM 3 hosted version? It is quite rare and can be found on the installation disks but not anywhere on MSDN. If you need it, drop a comment. I approve all comments due to all the&amp;nbsp;#¤#¤¤# comment spammers so you can enter your email and ask me not to publish the comment, and it wont be subject to email harvesters, if you want me to email you the file.&lt;br /&gt;3. Don't take promises of seemless upgradablity too serious. MSFT have done a great job with CRM, you don't even have to recompile (and consider that CRM 3 uses .NET 1.1 and CRM 4 .NET 2.0 from an IIS perspective) so always do a test upgrade a couple of times before you do it live and make sure to write down all the steps you are taking. Let's hope the upgrade from CRM 4 to CRM 5 will be truly seemless!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4910323501803701162?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4910323501803701162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/02/back-to-old-times.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4910323501803701162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4910323501803701162'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/02/back-to-old-times.html' title='Back to old times'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5293109416787145489</id><published>2010-01-08T13:09:00.000+01:00</published><updated>2010-01-08T13:09:30.612+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM IIS App Pool Certificate security authentication'/><title type='text'>IIS Diag</title><content type='html'>Christmas has passed and the new year is here, I wish you all a happy and prosperous new year with lots of nice Dynamics CRM business!&lt;br /&gt;&lt;br /&gt;We have had some issues with an IIS (Internet Information Server) concerning authentication, application pools, certificates and similar. Since this is quite common and difficult to analyze there is a nice tool from Microsoft to help you with this, the IIS Diag. It can be downloaded here: &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9bfa49bc-376b-4a54-95aa-73c9156706e7&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=9bfa49bc-376b-4a54-95aa-73c9156706e7&amp;amp;displaylang=en&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5293109416787145489?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/downloads/details.aspx?familyid=9bfa49bc-376b-4a54-95aa-73c9156706e7&amp;displaylang=en' title='IIS Diag'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5293109416787145489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/01/iis-diag.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5293109416787145489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5293109416787145489'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2010/01/iis-diag.html' title='IIS Diag'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2423924127366645865</id><published>2009-10-23T12:23:00.001+02:00</published><updated>2009-10-23T12:24:07.410+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Error'/><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Could not find GUID for server...</title><content type='html'>Interesting error today. &lt;br /&gt;&lt;br /&gt;All of a sudden our development server stopped working. We got the following error in CRM: &lt;br /&gt;Microsoft CRM Error Report: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;Error Details:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;Could not find GUID for server: CRMSERVER$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;Full Stack:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;[ActiveDirectoryObjectNotFoundException: The local computer is not joined to a domain or the domain cannot be contacted.]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;at System.DirectoryServices.ActiveDirectory.Domain.GetComputerDomain()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;at Microsoft.Crm.BusinessEntities.SecurityUtils.GetGuidFromServerName(String serverName)...&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;It seems that it was caused by the fact the the domain servers DNS was down. I have read of other causes for the same error, but make sure that the DNS service of the domain server is up and running. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;Gustaf Westerlund &lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2423924127366645865?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2423924127366645865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/interesting-error-today.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2423924127366645865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2423924127366645865'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/interesting-error-today.html' title='Could not find GUID for server...'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-665476006355854843</id><published>2009-10-20T22:34:00.000+02:00</published><updated>2009-10-20T22:34:57.804+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Integration'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>SharePoint 2010</title><content type='html'>The NDA of the new version of SharePoint 2010 has been lifted and hence a lot of new functionality is out!&lt;br /&gt;&lt;br /&gt;You can read a lot about it on the SharePoint Team Blog here: &lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx"&gt;http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From a CRM perspective, this is very interesting. The new version of CRM is rumored to have a much tighter integration with SharePoint, so from that perspective it is almost essential to learn a bit more about SharePoint.&lt;br /&gt;&lt;br /&gt;There are some areas of SharePoint that are of special interest from a CRM perspective:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Enhance BI functionality including performance Point server&amp;nbsp;now included in the new SharePoint&lt;/li&gt;&lt;li&gt;Business Data Catalog enhanced - an excellent tool to work with in relations to CRM&lt;/li&gt;&lt;li&gt;Enhanced Document Management - one of the weaker parts of Dynamics CRM 4 is the built in document management so integration with SharePoint in regards to document management is often used.&lt;/li&gt;&lt;li&gt;Enhanced API and development capabilities. When integration with SharePoint&amp;nbsp;development&amp;nbsp;is often required to create the necessary functionality. The SharePoint API is currently ok but compared to the excellent API of Dynamics CRM, it can do with an upgrade. Hopefully to the mark set by Dynamics CRM.&lt;/li&gt;&lt;/ul&gt;So that is all good news.&lt;br /&gt;&lt;br /&gt;However, there is still one major issue from a CRM - SharePoint integration perspective that Microsoft &lt;strong&gt;REALLY&lt;/strong&gt; need to address and that is the licensing issues of SharePoint users working in a very slight way with CRM data by, for instance, looking at data from a data warehouse in SharePoint with drill-down functionality. Today, all users with access to this need to have a full read only CRM license. Similarly, if there is a webpart used in SharePoint to create leads in CRM, but with no other need for access, a&amp;nbsp;&lt;em&gt;&lt;strong&gt;full&lt;/strong&gt; &lt;/em&gt;CRM CAL is required for all users of the Intranet since they&amp;nbsp;are employees and hence cannot use the external connector license. This is preposterous! Please Microsoft, we really like CRM, and we want to pay our dues, just make it fair!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-665476006355854843?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx' title='SharePoint 2010'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/665476006355854843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/sharepoint-2010.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/665476006355854843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/665476006355854843'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/sharepoint-2010.html' title='SharePoint 2010'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8674081143380924126</id><published>2009-10-18T22:54:00.000+02:00</published><updated>2009-10-18T22:54:58.768+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Error'/><category scheme='http://www.blogger.com/atom/ns#' term='Country Code'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Strange problem with Country and Country Code</title><content type='html'>A couple of days ago I had the wierdest error. We have added some fields on Acccount and a new entity called Billing Account so that there is Contry and Country Code in both. The wierd thing was that when I opened the tab with the field, after about 1 second, the country changed to "United States" and the country code to "1". This even happened to the custom entity.&lt;br /&gt;&lt;br /&gt;I was confused. The country code was supposed to be according to the so and so ISO standard, where Sweden is SE. Hence 1 was&amp;nbsp;very incorrect. I started looking if some tired programmer might have added some javascript or similar but found nothing out of the ordinary. Then I though I'd just like to see what happens when I run IE directly from the CRM server, and praise and behold, it didn't change the field! That narrowed it down. First I thought it was google Toolbar, so I uninstalled it, but the error was still there. Then I tried running IE in InPrivate surfing and then it didn't change it! So, there must be some plugin in IE that causes it. After some uninstalling and testing I found it, Swedbank has this "e-kort" or e-card program that let's you generate a one-time VISA number, this was the program that caused this error. It is probably some program this Swedish bank has bought from some american company and it has this weird feature.&lt;br /&gt;&lt;br /&gt;Well, that just teaches you, don't install a lot of crap into IE. :)&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Chief Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8674081143380924126?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8674081143380924126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/strange-problem-with-country-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8674081143380924126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8674081143380924126'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/strange-problem-with-country-and.html' title='Strange problem with Country and Country Code'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-28435389068741986</id><published>2009-10-18T15:09:00.002+02:00</published><updated>2009-10-18T15:15:09.510+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom entiteis'/><category scheme='http://www.blogger.com/atom/ns#' term='Display Name'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Create replacement entities</title><content type='html'>Sometimes, using a standard entity like product or invoice might not be the most optimal choice. Often due to the fact that there is quite a lot of business logic built into these entities. Therefore it is somtimes better to create you own entity instead. However, if you try to create a new entity with the name "Product" you will notice that it cannot be done since there already is an entity with that displayname.&lt;br /&gt;&lt;br /&gt;The solution is quite simple, change the displayname of the built in product to "Old product" and remove all rights for all users to it and it will disapear for all normal users. You can then create your new entity with the displayname "Product".&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-28435389068741986?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/28435389068741986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/create-replacement-entities.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/28435389068741986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/28435389068741986'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/create-replacement-entities.html' title='Create replacement entities'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7675456795753353199</id><published>2009-10-16T09:31:00.002+02:00</published><updated>2009-10-16T15:59:53.144+02:00</updated><title type='text'>CRM Customization Manager</title><content type='html'>My colleague Daniel Halan, has developed a very useful tool for handling customization files. As you might know, the standard tool for this is a bit limited so there is a need for this kind of tool.&lt;br /&gt;&lt;p&gt;Daniel writes a bit more about it on his blog: &lt;a href="http://blog.halan.se/post/CRM-Customization-Manager.aspx"&gt;http://blog.halan.se/post/CRM-Customization-Manager.aspx&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7675456795753353199?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.halan.se/post/CRM-Customization-Manager.aspx' title='CRM Customization Manager'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7675456795753353199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/crm-customization-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7675456795753353199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7675456795753353199'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/crm-customization-manager.html' title='CRM Customization Manager'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-304625782960313270</id><published>2009-10-02T22:29:00.006+02:00</published><updated>2009-10-02T22:48:14.584+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='P1i'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='Sony Ericsson'/><category scheme='http://www.blogger.com/atom/ns#' term='M3U'/><title type='text'>Off topic: P1i playlist creator</title><content type='html'>This is a bit off topic but I thought that some of you might be interested anyway. If you don't have a Sony Ericsson P1i or similar, you can stop reading now.&lt;br /&gt;&lt;br /&gt;I like to listen to audio books on my Sony Ericsson P1i but it is a bit problematic since the phone doesn't support normal playlists with relative addresses and you cannot select a directory and play all files in the directory either. This is problematic when you have an audio book that you have ripped from your bought CD box since you don't want to play the tracks in any order.&lt;br /&gt;&lt;br /&gt;The phone also requires the absolute path of the playlist to use the drive "D:" and nothing else. This is very strange and I think it is a big flaw with an otherwise good phone.&lt;br /&gt;&lt;br /&gt;To ease my troubles I created a small program that can create the m3u files in the correct format to support the P1i and I don't see any reason why I shouldn't share it since it only took an hour or two to create.&lt;br /&gt;&lt;br /&gt;Just copy the directory with the mp3:s to the memory stick and run the program and select the directory and enter a fitting name for the m3u file and click run. The m3u file is created. Enjoy.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.westerlund.info/files/P1iM3UMaker.zip"&gt;http://www.westerlund.info/files/P1iM3UMaker.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not much CRM or SharePoint but it's free! Right?&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-304625782960313270?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='' href='http://www.westerlund.info/files/P1iM3UMaker.zip' length='0'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/304625782960313270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/off-topic-p1i-playlist-creator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/304625782960313270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/304625782960313270'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/10/off-topic-p1i-playlist-creator.html' title='Off topic: P1i playlist creator'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-868880090169150117</id><published>2009-09-11T09:23:00.004+02:00</published><updated>2009-09-11T10:52:35.104+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VPC'/><category scheme='http://www.blogger.com/atom/ns#' term='NAT'/><category scheme='http://www.blogger.com/atom/ns#' term='SID'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='DHCP'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>VPC:s and Shared Networking</title><content type='html'>I used VPC:s all the time and we often clone VPC:s to all project members. However, there is a very tricky part of VPC:s and Microsoft CRM environments and this concerns SID:s.&lt;br /&gt;&lt;br /&gt;As you might know, each windows machine has a SID, which is supposed to be a unique identifier for the machine. Exactly when it is used, I am not certain of but I know that you can get into a whole lot of strange trouble if you have two computers with the same SID on the same LAN.&lt;br /&gt;&lt;br /&gt;It can easily be changed on any normal windows machine or server with forinstance the tool newsid. However, there is one type of machine that you cannot change SID on and that is a domain controller.&lt;br /&gt;&lt;br /&gt;To ease the managing of normal VPC:s it is usually best to create VPC:s that contain everything in one. That is, Windows server, Domain controller, SQL Server, Reporting Services, Visual Studio 2008 and, of course, CRM.&lt;br /&gt;&lt;br /&gt;So, we have several VPC:s that have the same SID and we have people sitting next to eachother running them at the same time. The only network setting that can be selected, to still conect to the internet in the VPC is hence, Shared Networking.&lt;br /&gt;&lt;br /&gt;This setting is actually a small local network in it self with a NAT (Network Address Translation)/ DHCP server/switch in the VPC host program.&lt;br /&gt;&lt;br /&gt;I noticed a problem today when I started up a VPC and noted that I had forgotten to connect the network cable. After I had inserted the network cable and my host PC had full access, I still had problems getting an IP address and a propper connection to the internet from my VPC.&lt;br /&gt;&lt;br /&gt;After some fiddeling with trying to run ipconfig /release, ipconfig /renew and sleeping the VPC, I finally shut down the host program and opened the VPC again after which I ran ipconfig /renew, finally it worked.&lt;br /&gt;&lt;br /&gt;My interpretation of this is that the NAT/DHCP server need to have a working network connection in the VPC to intitialize properly. Since I didn't, it just miss started and my VPC:s never got any proper IP:s. The only possible way of restarting it is to restart the VPC host program. After it has been started, you just have to run ipconfig /renew to get a new IP from the VPC DHCP/NAT server.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-868880090169150117?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/868880090169150117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/09/vpcs-and-shared-networking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/868880090169150117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/868880090169150117'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/09/vpcs-and-shared-networking.html' title='VPC:s and Shared Networking'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1344955017521100449</id><published>2009-09-02T16:06:00.003+02:00</published><updated>2009-09-02T16:41:51.917+02:00</updated><title type='text'>Problems with referenced assemblies in plugins</title><content type='html'>Plugins are a very useful technique and can be used to lots of different things. But sometimes things don't work like you expect them to...&lt;br /&gt;&lt;br /&gt;Here at Logica Sweden we have developed a CRM Framework with lots of nice tools to aid your everyday CRM development. The architect behind this hasn't been me but my fellow CRM architect Daniel Halan. This framework is contained in a dll and it is used in plugins.&lt;br /&gt;&lt;br /&gt;The problem I was facing was that when I updated the framwork and rebuilt my plugins, to the assembly directory, it also put the framework dll in this directory. But when I tried to run it I got the most weird errors saying that it could not find methods, constructors and similar. If I installed the framework dll in the GAC then it would all work fine. This is something that I would like to avoid, however, since it is a bit cumbersome when developing.&lt;br /&gt;&lt;br /&gt;After some collective debugging we found the error, plugins don't use the dll:s in the assembly directory, but the dll:s in C:\Program Files\Microsoft CRM\CRMWeb\bin (or similar depending on where you have installed CRM).&lt;br /&gt;&lt;br /&gt;So, make sure you put your referenced dll:s in the correct directory and happy coding!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1344955017521100449?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1344955017521100449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/09/problems-with-referenced-assemblies-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1344955017521100449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1344955017521100449'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/09/problems-with-referenced-assemblies-in.html' title='Problems with referenced assemblies in plugins'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1917557130020132448</id><published>2009-07-07T12:45:00.003+02:00</published><updated>2009-07-07T12:55:53.066+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics'/><category scheme='http://www.blogger.com/atom/ns#' term='Logica'/><title type='text'>One of my managers is number 9!</title><content type='html'>I read David Jennaway's blog today (&lt;a href="http://mscrmuk.blogspot.com/"&gt;http://mscrmuk.blogspot.com/&lt;/a&gt;) and he was happy that he was listed at 100 on the list of the most influential Dynamics Professionals in the World. I had a look through the list and found that the head of our "Microsoft Empowering Team" at Logica (I represent Dynamics CRM in this team) and also the head of our Dynamics Practice globaly, Thomas Olfsson at position nr 9 in the entire world!&lt;br /&gt;&lt;br /&gt;Have a look at the list you self here: &lt;a href="http://dynamicsworld.co.uk/index.html"&gt;http://dynamicsworld.co.uk/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1917557130020132448?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1917557130020132448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/07/one-of-my-managers-is-number-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1917557130020132448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1917557130020132448'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/07/one-of-my-managers-is-number-9.html' title='One of my managers is number 9!'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2414452186729507903</id><published>2009-06-05T09:45:00.001+02:00</published><updated>2009-06-05T09:44:18.506+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workflows'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='Scope'/><category scheme='http://www.blogger.com/atom/ns#' term='custom activities'/><title type='text'>Workflow scope and security roles</title><content type='html'>When creating workflows there are some things that have to be taken into account. One thing that you might not know the details about is the Scope in "Options for Automatic Workflows". There are four options that are very similar to the options used for setting up security roles. They are:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- User&lt;br /&gt;- Business Unit&lt;br /&gt;- Parent: Child Business Unit&lt;br /&gt;- Organization&lt;br /&gt;&lt;br /&gt;Bellow the selection of the scope, there are some workflow triggering options, like starting the workflow when on create or when an attribute has changed.&lt;br /&gt;&lt;br /&gt;The meaning of this is that dependent on the scope you have selected, the triggering will be set up, based on the user who owns the workflow.&lt;br /&gt;&lt;br /&gt;So, for instance, if I select "User" in scope and then select triggering on attribute change, and I am the owner of the workflow, then it will only trigger when I make a change to the object.&lt;br /&gt;&lt;br /&gt;If scope is set to Organization, it will trigger for all users in the tennant which is why this is most often used. Note however that user is set as default, so you'll have to change this when creating the workflow if you want it to work for someone else than yourself.&lt;br /&gt;&lt;br /&gt;This is a useful tool since it can allow powerusers to create their own workflows to help them with their work without actually enabling this for everyone else.&lt;br /&gt;&lt;br /&gt;As I have mentioned earlier, the workflow functionality is very powerful, and even thought there are protections agains infinite recursions and such, there is still the risk that semi skilled powerusers creating workflows that put a heavy load on the asyncservice, so I would be a bit reluctant on letting them use this. Thorough training is a must before and try to teach them to keep the workflows simple. If you have several custom workflow activities, for instance, activities for integrating with other systems, I would be very careful since it is hard, if not impossible to restrict a custom workflow activity to just a selected amount of users.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2414452186729507903?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2414452186729507903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/workflow-scope-and-security-roles.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2414452186729507903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2414452186729507903'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/workflow-scope-and-security-roles.html' title='Workflow scope and security roles'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-9092974265932295115</id><published>2009-06-01T20:45:00.002+02:00</published><updated>2009-06-01T15:44:11.542+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IFD'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><title type='text'>Internet Facing Deployment</title><content type='html'>As many of you know, one of the integral and unique parts of Dynamics CRM 4.0 is it's ability to be Internet facing. This does not only mean that you have to choose between the ameneties of a normal AD logon and the grace of IFD, you can have both. So, even if you are just a small company with just a small business version of CRM 4.0 and not a larger corporation, there is no reason why you shouldn't use Dynamics CRM 4.0 with the IFD technology.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, how do you do it?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are some good documents provided by Microsoft on how to do it(like this one: &lt;a href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=3861e56d-b5ed-4f7f-b2fd-5a53bc71dafc&amp;amp;displayLang=en"&gt;http://www.microsoft.com/downloads/thankyou.aspx?familyId=3861e56d-b5ed-4f7f-b2fd-5a53bc71dafc&amp;amp;displayLang=en&lt;/a&gt;) but there are some parts of it that are a bit tricky and depend on some of the infrastructure components you have, like DNS, and that might not be Microsoft, or even hosted. So I thought I'd describe a bit about how it works and give an example of how to do it.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;First of all you have to do a normal installation of CRM 4.0. You can install on port 5555, 80 or any other TCP port. It doesn't matter for IFD deployment, however, port 80 or 443 have to be made available from the Internet so the physical placement of the CRM server is critical. You can use normal redirect techniques or reverse proxy lookup (as in ISA-server). The important fact is that the server must be placed so that it can be reached from the outside.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The next thing you have to set up is an external name that you can use when adressing the server from Internet, hence it has to be a real name and not just an internal name. If you have registered a domainname you could set a hostname to point to the organizations you want to access.&lt;/p&gt;&lt;p&gt;I used dyndns.com and registered a name like "mydomain" and my CRM organization was mycrm, when using IFD that would make the address for this org:&lt;/p&gt;&lt;p&gt;&lt;a href="http://mycrm.mydomain.dyndns.com/"&gt;http://mycrm.mydomain.dyndns.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Make sure that everything bellow mydomain.dyndns.com also gets redirected to you CRM servers external URL (port 80 or 443 depending on if you are using SSL or not)&lt;/p&gt;&lt;p&gt;The next step is to run the IFD Tool as referenced in the Microsoft Document. It can be downloaded from here.&lt;/p&gt;&lt;p&gt;Use it to set up CRM by setting the right stuff in the web.config and setting some keys in the registry. It is a lot easier than doing it yourself. You have to set it up to the external name you have chosen.&lt;/p&gt;&lt;p&gt;Now the final step is to add a host header in the IIS website for CRM for *.mydomain.dyndns.com or explicitly for mycrm.mydomain.dyndns.com for port 80 or 443 depending on your setup.&lt;/p&gt;&lt;p&gt;Now you should be able to browse to mycompany.mydomain.dyndns.com and get to the logon screen.&lt;/p&gt;&lt;p&gt;To get reports working you have to install the report connector software found on the CRM CD/DVD.&lt;/p&gt;&lt;p&gt;There are of course lot of variations to this, using reverse proxy of ISA Server and all the options of setting up certificates for SSL but I'll leave that out of this posting to keep it simple.&lt;/p&gt;&lt;p&gt;Menno has recently published a posting on this as well (&lt;a href="http://www.tekoppele.com/Blog/post/2009/05/30/How-to-configure-an-Internet-Facing-Deployment-for-Microsoft-Dynamics-CRM-40.aspx" target="_blank"&gt;http://www.tekoppele.com/Blog/post/2009/05/30/How-to-configure-an-Internet-Facing-Deployment-for-Microsoft-Dynamics-CRM-40.aspx&lt;/a&gt;, and there are several other blogs and MS KB articles concerning this. If you have problems, try taking it a step at a time and analyse and design the setup first so that you have got it figgured before you start configuring!&lt;br /&gt;&lt;br /&gt;Good luck!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-9092974265932295115?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/9092974265932295115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/05/internet-facing-deployment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/9092974265932295115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/9092974265932295115'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/05/internet-facing-deployment.html' title='Internet Facing Deployment'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-6612664798134045632</id><published>2009-05-08T13:57:00.007+02:00</published><updated>2009-06-01T15:37:39.919+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtual pc 2007'/><title type='text'>Enhancing performance in virtual machines</title><content type='html'>I follow the blog Microsoft Dynamics CRM UK Blog which is very good and they had an interesting posting today concerning performance issues in virtual PC 2007 on laptops. As most consultants, I use one (a lenovo T61p). You can read more about it here: &lt;a href="http://blogs.msdn.com/ukcrm/archive/2009/05/07/virtual-pc-2007-performance-tweaks.aspx"&gt;http://blogs.msdn.com/ukcrm/archive/2009/05/07/virtual-pc-2007-performance-tweaks.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I tried to apply the change to the file they mentioned (%appdata%\Microsoft\Virtual PC\options.xml) I had a problem since I didn't have the parent tag in my file. I checked around a bit and found that it could just be added to the main structure. So, after modifications, my file looked like this:&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&amp;lt;/virtual_network&amp;gt;&lt;br /&gt;&amp;lt;virtual_machines&amp;gt;&lt;br /&gt;&amp;lt;enable_idle_thread type="boolean"&amp;gt;true&amp;lt;/enable_idle_thread&amp;gt;&lt;br /&gt;&amp;lt;/virtual_machines&amp;gt;&lt;br /&gt;&amp;lt;window&amp;gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;I would recommend adding it, if you most of the time have the computer connected to the power outlet, since it will probably increase the performance of your virtual machines!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6612664798134045632?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6612664798134045632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/05/enhancing-performance-in-virtual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6612664798134045632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6612664798134045632'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/05/enhancing-performance-in-virtual.html' title='Enhancing performance in virtual machines'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2296124925229147185</id><published>2009-04-20T15:06:00.002+02:00</published><updated>2009-04-20T15:32:23.925+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workflows'/><category scheme='http://www.blogger.com/atom/ns#' term='customizations'/><category scheme='http://www.blogger.com/atom/ns#' term='bulk import'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4'/><title type='text'>Importing large customization files to vanilla system</title><content type='html'>Sometimes you will need to import large customization files from one system to a vanilla system (no customizations). This file will often include workflows as well as new entities and attributes.&lt;br /&gt;&lt;br /&gt;Since the workflows are dependant on the entities of the CRM system, a workflow cannot be imported if the entities it depends on do not exist.&lt;br /&gt;&lt;br /&gt;This is usually not a problem in English based systems since Workflow starts with the letter "W" and hence is quite far down the list. In Swedish it is named "Arbetsflöde" and hence will be placed at the top. So, when importing the customization file, if importing everything, the system might give you an error if any workflow is dependant on an entitiy with a displayname after "A".&lt;br /&gt;&lt;br /&gt;The solution is simple, just import everything but workflows first and then import workflows.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2296124925229147185?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2296124925229147185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/04/importing-large-customization-files-to.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2296124925229147185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2296124925229147185'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/04/importing-large-customization-files-to.html' title='Importing large customization files to vanilla system'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-6628225545694546081</id><published>2009-02-23T10:37:00.003+01:00</published><updated>2009-02-23T10:50:48.275+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='attachEvent'/><category scheme='http://www.blogger.com/atom/ns#' term='supported customizations'/><category scheme='http://www.blogger.com/atom/ns#' term='dynamic attaching events'/><title type='text'>Errors when programmatically attaching events in forms</title><content type='html'>Today I had a very weird error. I had two datetime fields on a form, one on the first tab and one one the second. Let's call them date1 and date2 to make it easier.&lt;br /&gt;&lt;br /&gt;I attached an event in the onload by using&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;crmForm.all.date1.attachEvent("onchange", myFunc1);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and for the date2 field:&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;crmForm.all.date2.attachEvent("onchange", myFunc2);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The weird part was that if I changed date1 first and then date2, myFunc2 didn't fire. But if I first changed date2 and then date1, both fired as they should.&lt;br /&gt;&lt;br /&gt;So I tried just adding an alert instead using the normal onchange method via the form editor in CRM and that triggered every time, just as it should, so something is different.&lt;br /&gt;&lt;br /&gt;The simple solution seemed to be to move date2 from the second tab to the first. That got everything working just as it should.&lt;br /&gt;&lt;br /&gt;I havn't tried it but I think that one could also write a method that confirms all the event attachments and then calling this at the end of every onchange triggering function and perhaps some extra time when the tabs are changed to make sure the events are bound correctly.&lt;br /&gt;&lt;br /&gt;I have checked the documentation in CRM for if this kind of runtime event attachment might not be supported but my interpretation of the text is that is should be all right according to it. The closest paragraph in the unsupported customization section is the following:&lt;br /&gt;&lt;br /&gt;"The use of custom HttpModules to inject HTML/DHTML into the Microsoft Dynamics CRM Forms. "&lt;br /&gt;&lt;br /&gt;As I wrote, my interpretation is that attaching events (not even overwriting the onchange), should be ok according to this since we arn't injecting anything, just adding an event listener. Hence I feel that this must be interpreted as a bugg in CRM.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6628225545694546081?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6628225545694546081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/errors-when-programmatically-attaching.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6628225545694546081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6628225545694546081'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/errors-when-programmatically-attaching.html' title='Errors when programmatically attaching events in forms'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5813177725662441913</id><published>2009-02-17T10:45:00.003+01:00</published><updated>2009-02-17T10:47:13.437+01:00</updated><title type='text'>Unicode conversion</title><content type='html'>When writing javascripts with alerts or similar when not working with english, special characters like the swedish åäö might not be shown correctly. I found this helpful page where you can enter the string you want to convert and then copy paste the result. Simple and nice.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rishida.net/scripts/uniview/conversion.php"&gt;http://rishida.net/scripts/uniview/conversion.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5813177725662441913?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://rishida.net/scripts/uniview/conversion.php' title='Unicode conversion'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5813177725662441913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/unicode-conversion.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5813177725662441913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5813177725662441913'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/unicode-conversion.html' title='Unicode conversion'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-248870019929835206</id><published>2009-02-17T09:53:00.002+01:00</published><updated>2009-02-17T09:56:48.260+01:00</updated><title type='text'>Really cool way of getting FetchXML from advanced find</title><content type='html'>I've been having some problems with my blogs in Outlook but today I fixed it and started checked if there was anything special and found this very interesting article on Ronald Lemmens blog.&lt;br /&gt;&lt;a href="http://ronaldlemmen.blogspot.com/2009/02/using-advanced-find-for-fetchxml.html"&gt;http://ronaldlemmen.blogspot.com/2009/02/using-advanced-find-for-fetchxml.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;He describes how to, without any code or customizations to a system, easily get the fetchxml code from an advanced find by just putting some javascriptcode in the url of the window. Beautiful in all it simplicity!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-248870019929835206?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ronaldlemmen.blogspot.com/2009/02/using-advanced-find-for-fetchxml.html' title='Really cool way of getting FetchXML from advanced find'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/248870019929835206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/really-cool-way-of-getting-fetchxml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/248870019929835206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/248870019929835206'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/really-cool-way-of-getting-fetchxml.html' title='Really cool way of getting FetchXML from advanced find'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2862502230241216837</id><published>2009-02-17T08:33:00.003+01:00</published><updated>2009-02-17T08:47:49.968+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='query string'/><title type='text'>Force update of Report</title><content type='html'>The project I am currently involved in uses Reporting Services reports that are shown as PDF:s as quotes that are sent to the customer. It is implemented by creating a custom report that takes the object id (like quote) which is called from an isv.config button and by using querystring parameters, the output is directed to PDF.&lt;br /&gt;&lt;br /&gt;However, I got a puzzeling bug. The data in the quote is of course based on data in some CRM entities and when a quote was generated and the user found something was wrong, changed this in CRM, saved and then tried to regenerate the PDF, the change didn't show. I restared Internet Explorer, and regenerated the quote-pdf and now it showed correctly. Hence some sort of caching error.&lt;br /&gt;&lt;br /&gt;I looked around the internet a bit and found that by adding the following parameter to the querystring, I could refresh the sessions variables and I would get a fresh and correct report.´&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&amp;amp;rs:ClearSession=true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, the entire url was (except for the report id etc.):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&amp;amp;rs:Command=Render&amp;amp;rs:ClearSession=true&amp;amp;objid={D1F1FD5D-D7F8-DD11-967B-005056AA29F5}&amp;amp;rs:Format=PDF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, if you get a similar error, just try setting this.&lt;br /&gt;&lt;br /&gt;It is also possible that IE caches the pdf and then you'll have to add some variable to the querystring, like a tick or datetime that is unique for every call (from that client) and that will bypass IE:s caching.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2862502230241216837?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2862502230241216837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/force-update-of-report.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2862502230241216837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2862502230241216837'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/force-update-of-report.html' title='Force update of Report'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5721454092032760998</id><published>2009-02-03T20:51:00.002+01:00</published><updated>2009-02-03T21:05:32.254+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRMAsyncService'/><category scheme='http://www.blogger.com/atom/ns#' term='w3wp'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow'/><title type='text'>Workflow warning</title><content type='html'>Today I was troubleshooting a CRM server which had the CRMAsycnService and w3wp service totally hogging the machine. It was quite obvious that it was CRM that was the cause for this and since CRMAsyncService was involved, probably workflows or perhaps the deletionservice.&lt;br /&gt;&lt;br /&gt;After a bit of looking around I found a workflow that was set to trigger on attribute change on an entity and then later in that same entity, changed some attributes. This caused an infinite loop which was the cause for the hogging. By first unpublishing the workflow and then removing all started systemjobs, I got the machine back up to speed.&lt;br /&gt;&lt;br /&gt;My conclusion from this is that even though the workflow GUI seems easy it is deceitfully powerfull and you quite easily create workflows that hogg the server (the server hosting the async-service anyway). This should be taken into consideration when putting this tool into the hands of non-programmers since the risk for the entire system stability is large. This can be either application consultants or power users at the customer.&lt;br /&gt;&lt;br /&gt;There is also no standard way of locking some of the triggers on workflows so that you can eliminate this risk. I you know of any, please leave a comment!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5721454092032760998?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5721454092032760998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/workflow-warning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5721454092032760998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5721454092032760998'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/workflow-warning.html' title='Workflow warning'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-6412164770292615850</id><published>2009-02-02T12:54:00.002+01:00</published><updated>2009-02-02T15:56:32.881+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business processes'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><title type='text'>Process implementation strategy</title><content type='html'>When implementing a business process in Dynamics CRM there are several different implementation paths to choose from. There are advantages and disadvantages to the different techniques but&lt;em&gt; &lt;/em&gt;there are some goals that I feel the implementations should meet, mainly:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Fully supported customizations only&lt;br /&gt;&lt;br /&gt;2. Flexible and non-static.&lt;br /&gt;&lt;br /&gt;3. Power user modifiable&lt;br /&gt;&lt;br /&gt;4. Movable from environment to environment (dev-test-production)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will discuss the different aspects bellow and why I feel they are important.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Fully supported customizations only&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is almost so self-evident that it doesn't even need mentioning but I have seen several CRM implementations that not only nudge this paradigm in the corner, but bite big large chunks out of it. For me, the number one reason why this is so important is that all customers will sooner or later want a hotfix or upgrade to a later version and when Microsoft, in their greatest foresight and benevolence definied the concept of supported customizations, they made this possible without costly maintanance agreements or hostile customer relationships. So, not following it should be punishable by death or something close to it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I would presume that you CRM implementations are meant to last for your customers and that you want a long a fruitfull relationship with your customer, why you just cannot underestimate this point. If you &lt;em&gt;have to&lt;/em&gt; make unsupported customizations, make sure they are as light weight as possible, document them thouroghly and how to validate them when installing a hotfix or upgrade.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A business process must hence be made as supported as possible.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Flexible and non-static&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The solution has to be flexible and non-static. We, and our customers live in an ever changing world and to cope with this, business processes have to change as the world around a company changes. Just imagine the changes the telecom industry has gone through the latest 20 years. To fully accomodate this the customer implementations have to be flexible and changable. Microsoft Dynamics CRM is one of the most versatile and flexible systems available, especially now that it incorporates windows workflow foundation. Implementing a business process in code entirly, locks the processes down, and builds a dependance on the CRM delivering partner, something every customer-value focused consultant must despise. I do not need to force my customers to use my services when I can get them to choose me because of the value I deliver to them every hour of every day.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Instead, use the power of Windows Workflow Foundation combined with custom workflow activities. If needed, trigger these workflows using plug-ins and isv.config customizations.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Power user modifiable&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A business process often involves users of different sorts and communicates with these using emails, tasks and other activites. The content of these and the recipients, sometimes dynamically set, sometimes static (like the CFO), might need to be changed. Therefore it is not very flexible for the customer if code has to be re-written everytime a mail has to be changed. It is a lot more flexible to create a workflow that creates the activity and then just execute the workflow from code, apart from the fact that it is a lot quicker to implement. Just write a method that enables you to execute the workflow by name instead of Guid.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Movable from environment to environment (dev-test-production)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;All implementations of any notable size always includes at least three environements, not seldom up to 5 or 6 depending on how you count (local dev, central dev, test, training, production). Business process implementations have to be easy to move between solutions without any or with as little as possible environement specifics. Hence, try to use names (or some other environment indpendant value) instead of guids since guids are environment specifics when relating to workflows and other similar things. Try to get all environement specific settings in one place, one file or create an entity for them. This can be a challange but try, it will pay off in the long run.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;These are my thoughts on the business processes implementation stategy concerning Dynamics CRM 4. I would be happy to discuss the topic so please leave comments!&lt;br /&gt;&lt;/p&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6412164770292615850?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6412164770292615850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/process-implementation-strategy.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6412164770292615850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6412164770292615850'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/02/process-implementation-strategy.html' title='Process implementation strategy'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8317443488480671098</id><published>2009-01-29T15:51:00.002+01:00</published><updated>2009-01-29T15:56:13.986+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='custom activities'/><title type='text'>Problem opening workflows in CRM GUI</title><content type='html'>Currently I am working on a project with a quite complex sales process and part of it is managed by workflows (for flexibility) and to be able to do what is needed, I have developed several custom workflow activities.&lt;br /&gt;&lt;br /&gt;However, today I had just installed some stuff and was going to review one of the workflows, and the CRM GUI crashed with the Exception "System.NullReferenceException" in a really nasty way when I tried to open it. By looking at the stack trace I got a feeling it had something to do with my custom activities so I just reregistered them and then everything started working again. So if you come across this error, this might be the problem. I couldn't find any reference to this error on the net why I thought it might be a good idea to blog about it.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8317443488480671098?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8317443488480671098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/01/problem-opening-workflows-in-crm-gui.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8317443488480671098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8317443488480671098'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/01/problem-opening-workflows-in-crm-gui.html' title='Problem opening workflows in CRM GUI'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1901950423330830319</id><published>2009-01-28T10:22:00.003+01:00</published><updated>2009-01-28T10:35:02.574+01:00</updated><title type='text'>Workflow activity development and file locking</title><content type='html'>As some of you might have noticed, the dll:s containing the custom workflow activities might get locked and hence the compilation fails in it's final stage.&lt;br /&gt;&lt;br /&gt;To handle this, I tried a good program called Unlocker 1.8.7 which you can find here: &lt;a href="http://ccollomb.free.fr/unlocker/"&gt;http://ccollomb.free.fr/unlocker/&lt;/a&gt; - it is freeware and it will tell you which processes are locking a file and can help you kill them.&lt;br /&gt;&lt;br /&gt;So, what is locking my dll? Well, actually several processes are involved both the MSCRMAsyncService and the IIS worker process (w3wp).&lt;br /&gt;&lt;br /&gt;The most obvious way of handling it is just restarting the two services and that will work. However, restarting the w3wp process will require the entire CRM application to be recompiled which will create extra long and annoying waits. Instead, just recycle the applicationpool involved (CRMAppPool).&lt;br /&gt;&lt;br /&gt;There are no problems restarting the MSCRMAsyncService.&lt;br /&gt;&lt;br /&gt;And if you want to do it all in the pre-build event just add the following lines:&lt;br /&gt;&lt;br /&gt;net stop "MSCRMAsyncService"&lt;a href="http://ccollomb.free.fr/unlocker/"&gt;&lt;/a&gt;&lt;br /&gt;net start "MSCRMAsyncService"&lt;br /&gt;cscript C:\Inetpub\AdminScripts\adsutil.vbs stop_server W3svc/AppPools/CRMAppPool cscript C:\Inetpub\AdminScripts\adsutil.vbs start_server W3svc/AppPools/CRMAppPool&lt;br /&gt;&lt;br /&gt;And if you are still having problems, use the unlocker program!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1901950423330830319?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1901950423330830319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/01/workflow-activity-development-and-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1901950423330830319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1901950423330830319'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/01/workflow-activity-development-and-file.html' title='Workflow activity development and file locking'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8889272701032620504</id><published>2009-01-13T17:12:00.003+01:00</published><updated>2009-01-13T17:17:37.803+01:00</updated><title type='text'>List Web Part for Dynamics CRM 4.0</title><content type='html'>Finally Microsoft have release the List Web Part for Dynamics CRM 4.0. I havn't had the opportunity to test it yet but the previous version (for CRM 3) had problems with non-english versions of SharePoint so be aware, especially if you are running CRM and SharePoint in different base languages.&lt;br /&gt;&lt;br /&gt;If you have any experience of it, please let me know.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8889272701032620504?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/Downloads/details.aspx?familyid=3B6EB884-EC15-4288-A2A3-D0B47E057458&amp;displaylang=en#filelist' title='List Web Part for Dynamics CRM 4.0'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8889272701032620504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/01/list-web-part-for-dynamics-crm-40.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8889272701032620504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8889272701032620504'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2009/01/list-web-part-for-dynamics-crm-40.html' title='List Web Part for Dynamics CRM 4.0'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2093406734628740609</id><published>2008-12-18T11:56:00.003+01:00</published><updated>2008-12-18T11:58:30.521+01:00</updated><title type='text'>How to make a workflow wait until a certain date</title><content type='html'>How to make a workflow wait until a certain date might seem trivial but it isn't all that clear when using the GUI, but I found a nice blog with good pictures explaining how to do it so instead of reinventing the wheel, I'll just give you the link: &lt;a href="http://www.askcrm.com/Default.aspx?tabid=866&amp;amp;EntryID=55"&gt;http://www.askcrm.com/Default.aspx?tabid=866&amp;amp;EntryID=55&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2093406734628740609?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2093406734628740609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/12/how-to-make-workflow-wait-until-certain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2093406734628740609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2093406734628740609'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/12/how-to-make-workflow-wait-until-certain.html' title='How to make a workflow wait until a certain date'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7101584249403699283</id><published>2008-11-23T11:51:00.002+01:00</published><updated>2008-11-23T11:55:43.687+01:00</updated><title type='text'>AT&amp;T Wireless self destructs...</title><content type='html'>It's actually an old story by now but I just recently heard of it from my new staff manager and it is a very interesting story of just how bad a CRM implementation can get. It concerns Siebel and my analysis of the story is that the reson for the crash was mostly due to bad management and a lock on both timeframe and functionallity, something  I believe is impossible if you want to achieve any kind of quality. This case being the perfect example.&lt;br /&gt;&lt;br /&gt;Please read it and leave a comment here if you want to discuss it!&lt;br /&gt;&lt;a href="http://www.cio.com/article/32228/Project_Management_AT_T_Wireless_Self_Destructs"&gt;http://www.cio.com/article/32228/Project_Management_AT_T_Wireless_Self_Destructs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7101584249403699283?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cio.com/article/32228/Project_Management_AT_T_Wireless_Self_Destructs' title='AT&amp;T Wireless self destructs...'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7101584249403699283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/at-wireless-self-destructs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7101584249403699283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7101584249403699283'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/at-wireless-self-destructs.html' title='AT&amp;T Wireless self destructs...'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1426054199831473092</id><published>2008-11-19T09:52:00.003+01:00</published><updated>2008-11-19T09:58:05.621+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow'/><title type='text'>Automatic restart of Async Service</title><content type='html'>When developing new workflow activities for CRM 4.0 you need to release the filelocks on the dll to be able to copy the new dll to the assembly directory. This can of course be done manually by restarting the service in the service manager but can be scripted into the prebuild events aswell, so that it is more automatic. Add the following two lines to the Pre-build events of your workflow activity project to make it restart the MSCRMAsyncService:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;net stop "MSCRMAsyncService"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;net start "MSCRMAsyncService"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Please note that you might inflict any ongoing workflows by doing this so take care if it is a live production server.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1426054199831473092?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1426054199831473092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/automatic-restart-of-async-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1426054199831473092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1426054199831473092'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/automatic-restart-of-async-service.html' title='Automatic restart of Async Service'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7709851838470713506</id><published>2008-11-14T15:20:00.002+01:00</published><updated>2008-11-14T15:48:16.704+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 3'/><category scheme='http://www.blogger.com/atom/ns#' term='URL'/><title type='text'>Quick create</title><content type='html'>As many of you know, in CRM 3 there is a special view of an entity form called quickcreate. This is used when you press "New" in a lookup window. For instance, on an account you can press: select primary contact, when the search dialog shows you can instead of selecting an existing contact press the new button and a "slimline" version of the contact form show with just the must-have and should-have fields available.&lt;br /&gt;&lt;br /&gt;In CRM 4 this feature is not used any more and the complete form will always be shown in this case, however, the functionality hasn't been removed. I tried to find some kind of reference to it in the SDK but couldn't so I had a look in the original CRM code in CRM 3 and found how to do it.&lt;br /&gt;&lt;br /&gt;To open a form as quick create, find the object type code (1 = account etc) and go to the URL:&lt;br /&gt;&lt;a href="http://[server:port]/[organisation]/_forms/QuickCreateReturn/quickcreate.aspx?crmFormSubmitObjectType=[objecttypecode"&gt;http://[server:port]/[organisation]/_forms/QuickCreateReturn/quickcreate.aspx?crmFormSubmitObjectType=[objecttypecode&lt;/a&gt;].&lt;br /&gt;&lt;br /&gt;For example, for account on the local machine when CRM is installed on port 5555 and the company is named "company":&lt;br /&gt;&lt;a href="http://localhost:5555/company/_forms/QuickCreateReturn/quickcreate.aspx?crmFormSubmitObjectType=1"&gt;http://localhost:5555/company/_forms/QuickCreateReturn/quickcreate.aspx?crmFormSubmitObjectType=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since I couldn't find any official reference to this in the SDK it is very possibly unsupported to do this but it works for now. Any hotfixes or similar might, but are not very likely to change this functionality, new versions of CRM like v.next are more likely to change/remove this functionality.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7709851838470713506?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7709851838470713506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/quick-create.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7709851838470713506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7709851838470713506'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/quick-create.html' title='Quick create'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8157435795171006713</id><published>2008-11-11T14:33:00.002+01:00</published><updated>2008-11-11T15:08:20.353+01:00</updated><title type='text'>Putting all javascript code in external files</title><content type='html'>Dynamics CRM is great. It has some really nice functions like being able to add javascripts to different event in the form to handle special needs of the GUI.&lt;br /&gt;&lt;br /&gt;However, it is only fine as long as these scripts arn't that many and not too complex. When they start getting more and more complex, bigger and their numbers start increasing it soon becomes an impossible tast of maintaining them all and there is no built in function to handle javascript includes without special code. It also takes a long time developing more complex code in the javascript form window in CRM and then running the preview or publishing it each time before testing.&lt;br /&gt;&lt;br /&gt;There is light in the tunnel however, by using the technique specified bellow, you can both&lt;br /&gt;get global javascript files, save and refresh only to see you changes, and keeping all scripts for one entity in one file (and not one for onLoad, one for onSave and one for each onChange that is needed).&lt;br /&gt;&lt;br /&gt;A lot of credit for this has to go to Michael Höhne at Stunnware since he added a posting on his blog on how to manage javascript includes in runtime.&lt;br /&gt;&lt;br /&gt;So, first of all we have to put some standard code in the onLoad. This should only be done once and it shouldn't really be changed until you need to publish it for release (switching of the caching).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;var LoadFile = function(url, cache)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;{    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    var httpRequest = new ActiveXObject("Msxml2.XMLHTTP");    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    httpRequest.open("GET", url, false);&lt;br /&gt;    if (!cache) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    {        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;        httpRequest.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    httpRequest.send(null);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    return httpRequest.responseText;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;eval(LoadFile("/isv/mycrmext/javascripts/MyGlobal.js", false)); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;eval(LoadFile("/isv/mycrmext/javascripts/Account_onload.js", false));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This code simply loads and executes the two files MyGlobal.js and Account_onload.js located in the directory &lt;span style="font-family:courier new;font-size:85%;"&gt;C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV\myCRMEXT\JavaScripts&lt;/span&gt;&lt;br /&gt;and can be found at the url: &lt;a href="http://%3Cservername"&gt;:port/isv/mycrmext/javascripts/"&gt;http://&lt;servername&gt;:port/isv/mycrmext/javascripts/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, copy-paste it into the onload event form in the account form editor in CRM. Activate the event, save and publish.&lt;br /&gt;&lt;br /&gt;Then you can create the two .js-files at the specified directory. Start with just some test code like:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;alert("This is the MyGlobal.js-file");&lt;/span&gt;&lt;br /&gt;or something similar.&lt;br /&gt;&lt;br /&gt;The next step is to try to avoid using the onsave and onchange events. This is quite easy when you know how but it is sort of in the gray area of supported customizations so be aware of this.&lt;br /&gt;&lt;br /&gt;In the file Account_onload.js add the following code:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;var MyOnSave = function()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;{    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;     alert("onSave");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;var MyOnChange = function()&lt;br /&gt;{   &lt;br /&gt;     alert("onChange");&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;alert("onload)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;crmForm.attachEvent("onsave", MyOnSave);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;crmForm.all.name("onchange", MyOnChange);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This attaches a simple function to the onsave event of the form and another to the onchange event of the attribute "name".&lt;br /&gt;&lt;br /&gt;The functional defintions/declarations can be put into any of the includefiles.&lt;br /&gt;&lt;br /&gt;Now, just save the file, and open an account to see the magic! (It should show a dialog when loading with the text "onload", when the accountname is changed, it should show "onchange" and when saved, it should show "onsave".&lt;br /&gt;&lt;br /&gt;Please note that I would advise you to put the javascript files in the same "host" from a IE perspective since you will get less problems with cross domain scripting and similar IE related security issues. This doesn't however mean that you cannot put the js-files anywhere on the internet where the clients can access it.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8157435795171006713?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8157435795171006713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/putting-all-javascript-code-in-external.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8157435795171006713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8157435795171006713'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/putting-all-javascript-code-in-external.html' title='Putting all javascript code in external files'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7480895511435586142</id><published>2008-11-05T14:44:00.004+01:00</published><updated>2008-11-05T15:02:16.395+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='URL'/><title type='text'>How to get the URL to the reportserver programmatically</title><content type='html'>I was searching the net the other day to try to find a way to programmatically get the reporting server url from CRM. I thought that there must be some way to find it using the standard CRM webservice and I really looked throught the SDK and all the blogs I could find to see if anyone knew.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally I gave up and tried to find some other way to get it and I remembered that it is set in the registry so I wrote some code to get it from there and here it is in all it's simple glory:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;RegistryKey regkey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\MSCRM");&lt;br /&gt;string reportserver = regkey.GetValue("SQLRSServerURL").ToString();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And it worked but only just since it uses the server name and my VPN connection to the customers environment didn't bother with sending it to me why I have to manually add it to the hosts file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The host file can be found at the path: C:\WINDOWS\system32\drivers\etc\hosts&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and I added the row:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;192.168.0.100 CRMTESTSRV&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now my button which point to my aspx that redirects to a the report in pdf-format works just fine and is independant of the CRM server it is installed on.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The solution isn't supported as far as I know since you never know if they might change the registry value in the future (not very likely in an update but might happen in an upgrade). If anyone has any supported way of getting this URL, please comment this post.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This could also be done using javascripts but I find it easier to manage server side code and it doesn't add that much overhead considering the report has to be generated independantly of if I use aspx or javascript to open the report.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7480895511435586142?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7480895511435586142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/how-to-get-url-to-reportserver.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7480895511435586142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7480895511435586142'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/11/how-to-get-url-to-reportserver.html' title='How to get the URL to the reportserver programmatically'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8526978115506405754</id><published>2008-10-26T16:20:00.002+01:00</published><updated>2008-10-26T16:44:27.338+01:00</updated><title type='text'>Attribute problems</title><content type='html'>As I have described earlier, a controlled and consistent handling of the customization file is very important in order to maintain coherent and properly mirrored systems.&lt;br /&gt;&lt;br /&gt;As I am reading the book "CRM as a rapid devleopment platform" by David Yack at the moment, I will probably be commenting a bit on some of it's content. Even though I might not fully agree to all that is said in the book, I must really give it my best recommendations since it is really a good tool and has a lot of very useful tips and code libraries that can be used.&lt;br /&gt;&lt;br /&gt;One of the things Yack treats in the book is the how to import and export customizations and his recommendation is to take as few entities as possible. My personal view is still that the best way to maintain "mirrored" systems and avoid any problems when importing, is to almost always move the entire set of customizations (using the import/export all entities) since I believe that will reduce the risk of anything bad happening and that the systems might accedentally not be the same until someone notices that an entity hasn't been moved from one system to another. Yack's manner of handling this is not directly wrong in my opinion, and it might work well but there might be need for more extensive documentation of exactly what customizations exist in all the different systems (for those who didn't read that posting, most commonly: Production, Test, Central Dev, Educational and Distributed VPC Devs)&lt;br /&gt;&lt;br /&gt;A similar problem that might give rise to some headaches is that you might have seen to it that all systems have the same customizations and then notice that some attribute might have the wrong data type, and since you can't just change the datatype, you remove it and then recreate it using the same name as before. Now you try to export and import this entity to some other system, it will crash due to the fact that CRM will try to append the changes made but it doesn't log that you have removed the attribute and will just export an image of the exisitng system. When importing, it will try to find any changes and add these. When it find's a missmatch in the datatype of the entity in question, it will simply stop the importing.&lt;br /&gt;&lt;br /&gt;So, try not to change attributes or entities this way. If you have created an attribute with the wrong datatype, remove it and create the new one with another name.&lt;br /&gt;&lt;br /&gt;It is probably also possible to first remove the attribute, export the customization and import it to ALL system and then add the attribute, export and import it to all systems. Then you might get it to work but it's easy to miss one development VPC system and then you'll have to remove the attribute(s) by hand and that just isn't very good since these kinds of changes should be limitied to the customization master system.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8526978115506405754?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8526978115506405754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/10/attribute-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8526978115506405754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8526978115506405754'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/10/attribute-problems.html' title='Attribute problems'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4305224627395338452</id><published>2008-10-26T15:58:00.002+01:00</published><updated>2008-10-26T16:15:17.535+01:00</updated><title type='text'>The application platform on which CRM has been built</title><content type='html'>Some dicussion has been ongoing on wheter the application platform on which Dynamics CRM has been built will be used for other purposes, most noticable has probably been David Yacks book that I have discussed previously, that focuses more on this platform than on Dynamics CRM.&lt;br /&gt;&lt;br /&gt;Today, since it is Sunday and I have some "free time" I took the opportunity to read The CRM Teams Statement of Direction and I found a very interesting part in the end that give a very direct statement on how Microsoft views this:&lt;br /&gt;&lt;br /&gt;"Thus the underlying technology platform becomes an application engine to run a whole range of business applications. Microsoft Dynamics CRM simply becomes one business application that is run on the application platform."&lt;br /&gt;&lt;br /&gt;So, perhaps we have put our card on the right horse this time (compared to Lehman and Brothers investors) since the future might show that experience in CRM development isn't only going to be a great asset when working with CRM but also a great asset since it will allow us to have a good heads start on the application platform, and the new applications that will be built ontop of it.&lt;br /&gt;&lt;br /&gt;Discussions has also been around what is going to happen with NAV and AX. This is mere speculation, but it might just be that theses applications are the first to be migrated to the new application platform. So, get you MPC (Material and Production Control) books out and dig into ERP since that might just be the right skill to have.&lt;br /&gt;&lt;br /&gt;If you havn't noticed, the work name for the new version of CRM is V.Next. Let's see if it will be 5.0 or perhaps 8.0? :)&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4305224627395338452?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4305224627395338452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/10/application-platform-on-which-crm-has.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4305224627395338452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4305224627395338452'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/10/application-platform-on-which-crm-has.html' title='The application platform on which CRM has been built'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-1593531471390562692</id><published>2008-10-19T14:51:00.002+02:00</published><updated>2008-10-19T15:07:31.516+02:00</updated><title type='text'>CRM as a Rapid Development platform</title><content type='html'>David Yack, a Microsoft MVP has written a very good book for developers working with Microsoft Dynamics CRM 4.0 independantly of the actual solution, being CRM or some other solution.&lt;br /&gt;&lt;br /&gt;He focuses a lot on viewing the Dynamics CRM platform as a development platform instead of just an application with a powerful API. This is a view I believe many Dynamics CRM developers share with him. The book also focuses a lot on working as a consultant and the choices that one needs to take when working as a consultant, like, is this sort of solution going to be working independantly of new hotfixes, patches and upgrades or are we going to create a cause for conflict with our customer.&lt;br /&gt;&lt;br /&gt;As many of you know, Dynamics CRM addresses these issues as a platform in the definition of "supported" customizations and this is discussed throughout the book.&lt;br /&gt;&lt;br /&gt;Included in the price of the book is also an entire library of useful tools that can be used when developing and that Yack recommends using in real life projects and that are licenced as such.&lt;br /&gt;&lt;br /&gt;It is THE book for all Dynamics CRM developers looking for both tips and tricks on how to for instance, actually create a plug-in and also great use in understanding that Dynamics can be used as a platform for developing almost any kind of application. Yack has deliberatly left out information concerning how to use CRM out-of-the-box and other normal application based aspects of Dynamics CRM, something I find very good since it focuses the book on what it is meant to do.&lt;br /&gt;&lt;br /&gt;If you work with development in Dynamics CRM, this is probably going to be one of the best investments you can do, since it will help you create better customizations faster with more customer value, and who doesn't want that?&lt;br /&gt;&lt;br /&gt;Thanks David Yack for a great book!&lt;br /&gt;&lt;br /&gt;Read more here: &lt;a href="http://www.thecrmbook.com/"&gt;http://www.thecrmbook.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica Sweden&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-1593531471390562692?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.thecrmbook.com' title='CRM as a Rapid Development platform'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/1593531471390562692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/10/crm-as-rapid-development-platform.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1593531471390562692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/1593531471390562692'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/10/crm-as-rapid-development-platform.html' title='CRM as a Rapid Development platform'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4861668170689495314</id><published>2008-09-26T19:12:00.002+02:00</published><updated>2008-09-26T19:27:41.255+02:00</updated><title type='text'>Handle customization.xml (.zip) with care</title><content type='html'>As you probably know as a Dynamics CRM professional, all entity customizations, javascripts and more can easily be exported and imported between systems. This is a really neat feature of Dynamics CRM since it relieves us a lot of tiresome and repetitive work of recreating lots of settings for each environment set up.&lt;br /&gt;&lt;br /&gt;It is not uncommon for a project to involve more than 3 or 4 depoyments that need to be identically set up. Usually the following are used:&lt;br /&gt;- Production environment&lt;br /&gt;- Test environment&lt;br /&gt;- Central development environment&lt;br /&gt;- Distributed developent environment(s) - usually locally run VPC:s&lt;br /&gt;- Educational environment&lt;br /&gt;&lt;br /&gt;If care isn't taken when creating customizations and exporting and importing the customization files it is not hard to imagine problems arising when the same entity has been edited by different people at more or less the same time. This can result in the several of the different systems not being identical and perhaps even dataloss or the worst possible case, a system might crash. Therefore it is very useful to define a strict path for all customizations and the distribution of all customizaton files.&lt;br /&gt;&lt;br /&gt;We usually handle this by simply defining the central development environment as the customization-master. This means that all entity customizations are done on this environment only. Then customizations are exported by almost always exporting all customizations and importing into all other systems from this file. This will hopefully reduce the risks of creating environments that are non-identical or erroneous.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4861668170689495314?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4861668170689495314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/handle-customizationxml-zip-with-care.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4861668170689495314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4861668170689495314'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/handle-customizationxml-zip-with-care.html' title='Handle customization.xml (.zip) with care'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2544508704794858533</id><published>2008-09-22T07:34:00.002+02:00</published><updated>2008-09-22T07:52:29.436+02:00</updated><title type='text'>The power of SharePoint</title><content type='html'>Presently I am employed at Logica as a consultant and the projects I am involved in are always Dynamcis CRM centered. However, I used to work at &lt;a href="http://www.humandata.se/"&gt;Humandata &lt;/a&gt;earlier, run by the SharePoint MVP Göran Husman and I am since this time a devoted SharePoint fan.&lt;br /&gt;&lt;br /&gt;At the time I was involved in several SharePoint implementations and we also had SharePoint as our Intranet at Humandata.&lt;br /&gt;&lt;br /&gt;A couple of months ago Microsoft Office SharePoint Server was released at Logica as the global Intranet tool and I must say it is amazing to see the true power of SharePoint in a large organisation. At Humandata we were less than 20 employees and we all knew each other and more or less lived in the same City. The story at Logica, however, is drastically different, with around 40 000 employees in 41 countries.&lt;br /&gt;&lt;br /&gt;With SharePoint we can now all communicate, I have taken the initiative to start a Logica-Global Dynamics CRM community to connect all the very talented Logica employees that in some way or another work with Dynamics CRM. We are still in start-up mode but the future looks bright and SharePoint is the enabler that makes it all possible.&lt;br /&gt;&lt;br /&gt;Apart from this, it is also a great tool for running projects in. Instead of millions of post-its with all the questionsmarks in the project, we use a discussion board. Instead of impossible hierarchies of folder for SureStep documents, we use one Document Library with Meta-data describing what part of SureStep the document should be connected to. This way, documents are easier to find, easier to work with, easier to share and we get version control all for free.&lt;br /&gt;&lt;br /&gt;So, if you are part of a large organisation, try to push for the use of SharePoint especially if this organisation is spread over a large geographical area and the use of virtual meetingspaces and focalpoints is of great use.&lt;br /&gt;&lt;br /&gt;If you are employed at Logica and would like to be part of the community, just send me an email or leave a comment bellow - they are moderated so I don't have to publish them if they are private.&lt;br /&gt;&lt;br /&gt;One thing to be remembered though, even if SharePoint is easy, nobody is born to understand it or the concepts in it, especially if you are used to working in a normal directory based filesystem, so make sure all your users get a good basic run-through and give them the possibility to dig deeper on their own. If you neglect the educating of the users you risk spoiling most of your investment, and the users view of SharePoint, something that is both sad and bad.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica Sweden&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2544508704794858533?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2544508704794858533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/power-of-sharepoint.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2544508704794858533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2544508704794858533'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/power-of-sharepoint.html' title='The power of SharePoint'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5047024579885199780</id><published>2008-09-15T21:11:00.003+02:00</published><updated>2008-09-15T21:31:36.257+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Mark appointment as complete from Outlook?</title><content type='html'>When attempting to execute some of the more common tasks of everyday work as a salesperson, my colleague Joakim Westergren and I found that there actually isn't a way of marking an appointment as complete from the normal appointment window in Outlook (like for instance a Task). If any of you reading this, know of a way, please let me know.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We did find a workaround however. We told the salespeople that when an appointment was to completed, to just add the words "DONE" or some other special character like "§" after the normal text in the description field. A workflow had been created that is triggered on changes to the description field and it checks to see if the text inside the field ends with "DONE" or the designated character. If so, the status of the appointment is changed to "Completed".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I realise that this isn't a perfect solution, a button would be suitable and less prone to error, but at least it is one way of handling it. I would be very intrested in any other solutions that you might have experience of, please leave a comment if you have any suggestions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(Of course you can always open the CRM window and click "Save as completed" but that introduces a new GUI and complicates things for the users, we are looking for a simpler approach, just using Outlook)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica Sweden&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5047024579885199780?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5047024579885199780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/mark-appointment-as-complete-from.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5047024579885199780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5047024579885199780'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/mark-appointment-as-complete-from.html' title='Mark appointment as complete from Outlook?'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3273235637853248883</id><published>2008-09-15T07:38:00.002+02:00</published><updated>2008-09-15T07:48:52.208+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ToDp'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Phone Call'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>How to create a phonecall directly from Outlook</title><content type='html'>&lt;div&gt;I am currently working in the early development or late design phases of a project and a few days back, I and my colleague Joakim Westergren were going through the normal sales process and started wondering if there wasn't an easy way of creating a phonecall activity from Outlook, with the same GUI that you create for instance emails or appointments (by pressing the "Set regarding"-button). After a while, we found it but it wasn't obvious so I thought you'd might like to know.&lt;a href="http://4.bp.blogspot.com/_heR3jQPxKvI/SM321sZy7rI/AAAAAAAAAAo/P0ivHZRoA-A/s1600-h/PhoneCall.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5246120543269351090" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_heR3jQPxKvI/SM321sZy7rI/AAAAAAAAAAo/P0ivHZRoA-A/s320/PhoneCall.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You actually create a new Task and then press the lower part of the "Track in CRM" button and select "Phone Call". The Task is now saved in CRM as a phonecall. Of course you also have to set the "Set Regarding".&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica Sweden&lt;br /&gt;www.logica.com&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3273235637853248883?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3273235637853248883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/how-to-create-phonecall-directly-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3273235637853248883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3273235637853248883'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/how-to-create-phonecall-directly-from.html' title='How to create a phonecall directly from Outlook'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_heR3jQPxKvI/SM321sZy7rI/AAAAAAAAAAo/P0ivHZRoA-A/s72-c/PhoneCall.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3996565583923697648</id><published>2008-09-02T11:30:00.004+02:00</published><updated>2008-09-03T22:44:39.115+02:00</updated><title type='text'>Nominated to .NET-Awards</title><content type='html'>Hi y'all!&lt;br /&gt;My parental leave is soon at it's end and this thursday I will be back to work in full force! Hopefully I will also have lots of interesting topics to write about aswell!&lt;br /&gt;&lt;br /&gt;.NET Awards will be held this thursday here in Sweden in the Stockholm suburb of Kista. The solution I have been working with since I started at Logica, ICE42 for ICE.NET, a Swedish Telecom Operator, has been nominated and we will hopefully win!&lt;br /&gt;&lt;br /&gt;If you are fluent in Swedish you can watch a move with my colleague Mats Jonasson and the CIO of ICE.NET Thomas Norberg as they talk about the solution. Unfortunatley, I was ill the day of the recording, hence, I am not in it.&lt;br /&gt;&lt;br /&gt;&lt;a title=".NET Awards 08 Nominerad: Logica Sverige AB" href="http://video.msn.com/video.aspx?vid=f045a868-d38e-4f15-82fc-cd35d08afd86" target="_new"&gt;&lt;img height="84" alt=".NET Awards 08 Nominerad: Logica Sverige AB" src="http://img4.catalog.video.msn.com/Image.aspx?uuid=f045a868-d38e-4f15-82fc-cd35d08afd86&amp;amp;w=112&amp;amp;h=84" width="112" border="0" /&gt;&lt;br /&gt;.NET Awards 08 Nominerad: Logica Sverige AB&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica Sweden&lt;br /&gt;www.logica.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3996565583923697648?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://video.msn.com/video.aspx?vid=f045a868-d38e-4f15-82fc-cd35d08afd86' title='Nominated to .NET-Awards'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3996565583923697648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/nominated-to-dotnet-awards.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3996565583923697648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3996565583923697648'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/09/nominated-to-dotnet-awards.html' title='Nominated to .NET-Awards'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5775541451468696542</id><published>2008-04-22T16:56:00.002+02:00</published><updated>2008-04-22T17:12:35.916+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='callouts'/><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><title type='text'>Upgrading callouts to CRM 4.0</title><content type='html'>Hi again,&lt;br /&gt;Busy as ever, I am still working on this large CRM project with lots of integrations. Very complex and very interesting.&lt;br /&gt;&lt;br /&gt;At the moment we running CRM 3.0 but we are currently looking at upgrading to CRM 4.0 since we need to implement a new datamodell containing more than 40 very tighly connected entities with multiple relationships, self referentail relationships and much more! We are very lucky to be working with CRM 4.0.&lt;br /&gt;&lt;br /&gt;The first part of the upgrade we are doing will be to just get everyting working in CRM 4.0 with as little or no code review as possible. We will lift all the code later (i.e. converting callouts to plug-ins, using the new web service and so on) when we have got everything running.&lt;br /&gt;&lt;br /&gt;In other words, I first of all needed to get callouts from CRM 3.0 to work properly in CRM 4.0. After the "sleep-inducing-upgrade", I found that they simply didn't work. As I had made a few callouts that generated custom accountnumbers and other similar tasks, it became clear that it crashed because of the callouts.&lt;br /&gt;&lt;br /&gt;I activated CRM tracing (&lt;a href="http://support.microsoft.com/kb/907490/en-us"&gt;http://support.microsoft.com/kb/907490/en-us&lt;/a&gt;) and soon found that the reason for the callouts not working was that CRM could not find the dll containing callout.base. So, I added the dll (Microsoft.Crm.Platform.Callout.Base.dll, found on the CRM 3.0 CD 1) to the GAC (C:\windows\assembly) and then ran iisreset.&lt;br /&gt;&lt;br /&gt;After this, the callouts worked just like they should!&lt;br /&gt;&lt;br /&gt;On the same topic, if you have a custom virtual directory bellow the CRM website, just add the file: C:\Program Files\Microsoft CRM\CRMWeb\bin\Microsoft.Crm.WebServices.dll to the GAC aswell, since it won't work otherwise. There are other ways of getting around this problem aswell, but I prefer this solution.&lt;br /&gt;&lt;br /&gt;On the first of may I will be on parental leave for 4 months, so that I can really get to know my daughter without my wife getting in the way! ;)&lt;br /&gt;&lt;br /&gt;Hopefully I will have time to write a bit on this blog aswell.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Architect&lt;br /&gt;&lt;br /&gt;Logica Sweden&lt;br /&gt;&lt;a href="http://www.logica.com/"&gt;www.logica.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;If you havn't tried Bio Shock on XBOX 360, you really should!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5775541451468696542?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5775541451468696542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/04/upgrading-callouts-to-crm-40.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5775541451468696542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5775541451468696542'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/04/upgrading-callouts-to-crm-40.html' title='Upgrading callouts to CRM 4.0'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3622830446456320065</id><published>2008-03-04T22:34:00.002+01:00</published><updated>2008-03-04T23:01:39.437+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crm 4.0'/><category scheme='http://www.blogger.com/atom/ns#' term='isv.config'/><title type='text'>isv.config in CRM 4.0</title><content type='html'>I recently wanted to add a button in CRM 4.0 and I found that, even though there are many similarirties with CRM 3 there are some differences. I thought I'd share this with you and also some examples of it with a minimal (empty but working) isv.config and a one-button-in-order-version so that it will be easier for you to add your own buttons.&lt;br /&gt;&lt;br /&gt;First of all, in CRM 4.0 there is no isv.config in the _resources folder any more. Not very strange since CRM 4.0 is multi-tennant and each tennant can have a unique isv.config. So, where is it? The most obvious place to look for it is in the "export customization" view, and surprise, there it is!&lt;br /&gt;&lt;br /&gt;So, to change it in short, select isv.config from the export customizations and press select "export selected customizations" from the action menu. Save the zip-file somewhere, unzip the xml and open it in your favortite xml editor or notepad. When done, just import the xml directly (yes, it supports importing the xml file directly without zipping it first). If you have done your job correctly, there should be no problem, if not, you might get an error. Revert to an older version of the file (always save a backup before doing any changes) and then try a smaller change.&lt;br /&gt;&lt;br /&gt;To activate isv.config customizations you have to "enable" these customizations from the web.config in the CRM web folder. Please see the SDK for more info.&lt;br /&gt;&lt;br /&gt;To make things easier for you, here is the code in an empty/minimal isv.config (that has worked for me any how). There might be things that can be removed still, to make it smaller. Please leave a comment if you know of any. Please note the lcid:s (language code id:s) that appear all through, as you can see, this is the english version (1033).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;br /&gt;&amp;lt;ImportExportXml version="4.0.0.0" languagecode="1033" generatedBy="OnPremise"&amp;gt;&lt;br /&gt;  &amp;lt;Entities&amp;gt;&lt;br /&gt;  &amp;lt;/Entities&amp;gt;&lt;br /&gt;  &amp;lt;Roles&amp;gt;&lt;br /&gt;  &amp;lt;/Roles&amp;gt;&lt;br /&gt;  &amp;lt;Workflows&amp;gt;&lt;br /&gt;  &amp;lt;/Workflows&amp;gt;&lt;br /&gt;  &amp;lt;IsvConfig&amp;gt;&lt;br /&gt;    &amp;lt;configuration version="3.0.0000.0"&amp;gt;&lt;br /&gt;      &amp;lt;Root&amp;gt;&lt;br /&gt;        &amp;lt;NavBarAreas&amp;gt;&lt;br /&gt;        &amp;lt;/NavBarAreas&amp;gt;&lt;br /&gt;        &amp;lt;!-- The main Global Menu Bar located at the top of all root level areas --&amp;gt;&lt;br /&gt;        &amp;lt;MenuBar&amp;gt;&lt;br /&gt;          &amp;lt;!-- Custom Menus that appear between the Goto Menu and the Help Menu --&amp;gt;&lt;br /&gt;          &amp;lt;CustomMenus&amp;gt;&lt;br /&gt;            &amp;lt;Menu&amp;gt;&lt;br /&gt;            &amp;lt;/Menu&amp;gt;&lt;br /&gt;          &amp;lt;/CustomMenus&amp;gt;&lt;br /&gt;        &amp;lt;/MenuBar&amp;gt;&lt;br /&gt;        &amp;lt;!--&lt;br /&gt;   Application Level Tool Bar&lt;br /&gt;  --&amp;gt;&lt;br /&gt;      &amp;lt;/Root&amp;gt;&lt;br /&gt;      &amp;lt;!-- Microsoft Customer Relationship Management Entities (Objects) --&amp;gt;&lt;br /&gt;      &amp;lt;Entities&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="account" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="contact" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="lead" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="opportunity" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="list" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="campaign" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="campaignactivity" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="campaignresponse" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="incident" /&amp;gt;&lt;br /&gt;        &amp;lt;!-- Case --&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="quote" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="salesorder" /&amp;gt;&lt;br /&gt;        &amp;lt;!-- Order --&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="invoice" /&amp;gt;&lt;br /&gt;        &amp;lt;!-- Custom Entities --&amp;gt;&lt;br /&gt;        &amp;lt;!-- &amp;lt;Entity name="new_myentity"/&amp;gt; --&amp;gt;&lt;br /&gt;        &amp;lt;!-- End Custom Entities --&amp;gt;&lt;br /&gt;      &amp;lt;/Entities&amp;gt;&lt;br /&gt;      &amp;lt;!-- Microsoft Customer Relationship Management Service Management Customization --&amp;gt;&lt;br /&gt;      &amp;lt;ServiceManagement&amp;gt;&lt;br /&gt;        &amp;lt;AppointmentBook&amp;gt;&lt;br /&gt;          &amp;lt;SmoothScrollLimit&amp;gt;2000&amp;lt;/SmoothScrollLimit&amp;gt;&lt;br /&gt;          &amp;lt;TimeBlocks&amp;gt;&lt;br /&gt;            &amp;lt;!-- All CSS Class mapping for Service activities --&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="1" CssClass="ganttBlockServiceActivityStatus1" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="2" CssClass="ganttBlockServiceActivityStatus2" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="3" CssClass="ganttBlockServiceActivityStatus3" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="4" CssClass="ganttBlockServiceActivityStatus4" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="6" CssClass="ganttBlockServiceActivityStatus6" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="7" CssClass="ganttBlockServiceActivityStatus7" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="8" CssClass="ganttBlockServiceActivityStatus8" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="9" CssClass="ganttBlockServiceActivityStatus9" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="10" CssClass="ganttBlockServiceActivityStatus10" /&amp;gt;&lt;br /&gt;            &amp;lt;!-- All CSS Class mapping for Appointments --&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="1" CssClass="ganttBlockAppointmentStatus1" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="2" CssClass="ganttBlockAppointmentStatus2" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="3" CssClass="ganttBlockAppointmentStatus3" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="4" CssClass="ganttBlockAppointmentStatus4" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="5" CssClass="ganttBlockAppointmentStatus5" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="6" CssClass="ganttBlockAppointmentStatus6" /&amp;gt;&lt;br /&gt;          &amp;lt;/TimeBlocks&amp;gt;&lt;br /&gt;        &amp;lt;/AppointmentBook&amp;gt;&lt;br /&gt;      &amp;lt;/ServiceManagement&amp;gt;&lt;br /&gt;    &amp;lt;/configuration&amp;gt;&lt;br /&gt;  &amp;lt;/IsvConfig&amp;gt;&lt;br /&gt;  &amp;lt;EntityMaps /&amp;gt;&lt;br /&gt;  &amp;lt;EntityRelationships /&amp;gt;&lt;br /&gt;  &amp;lt;Languages&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1033&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1036&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1031&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;3082&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1053&amp;lt;/Language&amp;gt;&lt;br /&gt;  &amp;lt;/Languages&amp;gt;&lt;br /&gt;&amp;lt;/ImportExportXml&amp;gt;&lt;br /&gt;&lt;br /&gt;And the one containing only one button:&lt;br /&gt;&lt;br /&gt;&amp;lt;ImportExportXml version="4.0.0.0" languagecode="1033" generatedBy="OnPremise"&amp;gt;&lt;br /&gt;  &amp;lt;Entities&amp;gt;&lt;br /&gt;  &amp;lt;/Entities&amp;gt;&lt;br /&gt;  &amp;lt;Roles&amp;gt;&lt;br /&gt;  &amp;lt;/Roles&amp;gt;&lt;br /&gt;  &amp;lt;Workflows&amp;gt;&lt;br /&gt;  &amp;lt;/Workflows&amp;gt;&lt;br /&gt;  &amp;lt;IsvConfig&amp;gt;&lt;br /&gt;    &amp;lt;configuration version="3.0.0000.0"&amp;gt;&lt;br /&gt;      &amp;lt;Root&amp;gt;&lt;br /&gt;        &amp;lt;NavBarAreas&amp;gt;&lt;br /&gt;        &amp;lt;/NavBarAreas&amp;gt;&lt;br /&gt;        &amp;lt;!-- The main Global Menu Bar located at the top of all root level areas --&amp;gt;&lt;br /&gt;        &amp;lt;MenuBar&amp;gt;&lt;br /&gt;          &amp;lt;!-- Custom Menus that appear between the Goto Menu and the Help Menu --&amp;gt;&lt;br /&gt;          &amp;lt;CustomMenus&amp;gt;&lt;br /&gt;            &amp;lt;Menu&amp;gt;&lt;br /&gt;            &amp;lt;/Menu&amp;gt;&lt;br /&gt;          &amp;lt;/CustomMenus&amp;gt;&lt;br /&gt;        &amp;lt;/MenuBar&amp;gt;&lt;br /&gt;        &amp;lt;!--&lt;br /&gt;   Application Level Tool Bar&lt;br /&gt;  --&amp;gt;&lt;br /&gt;      &amp;lt;/Root&amp;gt;&lt;br /&gt;      &amp;lt;!-- Microsoft Customer Relationship Management Entities (Objects) --&amp;gt;&lt;br /&gt;      &amp;lt;Entities&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="account" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="contact" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="lead" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="opportunity" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="list" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="campaign" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="campaignactivity" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="campaignresponse" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="incident" /&amp;gt;&lt;br /&gt;        &amp;lt;!-- Case --&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="quote" /&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="salesorder"&amp;gt;&lt;br /&gt;          &amp;lt;MenuBar&amp;gt;&lt;br /&gt;            &amp;lt;!-- Custom Menus that you may add --&amp;gt;&lt;br /&gt;          &amp;lt;/MenuBar&amp;gt;&lt;br /&gt;          &amp;lt;!-- The Account Tool Bar --&amp;gt;&lt;br /&gt;          &amp;lt;ToolBar ValidForCreate="0" ValidForUpdate="1"&amp;gt;&lt;br /&gt;            &amp;lt;Button Icon="/_imgs/ico_18_debug.gif" Url="http://www.microsoft.com" PassParams="1" WinParams="" WinMode="0"&amp;gt;&lt;br /&gt;              &amp;lt;Titles&amp;gt;&lt;br /&gt;                &amp;lt;Title LCID="1033" Text="asdf" /&amp;gt;&lt;br /&gt;              &amp;lt;/Titles&amp;gt;&lt;br /&gt;              &amp;lt;ToolTips&amp;gt;&lt;br /&gt;                &amp;lt;ToolTip LCID="1033" Text="Info on Test" /&amp;gt;&lt;br /&gt;              &amp;lt;/ToolTips&amp;gt;&lt;br /&gt;            &amp;lt;/Button&amp;gt;&lt;br /&gt;          &amp;lt;/ToolBar&amp;gt;&lt;br /&gt;          &amp;lt;!-- The Account Left Nav Bar --&amp;gt;&lt;br /&gt;        &amp;lt;/Entity&amp;gt;  &lt;br /&gt;        &amp;lt;!-- Order --&amp;gt;&lt;br /&gt;        &amp;lt;Entity name="invoice" /&amp;gt;&lt;br /&gt;        &amp;lt;!-- Custom Entities --&amp;gt;&lt;br /&gt;        &amp;lt;!-- &amp;lt;Entity name="new_myentity"/&amp;gt; --&amp;gt;&lt;br /&gt;        &amp;lt;!-- End Custom Entities --&amp;gt;&lt;br /&gt;      &amp;lt;/Entities&amp;gt;&lt;br /&gt;      &amp;lt;!-- Microsoft Customer Relationship Management Service Management Customization --&amp;gt;&lt;br /&gt;      &amp;lt;ServiceManagement&amp;gt;&lt;br /&gt;        &amp;lt;AppointmentBook&amp;gt;&lt;br /&gt;          &amp;lt;SmoothScrollLimit&amp;gt;2000&amp;lt;/SmoothScrollLimit&amp;gt;&lt;br /&gt;          &amp;lt;TimeBlocks&amp;gt;&lt;br /&gt;            &amp;lt;!-- All CSS Class mapping for Service activities --&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="1" CssClass="ganttBlockServiceActivityStatus1" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="2" CssClass="ganttBlockServiceActivityStatus2" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="3" CssClass="ganttBlockServiceActivityStatus3" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="4" CssClass="ganttBlockServiceActivityStatus4" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="6" CssClass="ganttBlockServiceActivityStatus6" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="7" CssClass="ganttBlockServiceActivityStatus7" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="8" CssClass="ganttBlockServiceActivityStatus8" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="9" CssClass="ganttBlockServiceActivityStatus9" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4214" StatusCode="10" CssClass="ganttBlockServiceActivityStatus10" /&amp;gt;&lt;br /&gt;            &amp;lt;!-- All CSS Class mapping for Appointments --&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="1" CssClass="ganttBlockAppointmentStatus1" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="2" CssClass="ganttBlockAppointmentStatus2" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="3" CssClass="ganttBlockAppointmentStatus3" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="4" CssClass="ganttBlockAppointmentStatus4" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="5" CssClass="ganttBlockAppointmentStatus5" /&amp;gt;&lt;br /&gt;            &amp;lt;TimeBlock EntityType="4201" StatusCode="6" CssClass="ganttBlockAppointmentStatus6" /&amp;gt;&lt;br /&gt;          &amp;lt;/TimeBlocks&amp;gt;&lt;br /&gt;        &amp;lt;/AppointmentBook&amp;gt;&lt;br /&gt;      &amp;lt;/ServiceManagement&amp;gt;&lt;br /&gt;    &amp;lt;/configuration&amp;gt;&lt;br /&gt;  &amp;lt;/IsvConfig&amp;gt;&lt;br /&gt;  &amp;lt;EntityMaps /&amp;gt;&lt;br /&gt;  &amp;lt;EntityRelationships /&amp;gt;&lt;br /&gt;  &amp;lt;Languages&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1033&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1036&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1031&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;3082&amp;lt;/Language&amp;gt;&lt;br /&gt;    &amp;lt;Language&amp;gt;1053&amp;lt;/Language&amp;gt;&lt;br /&gt;  &amp;lt;/Languages&amp;gt;&lt;br /&gt;&amp;lt;/ImportExportXml&amp;gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund,&lt;br /&gt;Microsoft Dynamics CRM Architect, &lt;br /&gt;Logica Sweden&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3622830446456320065?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3622830446456320065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/03/isvconfig-in-crm-40.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3622830446456320065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3622830446456320065'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/03/isvconfig-in-crm-40.html' title='isv.config in CRM 4.0'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4541720802907768328</id><published>2008-02-13T22:31:00.003+01:00</published><updated>2008-02-13T22:55:01.434+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Import'/><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='Customization.xml'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 3'/><title type='text'>SQL error when importing customization.xml</title><content type='html'>Today I was deploying from a development environment to a test environment and part of this is moving the customizations made within the CRM GUI. I simply exported the customizations.xml and tried to import it to the test system. Only to get a very angry "SQL Error". Hmm... not very nice to see those, that usually means that somethings gone really bad, and you usually wish you hade just taken a complete backup of CRM.&lt;br /&gt;&lt;br /&gt;Well, things only got worse when I tried to access CRM with the common url, I got a really nasty error saying that some custom attribute wasn't at all like some other custom attribute. No dah, my worst fears just got real and I could only face the fact that the CRM meta database had somehow become corrupt. Really bad, testing was supposed to begin today, so really bad timing (and timeplan).&lt;br /&gt;&lt;br /&gt;So, what to do? Since I couldn't access CRM I couldn't get to the import cusomtizations page, so I had a look in the SDK for the direct URL to the import customizations page (it is under sitemap customizations). I tried to reimport the customizations file from my development server, only to find that CRM now found the xml "malformed" in this file. After some testing, I found that it acctually found all customizations files to be malformed, not only the first one. So, something really sinister is at hand. Time to log into the SQL-Server.&lt;br /&gt;&lt;br /&gt;The first message that faced me was that one of the drives had to litte disk space... I had a look and found that the main data disk had only 2 MB free. So, this was probably it. First, there probably hadn't been space enough for commiting all the changes that were in the new customization file and then there hadn't been space enough to upload the new customizations file. The error message of mal-formed xml had just been an erroneous error message.&lt;br /&gt;&lt;br /&gt;So, I freed some space on the disk and just to be sure, I re-installed CRM entirely (it was just a test environment after all) and imported the customization file, and all went well!&lt;br /&gt;&lt;br /&gt;Well, there was acctually one thing, when I imported the customization file I got an error saying that at some row XXX in the file there was something wrong. At the specific row, was a tag for setting "displayInApplication" or something like that for the entity "Bulk Operation". I tried to remove the tag and import it, which worked. I later remembered that I hadn't installed Update Rollup 2, which I later confirmed was the cause of this error. I had exported from a CRM 3 UR2 system and imported into a standard CRM 3, hence the error. So, I would suggest not removing the tag but instead updateing your CRM :).&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4541720802907768328?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4541720802907768328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/sql-error-when-importing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4541720802907768328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4541720802907768328'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/sql-error-when-importing.html' title='SQL error when importing customization.xml'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-9091074112864830770</id><published>2008-02-13T10:57:00.004+01:00</published><updated>2008-02-13T11:05:44.712+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Server'/><title type='text'>Installation of Virtual Server 2005 R2</title><content type='html'>We have invested in a virtual server host, a really cool machine with Dual Quadcore XEON processors and 16 GB memory (yes, I am some what of a techno-geek). To be able to use it properly, I wanted to install Virtual Server 2005 R2.&lt;br /&gt;&lt;br /&gt;Not so easy. I connected with remote desktop and tried to install virtual server, but I just couldn't get it to work properly, so I went out on the net and looked for a solution.&lt;br /&gt;&lt;br /&gt;The result was that I found that you cannot install or run the virtual server web interface using remote desktop if you do not connect as "console". Weird, but that's what I found.&lt;br /&gt;&lt;br /&gt;So, how to connect with remote desktop as "console" (that is ID 0). If you like your command prompt, you'll know that Remote Desktop is called "mstsc" just, use that with the switch "/console" and you will connect as console.&lt;br /&gt;&lt;br /&gt;Personally I like to make things simple, why I have made a small bat-file with the following content:&lt;br /&gt;mstsc %1 /console&lt;br /&gt;&lt;br /&gt;Then I just drag-n-drop my rdp-file ontop of the batfile. This will result in a console connection to the server set in the rdp-file.&lt;br /&gt;&lt;br /&gt;I hope this helps!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-9091074112864830770?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/9091074112864830770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/installation-of-virtual-server-2005-r2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/9091074112864830770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/9091074112864830770'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/installation-of-virtual-server-2005-r2.html' title='Installation of Virtual Server 2005 R2'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-2189649384523406410</id><published>2008-02-08T16:18:00.000+01:00</published><updated>2008-02-08T16:20:40.209+01:00</updated><title type='text'>Jonas Deibes pictures and Q&amp;A from the CRM 4.0 launch</title><content type='html'>I forgot to give you the link to Jonas Deibe's posting concerning the CRM 4.0 launch in Stockholm where he a nice picture from the blog corner and some interesting Q&amp;amp;A.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/jonasd/archive/2008/02/07/blog-corner-report-from-the-swedish-crm-4-0-release.aspx"&gt;http://blogs.msdn.com/jonasd/archive/2008/02/07/blog-corner-report-from-the-swedish-crm-4-0-release.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-2189649384523406410?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/2189649384523406410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/jonas-deibes-pictures-and-q-from-crm-40.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2189649384523406410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/2189649384523406410'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/jonas-deibes-pictures-and-q-from-crm-40.html' title='Jonas Deibes pictures and Q&amp;A from the CRM 4.0 launch'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4131829560881501045</id><published>2008-02-08T16:01:00.001+01:00</published><updated>2008-02-08T16:16:38.104+01:00</updated><title type='text'>CRM 4.0 launch and more...</title><content type='html'>Yesterday Microsoft Dynamics CRM 4.0 finally launched and there was a big Microsoft happening i Nacka Strand close to Stockholm. The location was great, only about 100 m from my office :).&lt;br /&gt;&lt;br /&gt;At the launch there was a blog corner where both Jonas Deibe and Michael Höhne were answering questions and drinking som coke. I took the opportunity to have a look at Michael's (&lt;a href="http://www.stunnware.com/crm2/"&gt;http://www.stunnware.com/crm2/&lt;/a&gt;) filtered Lookup a bit closer. I had read some about it on his page and it is really a great piece of software. In short it enables filtering of lookups and in CRM even the intellisense. It is not yet fully supported by Microsoft, but Michael mentioned that it soon will be.&lt;br /&gt;&lt;br /&gt;I also got the opportunity to talk to Jonas Deibe a bit and we talked mainly on what the differences in developing extensions are between CRM 3 and 4.0. I will go deeper into some of this in later postings.&lt;br /&gt;&lt;br /&gt;I also got meet some of my Microsoft Dynamics CRM friends from Cybernetics, Cinteros, SysTeam and of course, Microsoft Sweden. I hope we'll meet again soon.&lt;br /&gt;&lt;br /&gt;As I have described earlier, we at WM-Data (Will formally be named Logica from feb 27:th) are so busy at the moment that we have to de prioritize some customers, which I find very sad, since I don't like to disappoint anyone in general and customers, in particular. So, if you are a good Microsoft CRM developer and interested in working with really big customers with very interesting projects, concerning complex integration and other interesting customizations in an international organization that is really employee-friendly, please contact me and we can have a chat! My office is in Stockholm, but Logica has offices all over Europe and even in India (Bangalore).&lt;br /&gt;&lt;br /&gt;Thats that for this time, hope to be back soon!&lt;br /&gt;Stay in touch!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4131829560881501045?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4131829560881501045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/crm-40-launch-and-more.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4131829560881501045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4131829560881501045'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/02/crm-40-launch-and-more.html' title='CRM 4.0 launch and more...'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8675917208602088233</id><published>2008-01-25T08:19:00.001+01:00</published><updated>2008-01-25T11:57:59.366+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Adding SQL Reporting Services reports to CRM</title><content type='html'>As you are probably aware, Microsoft CRM 3 and 4 uses SQL Reporting Services for creating reports. If you are familiar with this tool from non-MS CRM implementations, there are a few tricks for getting the reports to work correctly. Please read the CRM SDK and the report writers guide for specific details on parameter naming and some other stuff.&lt;br /&gt;&lt;br /&gt;The part that is the major deviation from normal SQL RS work, is how to deploy reports. Even though normal deployment might seem to work, the report won't be recognized by CRM properly.&lt;br /&gt;&lt;br /&gt;So, what do you need to do?&lt;br /&gt;1. Create a report that does NOT use a Shared Datasource. Instead create an embedded datasource called CRM that connects to the CRM database server. If you are going to use the Filtered Views, you have to use Windows Authentication. Save and build the new report (DO NOT deploy to the server).&lt;br /&gt;&lt;br /&gt;2. Open CRM, Go to "Workplace" and select "Reports". Click "New" in the list. You will see a form where you can select the rdl-file and also select where in CRM the report will be available. Select the rdl-file that resides in the VS Project folder. Press Save.&lt;br /&gt;&lt;br /&gt;If, at this point, you had used a Shared Data Source, you would be getting a very complicated error, as described by Menno here: &lt;a href="http://blogs.msdn.com/mscrmfreak/archive/2006/04/27/584595.aspx"&gt;http://blogs.msdn.com/mscrmfreak/archive/2006/04/27/584595.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If all went well, the report will be uploaded correctly.&lt;br /&gt;&lt;br /&gt;When uploading the report, CRM will replace the datasource in the rdl with the standard shared datasource. So, your report will still be movable.&lt;br /&gt;&lt;br /&gt;Also, when uploading reports like this, CRM will hide all parameters starting with "CRM_". There are several parameters that CRM will fill with data for you if they exisit. For instance the parameter "CRM_URL" will be set to "http://&lt;crm-server&gt;/CRMReports/viewer/drillopen.aspx". This enables the report to create drill-down functionality that loops back into CRM (since there is very good support for URL-addressability in CRM).&lt;br /&gt;&lt;br /&gt;Please note that all deployment of reports to CRM should be done in this manner and never directly from Report Designer. This is a bit of a hazzle since it is a bit tedious compared to just deploying from the Report Designer.&lt;br /&gt;&lt;br /&gt;In CRM 4 there is a very nice wizard in the application for generating reports, even though it is not nearly as advanced as the report designer.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8675917208602088233?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8675917208602088233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/01/adding-sql-reporting-services-reports.html#comment-form' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8675917208602088233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8675917208602088233'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/01/adding-sql-reporting-services-reports.html' title='Adding SQL Reporting Services reports to CRM'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5050052831563864870</id><published>2008-01-24T20:21:00.000+01:00</published><updated>2008-01-24T20:59:34.708+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Integration'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Integration basics</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_heR3jQPxKvI/R5jpRcST7qI/AAAAAAAAAAc/ofe35AZwoZs/s1600-h/Integration+Basics.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5159129859012947618" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_heR3jQPxKvI/R5jpRcST7qI/AAAAAAAAAAc/ofe35AZwoZs/s320/Integration+Basics.jpg" border="0" /&gt;&lt;/a&gt; As I have been writing, I am currently involved in  a rather large integration project. For those of you who don't have experience of working with larger integration projects I would like to just share my view of how to set up the architecture connecting Microsoft Dynamcis CRM with the integration engine (BizTalk, WebSphere, Sonic and more). Bellow, I will refer to the Integration Engine, simply as "the Bus"&lt;br /&gt;&lt;br /&gt;First of all, communication with the bus can be divided into two different classes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;CRM Initiated Communication&lt;/li&gt;&lt;li&gt;Bus initiated communication&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;In the picture to the right, these two are represented with a connection each (connection 1 = CRM Initiated Communication, connection 2 = bus initiated communication)&lt;/p&gt;&lt;p&gt;CRM initiated communication might be considered the simplest, since it mainly controlled from CRM. It can be code that runs from aspx-pages, callouts/plug-ins or workflow addons. It simply consumes the webservice at the CRM adapter on the bus.&lt;/p&gt;&lt;p&gt;Bus initiated communication is set up by the bus consuming a customly created web service. This "proxy" webservice translates from integrationmessages and datastructures to CRM native communication.&lt;/p&gt;&lt;p&gt;Integration is then definied by defining messages that uses either connection 1 or 2. Each message has two parts, Request and Response, and the response is the syncronous answer to the request. Assyncronous messages should be set up as two individual messages one for each adapter.&lt;/p&gt;&lt;p&gt;So, why create a proxy web service? Why cannot the bus connect directly to the CRM web service? The reason for this is usually that the communication is defined using messages (as described above) and the person responsible for the CRM Adapter on the bus cannot be expected to have any CRM knowledge in general or specificly CRM Webservice knowledge, hence that is the CRM developers job.&lt;/p&gt;&lt;p&gt;These are some of my experiences and reflections on integration with a centralized integration architecture. If you have any comments or you have some other method that you use, please leave a comment, so that we can discuss it further.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5050052831563864870?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5050052831563864870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/01/integration-basics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5050052831563864870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5050052831563864870'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/01/integration-basics.html' title='Integration basics'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_heR3jQPxKvI/R5jpRcST7qI/AAAAAAAAAAc/ofe35AZwoZs/s72-c/Integration+Basics.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5388724252274102552</id><published>2008-01-09T14:45:00.000+01:00</published><updated>2008-01-09T14:51:00.035+01:00</updated><title type='text'>Busy, busy + SDK</title><content type='html'>It has been some time since my last entry and it is mainly due to the fact that I am currently involved up to my ears in two large integration projects with Microsoft Dynamcis CRM 3. Very interesting and demanding but the problems we are facing are mostly project specific and not anything I believe you would find interesting and my customers probably wouldn't want me to talk to much about. When I run into something that I think will be of interest, and I have the time, I will of course let you know.&lt;br /&gt;&lt;br /&gt;Personally, I havn't had much time to dig into CRM 4.0 yet but I noticed that the SDK has been released. You can find it here: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy coding!&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5388724252274102552?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5388724252274102552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/01/busy-busy-sdk.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5388724252274102552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5388724252274102552'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2008/01/busy-busy-sdk.html' title='Busy, busy + SDK'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5221864114173870717</id><published>2007-12-20T09:42:00.000+01:00</published><updated>2007-12-20T09:50:34.776+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 4'/><title type='text'>CRM 4.0 Trial ready for download</title><content type='html'>Finally CRM 4.0 has been released to manufacturing (RTM) and trial versions can be downloaded here: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a9c110fd-aac8-4d2a-b401-7801b1866e82&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=a9c110fd-aac8-4d2a-b401-7801b1866e82&amp;amp;DisplayLang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I would also like to point out that there are (at least) three different media types in general released from Microsoft.&lt;br /&gt;&lt;br /&gt;MSDN - Can use MSDN or Trial keys.&lt;br /&gt;&lt;br /&gt;Normal - Can use Trial or "Normal" license keys.&lt;br /&gt;&lt;br /&gt;Volume Licence - Can only use volume license keys. If you want a trial, use it for a maximum of 90 days and uninstall it.&lt;br /&gt;&lt;br /&gt;This is important when installing a trial environment that might be upgraded to production environment in the future at a customer. Consideration has to be taken to their current license agreement with Microsoft, and you can never use the MSDN media to install a production server.&lt;br /&gt;&lt;br /&gt;There might be exceptions to this rule, for instance, a MSDN media might accept a normal license key, but I would not expect it.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5221864114173870717?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/downloads/details.aspx?FamilyID=a9c110fd-aac8-4d2a-b401-7801b1866e82&amp;amp;DisplayLang=en' title='CRM 4.0 Trial ready for download'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5221864114173870717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/12/crm-40-trial-ready-for-download.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5221864114173870717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5221864114173870717'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/12/crm-40-trial-ready-for-download.html' title='CRM 4.0 Trial ready for download'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5584531202970673007</id><published>2007-12-07T14:06:00.000+01:00</published><updated>2007-12-07T14:19:08.298+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aspx'/><category scheme='http://www.blogger.com/atom/ns#' term='ViewState'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>Problems with ViewState in aspx page residing in Virtual Directory beneith MS CRM</title><content type='html'>I have been developing a front-end user GUI for a product configurator as a normal aspx-page. I started the development localy and then moved the project to our development server in a virtual directory bellow the CRM directory. (Please read earlier posts concerning problems with this and how to handle it) This is an unsupported way of placing your custom aspx-pages, but the disadvantages of doing it any other way are to great.&lt;br /&gt;&lt;br /&gt;Well, my code used ViewState to store some data between requests and this had worked fine on my local machine. But, when I moved it to the virtual directory bellow the CRM site, the ViewState handling stopped. I tried to override the LoadViewState-method but it was never fired. I tried to explicitly set the page to have the property EnableViewState = true, but that didn't help either.&lt;br /&gt;&lt;br /&gt;Then I remembered some things about how settings are inherited from the master website to all virtual directories bellow (i.e. the web.config settings are inherited). This is the reason for why you have to add some &amp;lt;remove assembly="..."&amp;gt;tags to the virtual directory's web.config when deploying bellow the CRM website.&lt;br /&gt;&lt;br /&gt;I thought that there might be some swith in the CRM web.config that disabled the ViewState and there was; the tag I found was the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;pages buffer="true" enablesessionstate="false" enableviewstate="false" validaterequest="false"&amp;gt;&lt;br /&gt;&lt;br /&gt;So, I copied the entire tag to the web.config in the virtual directory, changed enableviewstate="true" and magic, it worked!&lt;br /&gt;&lt;br /&gt;So, specific advice: This is why viewstate might not be working in a Virtual Directory bellow the CRM site.&lt;br /&gt;General advice: All settings in a websites web.config are automatically inherited to all virtual directories bellow. If you want to change anything, set this explictly in a local copy of web.config.&lt;br /&gt;&lt;br /&gt;Over and out.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5584531202970673007?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5584531202970673007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/12/problems-with-viewstate-in-aspx-page.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5584531202970673007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5584531202970673007'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/12/problems-with-viewstate-in-aspx-page.html' title='Problems with ViewState in aspx page residing in Virtual Directory beneith MS CRM'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-3456502488163887966</id><published>2007-11-30T17:23:00.000+01:00</published><updated>2007-11-30T17:34:32.915+01:00</updated><title type='text'>WebServiceStudio 2.0</title><content type='html'>SOAP is a great thing, not only does it get you clean, but it is also the foundation for most modern webservice communication. It is supposed to be platform independent.&lt;br /&gt;&lt;br /&gt;A good thought but does, however, seem to have it's limitation. To be able to thoroughly understand the communication between the client and webservice a good program is needed that can help you study how the web service works and how the SOAP-messages are sent and received.&lt;br /&gt;&lt;br /&gt;When working in a .NET environment, a .NET based client is very advantageous and a business partner of mine at the company Lemontree, Oskar Mattsson, suggested a very good application. I havn't had time to try it out fully yet, but it is also a GotDotNet-project so you can also read the code of how it is doing it's calls.&lt;br /&gt;&lt;br /&gt;The name of the program is WebServiceStudio 2.0 and you can download it here:&lt;br /&gt;&lt;a href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=65A1D4EA-0F7A-41BD-8494-E916EBC4159C" target="_blank"&gt;here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-3456502488163887966?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=65A1D4EA-0F7A-41BD-8494-E916EBC4159C' title='WebServiceStudio 2.0'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/3456502488163887966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/webservicestudio-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3456502488163887966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/3456502488163887966'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/webservicestudio-20.html' title='WebServiceStudio 2.0'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-8376960363363131978</id><published>2007-11-29T15:18:00.000+01:00</published><updated>2007-11-29T15:27:44.481+01:00</updated><title type='text'>Fake lookups = unsupported</title><content type='html'>My colleague Daniel Westerblom at WM-Data asked my a question concerning the fake lookups that I have referenced bellow and that I know are commonly used by many partners. The question was if these customizations are supported.&lt;br /&gt;&lt;br /&gt;When I was at convergence I asked this explicit question to, I think it was, Clint Warriner (CRM Escalation Engineer at Microsoft Support) and he gave me confirmation on what I had suspected, that these customizations are not supported. They fall under the last point concerning unsupported customizations described in the SDK:&lt;br /&gt;"The use of custom HttpModules to inject HTML/DHTML into the Microsoft CRM Forms."&lt;br /&gt;&lt;br /&gt;Since the HTML DOM is modified, this is not supported.&lt;br /&gt;&lt;br /&gt;The reason for this is most probably that Microsoft might choose to change this in future releases of CRM (for instance CRM 4.0) and might also have internal scripting references to objects they expect to be there according to the standard HTML DOM.&lt;br /&gt;&lt;br /&gt;I don't know if these fake lookups will upgrade from CRM 3.0 to 4.0 without problems. If you have any experience of it, please let me know.&lt;br /&gt;&lt;br /&gt;If you have any comments on this subject, please feel free to comment bellow. I always publish comments that concern the subject and are not directly offensive. (I have activeted moderation on comments just to avoid comment spamming).&lt;br /&gt; &lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-8376960363363131978?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/8376960363363131978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/fake-lookups-unsupported.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8376960363363131978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/8376960363363131978'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/fake-lookups-unsupported.html' title='Fake lookups = unsupported'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-5518242890843277006</id><published>2007-11-29T15:12:00.000+01:00</published><updated>2007-11-29T15:18:30.361+01:00</updated><title type='text'>Problems consuming webservices when developing locally</title><content type='html'>Usually I develop on a CRM server but sometimes, when a larger piece of CRM-independent part needs to be developed, I develop on my local machine.&lt;br /&gt;&lt;br /&gt;Presently I am working in an integration project with an integration engine and needed to consume one of it's webservices. I did so and I added some code to handle it (intellisense working fine) but when I tried to run it, it crashed on the constructor or the service class with the following error:&lt;br /&gt;&lt;br /&gt;System.IO.FileNotFoundException: File or assembly name gvy6umsk.dll, or one&lt;br /&gt;of its dependencies, was not found.&lt;br /&gt;&lt;br /&gt;There was also a reference to the Windows\Temp-directory. The filename is obviously some temporary filename for the proxy-object.&lt;br /&gt;&lt;br /&gt;After checking the web a bit, I found the error to be caused by the fact that the user running the software, did not have read/write access to the c:\windows\temp directory. I fixed it and the program ran like it should!&lt;br /&gt;&lt;br /&gt;So, if you are in the same situation, just fix the right for the windows\temp directory and you should be fine.&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-5518242890843277006?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/5518242890843277006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/problems-consuming-webservices-when.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5518242890843277006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/5518242890843277006'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/problems-consuming-webservices-when.html' title='Problems consuming webservices when developing locally'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7359776830094080845</id><published>2007-11-23T09:58:00.000+01:00</published><updated>2007-11-23T10:01:57.529+01:00</updated><title type='text'>Great solution concerning javascript include files</title><content type='html'>Michael Höhne of Germany is a very resourceful CRM MVP and has just published a great posting on how to, in a simple and good manner create include files for javascript in a supported way. So, with great applause from me and hopefully the rest of the CRM community, give it up for Michael! Here is the link:&lt;br /&gt;&lt;br /&gt;http://www.stunnware.com/crm2/topic.aspx?id=JS18&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7359776830094080845?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.stunnware.com/crm2/topic.aspx?id=JS18' title='Great solution concerning javascript include files'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7359776830094080845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/great-solution-concerning-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7359776830094080845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7359776830094080845'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/great-solution-concerning-javascript.html' title='Great solution concerning javascript include files'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7633483407489174382</id><published>2007-11-23T09:55:00.000+01:00</published><updated>2007-11-23T09:58:45.109+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Licensing'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>CRM License specification</title><content type='html'>I have previously blogged on the licensing issues of Microsoft CRM and I am still waiting for an answer from the Microsoft representatives in Sweden who have forwarded the question. As soon as I get an answer, I will let you know.&lt;br /&gt;&lt;br /&gt;I have also been involved in some discussions concerning what the specifics of the external connection licese are. The following URL describes the details of this for CRM (and also other products). Please have a look:&lt;br /&gt;&lt;br /&gt; http://www.microsoftvolumelicensing.com/userights/ProductPage.aspx?pid=161&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7633483407489174382?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7633483407489174382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/crm-license-specification.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7633483407489174382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7633483407489174382'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/crm-license-specification.html' title='CRM License specification'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-4716823050831355366</id><published>2007-11-19T10:17:00.000+01:00</published><updated>2007-11-19T10:23:15.896+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aspx'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>ASP page LifeCycle</title><content type='html'>Currently I am working with a product configurator via an integration hub, a very interesting project that is quite complex. One part of this is to create a dynamic apsx-page that let's the user choose properties of that are definied from the product configurator. Hence I am creating a new aspx-page that has to dynamically create lots of controls.&lt;br /&gt;&lt;br /&gt;In order to do this properly, it is vital to understand the execution model of aspx-pages and the lifecycle of the page. I found this page that describes this, in an easy and understandable fashion. Please review it, if you are in similar needs as I.&lt;br /&gt;&lt;br /&gt;http://www.15seconds.com/issue/020102.htm&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-4716823050831355366?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.15seconds.com/issue/020102.htm' title='ASP page LifeCycle'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/4716823050831355366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/asp-page-lifecycle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4716823050831355366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/4716823050831355366'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/asp-page-lifecycle.html' title='ASP page LifeCycle'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-7975356146030872604</id><published>2007-11-08T19:31:00.001+01:00</published><updated>2007-11-08T19:32:41.495+01:00</updated><title type='text'>Nice video of Microsoft CRM use!</title><content type='html'>while checking out some CRM-blogs, I found this funny Microsoft CRM video.&lt;br /&gt;Check it out!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="366"&gt;&lt;param name="movie" value="http://www.youtube.com/v/YEa_RNSX5Xo&amp;rel=1&amp;border=0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/YEa_RNSX5Xo&amp;rel=1&amp;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="366"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;WM-Data/Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-7975356146030872604?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/7975356146030872604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/nice-video-of-microsoft-crm-use.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7975356146030872604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/7975356146030872604'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/nice-video-of-microsoft-crm-use.html' title='Nice video of Microsoft CRM use!'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28669706.post-6460329624197066113</id><published>2007-11-07T11:05:00.000+01:00</published><updated>2007-11-07T11:12:34.201+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VPC'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM 3'/><title type='text'>Problems with Aug 07 VPC</title><content type='html'>Menno, the VPC god of Dynamics CRM land has created the very nice Aug 07 VPC of CRM 3. Sadly, a common error in it has to do with some new blocking of hacker attacks. It results in an error, that after a while of running it, you get a login-prompt and CRM stops working. The temporary solution is to restart IE.&lt;br /&gt;&lt;br /&gt;Menno has written some about this on his blog, please read it. &lt;a href="http://blogs.msdn.com/mscrmfreak/archive/2007/11/02/august-2007-vpc-fix.aspx"&gt;http://blogs.msdn.com/mscrmfreak/archive/2007/11/02/august-2007-vpc-fix.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I personally liked "Method 1" described in the references KB-article. The details are described bellow. I have tested it for 5 minutes and it seems to be working. Here is a copy of the text:&lt;br /&gt;&lt;br /&gt;Method 1: Disable the loopback check&lt;br /&gt;&lt;br /&gt;Follow these steps:&lt;br /&gt;1.&lt;br /&gt;Click Start, click Run, type regedit, and then click OK.&lt;br /&gt;2.&lt;br /&gt;In Registry Editor, locate and then click the following registry key:&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa&lt;br /&gt;3.&lt;br /&gt;Right-click Lsa, point to New, and then click DWORD Value.&lt;br /&gt;4.&lt;br /&gt;Type DisableLoopbackCheck, and then press ENTER.&lt;br /&gt;5.&lt;br /&gt;Right-click DisableLoopbackCheck, and then click Modify.&lt;br /&gt;6.&lt;br /&gt;In the Value data box, type 1, and then click OK.&lt;br /&gt;7.&lt;br /&gt;Quit Registry Editor, and then restart your computer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gustaf Westerlund&lt;br /&gt;Microsoft Dynamics CRM Consultant&lt;br /&gt;&lt;br /&gt;Logica CMG&lt;br /&gt;www.logicacmg.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28669706-6460329624197066113?l=gustafwesterlund.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/mscrmfreak/archive/2007/11/02/august-2007-vpc-fix.aspx' title='Problems with Aug 07 VPC'/><link rel='replies' type='application/atom+xml' href='http://gustafwesterlund.blogspot.com/feeds/6460329624197066113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/problems-with-aug-07-vpc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6460329624197066113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28669706/posts/default/6460329624197066113'/><link rel='alternate' type='text/html' href='http://gustafwesterlund.blogspot.com/2007/11/problems-with-aug-07-vpc.html' title='Problems with Aug 07 VPC'/><author><name>Gustaf Westerlund</name><uri>http://www.blogger.com/profile/02522937600083440624</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
