<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Blog Jungle</title><link>http://www.redjungle.com:80/blog</link><description>Blog Jungle</description><item><title>Where Firebug beats IE dev tools</title><link>http://www.redjungle.com:80/blog/where-firebug-beats-ie-dev-tools</link><description>&lt;p&gt;Microsoft is known for making great developer tools, Hell that’s why I’m a self confessed Microsoft FanBoi, it’s just EASY AS to program using their tools… with one exception, Ajax calls.&amp;nbsp; The built in tools in Visual Studio / IE are great for a lot of things but Asynchronous Javascript calls is not one of those things.&lt;/p&gt; &lt;p&gt;This post is for @tobint and @HumanCompiler on twitter.&amp;nbsp; I’ve been trying to defend using IE as my primary browser to my fellow worker @redjungle (Phil Gale to his friends), but as we have done more and more advanced Browser based applications with lots of jQuery and javascript and Ajax calls I finally realised that ultimately he was right.&amp;nbsp; For that job the correct tool is Firefox.&amp;nbsp; I complained about it to @HumanCompiler (suggesting that MS buy up company that makes firebug and make it the tool for IE Ajax debugging) I was referred to @tobint, who admitted he wasn’t a fan of FireBug, but wanted to know why I like Firebug, how it is “better” then the built in IE tools.&lt;/p&gt; &lt;p&gt;Trust me @tobint as a microsoft fanboi, it takes a lot to make me use someone else’s tools, (hell I used TFS 2005… so that shows I have a high pain threshold), but I just can’t disagree anymore.&amp;nbsp; If a tools job is to get in, get the info I need, and get out (and I believe that is what a tool should do) than for Ajax Firebug wins.&lt;/p&gt; &lt;p&gt;Let me show you with screen shots.&lt;/p&gt; &lt;p&gt;I have a jQuery Modal that asks for some input information, the user clicks it and then clicks save and an ajax call is made. Now of course my code wouldn’t have ANY bugs in it, so it will all work, but let’s imagine that maybe someday I don’t code up my&lt;/p&gt;&lt;pre&gt;[HttpPost]
public ActionResult&lt;/pre&gt;
&lt;p&gt;correctly (yeah, I know, like that would ever happen) like maybe I put in a &lt;font face="Lucida Console"&gt;&lt;strong&gt;throw new NotImplementedException( );&lt;/strong&gt; &lt;/font&gt;by accident&lt;/p&gt;&lt;pre&gt;&lt;font face="Trebuchet MS"&gt;So here is what I have to do to see the problem in IE&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;&lt;font face="Trebuchet MS"&gt;I load up the page and get my model and all I see is this&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb.png" width="644" height="474"&gt;&lt;/a&gt;&lt;/pre&gt;
&lt;p&gt;And it just sits there doing nothing (except spinning), no problem let’s fire up the Dev Tools by pressing F12… Whoops for some reason the F12 isn’t working (maybe that modal is interfering, not sure, but that’s ok, I’ll just go get it from the tool tips at the top) &lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_1.png" width="244" height="216"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s just two clicks, and here is what I get&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_6.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_2.png" width="628" height="484"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ok, so without looking at the help files, where do I go?, gee I’m not sure, maybe I need to refresh my page, and it will show me something.&lt;/p&gt;
&lt;p&gt;so I do that and … Nope still nothing “obviously” wrong… Now at this point I happen to know (cause @tobint told me) that I can use the network tab, so I’ll go there.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_8.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_3.png" width="644" height="223"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hmmm, nothing, I have to click “Start Capturing” I guess, hang on a moment didn’t I have to click on the Open Developer tools, doesn’t it seem like if I am asking for development assistance with my web page, that it should start capturing by default, I mean isn’t that really the logical thing to have happen?&amp;nbsp; Oh well, enough whinging, click the button and refresh the page again.&lt;/p&gt;
&lt;p&gt;Now I get &lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_10.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_4.png" width="606" height="772"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It actually took me putting in this screen shot before I visually located the problem line, can you find it in one glance?&amp;nbsp; It’s the one that has the Red 500 (not exactly obvious, is it?).&amp;nbsp; Ok so click on that row and you get… a highlighted row… Ok, so double click on it&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_12.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_5.png" width="644" height="376"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ok this looks a little more useful, so let’s go tot he Response header and see what the return was&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_14.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_6.png" width="555" height="198"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yeah… that’s not too helpful, Let’s go look at the Response Body tab, maybe that will have more information.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_16.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_7.png" width="554" height="484"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Well there is the exception detail, inside a bunch of HTML, now I can extract the information I need from this page, but it isn’t going to happen in a glance, I’m going to have to do a little visual parsing.&lt;/p&gt;
&lt;p&gt;Keep in mind when you are doing Web 2.0 development this is the most common action you will have to debug&lt;/p&gt;
&lt;p&gt;Now let’s see the steps necessary in Firefox using Firebug.&lt;/p&gt;
&lt;p&gt;I open Firefox and follow exactly the same steps as I did in IE (no pre-prepping the browser) to get to the problem screen&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image55.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image55_thumb.png" width="644" height="484"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I don’t know the keyboard shortcut for Firebug, so I will just go up and click on the icon for it (only one click)&lt;/p&gt;
&lt;p&gt;And I have &lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image59.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image59_thumb.png" width="644" height="471"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I don’t know about you, but I’m pretty sure I KNOW EXACTLY where thing broke after just one click. Let’s make sure, let me click on that bit row that is RED, and after a single click I have.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_22.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_10.png" width="986" height="362"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Well that’s good, here is my response html that I can parse thru and find the error, but wait, what’s that “HTML” tab? let’s click on it and see…&lt;/p&gt;
&lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_24.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Where-Firebug-beats-IE-dev-tools_11174/image_thumb_11.png" width="963" height="557"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That sure seems a lot easier to read / debug now wouldn’t you agree @tobint?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So with IE, even if I did everything as quickly as I could it would take 8 clicks to find the information I want, and even then I would have to parse the raw HTML error page.&lt;/p&gt;
&lt;p&gt;Firebug in Firefox took 3 clicks all in one window.&lt;/p&gt;
&lt;p&gt;Gentlemen of the Jury… I rest my case!&lt;/p&gt;
&lt;p&gt;Please feel free to let me know what you think of my comparison at @matthewhintzen on twitter.&lt;/p&gt;</description><pubDate>Tue, 06 Mar 2012 08:34:03 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/where-firebug-beats-ie-dev-tools</guid></item><item><title>Minor Updates to Using Perforce merge tool with TFS</title><link>http://www.redjungle.com:80/blog/minor-updates-to-using-perforce-merge-tool-with-tfs</link><description>&lt;blockquote&gt; &lt;h3&gt;Update &lt;/h3&gt; &lt;p&gt;the instructions for setting up P4 to work with TFS Merge are a little more difficult and best explained here, this works with 2010 as well &lt;p&gt;&lt;a href="http://www.richard-banks.org/2009/09/using-p4merge-with-visual-studio-2008.html"&gt;Using P4Merge with Visual Studio 2008 and TFS&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;So it took me only one day to see that I had been blind, and I switched over to Perforce’s merge tool as my default Diff tool in TFS on all my dev machines (as detailed here ).&lt;/p&gt; &lt;p&gt;However, diff wasn’t enough I wanted the Merge Capabilities of Perforce Merge as well, that’s a slightly different command.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/Minor-Updates-to-Using-Perforce-merge-to_7315/image_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/Minor-Updates-to-Using-Perforce-merge-to_7315/image_thumb.png" width="421" height="225"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;and in looking up the right way to call Perforce Merge as a Merge tool, I saw right away that for merge capabilities it requires %2 to come before %1.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Yesterday’s post detailing how to set up Compare had %1 then %2.&amp;nbsp; While for Diff purposes this would work fine, that means that you would have a difference between Diff and Merge in the presentation of your source and target files. So just to be OCD, I updated the compare operation to also put the Local version before the Server version in the perforce display.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/Minor-Updates-to-Using-Perforce-merge-to_7315/image_4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/Minor-Updates-to-Using-Perforce-merge-to_7315/image_thumb_1.png" width="423" height="225"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Thanks to the following links for helping me to figure this out.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.geekgumbo.com/2010/05/12/installing-and-using-p4merge-in-git-for-windows/"&gt;Installing and Using P4Merge in Git for Windows&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/jmanning/archive/2006/02/20/diff-merge-configuration-in-team-foundation-common-command-and-argument-values.aspx"&gt;diff/merge configuration in Team Foundation - common Command and Argument values&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 25 Jan 2012 19:23:43 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/minor-updates-to-using-perforce-merge-tool-with-tfs</guid></item><item><title>Update to Using Perforce P4 tool with TFS for Merging</title><link>http://www.redjungle.com:80/blog/update-to-using-perforce-p4-tool-with-tfs-for-merging</link><description>&lt;p&gt;in an earlier post I had tried to post an update on how to configure P4 to use TFS to merge file, unfortunately that update didn’t work.&amp;nbsp; Thanks to my co-worker @gerardvandeven he found the answer and I’m passing on that update to you.&lt;/p&gt; &lt;p&gt;&lt;a title="Using P4Merge with Visual Studio 2008 and TFS" href="http://www.richard-banks.org/2009/09/using-p4merge-with-visual-studio-2008.html"&gt;Using P4Merge with Visual Studio 2008 and TFS&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Go here for how to set up P4 correct for merge operations in TFS (works with VS 2010 as well)&lt;/p&gt;</description><pubDate>Wed, 25 Jan 2012 19:21:51 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/update-to-using-perforce-p4-tool-with-tfs-for-merging</guid></item><item><title>Unhappy campers with TFS built in Diff Tool</title><link>http://www.redjungle.com:80/blog/unhappy-campers-with-tfs-built-in-diff-tool</link><description>&lt;blockquote&gt; &lt;h1&gt;Update &lt;/h1&gt; &lt;p&gt;&lt;font size="3"&gt;the instructions for setting up P4 to work with TFS Merge are a little more difficult and best explained here&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="Using P4Merge with Visual Studio 2008 and TFS" href="http://www.richard-banks.org/2009/09/using-p4merge-with-visual-studio-2008.html"&gt;Using P4Merge with Visual Studio 2008 and TFS&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Ok, I have to be fair, I quickly discovered the really only big problem with the built in TFS diff tool back in TFS 2005, adjusted my development to account for it, and never thought about it again.&amp;nbsp; I’ve been pretty happy with TFS’s built in Diff tool for the past 5 years.&amp;nbsp; But as was pointed out to me by one of my fellow developers, just because I have adjusted to the handicap of “colour-blindness”, doesn’t mean that there isn’t a difference between red and green for other people. He didn’t put it that way, but until he reminded me of how much I changed my development style to fit the tool, I didn’t realise how hobbled I had become.&lt;/p&gt; &lt;p&gt;First up, it should be pointed out that the DiffTool in TFS has a major problem as originally configured to not ignore white space.&amp;nbsp; That means that in comparing text by default it see &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;if(true){&lt;br&gt;&amp;nbsp;&amp;nbsp; value&lt;/font&gt;&lt;/p&gt; &lt;p&gt;as different from &lt;/p&gt;&lt;font face="Courier New"&gt;if(true){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; value&lt;/font&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;One has tab and one has 3 spaces.&amp;nbsp; And with the whole page reformat command, and the way developers like to have minor differences between them, this is a major issue.&amp;nbsp; Now it turns out that you can invoke the diff tool so that it will ignore white space, and other unimportant things (details here &lt;a title="http://msdn.microsoft.com/en-us/library/6fd7dc73.aspx" href="http://msdn.microsoft.com/en-us/library/6fd7dc73.aspx"&gt;http://msdn.microsoft.com/en-us/library/6fd7dc73.aspx&lt;/a&gt;), but still there are better tools out there.&amp;nbsp; And it turns out that TFS is quite willing to let you use them if really want to.&lt;/p&gt; &lt;p&gt;So my co-worker really likes perforce’s compare tool, so I thought I would document for him how to “plug it in” in place of the TFS default tool.&amp;nbsp; I used the instruction here&amp;nbsp; &lt;a title="http://msdn.microsoft.com/en-us/library/ms181446.aspx" href="http://msdn.microsoft.com/en-us/library/ms181446.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms181446.aspx&lt;/a&gt; to figure this out.&lt;/p&gt; &lt;p&gt;First things first, download the perforce compare tool, navigate here &lt;a title="http://www.perforce.com/perforce/downloads/component.html" href="http://www.perforce.com/perforce/downloads/component.html"&gt;http://www.perforce.com/perforce/downloads/component.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;then select the thru the option to download the merge tool you want.&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb.png" width="697" height="801"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So I installed just the merge tool&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb_1.png" width="517" height="396"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Once installed, open Visual Studio 2010 and select Too;s | Options&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_6.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb_2.png" width="380" height="660"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Navigate to Source Control | Visual Studio Team Foundation Server | Configure User Tools&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_8.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb_3.png" width="632" height="355"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Click the add button in the User tools, put in the extensions you want “.vb,.cs,…”, select p4merge in the command prompt and leave the arguments alone for Compare&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_10.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb_4.png" width="423" height="226"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I added –dw to the start of the arguments list , which is a perforce commandline argument to tell it to make sure it ignores whitespace by default when it starts up &lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_14.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb_6.png" width="408" height="75"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;now in tfs, pull up a difference in your project (by comparing folders) right mouse on a folder and…&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_16.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb_7.png" width="458" height="94"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_20.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Unhappy-campers-with-TFS-built-in-Diff-T_94A9/image_thumb_9.png" width="1028" height="417"&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 25 Jan 2012 19:18:17 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/unhappy-campers-with-tfs-built-in-diff-tool</guid></item><item><title>Lumina-ting the WP7 Emulator</title><link>http://www.redjungle.com:80/blog/lumina-ting-the-wp7-emulator</link><description>&lt;p&gt;Hands up – Who’s tired of running your WP7 app in an emulator that looks so… Dated?&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/b3e7e8fac0d7_8C1D/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/b3e7e8fac0d7_8C1D/image_thumb.png" width="262" height="484"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Yeah me too. I came across a &lt;a href="http://www.jeff.wilcox.name/2011/12/my-new-windows-phone-emulator-theme/" target="_blank"&gt;blog posting from Jeff Wilcox&lt;/a&gt; that offered to let you run your apps in a fancier looking emulator&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.jeff.wilcox.name/2011/12/my-new-windows-phone-emulator-theme/"&gt;&lt;img src="http://media.jeff.wilcox.name/blog/MyMangoEmulator.jpg"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This is basically the theme used by Microsoft Phone Marketing.&amp;nbsp; Don’t know about you but looks a little TOO iPhoney for me, if I’m developing for WP7 I want my emulator to look like the hottest new WP7 phone on the market today, yes the Nokia Lumia 800.&lt;/p&gt; &lt;p&gt;Thus I give you the files that allow you to achieve this very effect&lt;/p&gt; &lt;p&gt;&lt;a title="Lumia Emulator" href="https://skydrive.live.com/redir.aspx?cid=68a452fbc939d13d&amp;amp;resid=68A452FBC939D13D!1935&amp;amp;parid=68A452FBC939D13D!1934" target="_blank"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/b3e7e8fac0d7_8C1D/image_7.png" width="684" height="466"&gt;&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;&lt;/h2&gt; &lt;h2&gt;Download and install the theme &lt;hr&gt; &lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=68a452fbc939d13d&amp;amp;resid=68A452FBC939D13D!1935&amp;amp;parid=68A452FBC939D13D!1934" target="_blank"&gt;Download a .7z Zip File of the resources&lt;/a&gt; ()&lt;/li&gt; &lt;li&gt;Extract the files into a directory, make a copy of the files&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;h3&gt;&lt;/h3&gt;&lt;/blockquote&gt;    &lt;h3&gt;Update the Emulator &lt;hr&gt; &lt;/h3&gt; &lt;ul&gt; &lt;li&gt;Ensure the emulator is closed&lt;/li&gt; &lt;li&gt;Locate the emulator directory – usually something like&lt;/li&gt; &lt;ul&gt; &lt;li&gt;On x64 OS = &lt;strong&gt;&lt;font face="Consolas"&gt;C:\Program Files (x86)\Microsoft XDE\1.0\&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;On x32 OS = &lt;strong&gt;&lt;font face="Consolas"&gt;C:\Program Files\Microsoft XDE\1.0\&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Backup or rename the existing WM7_Skin.xml if you may want to go back&lt;/li&gt; &lt;li&gt;Copy the files from the extracted resources into the emulator directory&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Note you will need administrative permissions to copy / overwrite the files&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Start up the Emulator&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;But wait there’s more: what if you want to also see the Lumia Skin while you are working in Visual Studio, I’ve got the instructions for that as well&lt;/p&gt; &lt;p&gt;&lt;a href="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/b3e7e8fac0d7_8C1D/image_9.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/b3e7e8fac0d7_8C1D/image_thumb_3.png" width="644" height="412"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;Update Visual Studio&amp;nbsp; &lt;hr&gt; &lt;/h3&gt; &lt;ul&gt; &lt;li&gt;Ensure All instances of Visual Studio are closed&lt;/li&gt; &lt;li&gt;Locate the Microsoft Windows Phone SDK v7.1 emulator directory – usually something like&lt;/li&gt; &lt;ul&gt; &lt;li&gt;On x64 OS = &lt;strong&gt;&lt;font face="Consolas"&gt;C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Emulation&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;On x32 OS = &lt;strong&gt;&lt;font face="Consolas"&gt;C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Emulation&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Backup or rename the existing WM7_Skin.xml if you may want to go back&lt;/li&gt; &lt;li&gt;Copy the files from the extracted resources into the emulator directory&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Note you will need administrative permissions to copy / overwrite the files&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Start up Visual Studio and you have Lumia Goodness where ever you go!&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Wed, 28 Dec 2011 21:40:14 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/lumina-ting-the-wp7-emulator</guid></item><item><title>Absolute Speculation - Windows 8 Roadmap?</title><link>http://www.redjungle.com:80/blog/absolute-speculation-ndash-windows-8-roadmap</link><description>&lt;p&gt;
	Ok, just to be clear, I have NO inside information, I&amp;rsquo;m pulling this out of my &amp;hellip; well let&amp;rsquo;s use the phrase &amp;ldquo;deep recess of my mind&amp;rdquo; and leave it at that.&lt;/p&gt;
&lt;p&gt;
	Ever since the early demo of Windows 8 (with the new Metro Themed UX) there has been lots of speculation where Windows is heading with this next build. I&amp;rsquo;ve had some suspicion for a while, and while I&amp;rsquo;m probably wrong, all of the pieces that I see being showed lead me to one wild speculation, that if I&amp;rsquo;m correct would be REALLY cool!&lt;/p&gt;
&lt;p&gt;
	Let me give you some of the links I use to come to my speculation&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;a href="http://msdn.microsoft.com/en-us/magazine/hh335062.aspx" title="http://msdn.microsoft.com/en-us/magazine/hh335062.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/hh335062.aspx&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://blogs.msdn.com/b/cdndevs/archive/2011/08/16/on-phone-apps-and-web-apps.aspx" title="http://blogs.msdn.com/b/cdndevs/archive/2011/08/16/on-phone-apps-and-web-apps.aspx"&gt;http://blogs.msdn.com/b/cdndevs/archive/2011/08/16/on-phone-apps-and-web-apps.aspx&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://blogs.msdn.com/b/b8/archive/2011/08/15/welcome-to-building-windows-8.aspx" title="http://blogs.msdn.com/b/b8/archive/2011/08/15/welcome-to-building-windows-8.aspx"&gt;http://blogs.msdn.com/b/b8/archive/2011/08/15/welcome-to-building-windows-8.aspx&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://www.infoworld.com/t/microsoft-windows/windows-8s-user-interface-touching-experience-888" title="http://www.infoworld.com/t/microsoft-windows/windows-8s-user-interface-touching-experience-888"&gt;http://www.infoworld.com/t/microsoft-windows/windows-8s-user-interface-touching-experience-888&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://www.infoworld.com/t/microsoft-windows/new-official-blog-gives-away-nothing-about-windows-8-170003" title="http://www.infoworld.com/t/microsoft-windows/new-official-blog-gives-away-nothing-about-windows-8-170003"&gt;http://www.infoworld.com/t/microsoft-windows/new-official-blog-gives-away-nothing-about-windows-8-170003&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	There are actually a lot more links and reading and thinking I&amp;rsquo;ve been doing, but the main driving observations are:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Scott Guthrie (His Gu-ness) being moved to oversee Azure platform&lt;/li&gt;
	&lt;li&gt;
		Windows Phone 7 native programming systems being either Silverlight or XNA&lt;/li&gt;
	&lt;li&gt;
		Windows Surface latest release&lt;/li&gt;
	&lt;li&gt;
		Windows 8 multi-touch Metro centric approach&lt;/li&gt;
	&lt;li&gt;
		HTML5 Spec
		&lt;ul&gt;
			&lt;li&gt;
				HTML5 Spec will have built in support for Multi-touch&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		WPF, while being a &amp;ldquo;superset&amp;rdquo; of Silverlight, it&amp;rsquo;s Silverlight that is getting all the love&lt;/li&gt;
	&lt;li&gt;
		WPF in some ways and Silverlight in MOST ways actually feels kinda like a type of HTML Spec&lt;/li&gt;
	&lt;li&gt;
		Hanselman&amp;rsquo;s post on &lt;a href="http://www.hanselman.com/blog/JavaScriptIsAssemblyLanguageForTheWebSematicMarkupIsDeadCleanVsMachinecodedHTML.aspx" title="JavaScript is Assembly Language for the Web- Sematic Markup is Dead! Clean vs. Machine-coded HTM"&gt;JavaScript is Assembly Language for the Web- Sematic Markup is Dead! Clean vs. Machine-coded HTM&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		Windows 7 and its &amp;ldquo;built-in&amp;rdquo; XP VM (where you couldn&amp;rsquo;t tell when you left Win 7 and went into XP VM)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	So what assumptions am I making?&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		It would be fairly easy for Microsoft to make a &amp;ldquo;compiler&amp;rdquo; that could convert a Silverlight App over to HTML5 ( HTML5 == HTML5 tags + CSS3 + Javascript) and / or vice Versa&lt;/li&gt;
	&lt;li&gt;
		Windows 8 Native programming system will be the same as Windows Phone 7 &amp;ndash; Silverlight and/or XNA&lt;/li&gt;
	&lt;li&gt;
		Windows 8&amp;rsquo;s screen rendering system will actually be IE 10 (this time Internet Explorer REALLY will be the OS)&lt;/li&gt;
	&lt;li&gt;
		All legacy apps (unless written in HTML5 or Silverlight or XNA) will be run in a virtual machine running inside of Windows 8&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	So here is my roadmap&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Windows 8 will natively run HTML5 / Silverlight
		&lt;ul&gt;
			&lt;li&gt;
				I don&amp;rsquo;t know if this means that it will compile HTML5 into Silverlight, or if it will compile Silverlight into HTML5&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		All Windows 7 apps and earlier will run in VM, hosted within Windows 8&lt;/li&gt;
	&lt;li&gt;
		Surface will no longer be a separate OS in the strictest sense, Windows 8 will actually be Surface 3.0 Core&lt;/li&gt;
	&lt;li&gt;
		.Net developers applications will run as follows
		&lt;ul&gt;
			&lt;li&gt;
				If built on Win Forms program will run within the Embedded VM&lt;/li&gt;
			&lt;li&gt;
				If built on Silverlight or XNA will run natively on Windows 8&lt;/li&gt;
			&lt;li&gt;
				Azure development will be where .Net programmers will move (cloud computing)&lt;/li&gt;
			&lt;li&gt;
				Build Silverlight or ASP.NET app for UX, and Azure for Business layer / Data layer
				&lt;ul&gt;
					&lt;li&gt;
						(can always build and push out as .Net app, but then runs in VM on Win 8)&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/li&gt;
			&lt;li&gt;
				If Silverlight UX deployed to Windows Azure (or next Windows server, more on that in a moment), if caller is NOT IE10 / Windows 8, Azure / Windows Server will on the fly compile and serve Silverlight app as HTML5.&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Windows 8 Server, will actually be Windows Azure, just running locally&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	Your thoughts Gentle Readers?&lt;/p&gt;
&lt;p&gt;
	(tweet me at @matthewhintzen with your responses)&lt;/p&gt;
</description><pubDate>Tue, 16 Aug 2011 21:43:20 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/absolute-speculation-ndash-windows-8-roadmap</guid></item><item><title>Error Adding View in June CTP: CS0104 ColumnAttribute is an Ambiguous Reference</title><link>http://www.redjungle.com:80/blog/error-adding-view-in-june-ctp-cs0104-lsquo-columnattribute-rsquo-is-an-ambiguous-reference</link><description>&lt;p&gt;
	Recently I upgraded to the Entity Framework June 2011 CTP to be able to use Enums in my project model.&amp;nbsp; All went well.&amp;nbsp; Until I needed to add a strongly typed view that wasn&amp;rsquo;t empty.&amp;nbsp; When trying to create the view I received two errors:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		CS0104 - Compiling transformation: &amp;#39;ColumnAttribute&amp;#39; is an ambiguous reference between &amp;#39;System.ComponentModel.DataAnnotations.ColumnAttribute&amp;#39; and&amp;nbsp; System.Data.Linq.Mapping.ColumnAttribute&amp;rsquo;&lt;/li&gt;
	&lt;li&gt;
		CS1061 &amp;ndash; Compiling transformation:&amp;nbsp; &amp;#39;System.ComponentModel.DataAnnotations.ColumnAttribute&amp;#39; does not contain a definition for &amp;#39;IsPrimaryKey&amp;#39; and no extension method &amp;#39;IsPrimaryKey&amp;#39; accepting a first argument of type &amp;#39;System.ComponentModel.DataAnnotations.ColumnAttribute&amp;#39; could be found&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/35be5a8ab93a_A746/Add%20View%20Error_2.png"&gt;&lt;img alt="Add View Error" border="0" height="360" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/35be5a8ab93a_A746/Add%20View%20Error_thumb.png" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Add View Error" width="662" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	The first error occurs because ColumnAttribute is in both System.ComponentModel.DataAnnotations and&amp;nbsp;System.Data.Linq.Mapping. &amp;nbsp;It is unclear (ambiguous) as to which should be used. &amp;nbsp;I believe that the second error results from the an attempt to use System.ComponentModel.DataAnnotations to create the view which does not contain a definition for IsPrimaryKey. &amp;nbsp;So somehow we need to get Visual Studio to use System.Data.Linq.Mapping instead. &amp;nbsp;After a bit of Googling the following solution presented itself:&lt;/p&gt;
&lt;p&gt;
	Navigate to C:\&amp;lt;Visual Studio Install Path&amp;gt;\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\AddView\CSHTML&lt;/p&gt;
&lt;p&gt;
	Here you will see all the .tt files for Create, Delete, Details, Edit,Empty and List.&lt;/p&gt;
&lt;p&gt;
	You will need to edit &lt;strong&gt;all &lt;/strong&gt;of these files &lt;strong&gt;except for Empty.tt&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Find the line:&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
		var column = attribute as ColumnAttribute;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/35be5a8ab93a_A746/Find%20Line_2.png"&gt;&lt;img alt="Find Line" border="0" height="244" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/35be5a8ab93a_A746/Find%20Line_thumb.png" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Find Line" width="649" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	Change it to:&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
		var column = attribute as System.Data.Linq.Mapping.ColumnAttribute;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/35be5a8ab93a_A746/Line%20Edit_2.png"&gt;&lt;img alt="Line Edit" border="0" height="246" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/35be5a8ab93a_A746/Line%20Edit_thumb.png" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Line Edit" width="649" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	Save and restart Visual Studio.&amp;nbsp; Try and add a view!&lt;/p&gt;
</description><pubDate>Wed, 10 Aug 2011 21:33:54 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/error-adding-view-in-june-ctp-cs0104-lsquo-columnattribute-rsquo-is-an-ambiguous-reference</guid></item><item><title>SQL Server Indexing - a Dot Net User Group presentation</title><link>http://www.redjungle.com:80/blog/sql-server-indexing</link><description>&lt;p&gt;Thursday 12 May, I presented at the Hawke's Bay Dot Net User Group (a group within the &lt;a href="http://www.mscommunities.co.nz"&gt;NZ MS Communities&lt;/a&gt;) on SQL Server Indexing. The idea for this presentation was born after a discussion we had at Red Jungle on a particular application we have created a while ago. After that discussion I thought that it would be a good idea to share some of the knowledge we have built up with working on SQL Server for close to 10 years now and share it with the local community. I had forgotten that it actually takes quite a bit of time collecting all the details of your presentation, making sure you have some good demos and then creating the presentation. But in the end it worked out quite well, and I believe it was helpful for at least a good part of the audience.&lt;/p&gt; &lt;p&gt;The presentation is aimed at the developer audience we have here in the DNUG. I don't expect DBAs to find a lot of new stuff in what I presented. Although you never know of course. But, as we do, modern day developers of smaller software development companies are also the database designers and maintainers, and I believe that every developer who is in that position should at least know what I presented. That will make him a lot better developer for as far as SQL Server is concerned.&lt;/p&gt; &lt;p&gt;I have put most of the content I presented available for download for you below. Feel free to use it in any way that is beneficial to you.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The &lt;a href="/Media/Default/Windows-Live-Writer/SQL-Server-Indexing/SQL Server Indexing.zip"&gt;PowerPoint slides&lt;/a&gt; itself  &lt;li&gt;The &lt;a href="/Media/Default/Windows-Live-Writer/SQL-Server-Indexing/Data Generation App.zip"&gt;tool&lt;/a&gt; used to generate test data for the database and running the speed test at the start. Check out the "ReadMe.txt" file for how to use it.  &lt;li&gt;The &lt;a href="/Media/Default/Windows-Live-Writer/SQL-Server-Indexing/Demo scripts.zip"&gt;SQL scripts&lt;/a&gt; for the five demos referred to in the PowerPoint slides &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;There are a whole lot of additional resources available on this topic. I have listed some of them here. Most of these were used as inspiration for this presentation. I can highly recommend the videos from &lt;a href="http://www.sqlskills.com/"&gt;SQL Skills&lt;/a&gt;. They are very useful.&lt;/p&gt; &lt;p&gt;On the physical structure of Indexes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;SQL Skills video on &lt;a href="http://technet.microsoft.com/en-us/sqlserver/gg508878.aspx"&gt;Index basics&lt;/a&gt;  &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sqlserver/Video/gg508879"&gt;The Clustered Index debate &lt;/a&gt;(how to choose your Clustered Index keys, SQL Skills video)  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms180978.aspx"&gt;MSDN Tables and Index Data Structures&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;On Optimizing indexes and finding the right indexes&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.sql-server-performance.com/tips/optimizing_indexes_general_p1.aspx"&gt;General tips on optimising indexes&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/sqlserverstorageengine/archive/2007/04/20/how-can-you-tell-if-an-index-is-being-used.aspx"&gt;How can you tell if an index is being used?&lt;/a&gt;  &lt;li&gt;&lt;a href="http://weblogs.sqlteam.com/mladenp/archive/2009/04/08/SQL-Server---Find-missing-and-unused-indexes.aspx"&gt;Find Missing and Unused Indexes&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;General sites:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.sqlservercentral.com/"&gt;SQL Server Central&lt;/a&gt;  &lt;li&gt;&lt;a href="http://sqlinthewild.co.za/"&gt;SQL in the Wild&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;</description><pubDate>Sun, 15 May 2011 21:43:10 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/sql-server-indexing</guid></item><item><title>Keep website registrations / signups simple</title><link>http://www.redjungle.com:80/blog/keep-website-registrations-signups-simple</link><description>&lt;p&gt;
	&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/Keep-website-registrations--signups-simp_8469/paperwork_2.jpg"&gt;&lt;img align="right" alt="paperwork" border="0" height="164" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/Keep-website-registrations--signups-simp_8469/paperwork_thumb.jpg" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 2px 0px 2px 3px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="paperwork" width="244" /&gt;&lt;/a&gt;One thing that continually pains me on my daily travels around the web is the seemingly relentless requirement to sign up and register to use most websites.&lt;/p&gt;
&lt;p&gt;
	Requiring registration in itself is not necessarily without reason (or merit) &amp;ndash; web sites are in a very competitive space these days, and have to strive to provide compelling offerings to their visitors to keep them coming back. But the amount of information they expect a visitor to provide as part of registration is often cumbersome if not daunting.&lt;/p&gt;
&lt;p&gt;
	Large forms absolutely do put people off completing registration on your website. Here are some key considerations to think about when designing your online sign-up or registration processes.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;1. Do you &lt;/strong&gt;&lt;em&gt;&lt;b&gt;really&lt;/b&gt;&lt;/em&gt;&lt;strong&gt; need to know that?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Think carefully about what information you are asking visitors to give you. People are very protective of their personal details. And fields such as Date of Birth, Address, Post code, Phone number, etc. start raising red flags immediately. Unless you have a very good reason for needing to know personal details (an online store needing delivery address for example) don&amp;rsquo;t ask for that information.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;2. Do you need to know that &lt;/strong&gt;&lt;em&gt;&lt;b&gt;right now?&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
	Consider keeping the information required to sign up as bare minimum as possible &amp;ndash; perhaps its just an e-mail address and a password. Then as the registered user starts to use a feature of your website that requires more information, ask for it then. People are far more likely to give up additional small pieces of information on demand if they are already a registered user and therefore have a vested interest.&lt;/p&gt;
&lt;p&gt;
	An example might be a registered user making his first post in your online forums; &amp;ldquo;Hey there, we notice we don&amp;rsquo;t have a nickname on file for you yet &amp;ndash; would you like to give us one now so you can complete your post?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;3. Provide an incentive to give more information&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	An approach I&amp;rsquo;ve seen several sites using is to provide a &lt;em&gt;virtual incentive&lt;/em&gt; to providing more information over time. For example &lt;a href="http://www.linkedin.com" target="_blank"&gt;LinkedIn&lt;/a&gt; will let you know that &amp;lsquo;your profile is 87% complete&amp;rsquo; because they have more fields which can be filled with your information. While arguably this is a pretty arbitrary measurement, it &lt;em&gt;is&lt;/em&gt; an incentive to fill in that information. It&amp;rsquo;s surprising how much it motivates people to have a goal (in this case &amp;lsquo;100%&amp;rsquo;) to reach.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;4. Keep private information private!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Accepting personal information about a visitor on your website comes with a moral (if not legal) requirement to look after that information in a responsible manner. Facebook controversy has shown how sensitive people have become to their details being published without their explicit knowledge.&lt;/p&gt;
&lt;p&gt;
	Be absolutely transparent with explanations of why you need to know personal information and what you will do with it. If, for example you have a profile for each user of your website; be clear about what will be shown publically/what will be shown to other members, and give options to enable/disable showing such information to the user.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	These principles can be applied to most online forms, not just registration or sign ups. Filling in forms is no one&amp;rsquo;s idea of fun. So you, as a responsible site owner should try to identify the pain points in your forms, and make it as simple as possible for someone filling them in.&lt;/p&gt;
</description><pubDate>Wed, 11 May 2011 20:55:48 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/keep-website-registrations-signups-simple</guid></item><item><title>Don't publish your error messages!</title><link>http://www.redjungle.com:80/blog/dont-publish-your-error-messages</link><description>&lt;p&gt;
	While browsing the website of a certain &amp;lsquo;big name brand&amp;rsquo; website this morning I came across this:&lt;/p&gt;
&lt;p&gt;
	&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/e395350d35bb_C903/CapError_4.png"&gt;&lt;img alt="CapError" border="0" height="496" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/e395350d35bb_C903/CapError_thumb_1.png" style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="CapError" width="426" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	Ironically the key thing to consider here is written in plain text just below the heading: &lt;em&gt;&amp;ldquo;The following information is meant for the website developer for debugging purposes.&amp;rdquo;&lt;/em&gt;. For internal error messages like these &amp;ndash; that even include a stack trace from the application, to end up being public facing is a pretty big deal. Apart from being an extremely poor experience for the end user - it is a &lt;em&gt;serious security risk&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;
	The error message and accompanying stack trace from the application unnecessarily exposes lots of internal information about the server and the website running on it to the outside world. This kind of information can easily help form the building blocks of a security breach for someone who knows what to look for.&lt;/p&gt;
&lt;p&gt;
	Some advice for developers:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Debug mode should always be turned off before deployment to your live production environment. For ASP.NET developers like myself this means &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx" target="_blank"&gt;Don&amp;rsquo;t run production ASP.NET Applications with debug=&amp;rdquo;true&amp;rdquo; enabled.&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		Any stack traces or internal errors produced by your application should always be hidden away from end users and logged/audited internally only. For ASP.NET consider using a framework such as &lt;a href="http://code.google.com/p/elmah/" target="_blank"&gt;ELMAH&lt;/a&gt; for error logging.&lt;/li&gt;
	&lt;li&gt;
		It&amp;rsquo;s often overlooked, but when the worst does happen and an error is encountered - try to show your end users something which will actually be a useful explanation for them, rather than something they&amp;rsquo;ll just find confusing. For ASP.NET this means using &lt;a href="http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx" target="_blank"&gt;custom errors&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 02 May 2011 05:26:14 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/dont-publish-your-error-messages</guid></item><item><title>Windows Live Writer support in Orchard CMS Blogs</title><link>http://www.redjungle.com:80/blog/windows-live-writer-support-in-orchard-cms-blogs</link><description>&lt;p&gt;Another fantastic feature of the &lt;a href="http://orchardproject.net/" target="_blank"&gt;Orchard CMS&lt;/a&gt; is support for the &lt;a href="http://en.wikipedia.org/wiki/XML-RPC" target="_blank"&gt;XmlRcp&lt;/a&gt; specification, which means we are able to use &lt;a href="http://explore.live.com/windows-live-writer?os=other" target="_blank"&gt;Windows Live Writer&lt;/a&gt; for authoring our blog posts.&lt;/p&gt; &lt;p&gt;The set up is dead simple. From your Orchard Dashboard, go into the &lt;font color="#505050"&gt;&lt;strong&gt;Configuration –&amp;gt; Features&lt;/strong&gt;&lt;/font&gt; section.&lt;/p&gt; &lt;h2&gt;1. Enable XmlRpc support, and Remote Blog Publishing inside your Orchard features:&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/XmlRcp.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="XmlRcp" border="0" alt="XmlRcp" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/XmlRcp_thumb.png" width="558" height="133"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enabling these modules adds the necessary support for the XmlRpc protocol to your Orchard site.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;&lt;/h2&gt; &lt;h2&gt;2. Connect with Windows Live Writer:&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/WLW1.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="WLW1" border="0" alt="WLW1" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/WLW1_thumb.png" width="450" height="384"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Create a new Blog account inside Windows Live Writer, and choose the &lt;strong&gt;Other services&lt;/strong&gt; option when prompted.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/WLW2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="WLW2" border="0" alt="WLW2" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/WLW2_thumb.png" width="450" height="384"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enter the full URL to your Orchard blog, your Orchard user name and password. Then click next for Windows Live Writer to go off and auto-discover your blog and all its settings. You can also download a copy of your blog theme at this point too if that takes your fancy.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;3. Start blogging!&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/WLW3.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="WLW3" border="0" alt="WLW3" src="http://www.redjungle.com/Media/Default/Windows-Live-Writer/614c0db5f794_CB28/WLW3_thumb.png" width="593" height="354"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You’re ready to start publishing content to your Orchard blog via Windows Live Writer.&lt;/p&gt;</description><pubDate>Thu, 07 Apr 2011 02:39:12 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/windows-live-writer-support-in-orchard-cms-blogs</guid></item><item><title>Working with Orchard from a Hard Programmers Prospective - Part II</title><link>http://www.redjungle.com:80/blog/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-II</link><description>&lt;h2&gt;
	Creating a Hello World Module the Orchard way&lt;/h2&gt;
&lt;blockquote&gt;
	&lt;ul&gt;
		&lt;li&gt;
			&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/post/2011/03/13/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Prologue.aspx"&gt;Working with Orchard CMS &lt;em&gt;The Prologue&lt;/em&gt;&lt;/a&gt;.&lt;/li&gt;
		&lt;li&gt;
			&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/post/2011/03/13/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-I.aspx"&gt;Part I - Moving Orchard from WebMatrix to a &amp;ldquo;real&amp;rdquo; programming environment&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;
			Part II - Creating a Hello World Module the Orchard way, and the Hard Programmers way&lt;/li&gt;
		&lt;li&gt;
			&amp;nbsp;&lt;/li&gt;
		&lt;li&gt;
			Read the &lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/page/Orchard-Source-Installation-and-Problems.aspx"&gt;Orchard &amp;ldquo;Whoops that doesn&amp;rsquo;t work&amp;rdquo; fix sheet here&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	So here we are ready to do the next part in our series of Orchard Discovery&amp;hellip; Let&amp;rsquo;s make their Hello World module in the default installation, and then let&amp;rsquo;s see about implementing the Hello World in Visual Studio 2010, using no helpers.&amp;nbsp; &amp;ldquo;Buckle Up Boys, it&amp;rsquo;s going to be a bumpy ride&amp;rdquo;&lt;/p&gt;
&lt;p&gt;
	So to start with, &lt;a href="http://www.orchardproject.net/docs/Building-a-hello-world-module.ashx"&gt;Here is the link to the tutorial provided by Orchard website on how to do the &amp;ldquo;Hello World&amp;rdquo;&lt;/a&gt;.&amp;nbsp; The first thing they tell you is before you get started to download and install the &lt;strong&gt;Code Generation&lt;/strong&gt; feature &lt;a href="http://www.orchardproject.net/docs/Command-line-scaffolding.ashx" title="Command-line Code Generation"&gt;Command-line Code Generation&lt;/a&gt; . To be totally fair I&amp;rsquo;m going to use the OrchardWpi we got running in WebMatrix to do this part&amp;hellip;&amp;nbsp; I start up WebMatrix, select Choose a Site option and Select my Orchard Site.&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="484" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_e02c8c2b-c0c0-4408-8a38-894bc3737e95.png" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="624" /&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="426" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_8a81ce85-3d4b-4014-9736-56f428936281.png" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="644" /&gt;&lt;/p&gt;
&lt;p&gt;
	Now we click on the URL for the orchard website and open it up, get into Manage settings and from here on out we &lt;a href="http://www.orchardproject.net/docs/Command-line-scaffolding.ashx"&gt;just follow the steps in the original article on installing the tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	Tips for their instructions:&lt;/p&gt;
&lt;blockquote&gt;
	&lt;ul&gt;
		&lt;li&gt;
			first up, there are way too many modules in the gallery if you use the Feed: Any option&lt;img alt="image" border="0" height="33" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_1af1d43d-7763-4fba-affd-6aff6c9a78f6.png" style="border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="212" /&gt; Be sure to drop that down and select the &lt;img alt="image" border="0" height="47" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_4a51ee99-e50e-443c-a463-ce9f4718cf70.png" style="border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="304" /&gt; and click the Apply button.&lt;/li&gt;
		&lt;li&gt;
			Gee wouldn&amp;rsquo;t it be nice if there was a sort order? don&amp;rsquo;t look for it there isn&amp;rsquo;t one as of 1.0&lt;/li&gt;
		&lt;li&gt;
			Gee wouldn&amp;rsquo;t it be nice if there was a search function?&amp;nbsp; Again don&amp;rsquo;t look for it, there isn&amp;rsquo;t one as of 1.0&lt;/li&gt;
		&lt;li&gt;
			Quickest way to find your module is do a Ctrl+F (find function for your browser) and search for Code Generation&lt;br /&gt;
			&lt;img alt="image" border="0" height="97" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_674e4b48-008e-415e-bae5-6a8eb1b4f4f1.png" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="244" /&gt;&lt;/li&gt;
		&lt;li&gt;
			Hey, if I install a module, how about we assume that I WANT to use it, other wise I probably wouldn&amp;rsquo;t have isntalled it. Can we make the default for installed modules as setting it to already being enabled? that would be helpful&lt;/li&gt;
	&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	With that done, &lt;a href="http://www.orchardproject.net/docs/Building-a-hello-world-module.ashx"&gt;we continue on our way with the Hello World Tutorial&lt;/a&gt;. And right off the bat we have our first question from their instructions: &amp;ldquo;Open the Orchard command-line&amp;rdquo;; so how do you open the command-line.&amp;nbsp; Intuitive it is not, here is a &lt;a href="http://www.orchardproject.net/docs/Using-the-command-line-interface.ashx" target="_blank"&gt;link to the instructions on using the command-line interface&lt;/a&gt;.&amp;nbsp; Basically you need to open a Command line in the bin directory of the Orchard website you want to work on&amp;hellip; Hey, give them a break, this is version 1.0&amp;hellip;&amp;nbsp; Don&amp;rsquo;t forget to make sure you start up the command line as an administrator, to save yourself some grief, and making it a Visual Studio 2010 command prompt would probably be best, although supposedly not required.&lt;/p&gt;
&lt;p&gt;
	You can find the bin directory by going back to WebMatrix and clicking on the path link for the website, and navigate down from there to the bin directory.&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="274" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_d1c564ad-da38-4694-aa79-ecd6ff3d6ce9.png" style="border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="643" /&gt;&lt;/p&gt;
&lt;p&gt;
	Ok, now that we got the command prompt open we continue on with our exercise from the &lt;a href="http://www.orchardproject.net/docs/Building-a-hello-world-module.ashx"&gt;Hello World Tutorial&lt;/a&gt;. First you need to get the Orchard Commandline tool started.&amp;nbsp; I&amp;rsquo;ll save you the digging around in the documentation to find out how: from the command line in the bin directory run the Orchard.exe.&amp;nbsp; That will initialize the Orchard Command line tools and then we basically just run the command &lt;span style="color: rgb(100, 107, 134); font-family: courier new;"&gt;codegen module HelloWorld&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;
	&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/image.axd?picture=image_54.png"&gt;&lt;img alt="image" border="0" height="182" src="http://www.longcloudtech.com/Blogs/Yankiwi/image.axd?picture=image_thumb_1.png" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="640" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	I decided to follow the editing instructions using the built in editor in WebMatrix&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="484" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_ac005555-203f-4d99-b5f5-f26614422d7f.png" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="643" /&gt;&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
		&lt;span style="color: rgb(192, 80, 77);"&gt;&lt;em&gt;Editorial:&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; A txt file?&amp;nbsp; you might as well have an INI file.&amp;nbsp; AND you have a warning that I should be careful to use spaces and not tabs to indent?&amp;nbsp; Come on Orchard developers, I know XML is verbose and over used, but in this case it seems a lot more intelligent, what we have now looks so VB 3 world type&amp;hellip; &lt;em&gt;(and for the record I started programming in VB3 so please don&amp;rsquo;t flame me too much).&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	Ok, I save my changes and move onto the next step, where they recommend that I put in a Routes.cs file in the HelloWorld Folder, let me show you how I did that in WebMatrix.&amp;nbsp; (make sure to click on the &amp;ldquo;Files&amp;rdquo; header in the Un-outlook bar), I click on the HelloWorld folder and then click on the &lt;span style="font-family: arial;"&gt;&lt;strong&gt;Create a new file&lt;/strong&gt;&lt;/span&gt; link on the page.&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="497" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_007b3a8c-de45-43d5-bf8e-2ca8b21dff56.png" style="border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="817" /&gt;&lt;/p&gt;
&lt;p&gt;
	The model dialog that opens has Common Selected for &amp;ldquo;File Types&amp;rdquo; none of which will give you the ability to create a class, click on the Suggested Category scroll down and find the Class (C#) item, click on it and in the Name box below set it to Routes.cs and click OK&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="469" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_a80e9c3d-7eeb-495b-9717-afb17777b821.png" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="644" /&gt;&lt;/p&gt;
&lt;p&gt;
	Copy and paste the text from the tutorial and repeat the process as instructed for the HomeController.cs, then do the same for the View file.&lt;/p&gt;
&lt;p&gt;
	Then the instructions tell you to add some lines manually to the HelloWorld.csproj file ( and this tutorial is obviously not for the newbie or someone who wants to ask questions.&amp;nbsp; It tells you want to do, not so much on the how ).&amp;nbsp; Just follow thru the instructions. So I did and this is what I got&amp;hellip;&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="389" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_a2ff8398-3c93-4800-a3d9-c1bef41e855f.png" style="border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="649" /&gt;&lt;/p&gt;
&lt;p&gt;
	OK, so I can make Orchard say hello, I have no idea how that all comes together so let&amp;rsquo;s see if I can take it apart.&lt;/p&gt;
&lt;p&gt;
	First things first, I think we need to know what the CodeGen did before we know how to proceed manually.&amp;nbsp; Consequently I&amp;rsquo;m going to run CodeGen and create a new module called UMadeThis.&amp;nbsp; I&amp;rsquo;ll follow the same steps as above from the command line.&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
		Note: if you create a module in Orchard using command line and it doesn&amp;rsquo;t show up in WebMatrix, be sure to Right Mouse on the Modules Folder and Click the Refresh, your module should now show up.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	Going again in the Files group, find the UMadeThis folder and let&amp;rsquo;s &amp;ldquo;expand&amp;rdquo; every folder; Now let&amp;rsquo;s go see what got made&amp;hellip;&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="image" border="0" height="249" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_A2A9/image_07c0d0bc-2260-408e-ac6d-9322a897f26c.png" style="border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="262" /&gt;&lt;/p&gt;
&lt;p&gt;
	Not a whole bunch.&amp;nbsp; The web.config for both the Scripts and the Styles is the following&lt;/p&gt;
&lt;pre class="brush: xhtml; collapse: true; "&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;appSettings&amp;gt;
    &amp;lt;add key=&amp;quot;webpages:Enabled&amp;quot; value=&amp;quot;false&amp;quot; /&amp;gt;
  &amp;lt;/appSettings&amp;gt;
  &amp;lt;system.web&amp;gt;
    &amp;lt;httpHandlers&amp;gt;
      &amp;lt;!-- iis6 - for any request in this location, return via managed static file handler --&amp;gt;
      &amp;lt;add path=&amp;quot;*&amp;quot; verb=&amp;quot;*&amp;quot; type=&amp;quot;System.Web.StaticFileHandler&amp;quot; /&amp;gt;
    &amp;lt;/httpHandlers&amp;gt;
  &amp;lt;/system.web&amp;gt;
  &amp;lt;system.webServer&amp;gt;
    &amp;lt;handlers accessPolicy=&amp;quot;Script,Read&amp;quot;&amp;gt;
      &amp;lt;!--
      iis7 - for any request to a file exists on disk, return it via native http module.
      accessPolicy &amp;#39;Script&amp;#39; is to allow for a managed 404 page.
      --&amp;gt;
      &amp;lt;add name=&amp;quot;StaticFile&amp;quot; path=&amp;quot;*&amp;quot; verb=&amp;quot;*&amp;quot; modules=&amp;quot;StaticFileModule&amp;quot; preCondition=&amp;quot;integratedMode&amp;quot; resourceType=&amp;quot;File&amp;quot; requireAccess=&amp;quot;Read&amp;quot; /&amp;gt;
    &amp;lt;/handlers&amp;gt;
  &amp;lt;/system.webServer&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;
&lt;p&gt;
	The web.config is in the View Directory is a little more interesting&lt;/p&gt;
&lt;pre class="brush: xhtml; showcolumns: true"&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;appSettings&amp;gt;
    &amp;lt;add key=&amp;quot;webpages:Enabled&amp;quot; value=&amp;quot;false&amp;quot; /&amp;gt;
  &amp;lt;/appSettings&amp;gt;
  &amp;lt;system.web&amp;gt;
    &amp;lt;httpHandlers&amp;gt;
    &amp;lt;/httpHandlers&amp;gt;

    &amp;lt;!--
        Enabling request validation in view pages would cause validation to occur
        after the input has already been processed by the controller. By default
        MVC performs request validation before a controller processes the input.
        To change this behavior apply the ValidateInputAttribute to a
        controller or action.
    --&amp;gt;
    &amp;lt;pages
        validateRequest=&amp;quot;false&amp;quot;
        pageParserFilterType=&amp;quot;System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&amp;quot;
        pageBaseType=&amp;quot;System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&amp;quot;
        userControlBaseType=&amp;quot;System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&amp;quot;&amp;gt;
      &amp;lt;controls&amp;gt;
        &amp;lt;add assembly=&amp;quot;System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&amp;quot; namespace=&amp;quot;System.Web.Mvc&amp;quot; tagPrefix=&amp;quot;mvc&amp;quot; /&amp;gt;
      &amp;lt;/controls&amp;gt;
    &amp;lt;/pages&amp;gt;
  &amp;lt;/system.web&amp;gt;

  &amp;lt;system.webServer&amp;gt;
    &amp;lt;validation validateIntegratedModeConfiguration=&amp;quot;false&amp;quot;/&amp;gt;
    &amp;lt;handlers&amp;gt;
    &amp;lt;/handlers&amp;gt;
  &amp;lt;/system.webServer&amp;gt;
  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;
      &amp;lt;dependentAssembly&amp;gt;
        &amp;lt;assemblyIdentity name=&amp;quot;System.Web.Mvc&amp;quot; publicKeyToken=&amp;quot;31bf3856ad364e35&amp;quot; /&amp;gt;
        &amp;lt;bindingRedirect oldVersion=&amp;quot;2.0.0.0&amp;quot; newVersion=&amp;quot;3.0.0.0&amp;quot; /&amp;gt;
      &amp;lt;/dependentAssembly&amp;gt;
    &amp;lt;/assemblyBinding&amp;gt;
  &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;
&lt;p&gt;
	At first glance seems pretty standard for an MVC View Web.config&lt;span style="font-family: verdana;"&gt;, but taking a closer look I noticed something else: just below the first block of code is from the code generated by the CodeGen in Orchard, the second block is from a normally generated MVC project.&lt;/span&gt;&lt;/p&gt;
&lt;pre class="brush: c-sharp; nocontrols: false; toolbar: true"&gt;
&amp;lt;pages
        validateRequest=&amp;quot;false&amp;quot;
        pageParserFilterType=&amp;quot;System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&amp;quot;
        pageBaseType=&amp;quot;System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&amp;quot;
        userControlBaseType=&amp;quot;System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&amp;quot;&amp;gt;

&amp;lt;pages 
        validateRequest=&amp;quot;false&amp;quot; 
        pageParserFilterType=&amp;quot;System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot;
        pageBaseType=&amp;quot;System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot; 
        userControlBaseType=&amp;quot;System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;
	They look almost the same but I see a minor difference in the Orchard Stuff,&amp;nbsp; The type engines for the Orchard have all had the processorArchitcture specified &lt;span style="font-family: courier new;"&gt;processorArchitecture=MSIL&lt;/span&gt;. basically if not specified your module would be built to what ever processorArchitecture was specified in the build settings, but this extra flag overrides that, and makes sure that your module is built to the MSIL, Microsoft Intermediate Language.&amp;nbsp; MSIL can be viewed as the assembly code of the CLR.&amp;nbsp; It means of course that your module is not optimised for the target processor architecture, but on the plus side, this means it will run correctly in CLR at run time.&lt;/p&gt;
&lt;p&gt;
	Finally I noticed one other thing, the View web.config DID NOT include the section for razor web pages&amp;hellip;&lt;/p&gt;
&lt;p&gt;
	Now that was interesting, so where is that information for Razor pages located? it is located in base Orchard website web.config file.&amp;nbsp; In a normal MVC generated project, the reverse is true.&amp;nbsp; Let me do a quick comparison between the razor entry in the Orchard Web site&amp;rsquo;s base web.config&lt;/p&gt;
&lt;pre class="brush: xhtml; toolbar: true"&gt;
&amp;lt;system.web.webPages.razor&amp;gt;
    &amp;lt;host factoryType=&amp;quot;System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot; /&amp;gt;
    &amp;lt;pages pageBaseType=&amp;quot;Orchard.Mvc.ViewEngines.Razor.WebViewPage&amp;quot;&amp;gt;
      &amp;lt;namespaces&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Mvc&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Mvc.Ajax&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Mvc.Html&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Routing&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Linq&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Collections.Generic&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;Orchard.Mvc.Html&amp;quot; /&amp;gt;
      &amp;lt;/namespaces&amp;gt;
    &amp;lt;/pages&amp;gt;
  &amp;lt;/system.web.webPages.razor&amp;gt;&lt;/pre&gt;
&lt;p&gt;
	And the razor entry in a standard MVC projects View Web.Config file&lt;/p&gt;
&lt;pre class="brush: xhtml; nocontrols: true; nogutter: true; toolbar: false"&gt;
  &amp;lt;system.web.webPages.razor&amp;gt;
    &amp;lt;host factoryType=&amp;quot;System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot; /&amp;gt;
    &amp;lt;pages pageBaseType=&amp;quot;System.Web.Mvc.WebViewPage&amp;quot;&amp;gt;
      &amp;lt;namespaces&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Mvc&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Mvc.Ajax&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Mvc.Html&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;System.Web.Routing&amp;quot; /&amp;gt;
        &amp;lt;add namespace=&amp;quot;RecoveryAssist.Dal&amp;quot; /&amp;gt;
      &amp;lt;/namespaces&amp;gt;
    &amp;lt;/pages&amp;gt;
  &amp;lt;/system.web.webPages.razor&amp;gt;&lt;/pre&gt;
&lt;p&gt;
	And if you look at the pageBaseType you see the real difference.&amp;nbsp; In Orchard they want to make sure that the Page base type is based on the Orchard.Mvc.ViewEngines.Razor.WebViewPage, whereas a standard mvc project makes System.Web.Mvc.WebViewPage the page base type.&amp;nbsp; Again, I&amp;rsquo;m not sure what impact that has, but I&amp;rsquo;d be willing to bet it isn&amp;rsquo;t insignificant.&lt;/p&gt;
&lt;p&gt;
	Next time, we will do this all over again, but inside of Visual Studio 2010&amp;hellip;&lt;/p&gt;
</description><pubDate>Wed, 06 Apr 2011 21:33:58 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-II</guid></item><item><title>Working with Orchard from a Hard Programmers Prospective - Prologue</title><link>http://www.redjungle.com:80/blog/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Prologue</link><description>&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Working with Orchard CMS &lt;em&gt;The Prologue&lt;/em&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/post/2011/03/13/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-I.aspx"&gt;Part I - Moving Orchard from WebMatrix to a &amp;ldquo;real&amp;rdquo; programming environment&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/post/2011/03/20/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-II.aspx"&gt;Part II - Creating a Hello World Module the Orchard way, and the Hard Programmers way&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;/li&gt;
&lt;li&gt;Read the &lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/page/Orchard-Source-Installation-and-Problems.aspx"&gt;Orchard &amp;ldquo;Whoops that doesn&amp;rsquo;t work&amp;rdquo; fix sheet here&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;So after much research and study, our intrepid group of programmers at &lt;a href="http://www.redjungle.com"&gt;Red Jungle&lt;/a&gt; decided we would attempt to settle on the Orchard CMS as our Platform of choice for clients looking for a CMS solution.&amp;nbsp; We did this for many reasons, but here are the highlights as far as I&amp;rsquo;m concerned&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Completely open source &lt;a title="http://orchardproject.net/" href="http://orchardproject.net/"&gt;http://orchardproject.net/&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;ASP.NET MVC 3 base (with Razor) &lt;/li&gt;
&lt;li&gt;Originally built by Microsoft, but no longer owned by Microsoft &lt;/li&gt;
&lt;li&gt;Funded by Microsoft (with no strings attached) for the next two years &lt;/li&gt;
&lt;li&gt;Principle Developers of &lt;a href="http://oxite.codeplex.com/"&gt;Oxite&lt;/a&gt;, Erik Porter and Nathan Heskew joined team (outside MS perspective) &lt;/li&gt;
&lt;li&gt;Plug-in Architecture and extensibility built on a simplified model. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Before I go much further, I think a quick retrospective on last Microsoft Opensource CMS system is in order.&amp;nbsp; It was built in ASP.NET 1.0 using what was then considered best practices.&amp;nbsp; During internal development it was known as IBuySpy, and was meant to showcase those best recommended practices when creating a n-tiered web platform.&amp;nbsp; The Main developer they had brought in for the example site took the core of the IBuySpy example and extended it to a Full Featured CMS system that we all know better as DotNetNuke.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve used DotNetNuke in the past, I&amp;rsquo;ve even wrote a tutorial about making modules for DNN and explaining what is really going on under the hood as you develop the module: &lt;a title="Creating a DNN Module and Understanding DNN Architectural Approach" href="http://www.codeproject.com/KB/applications/LCTDNNModDev.aspx"&gt;Creating a DNN Module and Understanding DNN Architectural Approach&lt;/a&gt;.&amp;nbsp; While DNN continues to be used and does a great job, it, like so many old systems, has a bit of a legacy built in that it can&amp;rsquo;t just drop, that at times can make it feel creaky and old.&lt;/p&gt;
&lt;p&gt;The world has moved on quite a bit since IBuySpy, and sometimes it is for the best to sell the old house and start from a fresh new foundation, we at Red Jungle feel that Orchard is just such a candidate.&amp;nbsp; If it becomes even half as successful as DNN was before it, I think we will have made a VERY good choice.&lt;/p&gt;
&lt;p&gt;Now that doesn&amp;rsquo;t mean that I don&amp;rsquo;t have some issues with Orchard, life is beautiful, la la la.&amp;nbsp; First up, the install, extension and maintenance of Orchard was made to be easy for people with minimal technical background. By default if you use the install provided by the &lt;a title="Download the Microsoft Web Platform" href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;The Microsoft Web Platform&lt;/a&gt; it uses the new Microsoft &lt;a href="http://www.microsoft.com/web/webmatrix/"&gt;WebMatrix&lt;/a&gt; which in itself is a free-ware and geared towards open source development (you didn&amp;rsquo;t really expect Microsoft to let AMP be the only free option out there did you)?&amp;nbsp; While I think the WebMatrix is a great tool, and the price is right (free for everything to run a website) for a hard code monkey like myself it just doesn&amp;rsquo;t have the horse power and the shade tree mechanic capabilities I want.&lt;/p&gt;
&lt;p&gt;Also the out of the box tutorials and instructions of how to extend Orchard are VERY easy, but they &amp;ldquo;hide&amp;rdquo; too much under the covers for my taste.&amp;nbsp; I may yet end up using the shortcuts and tools, but I want to understand exactly how all those helpers fit together to make the magic work.&lt;/p&gt;
&lt;p&gt;So I have three main goals with this set of blog posts and two sub-goals.&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I want to move Orchard (and document how) to run in a more robust development environment then WebMatrix, get it to run in IIS with full customization from within Visual Studio 2010 Universal, as a Web Application. &lt;/li&gt;
&lt;li&gt;Create the Hello World module using the CodeGen capablities as explained on the Orchard website here, then recreate the Module doing everything manually. &lt;/li&gt;
&lt;li&gt;Finally Recreate my &amp;ldquo;ToDo Task List&amp;rdquo; from my original DotNetNuke tutorial on &lt;a href="http://www.codeproject.com/KB/applications/LCTDNNModDev.aspx"&gt;codeproject&lt;/a&gt; to be applicable to Orchard and deconstruct the Architecture of the system as it applies to Module Creation. &lt;/li&gt;
&lt;li&gt;Sub-goals  &lt;ol&gt;
&lt;li&gt;Package the ToDo Task list as a redistributable, and document how to do so &lt;/li&gt;
&lt;li&gt;Publish the ToDo module on NuGet feed for Orchard. &lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ol&gt;</description><pubDate>Wed, 06 Apr 2011 03:13:46 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Prologue</guid></item><item><title>Working with Orchard from a Hard Programmers Prospective - Part I</title><link>http://www.redjungle.com:80/blog/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-I</link><description>&lt;h2&gt;Moving Orchard from WebMatrix to a &amp;ldquo;real&amp;rdquo; programming environment.&lt;/h2&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/post/2011/03/13/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Prologue.aspx"&gt;Working with Orchard CMS &lt;em&gt;The Prologue&lt;/em&gt;&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Part I - Moving Orchard from WebMatrix to a &amp;ldquo;real&amp;rdquo; programming environment &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/post/2011/03/20/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-II.aspx"&gt;Part II - Creating a Hello World Module the Orchard way, and the Hard Programmers way&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;/li&gt;
&lt;li&gt;Read the &lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/page/Orchard-Source-Installation-and-Problems.aspx"&gt;Orchard &amp;ldquo;Whoops that doesn&amp;rsquo;t work&amp;rdquo; fix sheet here&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;For the record, that sub-title is meant in jest. WebMatrix is a a real programming environment, but you know us professional programmers, we are just a bit on the snobbish side, and so unless it is &amp;ldquo;our&amp;rdquo; development environment (OS, Language, Tool, Etc.) we do have a tendency to sneer at the alternatives.&amp;nbsp; The truth of the matter is, that there is so much to learn out there, that there is no way we can know it all.&amp;nbsp; We are forced by necessity of not truly being the geniuses we sometimes think we are, of specializing in some way in our choice of languages and tools.&amp;nbsp; We are a lazy bunch and we will often go out of our way to avoid having to &amp;ldquo;work&amp;rdquo;, and learning something new is &amp;ldquo;work&amp;rdquo;.&amp;nbsp; Since I have no illusions that I am lazy (I &lt;strong&gt;know&lt;/strong&gt; I am lazy), I will take the &amp;ldquo;hit&amp;rdquo; of work of moving out of a dev environ that I am not used too (and having to learn it) to move into a dev environment where I already know how to swim like a duck.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Historical note: as I sit here typing up this post, twitter has just informed me that it is possible that an Official with Japan&amp;rsquo;s safety agency says that a Meltdown may be under way at Fukushima Nuclear Reactor.&amp;nbsp; I hope Twitter is wrong.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So let&amp;rsquo;s start with installing Orchard using the &lt;a href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;Microsoft Web Platform Installer&lt;/a&gt;(WPI) &lt;span style="text-decoration: line-through;"&gt;Rather then repeating what is already out there I refer you to the documentation post at the Orchard web site on &lt;/span&gt;&lt;a href="http://www.orchardproject.net/docs/Installing-Orchard.ashx"&gt;&lt;span style="text-decoration: line-through;"&gt;Installing Orchard with the WPI&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: line-through;"&gt; for the complete list of steps and recommendations. Suffice it to say I installed the WebMatrix platform, then installed the Orchard CMS application, naming the site OrchardWebMatrix.&amp;nbsp; Finishing up the install and configure steps, this is what I got. &amp;hellip;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Whoops, wrote the above paragraph in anticipation of it working correctly&amp;hellip; it didn&amp;rsquo;t; seems that the instructions on the Orchard website aren&amp;rsquo;t &lt;em&gt;exactly&lt;/em&gt; complete.&amp;nbsp; I followed their steps, and Orchard didn&amp;rsquo;t install in WebMatrix and it didn&amp;rsquo;t run! DOH.&amp;nbsp; Seems that if you have a professional .Net Development machine configured (meaning Server 2008 or Windows 7 with IIS installed and configured) the WPI, &lt;strong&gt;doesn&amp;rsquo;t&lt;/strong&gt; install by default into WebMatrix, you have to do an extra step they left out of the instructions.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Once you have downloaded and installed Web Platform Installer to your machine, click the &lt;strong&gt;Add&lt;/strong&gt; to include &lt;strong&gt;Orchard CMS&lt;/strong&gt; as an item to install.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;img src="http://www.orchardproject.net/docs/GetFile.aspx?File=/screenshots/webpi_install.png" alt="Image" width="530" height="367" /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is from the Orchard website.&amp;nbsp; If you have IIS installed, BEFORE you click the Install button as they tell you to, make sure to click the &amp;ldquo;Options&amp;rdquo; hyperlink just to the left of the Install button.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_78681bd7-b08e-4f70-a322-e880a850e718.png" border="0" alt="image" width="587" height="499" /&gt;&lt;/p&gt;
&lt;p&gt;Make sure to select the &lt;em&gt;IIS Express (required for use with WebMatrix)&lt;/em&gt; the option, then click ok THEN click install. At that point you can return to the instructions on Orchard and go on your way.&lt;/p&gt;
&lt;p&gt;Wait, they left something else out from the instructions,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;When the installation is complete, click the &lt;strong&gt;Launch&lt;/strong&gt; link.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.orchardproject.net/docs/GetFile.aspx?File=/screenshots_675/Install_success.png" alt="Image" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;When you launch Orchard in your browser, you will be presented with the Orchard setup screen.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;They make it seem like when you click Launch that you go right into Orchard, you actually don&amp;rsquo;t..&amp;nbsp; you go into WebMatrix like this.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_220da496-33fa-4c92-bf92-98d86b8a98a8.png" border="0" alt="image" width="622" height="484" /&gt;&lt;/p&gt;
&lt;p&gt;In order to Launch Orchard you need to click on the URL There at the top.&amp;nbsp; So I did and configured it to use the Compact Framework SQL.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve taken a quick spin around the WebMatrix, and it&amp;rsquo;s a pretty good starting point&amp;hellip;&amp;nbsp; I think I even know web developers who would prefer it to my &amp;ldquo;professional&amp;rdquo; Visual Studio 2010 setup&amp;hellip;&amp;nbsp; Maybe I will take the time to learn this thing&amp;hellip; but not today.&amp;nbsp; If you click on the Files section of the Un-Outlook bar you get an interesting Tool Ribbon button if you have VS installed.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_00d7599c-f7b4-4dc5-bffd-9c08ef8efd3b.png" border="0" alt="image" width="644" height="122" /&gt;&lt;/p&gt;
&lt;p&gt;Clicking on that Visual Studio launch button and you get this.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_668fbbbd-509e-4b3f-92ae-17455dd97e69.png" border="0" alt="image" width="644" height="397" /&gt;&lt;/p&gt;
&lt;p&gt;Orchard loaded up in Visual Studio as a Web Application.&amp;nbsp; Not too shabby.&lt;/p&gt;
&lt;p&gt;Now let&amp;rsquo;s see how we can get Orchard setup to run correctly in IIS.&amp;nbsp; From my earlier attempts I know we can do it using the WPI, let me walk thru that method first.&lt;/p&gt;
&lt;p&gt;Ok, this time in the WPI after we click &amp;ldquo;Add&amp;rdquo; for Orchard, and before we click install, let&amp;rsquo;s go into that options dialog again and select the other option &amp;ndash; IIS&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_7644f6b5-12e2-46a9-afee-30bfb3ba3264.png" border="0" alt="image" width="644" height="479" /&gt;&lt;/p&gt;
&lt;p&gt;Click OK and Click Install, Accept the License, and we get a new dialog&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_60d5fe3f-97d1-428f-af3f-0c5987b3c259.png" border="0" alt="image" width="702" height="519" /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll leave it to go into the Default Web Site, and name it OrchardWpi.&lt;/p&gt;
&lt;p&gt;Now you may notice that above it says &lt;strong&gt;&lt;em&gt;Step 1 of 2&lt;/em&gt;&lt;/strong&gt;&amp;hellip; They lie, there is no step 2 of 2, Orchard just starts installing.&amp;nbsp; Once it is done you get the following..&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_f0302b89-874d-4409-a6e4-9b8700df6736.png" border="0" alt="image" width="703" height="519" /&gt;&lt;/p&gt;
&lt;p&gt;Click on the Launch Orchard CMS and let&amp;rsquo;s see what happens.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_3691b5d7-f177-481c-8627-5a678a11240d.png" border="0" alt="image" width="644" height="481" /&gt;&lt;/p&gt;
&lt;p&gt;Wow what do you know, it works.&amp;nbsp; Click Finish Setup and we are good to go.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_0f870378-9133-4d78-8c0f-cd934311b9d9.png" border="0" alt="image" width="644" height="479" /&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s see where that ended up on the Harddrive, no great surprise c:\inetpub\wwwroot\orchardWpi&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_239f77ad-82f7-4dc5-9a34-aeef46c732bf.png" border="0" alt="image" width="706" height="475" /&gt;&lt;/p&gt;
&lt;p&gt;Oh and look there is a csproj file in there&amp;hellip; opening it in VS gets us this.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_399643c4-6a27-4261-ac8a-df602d0d1dc2.png" border="0" alt="image" width="1028" height="632" /&gt;&lt;/p&gt;
&lt;p&gt;Not too bad, though I am sorry to see that it doesn&amp;rsquo;t get set to run against the IIS directory where it is installed. That is easily fixed.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_6134507d-8a06-4388-ba43-41e8d244f09a.png" border="0" alt="image" width="644" height="282" /&gt;&lt;/p&gt;
&lt;p&gt;OK, enough with the WPI doing our work for us, let&amp;rsquo;s manually set this thing up.&lt;/p&gt;
&lt;p&gt;Turns out the instruction for Manually installing Orchard on the Orchard web site can&amp;rsquo;t be beat.&amp;nbsp; I followed their &lt;a href="http://www.orchardproject.net/docs/Manually-installing-Orchard-zip-file.ashx"&gt;directions&lt;/a&gt; and it worked like a charm.&amp;nbsp; But I think I want to be a little more adventurous and install the whole source project to see what I get. So download the Source Code from the codeplex website&lt;/p&gt;
&lt;p&gt;Ok, that was easy and now we have the whole system set up to really allow us to dig into the guts.&lt;/p&gt;
&lt;p&gt;I open the solution and in Visual Studio 2010. Rebuild the entire solution, no errors that&amp;rsquo;s good.&lt;/p&gt;
&lt;p&gt;Open the project window for Orchard, and on the web tab, select Specific page (leaving the entry blank), check the Enable Edit and Continue (because this is 2011, and I Love Edit and Continue, naysayers be damned), and hit the run with debug button&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_f5c3b0d0-ca0b-4b95-8c48-9f7cb0a561ee.png" border="0" alt="image" width="536" height="484" /&gt;&lt;/p&gt;
&lt;p&gt;Site started up, ready for configuration.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_48d8eda3-bc0b-4662-8bec-c47c2752f8b0.png" border="0" alt="image" width="567" height="484" /&gt;&lt;/p&gt;
&lt;p&gt;So I click Finish Setup and &lt;span style="font-family: Lucida Console; font-size: xx-small;"&gt;&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/page/Orchard-Source-Installation-and-Problems.aspx#orchardpermissionsecuritypermissionfailed"&gt;(It is all a lie, there is no Pie afterwards)&lt;/a&gt;&lt;/span&gt; I have a working Orchard site with all open source available and loaded up for me in Visual Studio.&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color: #ff0000; font-size: xx-small;"&gt;&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/page/Orchard-Source-Installation-and-Problems.aspx#orchardpermissionsecuritypermissionfailed"&gt;Note, next screen shot is a &amp;ldquo;Lie&amp;rdquo;&lt;/a&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/page/Orchard-Source-Installation-and-Problems.aspx#orchardpermissionsecuritypermissionfailed"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://www.longcloudtech.com/Blogs/Yankiwi/image.axd?picture=image_thumb.png" border="0" alt="image" width="644" height="473" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next time we see about building a module.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;It&amp;rsquo;s all really a Lie&lt;/h2&gt;
&lt;p&gt;Ok, folks to be totally fair, the last screen shot and &amp;ldquo;TA-DA&amp;rdquo; sentence is really not exactly true.&amp;nbsp; You see I started this blog entry at home on my home dev machine and I got some REALLY strange errors in trying to get that last step from &amp;ldquo;enter configuration&amp;rdquo; to completed site, all source running Visual Studio 2010.&amp;nbsp; What I actually got on my home machine was this:&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://orchard.redjungle.com/Media/Default/Windows-Live-Writer/Working-with-Orchard-from-a-Hard-Program_ADAB/image_c162bdda-95a4-4537-b7c8-b4d0b5c618d2.png" border="0" alt="image" width="567" height="484" /&gt;&lt;/p&gt;
&lt;p&gt;I worked on it for a couple of hours trying to figure it out and as of this writing, I actually still don&amp;rsquo;t know what the problem is on my home machine.&amp;nbsp; Finally I threw up my hands, it being the weekend and all, and put it aside.&amp;nbsp; Came into work this morning, and tried the EXACT same steps on my work computer, and lo and behold it worked as I detailed above.&amp;nbsp; So I decided to finish off this post, but I&amp;rsquo;m not about to give up on figuring out why it didn&amp;rsquo;t work at home.&amp;nbsp; If you go to this Post &lt;a href="http://www.longcloudtech.com/Blogs/Yankiwi/page/Orchard-Source-Installation-and-Problems.aspx" target="_blank"&gt;Orchard Source Install Problems&lt;/a&gt; I will keep a running log of my efforts to figure it out at home.&lt;/p&gt;</description><pubDate>Wed, 06 Apr 2011 03:13:29 GMT</pubDate><guid isPermaLink="true">http://www.redjungle.com:80/blog/Working-with-Orchard-from-a-Hard-Programmers-Prospective-e28093-Part-I</guid></item></channel></rss>
