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

<channel>
	<title>BadGuy&#039;s blog</title>
	<atom:link href="http://www.badguy.nl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.badguy.nl</link>
	<description>Technology gaming programming and everything in between</description>
	<lastBuildDate>Thu, 22 Sep 2011 06:59:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>CRM Unzip Service Port</title>
		<link>http://www.badguy.nl/2011/09/22/crm-unzip-service-port/</link>
		<comments>http://www.badguy.nl/2011/09/22/crm-unzip-service-port/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 06:59:34 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Dynamics CRM 2011]]></category>

		<guid isPermaLink="false">http://www.badguy.nl/?p=72</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Today I had a bit of fun at a client where we did an insanely quick-and-dirty (totally and absolutely unrecommended) installation of CRM 2011. The tech installing CRM found that SharePoint was using port 80 on the same server and decided to run CRM on port 8500. Yesterday I did a bit of a cleanup of the installation which for me (and my non-IT-pro ways) meant installing Update Rollup 3 and doing a reboot. Today I opened up the server to take a peek at what was going on and found that the webservice wasn&#8217;t running and I couldn&#8217;t reach my organizations.</p>
<p>Starting up the webservice resulted in an &#8220;<a href="http://support.microsoft.com/kb/973094">Error 0&#215;80070020</a>&#8220;<br/><br />
The tech article mentioned that it had to do with the port being in use so I did a netstat -aon | find &#8220;:8500&#8243; to see which process was running on that port. After adding PID to the task manager processes view I saw that it was the Microsoft.CrmUnzipService.<br/><br />
Stopping the unzip service service from the service management console and starting the CRM website worked just fine&#8230; Obviously though the CRM unzip service now didn&#8217;t want to start<br/><br />
My suspicions that the unzipservice was running on port 8500, using a VM with the default installation proved me right&#8230; So the next step was changing the listening port/binding on the CRM server which now can be done through the IIS service manager only.<br/><br />
So lesson learned <b>don&#8217;t run CRM (or anything else) on port 8500</b> if the zip service runs on the same server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badguy.nl/2011/09/22/crm-unzip-service-port/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using CRM 2011 Developer Toolkit on Windows XP</title>
		<link>http://www.badguy.nl/2011/08/09/using-crm-2011-developer-toolkit-on-windows-xp/</link>
		<comments>http://www.badguy.nl/2011/08/09/using-crm-2011-developer-toolkit-on-windows-xp/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 06:24:30 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Dynamics CRM 2011]]></category>

		<guid isPermaLink="false">http://www.badguy.nl/?p=65</guid>
		<description><![CDATA[[Updated: Added link to the dll in the post]
Oh dear, I never thought this would happen to me but; once again I find myself using Windows XP at a customer site. A huge dissapointment as some organizations are just too big to move on quickly. Luckily there's a big x year program set up to verify that all apps will work on Windows 7 and there's a great pilot going on that you as an external employee cannot enter. Just another day in the live of a consultant.

Now using XP is something that will take some getting used to again but one of the things that has been bothering me alot when I started this gig is that most of my CRM 2011 related tools weren't working. Even worse: the CRM 2011 CRM developer toolkit which is included in the CRM 2011 SDK (from v 5.0.5) wouldn't work either. This is the error I got:

"Could not load file or assembly 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified."]]></description>
			<content:encoded><![CDATA[<p><strong>[Updated: Added link to the dll in the post]</strong><br />
Oh dear, I never thought this would happen to me but; once again I find myself using Windows XP at a customer site. A huge dissapointment as some organizations are just too big to move on quickly. Luckily there&#8217;s a big x year program set up to verify that all apps will work on Windows 7 and there&#8217;s a great pilot going on that you as an external employee cannot enter. Just another day in the live of a consultant.</p>
<p>Now using XP is something that will take some getting used to again but one of the things that has been bothering me alot when I started this gig is that most of my CRM 2011 related tools weren&#8217;t working. Even worse: the  CRM 2011 CRM developer toolkit which is included in the <a title="CRM 2011 SDK Download Link" href="http://www.microsoft.com/download/en/details.aspx?id=24004" target="_blank">CRM 2011 SDK (from v 5.0.5)</a> wouldn&#8217;t work either. This is the error I got:</p>
<p>&#8220;Could not load file or assembly &#8216;Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#8242; or one of its dependencies. The system cannot find the file specified.System.IO.FileNotFoundException: Could not load file or assembly &#8216;Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#8242; or one of its dependencies. The system cannot find the file specified.&#8221;</p>
<p>The problem here is Windows Identity Foundation which is described as: &#8220;WIF is a framework for building identity-aware applications. The framework [...] presents developers with APIs for building security token services and claims-aware applications.&#8221; Which at the end of the day just isn&#8217;t available for Windows XP. For me it was a huge let down that I wasn&#8217;t able to use some CRM 2011 tools that would make me more productive even though I didn&#8217;t even really need WIF to connect to them.</p>
<p>But don&#8217;t fear as there is a solution that actually does work for me:</p>
<p>Step 1</p>
<p>Download and install your favorite tools (be it the toolkit, the <a title="JS Webresource manager download link" href="http://jswebresourcemanager.codeplex.com/">js webresource manager</a> or the <a title="Site map editor download link" href="http://sitemapeditor.codeplex.com/">site map editor</a>)</p>
<p>Step 2</p>
<p><a title="WIM dll download" href="http://www.badguy.nl/files/Microsoft.IdentityModel.zip">Download the Windows Identity Model dll from my website</a></p>
<p>Step 3</p>
<p>Install the dll to the gac like so (use the Visual Studio command prompt if you like):</p>
<p>gacutil -I &#8220;C:&lt;path here&gt;Microsoft.IdentityModel.dll&#8221;</p>
<p>Step 4</p>
<p>Profit (don&#8217;t forget to install <a title="Latest Silverlight Developer runtime download link" href="http://go.microsoft.com/fwlink?LinkId=146060">the latest Silverlight Developer runtime</a> before using the CRM 2011 developer toolkit <img src='http://www.badguy.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>So far I haven&#8217;t had any issues using this little trick so I hope it will help someone out. I doubt claims based authentication will work like this, but I think that generally speaking this won&#8217;t work under Windows XP. Connecting to online should work and on-premise definitely works.</p>
<p>- Alex</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badguy.nl/2011/08/09/using-crm-2011-developer-toolkit-on-windows-xp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A practical guide to custom entity form urls</title>
		<link>http://www.badguy.nl/2011/03/11/a-practical-guide-to-custom-form-urls/</link>
		<comments>http://www.badguy.nl/2011/03/11/a-practical-guide-to-custom-form-urls/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 07:14:11 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Dynamics CRM 2011]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[CRM2011]]></category>
		<category><![CDATA[Dynamics]]></category>

		<guid isPermaLink="false">http://www.badguy.nl/?p=54</guid>
		<description><![CDATA[In Microsoft Dynamics CRM 2011 you have the option to create additional customized forms for any entity. So how can you use this to open specific forms and where do you get all the information?]]></description>
			<content:encoded><![CDATA[<p>In Microsoft Dynamics CRM 2011 you have the option to create additional customized forms for any entity. So how can you use this to open specific forms and where do you get all the information?</p>
<h1>Creating a new form</h1>
<p style="text-align: left;">Since this article is all about custom forms I’ll just start at the beginning. Let’s say that for the account entity we’d like to create a new form that displays a little less than the normal form. To create this new form go to solution and open the entity as normal and navigate to the “Forms” menu. This will show you only two forms one being Main and the other Mobile. Clicking new here will open up a popup with the usual designer options. Customize the form, pick a name and save and it will be added to the list.</p>
<p><img class="size-full wp-image-56 aligncenter" title="Create a new main form" src="http://www.badguy.nl/wp-content/uploads/sshot-299.png" alt="Create a new main form" width="233" height="151" /><a href="http://www.badguy.nl/wp-content/uploads/sshot-299.png"></a></p>
<h1>What’s in a GUID?</h1>
<p>Like everything that is a record/entry in CRM (which a form actually is), has a GUID. The easiest way to get the GUID of any form is to open up the form designer for that specific form and pressing the F11 key. This will set the window to full screen and allow you to take a gander at the URL. Here you’ll see a string like this:</p>
<p><a href="http://crm:5555/test/main.aspx?appSolutionId=%7bFD140AAF-4DF4-11DD-BD17-0019B9312238%7d&amp;etc=1&amp;extraqs=formtype%3dmain%26formId%3d389BED7C-1569-47F0-A879-7486B40268F5%26action%3d-1&amp;pagetype=formeditor">h</a><a href="http://crm:5555/test/main.aspx?appSolutionId=%7bFD140AAF-4DF4-11DD-BD17-0019B9312238%7d&amp;etc=1&amp;extraqs=formtype%3dmain%26formId%3d389BED7C-1569-47F0-A879-7486B40268F5%26action%3d-1&amp;pagetype=formeditor">ttp://crm:5555/test/main.aspx?appSolutionId=%7bFD140AAF-4DF4-11DD-BD17-0019B9312238%7d&amp;etc=1&amp;extraqs=formtype%3dmain%26formId%3d389BED7C-</a><a href="http://crm:5555/test/main.aspx?appSolutionId=%7bFD140AAF-4DF4-11DD-BD17-0019B9312238%7d&amp;etc=1&amp;extraqs=formtype%3dmain%26formId%3d389BED7C-1569-47F0-A879-7486B40268F5%26action%3d-1&amp;pagetype=formeditor">1569-47F0-A879-7486B40268F5%26action%3d-1&amp;pagetype=formeditor</a></p>
<p><a href="http://www.badguy.nl/wp-content/uploads/sshot-300.png"><img class="size-medium wp-image-57 alignnone" title="Getting the URL" src="http://www.badguy.nl/wp-content/uploads/sshot-300-300x71.png" alt="Getting a URL through F11" width="300" height="71" /></a><a href="http://www.badguy.nl/wp-content/uploads/sshot-300.png"></a></p>
<p>Tip: The method of getting the GUID here can be used in many places in CRM. When you’re stuck and need a GUID for something check out the URL by pressing F11 in the window and hovering over the top to display the URL.</p>
<p>Take note of the extraqs which provides you with a way to pass additional parameters to specific pages. In the extraqs you’ll see a “formId” parameter. You’ll also notice that extraqs is riddled with % signs, these are used for URL encoding, all of the parameters for extraqs have to be encoded. You could decode the string by using “decodeURIComponent(encodedUri);” the decoded extraqs look like this:</p>
<p>formtype=main&amp;formId=389BED7C-1569-47F0-A879-7486B40268F5&amp;action=-1</p>
<p>So that’s where the form id can be found. You could also crawl the exported customizations.xml, but that would require a few extra steps. After you exported you can look for a<br />
tag within the form definition for the right GUID.</p>
<h1>Building the new URL</h1>
<p>So to start building a new URL which opens a record in a specific form we need to know what a normal url looks like. To do that the F11 trick can be applied after opening a record. This shows the following:</p>
<p><a href="http://crm:5555/test/main.aspx?etc=1&amp;extraqs=%3f_gridType%3d1%26etc%3d1%26id%3d%257bE45EB53E-384A-E011-847B-000C29BC0C32%257d%26rskey%3d202087116&amp;pagetype=entityrecord">http://crm:5555/test/main.aspx?etc=1&amp;extraqs=%3f_gridType%3d1%26etc%3d1%26id%3d%257bE45EB53E-384A-E011-847B-000C29BC0C32%257d%26rskey%3d202087116&amp;pagetype=entityrecord</a></p>
<p>This URL also has an encoded extraqs that we could use, after decoding it looks like this:</p>
<p>?_gridType=1&amp;etc=1&amp;id=%7bE45EB53E-384A-E011-847B-000C29BC0C32%7d&amp;rskey=202087116</p>
<p>A few things can be noticed here:</p>
<ul>
<li>The id is double encrypted for some reason</li>
<li>There is a second entity type code to be found in the extraqs</li>
<li>There is an mystical rskey</li>
</ul>
<p>Note that the SDK points out that you should use ETN (entity type name) rather than ETC (entity typecode) in all cases where a url is constructed.</p>
<p>All that is needed here is to add the formId in the extraqs and it all works. The encoded extraqs looks like this:</p>
<p>%3F_gridType%3D1%26etc%3D1%26id%3D%257bE45EB53E-384A-E011-847B-000C29BC0C32%257d%26rskey%3D202087116%26formId%3D389BED7C-1569-47F0-A879-7486B40268F5</p>
<p>And the full url:</p>
<p><a href="http://crm:5555/test/main.aspx?etc=1&amp;extraqs=%3F_gridType%3D1%26etc%3D1%26id%3D%257bE45EB53E-384A-E011-847B-000C29BC0C32%257d%26rskey%3D202087116%26formId%3D389BED7C-1569-47F0-A879-7486B40268F5&amp;pagetype=entityrecord">http://crm:5555/test/main.aspx?etc=1&amp;extraqs=%3F_gridType%3D1%26etc%3D1%26id%3D%257bE45EB53E-384A-E011-847B-000C29BC0C32%257d%26rskey%3D202087116%26formId%3D389BED7C-1569-47F0-A879-7486B40268F5&amp;pagetype=entityrecord</a></p>
<p>The result is a slimmed down version of the account form that was made especially for the demo. Note the “New form” that is now selected in the navigation menu.</p>
<p><a href="http://www.badguy.nl/wp-content/uploads/sshot-301.png"><img class="size-medium wp-image-58 alignnone" title="The new form opened through a URL" src="http://www.badguy.nl/wp-content/uploads/sshot-301-300x107.png" alt="Form opened using the URL" width="300" height="107" /></a></p>
<p>The possibilities from here on are pretty broad, you could imagine doing things like creating specific forms for i-frames or reusing the same form several times in a single window.</p>
<p>While playing around with this I found some caveats that you should be aware of before doing this:</p>
<ul>
<li>It’s a little tricky to get the Xrm object from an IFrame</li>
<li>Beware of the usual recursive IFrames in IFrames</li>
<li>When using an IFrame of the same entity in the same form the default form might switch</li>
<li>It’s not possible to simply set the form to not be displayed as an option in the navigation form, a possible work-around is adding some JavaScript to perform this task.</li>
</ul>
<p>Enjoy</p>
<p>-Alex</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badguy.nl/2011/03/11/a-practical-guide-to-custom-form-urls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using XSD files to make editing CRM 2011 customization.xml editing easier</title>
		<link>http://www.badguy.nl/2011/02/09/xsd-to-make-crm-2011-customization-editing-easier/</link>
		<comments>http://www.badguy.nl/2011/02/09/xsd-to-make-crm-2011-customization-editing-easier/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 08:35:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Dynamics CRM 2011]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.badguy.nl/?p=45</guid>
		<description><![CDATA[This isn't new and I'm sure plenty of you guys are actually using this, but since I still see people struggling with the HUGE amount of XML editing you can do in the new solution introduced with CRM 2011 I just wanted to do a quick post.]]></description>
			<content:encoded><![CDATA[<p>This isn&#8217;t new and I&#8217;m sure plenty of you guys are actually using this, but since I still see people struggling with the HUGE amount of XML editing you can do in the new solution introduced with CRM 2011 I just wanted to do a quick post.</p>
<p>So the goal of this is to add the solution schema&#8217;s to Visual Studio so you can use auto-complete while editing CRM 2011 solutions. So here&#8217;s the process step by step:</p>
<h2>Step 1: Get the schema definition</h2>
<p>You can get the <a href="http://go.microsoft.com/fwlink/?LinkId=196060">schema definition for the solutions through the Microsoft website</a>. You should unpack these to anywhere you want (NOTE: if you have the CRM 2011 SDK already you already have the definitions in <SDK folder>\schemas)</p>
<h2>Step 2: Open up your solution file in Visual Studio and add the schema files</h2>
<p>Within Visual studio open up any customizations.xml from a solution. Because it is an XML file you&#8217;ll get the context-sensitive &#8220;XML&#8221; menu option at the top of your toolbar. From there select the option &#8220;Schemas &#8230;&#8221;</p>
<p><a href="http://www.badguy.nl/wp-content/uploads/sshot-270.png" target="_blank"><img src="http://www.badguy.nl/wp-content/uploads/sshot-270-300x100.png" alt="Step 2 screenshot" title="Open up the schemas dialog" width="300" height="100" class="aligncenter size-medium wp-image-46" /></a></p>
<p>From here you get a dialog which will allow you to choose the schema definition files. You&#8217;ll see that there are no CRM specific schema files loaded. So press &#8220;Add &#8230;&#8221; and navigate to the folder where you are keeping your schema definitions. Select all the xsd files except for the &#8220;visualizationdatadescription.xsd&#8221; file which is used for charts and will not import in this case (which may well be an error in the RC1 version of the SDK and schema&#8217;s). You&#8217;ll see that all of the xsd files will be added and enabled (green checkmark).</p>
<p><a href="http://www.badguy.nl/wp-content/uploads/sshot-273.png" target="_blank"><img src="http://www.badguy.nl/wp-content/uploads/sshot-273-300x199.png" alt="All XSD files added" title="All XSD files added" width="300" height="199" class="aligncenter size-medium wp-image-47" /></a></p>
<h2>Step 3: Enjoy!</h2>
<p>Congratulations you can now enjoy XML tag completion while working on customizations.xml files.</p>
<p><a href="http://www.badguy.nl/wp-content/uploads/sshot-274.png" target="_blank"><img src="http://www.badguy.nl/wp-content/uploads/sshot-274.png" alt="Step 3" title="XML completion in VS 2010 for CRM 2011" width="297" height="287" class="aligncenter size-full wp-image-48" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.badguy.nl/2011/02/09/xsd-to-make-crm-2011-customization-editing-easier/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CRM Solutions: “What could possibly go wrong?”</title>
		<link>http://www.badguy.nl/2011/01/21/crm-solutions-%e2%80%9cwhat-could-possibly-go-wrong%e2%80%9d/</link>
		<comments>http://www.badguy.nl/2011/01/21/crm-solutions-%e2%80%9cwhat-could-possibly-go-wrong%e2%80%9d/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 09:28:18 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Dynamics CRM 2011]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.badguy.nl/?p=40</guid>
		<description><![CDATA[The latest version of Microsoft Dynamics CRM comes with an enormous heap of improvements compared to the previous releases. And it’s not hard to impress customers with all the fancy new stuff included in the new product. New and simpler dashboarding, reporting and a ribbon have lifted Dynamics CRM on to a higher maturity level especially when looking at the features it delivers out of the box. I’m a consultant, but most of all a developer. And there are some improvements in that area as well, so “what could possibly go wrong?”]]></description>
			<content:encoded><![CDATA[<p>The latest version of Microsoft Dynamics CRM comes with an enormous heap of improvements compared to the previous releases. And it’s not hard to impress customers with all the fancy new stuff included in the new product. New and simpler dashboarding, reporting and a ribbon have lifted Dynamics CRM on to a higher maturity level especially when looking at the features it delivers out of the box. I’m a consultant, but most of all a developer. And there are some improvements in that area as well, so “what could possibly go wrong?”</p>
<p>Before diving in to my experiences with designing, developing and deploying CRM on client projects, I’d like to make a quick note of the things I saw as improvements for my own development work. And this is stuff I was really excited about from the early CTP bits.</p>
<ul>
<li>Adding webresources to easily add images, webpages, urls, Silverlight apps and javascript libraries to the system without going to IIS to ‘deploy’</li>
<li>New OData services which are a nice improvement over the old-school asmx webservices</li>
<li>Adding SilverLight as one of the main ways through which you can create client extensions</li>
<li>More easily edit the workflows through Visual Studio</li>
<li>Bundling webresources, entities, workflows, plugins all together in solutions</li>
<li>Deploying solutions in a managed way enabling updates and de-installation of solutions as a whole</li>
<li>Adding explicit dependencies between solutions where the old dependencies system was rather lacking</li>
</ul>
<p>There’s ofcourse loads more in adding things like jQuery, but the above are the things I was and still am very excited about.</p>
<p>I mention solutions in the title and from the items I mentioned in the little list it is the one thing I had the highest expectations of. As a consultant I had to often deploy customizations through the old import/export system which at times could get very tricky especially when a solution isn’t very well documented. Identifying the different parts you had to export for a specific phase of a process was a little tricky, on top of that developers could easily undo or redo each other’s work due to there being only one system and a flat set of customizations. My hopes were that this would all be history with the new solutions.</p>
<p>For a while the solutions really did seem to be a good solution for all my deployment and development worries. That was until the beta where in the very first demo we had to build we found that some of our off-shore devs had overwritten our customizations by publishing their own solution after ours and doing some major changes in forms we had also worked on. From that point on my view on solutions changed from “oh great” to “oh crap.” Afterwards I did some more research into the use of solutions from a non-ISV perspective.</p>
<p>Within a CRM solution there are pretty much four layers you could easily identify:</p>
<p><img style="margin: 5px; border: 1px solid #FFFFFF;" title="Stacking Solutions in Dynamics CRM 2011" src="http://www.badguy.nl/wp-content/uploads/CrmSolutions.png" alt="Stacking Solutions in Dynamics CRM 2011" width="569" height="548" /></p>
<p>This is pretty much the same image as you can find in the SDK documentation, and basically you build from the bottom up, starting with your default entities then creating some solutions on top of that. Some minor changes might be built on top to perhaps bind some things together, and the top ‘final application’ is the end result. And to put it very simple: managed solutions override the default, and unmanged solutions override the managed solutions. These changes are merged working their way up to the final application.</p>
<p>I’ve purposefully stacked the third party components and project deliverables in a horizontal manner rather than a vertical one. Adding more layers within the managed solution layer will lead to more complexity when it comes to customer projects. Creating a huge web of dependencies between solutions is a bad idea, and when you are writing deployment manuals which contain a sentence like “First publish solution x then solution y and then solution z in that exact order” you might want to reconcider how you’ve built your project. So what could possibly go wrong? Plenty if you don&#8217;t give building up your solutions enough thought!</p>
<p>Some of the things I set up along the lines of ‘rules’ to follow if you’re not an ISV and still deliver projects with CRM 2011:</p>
<ul>
<li>Keep it simple; when it comes to solutions less is more so don’t go nuts on putting every possible thing in a separate solution;</li>
<li>Keep a good eye on the vertical stacking of solutions and stick to the three layers there are</li>
<li>Try not to stack managed solutions on top of each other stick to a maximum of two managed layers containing a single base solution and then vertically extending this;</li>
<li>Only use solutions if:
<ul>
<li>You are 100% sure that everything within the proposed solution will be reused in other projects. If necessary you can always try to take things apart and create a new solution from that later on;</li>
<li>You need the ability to uninstall and update that single part;</li>
<li>There’s a definite functional and technical line to be drawn between this solution and any other solution;</li>
</ul>
</li>
<li>Solutions have a size limit, keep an eye on this, it might be a good idea to keep certain (large) web resources separate just for the size.</li>
</ul>
<p>There’s plenty more to say about solutions development and deployment in CRM, but for now this should be plenty. I’d love to hear from everyone else’s approach.</p>
<p>- Alex &#8220;the BadGuy&#8221; Ries</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badguy.nl/2011/01/21/crm-solutions-%e2%80%9cwhat-could-possibly-go-wrong%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XNA Presentation Utrecht 25th of May</title>
		<link>http://www.badguy.nl/2010/05/25/xna-presentation-utrecht-25th-of-may/</link>
		<comments>http://www.badguy.nl/2010/05/25/xna-presentation-utrecht-25th-of-may/#comments</comments>
		<pubDate>Tue, 25 May 2010 19:37:58 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Lectures]]></category>
		<category><![CDATA[Lecture]]></category>
		<category><![CDATA[Utrecht]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.badguy.nl/?p=11</guid>
		<description><![CDATA[I had a great time doing a presentation in Hilversum for Hogeschool Utrecht. If interested I'll be putting my slides up here. You can find the files on the XNA in a  box project on the Microsoft Netherlands XNA live space.]]></description>
			<content:encoded><![CDATA[<p>Hey all,</p>
<p>Just had one of the best presentations so far at &#8220;Hogeschool Utrecht&#8221; where they put a lot of effort in to game development and teaching through game development. I&#8217;m always very happy to see interest in game development, especially for teaching purposes. Personally I&#8217;ve created some materials for Microsoft in the Netherlands believing strongly in the power of XNA and teaching proper programming. Now in my eyes proper software development -in general- is done by thinking first, then thinking again, designing and then building. With game development if you don&#8217;t think things through properly you&#8217;ll end up with a beaten up project.</p>
<p>So back on topic: It was a great presentation with a great audience who were genuinely interested in the subject matter. I was able to present along side <a href="http://www.robmiles.com" target="_blank">Rob Miles</a> of whom&#8217;s XNA presentations I&#8217;ve always been a big fan, and <a href="http://people.cs.uu.nl/markov/" target="_blank">Mark Overmars</a> who is one of the professors teaching at the University.  Please make sure you take a gander at the GATE project he&#8217;s heading doing some interesting research there.</p>
<p>I even got to do my say &#8216;on tape&#8217; so I wonder when that stuff comes and pops up all over the net. It&#8217;s totally lame my whole &#8216;text&#8217; though, I&#8217;m not that great on camera and it shows! Anyway thank you Hogeschool van Utrecht for hosting the event and Microsoft for inviting me as a speaker. The slides can be found <a href="http://www.badguy.nl/wp-content/uploads/20100225-XNA-Utrecht.pptx" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badguy.nl/2010/05/25/xna-presentation-utrecht-25th-of-may/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From managed to unmanaged (0)</title>
		<link>http://www.badguy.nl/2010/04/10/from-managed-to-unmanaged-0/</link>
		<comments>http://www.badguy.nl/2010/04/10/from-managed-to-unmanaged-0/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 20:32:55 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Managed 2 Unmanaged Series]]></category>
		<category><![CDATA[C++ 0x]]></category>
		<category><![CDATA[Managed 2 Unmanged]]></category>

		<guid isPermaLink="false">http://www.badguy.nl/?p=3</guid>
		<description><![CDATA[Well it has been pretty much decided, I'm finally going to make a big step BACK. Or rather that's how many people would probably perceive this ridiculous idea of switching from my beloved (no I'm not over exaggerating here) C# to an old friend: C++.]]></description>
			<content:encoded><![CDATA[<p>Well it has been pretty much decided, I&#8217;m finally going to make a big step BACK. Or rather that&#8217;s how many people would probably perceive this ridiculous idea of switching from my beloved (no I&#8217;m not over exaggerating here) C# to an old friend: C++.</p>
<p>Now you may ask: why would you want to do something silly like that? Didn&#8217;t you always say that you could do anything in C# that can be done in C++ as well? The answer is: yes, I did, and I still believe that (obviously low-level driver work forms a bit of an exception here), however I just want to get in to the stuff I&#8217;ve recently learned about C++ that made me take a new interest in the language. That of course beside my  reverse engineering exploits, where using C++ to do code injection etc. would help greatly. The revelations that made me take this step was an interesting talk held by Tarek Madkour) program manager of Microsoft&#8217;s C++ IDE team. Apparently there&#8217;s work being done on a new version (standardized version) of C++ called C++ 0x. There&#8217;s quite a bit that you could read about this new form of C++ at the <a href="http://blogs.msdn.com/vcblog/" target="_blank">Microsoft Visual C++ team blog</a>. I was pleasantly surprised by C++ and how they were trying to make it quite a bit better and much easier to perform some of the common tasks. For example the use of excessive copying with string operations, or the addition of null pointers (hurray).</p>
<p>So what I&#8217;m wanting to do is set up a series of posts  around my experiences as someone coming from mostly managed code (C++ was borland C++ builder AND it was over 10 years ago), to something unmanaged. I&#8217;ll explain the things that I run in to from a managed perspective and try and make this a little guide for those who are experienced programmers with some years of experience doing either C# or Java and want to get (back) in to C++. Also note that I&#8217;ll definitely will be sticking with Microsoft VC++ 0x, but from what I understand most (if not all) C++ stuff in there (syntax etc.) will be standardized. I&#8217;ll just be using the Windows (7) libs/headers etc. where applicable. So not much of a guide for the *nix people (sorry guys <img src='http://www.badguy.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badguy.nl/2010/04/10/from-managed-to-unmanaged-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

