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

<channel>
	<title>Emad Alashi&#039;s Blog &#187; Development</title>
	<atom:link href="http://www.emadashi.com/index.php/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emadashi.com</link>
	<description></description>
	<lastBuildDate>Sun, 15 Jan 2012 10:05:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>QueryString in Routing and Model Binding in ASP.NET MVC</title>
		<link>http://www.emadashi.com/index.php/2012/01/querystring-in-routing-and-model-binding-in-asp-net-mvc/</link>
		<comments>http://www.emadashi.com/index.php/2012/01/querystring-in-routing-and-model-binding-in-asp-net-mvc/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 14:39:57 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[asp.net mvc]]></category>
		<category><![CDATA[model binding]]></category>
		<category><![CDATA[query string]]></category>
		<category><![CDATA[querystring]]></category>
		<category><![CDATA[routedata]]></category>
		<category><![CDATA[routing]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/?p=412</guid>
		<description><![CDATA[In a nutshell, a query string will not be part of the RouteData dictionary in the routing process, yet it will affect the route matching. On the other hand when Model Binding takes place, query string will be used to bind to the parameters of the action method, unless there is an item in route [...]]]></description>
			<content:encoded><![CDATA[<div id="codeSnippetWrapper">In a nutshell, a query string will not be part of the RouteData dictionary in the routing process, yet it will affect the route matching. On the other hand when Model Binding takes place, query string will be used to bind to the parameters of the action method, unless there is an item in route data with the same key.</div>
<div></div>
<div>Now the details, let’s consider this ASP.NET MVC application, we have an action method:</div>
<div id="codeSnippetWrapper">
<pre id="codeSnippet" style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 10pt; overflow: visible;"><span style="color: #0000ff">public</span> ViewResult Archive(DateTime? dateFrom, <span style="color: #0000ff">int?</span> page){...</pre>
</div>
<div>And we have defined the following routes:</div>
<div id="codeSnippetWrapper" style="text-align: left; padding: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: 1px solid silver;">
<div id="codeSnippet" style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">routes.MapRoute(</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">          <span style="color: #006080">"Archive"</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">          <span style="color: #006080">"Archive/{dateFrom}"</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">          <span style="color: #0000ff">new</span> { controller = <span style="color: #006080">"Episode"</span>, action = <span style="color: #006080">"Archive"</span>, dateFrom = UrlParameter.Optional}</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">          );</pre>
<p><!--CRLF--></div>
</div>
<div>Let’s check the URL “<strong>~/Archive/1-2-2012?page=2</strong>”:</div>
<div>The RouteData dictionary will be as the following:</div>
<table border="1" cellspacing="0" cellpadding="2" width="238">
<tbody>
<tr>
<td width="92" valign="top"><strong>Key</strong></td>
<td width="144" valign="top"><strong>Value</strong></td>
</tr>
<tr>
<td width="92" valign="top">controller</td>
<td width="144" valign="top">Episode</td>
</tr>
<tr>
<td width="92" valign="top">action</td>
<td width="144" valign="top">Archive</td>
</tr>
<tr>
<td width="92" valign="top">dateFrom</td>
<td width="144" valign="top"><span style="color: #ff0000;">1-2-2012?page=2</span></td>
</tr>
</tbody>
</table>
<p>Yet the action method above will work, and be invoked with the parameters:</p>
<table border="1" cellspacing="0" cellpadding="2" width="205">
<tbody>
<tr>
<td width="101" valign="top"><strong>Parameter</strong></td>
<td width="102" valign="top"><strong>Value</strong></td>
</tr>
<tr>
<td width="101" valign="top">dateFrom</td>
<td width="102" valign="top">1-2-2012</td>
</tr>
<tr>
<td width="101" valign="top">page</td>
<td width="102" valign="top">2</td>
</tr>
</tbody>
</table>
<p>So let’s notice the following:</p>
<ol>
<li>The query string “page” key is NOT part of the RouteData dictionary</li>
<li>In the routing process “?page=2” is considered to be part of the value of the “dateFrom” item in the RouteData dictionary (watch out your route unit tests!)</li>
<li>Even though “dateFrom” route item has the value “1-2-2012?page=2”, Model Binding figures that it can ignore the “?page=2” part because it’s a query string, and the dateFrom parameter is bound correctly to the “1-2-2012”</li>
<li>Even though there is NO “page” item in the RouteData dictionary, the query string it is still used in the Model Binding to bind to the “page” parameter</li>
</ol>
<p>Having this explained and the above notes taken in mind, what if we have defined an item “page” in the route itself at the end like the following:</p>
<div id="codeSnippetWrapper" style="text-align: left; padding: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: 1px solid silver;">
<div id="codeSnippet" style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">routes.MapRoute(</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">    <span style="color: #006080">"Archive"</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">    <span style="color: #006080">"Archive/{dateFrom}"</span>,</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">     <span style="color: #0000ff">new</span> { controller = <span style="color: #006080">"Episode"</span>, action = <span style="color: #006080">"Archive"</span>, dateFrom = UrlParameter.Optional, <strong>page = 1</strong>}</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; text-align: left; padding: 0px; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible;">     );</pre>
<p><!--CRLF--></div>
</div>
<p>Then this item “page” will show in the RouteData but it should NOT be mistaken by the query string “page”, the Model Binding will always ignore the query string and use the route data item to bind to the action parameter “page”.</p>
<p>And this is why I am writing this post:</p>
<ol>
<li>I have mistaken the route item “page” with the query string “page” and this confused me a lot</li>
<li>My routing unit tests failed because the query string was still concatenated and present in the value of the route data item, I should have ignored them</li>
</ol>
<p>I hope this helps you better understand how query strings affects Routing and Model Binding, and helps you avoid what I have went through. Watch out for routing unit tests, and good luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2012/01/querystring-in-routing-and-model-binding-in-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interviews with Jordanian Microsoft Guests</title>
		<link>http://www.emadashi.com/index.php/2011/12/interviews-with-jordanian-microsoft-guests/</link>
		<comments>http://www.emadashi.com/index.php/2011/12/interviews-with-jordanian-microsoft-guests/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 12:08:00 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[software management]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[dahleh]]></category>
		<category><![CDATA[JordaRuns]]></category>
		<category><![CDATA[JorDev]]></category>
		<category><![CDATA[khalidi]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/?p=407</guid>
		<description><![CDATA[During the last quarter of 2011 we have hosted two amazing Jordanian Microsoft guests, Yousef Al Khalidi (Distinguished Engineer), and Ayman Dahleh (Development Manager for the Global Experience Platform group), who happened to be having their vacation here, they generously accepted our invitation to deliver sessions here in Jordan despite their busy times.
The community recorded [...]]]></description>
			<content:encoded><![CDATA[<p>During the last quarter of 2011 we have hosted two amazing Jordanian Microsoft guests, <a href="http://www.microsoft.com/presspass/exec/de/Khalidi/default.mspx">Yousef Al Khalidi (Distinguished Engineer)</a>, and Ayman Dahleh (Development Manager for the Global Experience Platform group), who happened to be having their vacation here, they generously accepted our invitation to deliver sessions here in Jordan despite their busy times.</p>
<p>The community recorded these two inspiring interviews with our guests through which I can see how close achievements can be.</p>
<p>A big thank-you to Mr. Yousef and Mr. Ayman for their availability, and thanks to our DPE at the time Mohammad Arrabi for giving us this opportunity to meet such great people, and thanks to our community member Mosab for making these videos.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="315" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ZwFHZDcNOrM?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="315" src="http://www.youtube.com/v/ZwFHZDcNOrM?version=3&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="315" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/SC7y9XawHEU?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="315" src="http://www.youtube.com/v/SC7y9XawHEU?version=3&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/12/interviews-with-jordanian-microsoft-guests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hide Subfolder in Multiple Domains Under One Site</title>
		<link>http://www.emadashi.com/index.php/2011/12/hide-subfolder-in-multiple-domains-under-one-site/</link>
		<comments>http://www.emadashi.com/index.php/2011/12/hide-subfolder-in-multiple-domains-under-one-site/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 17:10:40 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[DotNetArabi]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[multiple domains under one site]]></category>
		<category><![CDATA[url rewrite]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/?p=403</guid>
		<description><![CDATA[After I have moved to WinHost, I was surprised they don’t support multiple domains under one site out of the box; you have to rely on IIS URL Rewrite magic to achieve that.
So as expected, I looked for a solution in their KB and the internet (you don’t reinvent the wheel, remember?) and found couple [...]]]></description>
			<content:encoded><![CDATA[<p>After I have moved to <a href="http://www.winhost.com/">WinHost</a>, I was surprised they don’t support multiple domains under one site out of the box; you have to rely on IIS URL Rewrite magic to achieve that.</p>
<p>So as expected, I looked for a solution in their KB and the internet (you don’t reinvent the wheel, remember?) and found couple of posts <a href="http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/">here</a>, <a href="http://learn.iis.net/page.aspx/500/testing-rewrite-rule-patterns/">here</a>, <a href="http://weblogs.asp.net/owscott/archive/2010/01/26/iis-url-rewrite-hosting-multiple-domains-under-one-site.aspx">here</a>, and <a href="http://forum.winhost.com/showthread.php?t=4545&amp;highlight=url+rewrite">here</a> that helped a lot in achieving this.     <br />So I managed to have <a href="http://www.emadashi.com">www.emadashi.com</a> and <a href="http://www.dotnetarabi.com">www.dotnetarabi.com</a> working fine together residing in the folders “emadashi-blog” and “dotnetarabi-root” respectively under the root; they both have same IP address, but upon request a redirection is made to the proper application folder. </p>
<p>Until one day my very good friend <a href="http://blog.jerashdev.net/">Omar Qadan</a> generously shared a link to an episode he found interesting; and the link was as the following:</p>
<p>“www.dotnetarabi.com/<b>dotnetarabi-root</b>/episode.aspx?..etc”</p>
<p>Ops! that’s not right isn’t it! The URL should not include the folder name “dotnetarabi-root”! So I read more about Regular Expressions, read the <a href="http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/">above mentioned article</a> more thoroughly, and came to the conclusion that for each domain we have we are going to write two rules:</p>
<p>1) Correct and Redirect undesired URL’s:    <br />If IIS receives a request that contains the folder name (e.g “www.dotnetarabi.com/<b>dotnetarabi-root</b>/episode.aspx”), then: </p>
<ol>
<li>Omit the folder name from the URL, in our case the URL becomes “www.dotnetarabi.com/episode.aspx”&#160; </li>
<li><b>Redirect</b> the request again to IIS using the new URL, by sending 301 status prompting the browser to initiate a new request with the new URL </li>
</ol>
<p>The step above can be achieved by the following:</p>
<p>Figure 1:</p>
<ol>
<ol style="line-height: normal; padding-left: 0px; margin-bottom: 0in; margin-left: 30pt" type="1">
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;rule</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">name</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;UnWantedDirectAccessToSubFolder-DotNetArabi-root&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">patternSyntax</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;ECMAScript&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">stopProcessing</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;true&quot;</font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;match</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">url</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;.*&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;action</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">type</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;Redirect&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">url</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;{C:1}&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">appendQueryString</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;true&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">logRewrittenUrl</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;false&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font face="Courier New"><font style="font-size: 10pt">&lt;conditions&gt;</font></font></span></b><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;add</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">input</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;{HTTP_HOST}&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">pattern</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;^(www.)?dotnetarabi.com&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;add</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">input</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;{PATH_INFO}&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">pattern</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;^[/\\]dotnetarabi_root[/\\](.*)&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font face="Courier New"><font style="font-size: 10pt">&lt;/conditions&gt;</font></font></span></b><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font face="Courier New"><font style="font-size: 10pt">&lt;/rule&gt;</font></font></span></b><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
</ol>
</ol>
<p>Then we do the second rule:</p>
<p>2) Guide and Redirect desired URL’s to the right folder:    <br />If IIS receives a request by the URL format we desire, which doesn’t contain the folder name (e.g. “www.dotnetarabi.com/episode.aspx”) then: </p>
<ol>
<li>Insert the folder name to the URL to be come “www.dotnetarabi.com/dotnetarabi-root/episode.aspx” in our case </li>
<li><b>Rewrite</b> the URL again within IIS using the new URL </li>
</ol>
<p>Which can be achieved by the following:</p>
<p>Figure 2:</p>
<ol>
<ol style="line-height: normal; padding-left: 0px; margin-bottom: 0in; margin-left: 30pt" type="1">
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;rule</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">name</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;DirectToDotNetArabiRoot&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">patternSyntax</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;ECMAScript&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">stopProcessing</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;true&quot;</font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;match</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">url</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;.*&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;action</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">type</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;Rewrite&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">url</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;dotnetarabi_root/{R:0}&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">appendQueryString</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;true&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">logRewrittenUrl</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;false&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font face="Courier New"><font style="font-size: 10pt">&lt;conditions&gt;</font></font></span></b><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;add</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">input</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;{HTTP_HOST}&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">pattern</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;^(www.)?dotnetarabi.com&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;add</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">input</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;{PATH_INFO}&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">pattern</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;^[/\\]emadalashi_blog[/\\]&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">negate</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;true&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><font face="Courier New"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">&lt;add</font></span></b><font style="font-size: 10pt"><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">input</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;{PATH_INFO}&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">pattern</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;^[/\\]dotnetarabi_root[/\\]&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#000066">negate</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900">=</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#ff0000">&quot;true&quot;</font></span><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font color="#009900"> </font></span></font><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font style="font-size: 10pt">/&gt;</font></span></b></font><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font face="Courier New"><font style="font-size: 10pt">&lt;/conditions&gt;</font></font></span></b><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
<li style="line-height: 14.4pt; margin: 0in 0in 10pt; color: ; vertical-align: top; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"><b><span style="font-family: ; color: ; mso-fareast-font-family: &#39;Times New Roman&#39;"><font face="Courier New"><font style="font-size: 10pt">&lt;/rule&gt;</font></font></span></b><span style="font-family: ; mso-fareast-font-family: &#39;Times New Roman&#39;"></span> </li>
</ol>
</ol>
<p>The best way to describe what happens is through this diagram I put together (the start block is the “Browser”):</p>
<p><a href="http://www.gliffy.com/"><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="clip_image001" border="0" alt="clip_image001" src="http://emadashi.com/wp-content/uploads/c144f43a3a6c_10467/clip_image001_3.jpg" width="420" height="368" /></a></p>
<p>And that was it, now notice the following:</p>
<ol>
<li>The rules should maintain the mentioned order </li>
<li>Rule 1 uses action type “<b>Redirect</b>”, and Rule 2 uses action type “<b>Rewrite</b>” </li>
<li>We configure the rules to stop processing any rule after it is executed </li>
<li>Your key to successful and easy manipulation of the URL is to understand the Back-references in the URL Rewriting, notice the {C:1} and {R:0} usage above, notice as well the brackets () in the URL’s; they are used to capture the back-references, check the “<a name="Using_back-references_in_rewrite_rules"></a><i>Using back-references in rewrite rules</i>” in the <a href="http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/#Rewrite_Rules_Overview">above mentioned article</a> </li>
<li>To test your rules use <a href="http://www.fiddler2.com/fiddler2/">Fiddler</a>, IE Developers Tools (Network tab), or <a href="http://getfirebug.com/">Firebug</a> (Net tab), and the great tool IIS provides to test rules which can be accessed by: open IIS –&gt; select site-&gt; URL Rewrite –&gt; Double click rule –&gt; double click condition –&gt; Test pattern:       <br /><a href="http://emadashi.com/wp-content/uploads/c144f43a3a6c_10467/clip_image002.png"><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="clip_image002" border="0" alt="clip_image002" src="http://emadashi.com/wp-content/uploads/c144f43a3a6c_10467/clip_image002_thumb.png" width="444" height="473" /></a> </li>
</ol>
<p>I hope you found this useful. </p>
<p>Let me do thanks here to&#160; <a href="http://www.gliffy.com">www.gliffy.com</a> as well for providing such great service for drawing diagrams online</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/12/hide-subfolder-in-multiple-domains-under-one-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>“AmmanTT: Developer Edition” presentation and slides</title>
		<link>http://www.emadashi.com/index.php/2011/12/ammantt-developer-edition-presentation-and-slides/</link>
		<comments>http://www.emadashi.com/index.php/2011/12/ammantt-developer-edition-presentation-and-slides/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 13:46:14 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[software management]]></category>
		<category><![CDATA[AmmanTT]]></category>
		<category><![CDATA[SDLC]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/index.php/2011/12/ammantt-developer-edition-presentation-and-slides/</guid>
		<description><![CDATA[It was a very interesting event “AmmanTT: Developer Edition” which took place last Tuesday; the team did a very good job putting it together, it is really great seeing this great effort put into such fruitful events; moving the community steps forward, so thank you AmmanTT team, you rock.
Hereby I post the slides I presented [...]]]></description>
			<content:encoded><![CDATA[<p>It was a very interesting event “AmmanTT: Developer Edition” which took place last Tuesday; the team did a very good job putting it together, it is really great seeing this great effort put into such fruitful events; moving the community steps forward, so thank you AmmanTT team, you rock.</p>
<p>Hereby I post the slides I presented in my talk:</p>
<div style="width: 425px" id="__ss_10531430"><strong style="margin: 12px 0px 4px; display: block"><a title="Software Life Cycle, Humans &amp; Code" href="http://www.slideshare.net/splashup/software-life-cycle-humans-code">Software Life Cycle, Humans &amp; Code</a></strong><object id="__sse10531430" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=softwarelife-imagesless-111209074332-phpapp01&amp;stripped_title=software-life-cycle-humans-code&amp;userName=splashup" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><embed name="__sse10531430" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=softwarelife-imagesless-111209074332-phpapp01&amp;stripped_title=software-life-cycle-humans-code&amp;userName=splashup" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="425" height="355"></embed></object>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/splashup">Emad Alashi</a>.</div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/12/ammantt-developer-edition-presentation-and-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking at AmmanTT: Developer Edition</title>
		<link>http://www.emadashi.com/index.php/2011/12/speaking-at-ammantt-developer-edition/</link>
		<comments>http://www.emadashi.com/index.php/2011/12/speaking-at-ammantt-developer-edition/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 10:58:22 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[software management]]></category>
		<category><![CDATA[AmmanTT]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[SDLC]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/?p=390</guid>
		<description><![CDATA[I will be speaking at “AmmanTT: Developer Edition” next Tuesday 6th of December 2011. Never heard about AmmanTT? quoting from their About page:
Coming to you on the first Tuesday of every month is a 2-hour event that brings industry experts, local technologists/engineers, entrepreneurs, idea-generators and just about any enthusiast together in a casual setting to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ammantt.com"><img class="alignright size-full wp-image-391" title="AmmanTT" src="http://www.emadashi.com/wp-content/uploads/2011/12/logo6.png" alt="AmmanTT" width="140" height="80" /></a>I will be speaking at “<a href="https://www.facebook.com/#!/events/260707307313375/">AmmanTT: Developer Edition</a>” next Tuesday 6th of December 2011. Never heard about AmmanTT? quoting from their <a href="http://ammantt.com/about-ammantt/">About</a> page:</p>
<blockquote><p><em>Coming to you on the first Tuesday of every month is a 2-hour event that brings industry experts, local technologists/engineers, entrepreneurs, idea-generators and just about any enthusiast together in a casual setting to meet and learn from each other</em></p></blockquote>
<p>I will be talking about the real-life side of the software development life cycle, and about the overlapping between Process and Humans in the cycle.  So mark your calendars, I will be very happy to meet you there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/12/speaking-at-ammantt-developer-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 and IE presentation on Microsoft Open Door</title>
		<link>http://www.emadashi.com/index.php/2011/11/html5-and-ie-presentation-on-microsoft-open-door/</link>
		<comments>http://www.emadashi.com/index.php/2011/11/html5-and-ie-presentation-on-microsoft-open-door/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 13:32:14 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Door]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/index.php/2011/11/html5-and-ie-presentation-on-microsoft-open-door/</guid>
		<description><![CDATA[And it’s over, the Microsoft Open Door event is behind us now, and so was my presentation about HTML5 and IE; all praise to god, the feedback was great and I am humbled by the nice compliments.    If you were among the audience and you have any comment, question, or critique, you [...]]]></description>
			<content:encoded><![CDATA[<p>And it’s over, the Microsoft Open Door event is behind us now, and so was my presentation about HTML5 and IE; all praise to god, the feedback was great and I am humbled by the nice compliments.    <br />If you were among the audience and you have any comment, question, or critique, you are most welcome to contact me anytime.</p>
<p>Below is the presentation slides as I promised:</p>
<div style="width: 425px" id="__ss_10025206"><strong style="margin: 12px 0px 4px; display: block"><a title="HTML5 &amp; IE" href="http://www.slideshare.net/splashup/html5-ie" target="_blank">HTML5 &amp; IE</a></strong> <iframe height="355" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/10025206" frameborder="0" width="425" marginwidth="0" scrolling="no"></iframe>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/splashup" target="_blank">Emad Alashi</a> </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/11/html5-and-ie-presentation-on-microsoft-open-door/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Speaking at Microsoft Open Door</title>
		<link>http://www.emadashi.com/index.php/2011/10/speaking-at-microsoft-open-door/</link>
		<comments>http://www.emadashi.com/index.php/2011/10/speaking-at-microsoft-open-door/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 14:13:44 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Door]]></category>
		<category><![CDATA[speak]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/index.php/2011/10/speaking-at-microsoft-open-door/</guid>
		<description><![CDATA[I will be speaking at this year’s Microsoft event Open Door; the session will be about HTML5 &#38; IE, including highlights on the main new specifications for HTML5, and how Microsoft is approaching it through IE and some of the dev tools.    It will be on Day 2, Track 3, at 3:00 [...]]]></description>
			<content:encoded><![CDATA[<p>I will be speaking at this year’s Microsoft event <a href="http://www.microsoft.com/middleeast/jordan/opendoor/">Open Door</a>; the session will be about HTML5 &amp; IE, including highlights on the main new specifications for HTML5, and how Microsoft is approaching it through IE and some of the dev tools.    <br />It will be on Day 2, Track 3, at 3:00 PM.</p>
<p>Check the event details and agenda <a href="http://www.microsoft.com/middleeast/jordan/opendoor/agenda.aspx#">here</a>, catch you there hopefully.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/10/speaking-at-microsoft-open-door/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>My MVP Award Dedication</title>
		<link>http://www.emadashi.com/index.php/2011/10/my-mvp-award-dedication/</link>
		<comments>http://www.emadashi.com/index.php/2011/10/my-mvp-award-dedication/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 07:36:09 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[community mvp]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/?p=377</guid>
		<description><![CDATA[Couple of days ago I received the wonderful email from Microsoft telling me that I was awarded the MVP; it really feels nice when you achieve results.  But the best part of all this is my friends’ reactions, the congrats, and the big smiles on the faces (not mentioning a generous gift from my [...]]]></description>
			<content:encoded><![CDATA[<p>Couple of days ago I received the wonderful email from Microsoft telling me that I was awarded the MVP; it really feels nice when you achieve results.  But the best part of all this is my friends’ reactions, the congrats, and the big smiles on the faces (not mentioning a generous gift from my colleagues <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://www.emadashi.com/misc/images/43c7709abec2_905/wlEmoticon-winkingsmile.png" />), to all these true friends I say big thank you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/10/my-mvp-award-dedication/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Continuous Integration Book Review</title>
		<link>http://www.emadashi.com/index.php/2011/05/continuous-integration-book-review/</link>
		<comments>http://www.emadashi.com/index.php/2011/05/continuous-integration-book-review/#comments</comments>
		<pubDate>Sat, 21 May 2011 13:05:07 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[continuous integration]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/index.php/2011/05/continuous-integration-book-review/</guid>
		<description><![CDATA[To be frank I hesitated a bit to review a “a Martin Fowlers signature book”, but I have to share this review with others; to set expectations.
The book “Continuous Integration” is ok, but it’s too general, that’s it!&#160; I have read several articles about Continuous Integration and posts here and there until I thought to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1305982047&amp;sr=1-1"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ContinuousIntegration-cover" border="0" alt="ContinuousIntegration-cover" align="right" src="http://www.emadashi.com/misc/images/Continuous-Integration-Book-Review_CB15/ContinuousIntegration-cover.jpg" width="185" height="244" /></a>To be frank I hesitated a bit to review a “a Martin Fowlers signature book”, but I have to share this review with others; to set expectations.</p>
<p><a href="http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1305982047&amp;sr=1-1">The book “Continuous Integration”</a> is ok, but it’s <u>too general</u>, that’s it!&#160; <br />I have read several articles about <a href="http://en.wikipedia.org/wiki/Continuous_integration">Continuous Integration</a> and posts here and there until I thought to myself “that’s it, it’s time to get the book, it’s time to delve deep into this”, to my surprise the content of the book was too general and it didn’t add much to the articles I read.</p>
<p>The book itself is nice, but if you have been reading about CI in the past and want to delve deeper, this is NOT the book you want to get.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/05/continuous-integration-book-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reflections on Jordev Web Camp</title>
		<link>http://www.emadashi.com/index.php/2011/05/reflections-on-jordev-web-camp/</link>
		<comments>http://www.emadashi.com/index.php/2011/05/reflections-on-jordev-web-camp/#comments</comments>
		<pubDate>Mon, 16 May 2011 22:11:05 +0000</pubDate>
		<dc:creator>Emad Alashi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[asp.net mvc]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dynamic data]]></category>
		<category><![CDATA[entity framework]]></category>
		<category><![CDATA[JorDev]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[web camp]]></category>

		<guid isPermaLink="false">http://www.emadashi.com/index.php/2011/05/reflections-on-jordev-web-camp/</guid>
		<description><![CDATA[Last Saturday 14th of May 2011 we had the first web camp in Jordan among Jordev’s activities, and it was great!     check my presentation slides at the end of this post.
The event was like the following:

8:30 AM – 9:00 AM: Registration 
9:00 AM – 1:00 PM: Four 50 minutes sessions with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.emadashi.com/misc/images/634a70b9a492_148FE/webcamps.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="webcamps" border="0" alt="webcamps" align="right" src="http://www.emadashi.com/misc/images/634a70b9a492_148FE/webcamps_thumb.png" width="244" height="194" /></a>Last Saturday 14th of May 2011 we had the first <a href="http://webcamps.ms">web camp</a> in Jordan among Jordev’s activities, and it was great!     <br /><em>check my presentation slides at the end of this post.</em></p>
<p>The event was like the following:</p>
<ol>
<li><strong>8:30 AM – 9:00 AM</strong>: Registration </li>
<li><strong>9:00 AM – 1:00 PM</strong>: Four 50 minutes sessions with 10 minutes between each for breaks, there was a few attendees at the beginning so we delayed the first session for couple of minutes (yes we have a morning problem here). Sessions were “<a href="http://www.slideshare.net/omarq/entity-framework41codefirst">Entity Framework 4.1</a>”, “<a href="http://www.slideshare.net/splashup/aspnet-mvc-one-step-deeper">ASP.NET MVC One Step Deeper</a>”, “Dynamic Data”, and “<a href="http://www.slideshare.net/i.omar/jquery-7978005">jQuery</a>” </li>
<li><strong>1:00 PM – 2:15 PM</strong>: lunch break, where people went to the near market and had their lunch there. </li>
<li><strong>2:15 PM – 4:30 PM</strong>: free coding session. </li>
</ol>
<p><strong>Things went great</strong>:</p>
<ol>
<li><strong>Enough people attended</strong>. The attendees were about 25 people spread all over a hall that takes at least 100, this gave us a great freedom in moving around and hocking cables freely on available slots. </li>
<li><strong>The attendees were great</strong>. It’s awesome that the attendees were really serious about the event; everyone brought his/her laptop charged and ready, every one was kind enough to pay the right attention, and everyone stayed to the last minute; it’s this passion and dedication that makes a successful event a successful event. </li>
<li><strong>Very good speakers</strong>. We were lucky enough to host one of the smartest and most active community members in Jordan: <a href="http://twitter.com/omarq">Omar Qadan</a>, <a href="https://www.facebook.com/mahmoud.manasrah?ref=ts">Mahmoud Manasrah</a>, and <a href="http://twitter.com/i_omar">Omar Muwahed</a> did a great job and delivered such a rich value, I was humbled to be among such intelligent speakers and share the stage with them. </li>
<li><strong>Topics were diverse</strong>. It’s true all web, but we covered four important parts that summed the basics of a web app: Entity Framework, ASP.NET MVC, Dynamic Data, and jQuery. </li>
<li><strong>There was no lunch arrangement hassle</strong>. Interestingly enough, we decided to skip the arrangement for lunch; we still had a lunch break and we provided fast coffee, but we revolted on the pattern of supplying sponsored food and snacks on the lunch break, this gave us the opportunity to concentrate more on delivering technical value, and less managerial things. Of course the near market made our decision a lot easier, in addition to our good luck of having such sufficient number of attendees. </li>
<li><strong>Two and half hours of Free coding</strong>. Actually this was pretty good; the free nature of the session allowed the attendees to contribute, and to ask their questions freely.       <br />We first gave the attendees the opportunity to try things on their own, then we suggested to have walkthroughs; started playing with some of the latest technologies <a href="http://nuget.codeplex.com/">NuGet</a> and <a href="http://getglimpse.com/">Glimpse</a>, then a walkthrough on ASP.NET MVC, then finally a brief general talk about <a href="http://www.odata.org/">OData</a>.
<p>Though I see a big space for improvement here; the down side is that there was a dominant stream because the presenter used the main desk and the presentation screen to talk to the majority in the walkthroughs, which was a distraction to the individuals who wanted to try things on their own, anyway I didn’t hear any complaints.       <br />We had an option to distribute people among groups depending on the technology they want to learn, but it appeared that it was little bit hard to organize, and the attendees in majority agreed to the way we concluded. </li>
<li><strong>The DVD accumulated for the event</strong>. We accumulated a DVD that contains <a href="http://www.microsoft.com/express/Downloads/">Visual Studio 2010 Express</a>, SQL 2008 Express, VS2010 SP1, <a href="http://nerddinner.codeplex.com/">NerdDinner</a> sample, and <a href="http://mvcmusicstore.codeplex.com/">MVCMusicStore</a> sample. This helped others to boot up fast with the event, and a nice thing for the attendees to go home with. </li>
</ol>
<p><strong>Things went wrong</strong>:</p>
<ol>
<li><strong>Marketing the event</strong>. We thought that we should limit the number of the attendees to 80 so we don’t end up in crowded auditorium, so we did, and 80 people registered on <a href="http://ammanwebcamp.eventbrite.com/">EventBrite</a> in less than 48 hours of declaring the event on Facebook and Twitter. To our <strike>sad </strike>happy surprise only 25 people showed up! I know that not all event registrars attend the events they register for online, but the percent is strikingly high! 75% not attending?! what was wrong?       <br />I think we didn’t do enough reminders, apparently people are lazy about keeping their calendars </li>
<li><strong>SQL Express installation file was 64 bit</strong>. 32 bit OS is still the most common OS here, so we missed that up. </li>
</ol>
<p><strong>Things we did for preparations</strong>:</p>
<ol>
<li>Distributed tasks among us (four people) so everyone had a clear task, this way we made sure we don’t miss anything due to ambiguity in responsibilities </li>
<li>One of us made sure the hall was booked (more tedious than you think!) </li>
<li>Created an event on EventBrite and shared the link over a mailing list, Facebook, and Twitter </li>
<li>Brought enough 3-in-1 packs of Nescafe, one electronic kettle for hot water, and many small bottles of water </li>
<li>Burned out DVD’s with free content (check above) </li>
<li>Brought 3 multi-slot plugs to support the many laptops with electricity </li>
<li>Rehearsed enough for the presentations <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.emadashi.com/misc/images/634a70b9a492_148FE/wlEmoticon-smile.png" /> </li>
</ol>
<p>That was about it, I hope this reading benefits you and good luck with YOUR web camps. </p>
<p><a title="Speakers: Omar Qadan, Emad Alashi, Omar Muwahed, Mahmoud Manasrah" href="https://www.facebook.com/photo.php?fbid=1826103651198&amp;set=a.1825424874229.2097054.1198472243&amp;type=1&amp;theater" target="_blank"><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="Jordev-Webcamp-Speakers" border="0" alt="Jordev-Webcamp-Speakers" src="http://www.emadashi.com/misc/images/634a70b9a492_148FE/Jordev-Webcamp-Speakers.jpg" width="533" height="357" /></a></p>
<p>My presentation slides embedded:</p>
<div style="width: 425px" id="__ss_7978582"><strong style="margin: 12px 0px 4px; display: block"><a title="ASP.NET MVC One Step Deeper" href="http://www.slideshare.net/splashup/aspnet-mvc-one-step-deeper">ASP.NET MVC One Step Deeper</a></strong> <iframe height="355" marginheight="0" src="http://www.slideshare.net/slideshow/embed_code/7978582" frameborder="0" width="425" marginwidth="0" scrolling="no"></iframe>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/splashup">Emad Alashi</a> </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.emadashi.com/index.php/2011/05/reflections-on-jordev-web-camp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

