<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Mina Labib</title>
	<atom:link href="http://minalabib.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://minalabib.wordpress.com</link>
	<description>While (!Life.End){ Think(); }</description>
	<lastBuildDate>Tue, 08 Feb 2011 18:32:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='minalabib.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Mina Labib</title>
		<link>http://minalabib.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://minalabib.wordpress.com/osd.xml" title="Mina Labib" />
	<atom:link rel='hub' href='http://minalabib.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Magnolia CMS team recognize me</title>
		<link>http://minalabib.wordpress.com/2011/02/08/magnolia-cms-team-recognize-me/</link>
		<comments>http://minalabib.wordpress.com/2011/02/08/magnolia-cms-team-recognize-me/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 18:30:49 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[magnolia]]></category>
		<category><![CDATA[Magnolia cms]]></category>
		<category><![CDATA[recognition]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/?p=134</guid>
		<description><![CDATA[Last couple of  weeks, I&#8217;ve been assigned to new task to help in understand, administer, and develop in a new technology CMS  (at least for myself).  Magnolia CMS is a Java based content management system, and for my company and myself was new. In that short time I got a good understanding about the technology and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=134&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last couple of  weeks, I&#8217;ve been assigned to new task to help in understand, administer, and develop in a new technology CMS  (at least for myself).  <a title="Magnolia CMS" href="http://www.magnolia-cms.com/" target="_blank">Magnolia CMS</a> is a Java based content management system, and for my company and myself was new.</p>
<p>In that short time I got a good understanding about the technology and actually I participated with Magnolia team to find an issue and report it to be fixed in next release, and actually in latest Magnolia version release note they recognized me as one of those who helped in making Magnolia better.</p>
<p>Below is a link for Magnolia public release note along with my name (Mina Labib) in first section.</p>
<p><a href="http://documentation.magnolia-cms.com/releases/4-4-2.html">http://documentation.magnolia-cms.com/releases/4-4-2.html</a></p>
<p>I am so happy to be able to help Magnolia in their job and to get  a good understanding for a new technology in short period. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/134/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=134&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2011/02/08/magnolia-cms-team-recognize-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>
	</item>
		<item>
		<title>VS2010 and .NET4 released</title>
		<link>http://minalabib.wordpress.com/2010/04/14/vs2010-and-net4-released/</link>
		<comments>http://minalabib.wordpress.com/2010/04/14/vs2010-and-net4-released/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 14:58:19 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[.NET4]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2010/04/14/vs2010-and-net4-released/</guid>
		<description><![CDATA[Hurrey! The new Visual Studio version released couple of days ago and it looks pretty good, faster, and has many and many enhancements; it comes along with .NET 4 framework and ASP.NET 4, new enhancements and features are exist there. Also VS 2010 comes by default with MVC 2.0 version and editor tools. Here is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=129&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hurrey! The new <a title="Visual Studio" rel="tag" href="http://www.microsoft.com/visualstudio/en-us" target="_blank">Visual Studio</a> version released couple of days ago and it looks pretty good, faster, and has many and many enhancements; it comes along with <a title=".NET" rel="tag" href="http://www.microsoft.com/net/" target="_blank">.NET</a> 4 framework and ASP.NET 4, new enhancements and features are exist there.</p>
<p>Also VS 2010 comes by default with <a title="MVC" rel="tag" href="http://www.asp.net/mvc/" target="_blank">MVC</a> 2.0 version and editor tools.</p>
<p><a title="VS 2010 and .NET 4.0 review" href="http://minalabib.wordpress.com/2009/11/11/vs-2010-and-net-4-0/" target="_blank">Here is an early review</a> I have built while it was still in Beta version.</p>
<p>You will find a good list of what is new and enhancements in our beloved <a title="ScuttGo Blog" href="http://weblogs.asp.net/scottgu/default.aspx" target="_blank">ScuttGo</a> blog <a title="Visual Studio 2010 and .NET 4 Released" href="http://weblogs.asp.net/scottgu/archive/2010/04/12/visual-studio-2010-and-net-4-released.aspx" target="_blank">post</a>.</p>
<p><img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="home-hero-boxshot" src="http://minalabib.files.wordpress.com/2010/04/homeheroboxshot.png?w=240&#038;h=153" border="0" alt="home-hero-boxshot" width="240" height="153" /></p>
<p><span style="font-size:xx-small;"><em>Photo from Visual studio <a href="http://www.microsoft.com/visualstudio/en-us" target="_blank">official website</a>.</em></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=129&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2010/04/14/vs2010-and-net4-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2010/04/homeheroboxshot.png" medium="image">
			<media:title type="html">home-hero-boxshot</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET MVC handle exceptions</title>
		<link>http://minalabib.wordpress.com/2010/02/23/asp-net-mvc-handle-exceptions/</link>
		<comments>http://minalabib.wordpress.com/2010/02/23/asp-net-mvc-handle-exceptions/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 15:32:47 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[aspnetmvc]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Exception]]></category>
		<category><![CDATA[exception hadling]]></category>
		<category><![CDATA[onexception]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2010/02/23/asp-net-mvc-handle-exceptions/</guid>
		<description><![CDATA[ASP.NET MVC has a cool and neat way to catch and handle exceptions, I will show here a quick review for handling exceptions in MVC framework and I will present small addition I added too. The main idea here is all processes and work flow should go through a Controller and an Action method inside [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=124&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ASP.NET MVC has a cool and neat way to catch and handle exceptions, I will show here a quick review for handling exceptions in MVC framework and I will present small addition I added too.</p>
<p>The main idea here is all processes and work flow should go through a <a title="MSDN - ASP.NET MVC Controller" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.aspx" target="_blank">Controller</a> and an Action method inside that controller, so if any exception or error happened in any step of the work flow (DAl, BL, action, model, server side validation, etc … ) it should end up at the Controller/Action level, ASP.NET MVC provide a nice technique with <a title="MSDN - APS.NET MVC OnException" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.onexception.aspx" target="_blank">OnException</a> even handler which can be overridden in your controller, and thus all exception that is bubbled up to the action will be caught and handled in this method.</p>
<p>Ok, enough talk let’s code, I have a base controller that all my controllers inherit from and I believe it good practice:</p>
<p> <span style="color:blue;">public class </span><span style="color:#2b91af;">ApplicationControllerBase </span>: <span style="color:#2b91af;">Controller</span>
<p>&#160;</p>
<p>and inside that base controller I override the OnException event handler</p>
<p><span style="color:blue;">protected override void </span>OnException(<span style="color:#2b91af;">ExceptionContext </span>filterContext)     <br />{     <br />&#160;&#160;&#160; <span style="color:blue;">base</span>.OnException(filterContext);     <br />&#160;&#160;&#160; <span style="color:green;">// TODO: Handle exception      <br />&#160;&#160;&#160; // Log in file or database for example       <br />&#160;&#160;&#160; </span><span style="color:#2b91af;">ArrayList </span>TempArrayList = <span style="color:blue;">new </span><span style="color:#2b91af;">ArrayList</span>();     <br />&#160;&#160;&#160; TempArrayList.AddRange(<span style="color:#2b91af;">ConfigurationSettings</span>.AppSettings[<span style="color:#a31515;">&quot;ToBeViewed&quot;</span>].Split(<span style="color:#a31515;">&#8216;,&#8217;</span>));     <br />&#160;&#160;&#160; <span style="color:green;">// to pass a toggle that tells      <br />&#160;&#160;&#160; // the view to show the exception message or not.       <br />&#160;&#160;&#160; </span><span style="color:blue;">if </span>(TempArrayList.Contains(filterContext.Exception.GetType().Name))     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; filterContext.Exception.Data.Add(<span style="color:#a31515;">&quot;IsViewable&quot;</span>, <span style="color:blue;">true</span>);     <br />&#160;&#160;&#160; <span style="color:blue;">else      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>filterContext.Exception.Data.Add(<span style="color:#a31515;">&quot;IsViewable&quot;</span>, <span style="color:blue;">false</span>);     <br />&#160;&#160;&#160;&#160; <span style="color:green;">// to tell .NET framework the exception is      <br />&#160;&#160;&#160; </span><span style="color:green;">// handled and does not show yellow exception page.      <br /></span>&#160;&#160; filterContext.ExceptionHandled = <span style="color:blue;">true</span>;     <br />&#160;&#160;&#160; <span style="color:green;">// to direct to the error view,      <br />&#160;&#160;&#160; // passing the exception as a model.       <br />&#160;&#160;&#160; </span><span style="color:blue;">this</span>.View(<span style="color:#a31515;">&quot;Error&quot;</span>, filterContext.Exception).ExecuteResult(<span style="color:blue;">this</span>.ControllerContext);     <br />}</p>
<p>In the method we should handle exception according to our needs (log the exception for example), and then tells the framework that the exception is handled and not to show the ugly yellow exception page of .NET by using (filterContext.ExceptionHandled = <span style="color:blue;">true</span>; ).</p>
<p>Also I built a comma separated list of exception names in the web.config file, and if the caught exception is one of these specified exceptions, system will send a flag to the error page to show the exception message or not.</p>
<p>And then the context will redirect to the error view (by default in MVC this page is generated Views/Shared/Error.aspx), I edited this view to accept System.Exception as model and view the error message according to toggle preset in the exception object:</p>
<p><span style="background:#ffee62;">&lt;%</span><span style="color:blue;">@</span><span style="color:#a31515;">Page</span><span style="color:red;">Language</span><span style="color:blue;">=&quot;C#&quot; </span><span style="color:red;">MasterPageFile</span><span style="color:blue;">=&quot;~/Views/Shared/Site.Master&quot; </span><span style="color:red;">Inherits</span><span style="color:blue;">=&quot;System.Web.Mvc.ViewPage<strong><u>&lt;System.Exception&gt;</u></strong>&quot;</span><span style="background:#ffee62;">%&gt;      <br /></span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Content</span><span style="color:red;">ID</span><span style="color:blue;">=&quot;errorTitle&quot;</span><span style="color:red;">ContentPlaceHolderID</span><span style="color:blue;">=&quot;TitleContent&quot;</span><span style="color:red;">runat</span><span style="color:blue;">=&quot;server&quot;&gt;      <br />&#160;&#160; </span><span style="background:#ffee62;">Error Page</span>&#160;&#160;&#160;&#160;&#160;&#160; <br /><span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Content</span><span style="color:blue;">&gt;      <br />&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Content</span><span style="color:red;">ID</span><span style="color:blue;">=&quot;errorContent&quot;</span><span style="color:red;">ContentPlaceHolderID</span><span style="color:blue;">=&quot;MainContent&quot;</span><span style="color:red;">runat</span><span style="color:blue;">=&quot;server&quot;&gt;      <br />&#160;&#160;&#160; &lt;</span><span style="color:#a31515;">h2</span><span style="color:blue;">&gt;      <br />&#160;&#160; Sorry, an error occurred while processing your request.</span>&#160; <br />&#160;&#160;&#160; <span style="color:blue;">&lt;/</span><span style="color:#a31515;">h2</span><span style="color:blue;">&gt;      <br />&#160;&#160; </span><span style="background:#ffee62;">&lt;%</span> if ((bool)Model.Data[&quot;IsViewable&quot;]){ <span style="background:#ffee62;">%&gt;      <br /></span>&#160;&#160;&#160; <span style="color:blue;">&lt;</span><span style="color:#a31515;">div</span><span style="color:blue;">&gt;      <br />&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="background:#ffee62;">&lt;%</span><span style="color:blue;">=</span>Model.Message <span style="background:#ffee62;">%&gt;      <br /></span>&#160;&#160;&#160; <span style="color:blue;">&lt;/</span><span style="color:#a31515;">div</span><span style="color:blue;">&gt;      <br />&#160;&#160; </span><span style="background:#ffee62;">&lt;%</span> } <span style="background:#ffee62;">%&gt;      <br /></span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Content</span><span style="color:blue;">&gt;</span></p>
<p> Thanks for this <a title="ASP.NET MVC HandleError Attribute, Custom Error Pages and Logging Exceptions" href="http://blog.dantup.com/2009/04/aspnet-mvc-handleerror-attribute-custom.html" target="_blank">post</a> for help in that.   </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=124&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2010/02/23/asp-net-mvc-handle-exceptions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>
	</item>
		<item>
		<title>Localizing ASP.NET MVC web application</title>
		<link>http://minalabib.wordpress.com/2010/01/27/localizing-asp-net-mvc-web-application/</link>
		<comments>http://minalabib.wordpress.com/2010/01/27/localizing-asp-net-mvc-web-application/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 18:47:13 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[global resourcs]]></category>
		<category><![CDATA[globalization]]></category>
		<category><![CDATA[Local resource]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[multi-language]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2010/01/27/localizing-asp-net-mvc-web-application/</guid>
		<description><![CDATA[As I mentioned in last post, using straight forward .NET localization feature will not buy us any benefits in as ASP.NET MVC application, the reasons again are: ASP.NET MVC web applications do not use server control, which will make us lose the advantage of localize controls implicitly. Resources can’t be used outside the web application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=117&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in last <a title="Local Resources vs Global Resources in .NET" href="http://minalabib.wordpress.com/2010/01/27/local-resources-vs-global-resources-in-net/">post</a>, using straight forward .NET localization feature will not buy us any benefits in as ASP.NET MVC application, the reasons again are:</p>
<ul>
<li>ASP.NET MVC web applications do not use server control, which will make us lose the advantage of localize controls implicitly. </li>
<li>Resources can’t be used outside the web application (I am talking about the Global resources here) </li>
</ul>
<p>So I did some search and I found some approaches and following is the one I liked the most. </p>
<ul>
<li>Create a new class library project in you solution which will have all resources (Global and/or Local) files needed. </li>
<li>Add resource file to the project (i.e. Global.resx) and any other languages versions of this file. </li>
<li>Open the properties window for that file (right click the file –&gt; Properties); you will find this by default its Build Action is Embedded Resource. </li>
<li>Change Custom Tool property to PublicResXFileCodeGenerator instead of ResXFileCodeGenerator, you can do that by opening the resource file in the editor and change the Access Modifier drop down list to Public.      <br /><img style="display:inline;margin-left:0;margin-right:0;border-width:0;" title="LCAL01" border="0" alt="LCAL01" src="http://minalabib.files.wordpress.com/2010/01/lcal01.png?w=661&#038;h=146" width="661" height="146" /> </li>
<li>add your Custom Tool Namespace property to whatever namespace you like to use (i.e. MyResources)      <br /><img style="display:inline;border-width:0;" title="LCAL00" border="0" alt="LCAL00" src="http://minalabib.files.wordpress.com/2010/01/lcal00.png?w=501&#038;h=196" width="501" height="196" /> </li>
<li>Include a reference for this project and enjoy the strongly typed resources objects (i.e. MyResources.Global.string1). </li>
</ul>
<p>By having custom namespace you can build your own structure for resources files; (MyResources.Global, MyResources.Views.About, MyResources.ValidationMessages, etc…)</p>
<p>Also it does not break .NET native localization, so you still can add App_GlobalResources and App_LocalResources folder and add resources files and use them as discussed <a title="Local Resources vs Global Resources in .NET" href="http://minalabib.wordpress.com/2010/01/27/local-resources-vs-global-resources-in-net/">here</a>.</p>
<p>Thanks for this <a title="Resource Files and ASP.NET MVC Projects" href="http://odetocode.com/blogs/scott/archive/2009/07/15/resource-files-and-asp-net-mvc-projects.aspx" target="_blank">post</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=117&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2010/01/27/localizing-asp-net-mvc-web-application/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2010/01/lcal01.png" medium="image">
			<media:title type="html">LCAL01</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2010/01/lcal00.png" medium="image">
			<media:title type="html">LCAL00</media:title>
		</media:content>
	</item>
		<item>
		<title>Local Resources vs Global Resources in .NET</title>
		<link>http://minalabib.wordpress.com/2010/01/27/local-resources-vs-global-resources-in-net/</link>
		<comments>http://minalabib.wordpress.com/2010/01/27/local-resources-vs-global-resources-in-net/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 18:44:24 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[global resourcs]]></category>
		<category><![CDATA[globalization]]></category>
		<category><![CDATA[Local resource]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[multi-language]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2010/01/27/local-resources-vs-global-resources-in-net/</guid>
		<description><![CDATA[The idea here is to build a multi-language web application using ASP.NET MVC 1.0. It is known that since .NET 2.0 it is already coming with a good technique for globalization and localization for its .aspx pages, .ascx files, and string in the code behind; by adding App_GlobalResources and App_LocalResources folders and add to these [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=114&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The idea here is to build a multi-language web application using ASP.NET MVC 1.0. It is known that since .NET 2.0 it is already coming with a good technique for globalization and localization for its .aspx pages, .ascx files, and string in the code behind; by adding App_GlobalResources and App_LocalResources folders and add to these folders a resources files (.resx).</p>
<p><strong><u>Local Resources vs. Global Resources:</u></strong></p>
<p><strong>Local resource</strong> files are located in App_LocalResources folder and accessed only by the pages it is assigned to, and it can be implicitly accessed by the asp server controls properties as following:</p>
<p><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label </span><span style="color:red;">ID</span><span style="color:blue;">=&quot;Label1&quot; </span><span style="color:red;">runat</span><span style="color:blue;">=&quot;server&quot; </span><span style="color:red;">Text</span><span style="color:blue;">=&quot;Label&quot; </span><em><u><span style="color:#a31515;">meta</span><span style="color:blue;">:</span><span style="color:red;">resourcekey</span></u></em><span style="color:blue;"><em><u>=&quot;Label1&quot;</u></em>&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label</span><span style="color:blue;">&gt;</span> </p>
<p>This meta:resourcekey attributes till the server control to grab it is details strings from the page resource file implicitly which should have the following name convention</p>
<p align="center"><em>&lt;pagename&gt;.aspx.[&lt;language&gt;-&lt;culture&gt;].resx</em></p>
<p align="left">and for default language file which used for fallback</p>
<p align="center"><em>&lt;pagename&gt;.aspx.resx</em></p>
<p align="left">These files can have entry for each server control’s attribute (Label1.Text,Label1.ToolTip, etc…).</p>
<p align="left"><strong>Global resource</strong> files are located in App_GlobalResources folder and it is accessed by any code in the web application, the file name does not have any strict convention &#8211; except for the .resx extension of course –, and also ASP.NET generates a strongly typed object that gives you a simple way to access programmatically the global resources.</p>
<p align="center"><em>Resources.&lt;resource file name&gt;.&lt;resource item key&gt;</em></p>
<p>you can use any combination of global and local resources, global resources are mainly used for shared resources between pages, and to access strongly typed resources programmatically.</p>
<p>The downsides I faced are those resources are not accessed within other project in the solution other than the web application project, and also in ASP.NET MVC it is not recommended to use server side controls so we do not buy anything from the implicit resources binding.</p>
<p>I will elaborate on a solution for ASP.NET MVC based application in this <a title="Localizing ASP.NET MVC web application" href="http://minalabib.wordpress.com/2010/01/27/localizing-asp-net-mvc-web-application/">post</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=114&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2010/01/27/local-resources-vs-global-resources-in-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>
	</item>
		<item>
		<title>Adding double quote in NAnt task</title>
		<link>http://minalabib.wordpress.com/2009/12/18/adding-double-quote-in-nant-task/</link>
		<comments>http://minalabib.wordpress.com/2009/12/18/adding-double-quote-in-nant-task/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 19:49:14 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[NAnt]]></category>
		<category><![CDATA[vs2008]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2009/12/18/adding-double-quote-in-nant-task/</guid>
		<description><![CDATA[I was struggling this morning with issue in simple NAnt script, I was trying to uses &#60;exec&#62; task to call msbuild tool. Ok quick brief on the issue, NAnt 0.86 Beta 1 does not able to run its solution task to build Microsoft Visual Studio solutions against Visual Studio 2008 solution files, however it can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=110&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was struggling this morning with issue in simple NAnt script, I was trying to uses &lt;exec&gt; task to call msbuild tool. </p>
<p>Ok quick brief on the issue, <a title="NAnt 0.86 Beta 1" href="http://nant.sourceforge.net/release/0.86-beta1/help/" target="_blank">NAnt 0.86 Beta 1</a> does not able to run its <a title="NAntContib - Solution" href="http://nant.sourceforge.net/release/0.86-beta1/help/tasks/solution.html" target="_blank">solution</a> task to build Microsoft Visual Studio solutions against Visual Studio 2008 solution files, however it can build solution for .NET 3.5 Framework. so I found two solutions –till now-, both of them are using <a title="MSBuild - MSDN" href="http://msdn.microsoft.com/en-us/library/wea2sca5.aspx" target="_blank">MSBuild</a> tool to build my solution with two different ways; first one is to use <a title="NAntConrib website" href="http://nantcontrib.sourceforge.net/" target="_blank">NAntContrib</a> as extension for NAnt and use its <a title="NAntContrib - msbuild" href="http://nantcontrib.sourceforge.net/release/0.85-rc4/help/tasks/msbuild.html" target="_blank">msbuild</a> task to fire msbuild tool – I did not try that yet –, and the other one is to use NAnt <a title="NAnt - exec" href="http://nant.sourceforge.net/release/latest/help/tasks/exec.html" target="_blank">exec</a> task to call msbuild tool and throw to it my solution file as parameter; and while I am try that I found issue, I need to add /p:Platform=”Any CPU” as msbuild command switch but how to add double quote to task attributes, it fails if I wrote:</p>
<pre class="code"><span style="color:blue;">&lt;</span><span style="color:#a31515;">exec </span><span style="color:red;">program</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">${framework::get-framework-directory
      (framework::get-target-framework())}\msbuild.exe</span>&quot;
      <span style="color:red;">commandline</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">mysolution.sln /p:Platform=”Any CPU”</span>&quot;<span style="color:blue;">/&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Fortunately, I found nice simple <a title="Passing double/single quote in Nant task" href="http://jingyeluo.blogspot.com/2005/10/passing-doublesingle-quote-in-nant.html" target="_blank">post</a> to solve this issue by adding property to NAnt script with double quote as value and use it in my command as following:</p>
<pre class="code"><span style="color:blue;">&lt;</span><span style="color:#a31515;">property </span><span style="color:red;">name</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">dbl_quote</span>&quot; <span style="color:red;">value</span><span style="color:blue;">=</span>'<span style="color:blue;">&quot;</span>'<span style="color:blue;">/&gt;
&lt;</span><span style="color:#a31515;">exec </span><span style="color:red;">program</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">${framework::get-framework-directory
      (framework::get-target-framework())}\msbuild.exe</span>&quot;
      <span style="color:red;">commandline</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">mysolution.sln
      /p:Platform=”${dbl_quote}Any CPU${dbl_quote}</span>&quot;<span style="color:blue;">/&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a>It is nice and quick solution.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=110&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2009/12/18/adding-double-quote-in-nant-task/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET MVC 2 RC</title>
		<link>http://minalabib.wordpress.com/2009/12/17/asp-net-mvc-2-rc/</link>
		<comments>http://minalabib.wordpress.com/2009/12/17/asp-net-mvc-2-rc/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 16:23:29 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2009/12/17/asp-net-mvc-2-rc/</guid>
		<description><![CDATA[About month ago the Beta version was released, and now ASP.NET MVC team is announcing to day that ASP.NET MVC 2 RC is out there and that release candidate is ready to be downloaded and play around with. Mainly it is focused in bug fixing, improving current features, and performance tuning and you can as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=109&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>About month ago the Beta version was released, and now ASP.NET MVC team is announcing to day that ASP.NET MVC 2 RC is out there and that release candidate is ready to be <a title="ASP.NET MVC  2 RC" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3b537c55-0948-4e6a-bf8c-aa1a78878da0&amp;displaylang=en" target="_blank">downloaded</a> and play around with.</p>
<p>Mainly it is focused in bug fixing, improving current features, and performance tuning and you can as usual read the <a title="ASP.NET MVC 2 RC release notes" href="http://go.microsoft.com/fwlink/?LinkID=157072" target="_blank">release notes</a> for more details. Mainly the focus in Beta and RC releases are in the validation, validation localization, HTML.RenderAction and HTML.Action, you will find more details in this <a title="Haacked blog" href="http://haacked.com/archive/2009/11/17/asp.net-mvc-2-beta-released.aspx" target="_blank">post</a>.</p>
<p>This version is for Visual Studio 2008 and should come in the RTM of Visual studio 2010 which should come out sometime in next March.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=109&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2009/12/17/asp-net-mvc-2-rc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>
	</item>
		<item>
		<title>Steps to enable NAnt intellisense in Visual Studio</title>
		<link>http://minalabib.wordpress.com/2009/12/16/steps-to-enable-nant-intellisense-in-visual-studio/</link>
		<comments>http://minalabib.wordpress.com/2009/12/16/steps-to-enable-nant-intellisense-in-visual-studio/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 17:26:42 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[NAnt]]></category>
		<category><![CDATA[VS]]></category>
		<category><![CDATA[vs2008]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2009/12/16/steps-to-enable-nant-intellisense-in-visual-studio/</guid>
		<description><![CDATA[NAnt is helpful, open source, and free tool for automated .NET-build process, same as Ant but it is targeting .NET frameworks rather than Java, and according to Wikipedia the name NAnt is coming from Not Ant NAnt allows you to build a script (XML Script) configuring tasks and dependencies with reach NAnt functions, expressions, data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=108&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>NAnt is helpful, open source, and free tool for automated .NET-build process, same as Ant but it is targeting .NET frameworks rather than Java, and according to <a title="Wikipedia - NAnt" href="http://en.wikipedia.org/wiki/NAnt" target="_blank">Wikipedia</a> the name NAnt is coming from Not Ant <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>NAnt allows you to build a script (XML Script) configuring tasks and dependencies with reach NAnt functions, expressions, data types etc…</p>
<p>Alright, going back to this post purpose; here you are the steps to allow NAnt intellisense in VS 2008 (I believe for other VS versions too) in Windows operating systems.</p>
<ul>
<li>Download Nant binaries or source code from <a title="NAnt website" href="http://nant.sourceforge.net/" target="_blank">here</a>, I will go with latest one NAnt 0.86 Beta 1. </li>
<li>Extract the compressed folder and follow NAnt installation steps as explained <a title="NAnt installtion steps" href="http://nant.sourceforge.net/release/0.86-beta1/help/introduction/installation.html" target="_blank">here</a>. </li>
<li>Copy nant.xsd file from extracted folder (&lt;Base installation directory&gt;\schema\nant.xsd) </li>
<li>Paste this file into XML schema folder in Visual Studio installation directory; it should be as following in x32 bit operating systems (C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas) or (C:\Program Files (x86)\Microsoft Visual Studio 9.0\Xml\Schemas) in x64 bit operating systems. </li>
</ul>
<ul>You should be done now with those steps, do start new NAnt XML script and get use of Intellisense, create new XML file in VS 2008, and in the root node &lt;project&gt; add the attribute xmlns=” now you should see NAnt schema in the drop down list as bellow:</ul>
<ul><img style="display:inline;border-width:0;" title="NAnt01" border="0" alt="NAnt01" src="http://minalabib.files.wordpress.com/2009/12/nant01.png?w=640&#038;h=241" width="640" height="241" /></ul>
<ul>And now you have NAnt XML intellisense enabled in VS 2008 as bellow:</ul>
<ul><img style="display:inline;border-width:0;" title="NAnt02" border="0" alt="NAnt02" src="http://minalabib.files.wordpress.com/2009/12/nant02.png?w=640&#038;h=288" width="640" height="288" />&#160; </ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=108&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2009/12/16/steps-to-enable-nant-intellisense-in-visual-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2009/12/nant01.png" medium="image">
			<media:title type="html">NAnt01</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2009/12/nant02.png" medium="image">
			<media:title type="html">NAnt02</media:title>
		</media:content>
	</item>
		<item>
		<title>Using IIS SEO Toolkit</title>
		<link>http://minalabib.wordpress.com/2009/12/15/using-iis-seo-toolkit/</link>
		<comments>http://minalabib.wordpress.com/2009/12/15/using-iis-seo-toolkit/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 19:52:45 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Tech News]]></category>
		<category><![CDATA[IIS SEO Toolkit]]></category>
		<category><![CDATA[MS SEO Toolkit]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2009/12/15/using-iis-seo-toolkit/</guid>
		<description><![CDATA[I had the chance today to be introduced to Microsoft tool helps to get Search Engine Optimization (SEO) websites, it is obvious now that most of traffic on website are coming from search engines like Google, Yahoo, and Bing. So it good idea to have your website optimized for those search engines. Microsoft IIS SEO [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=100&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I had the chance today to be introduced to Microsoft tool helps to get Search Engine Optimization (SEO) websites, it is obvious now that most of traffic on website are coming from search engines like <a title="Google" href="http://www.google.com/" target="_blank">Google</a>, <a title="Yahoo!" href="http://www.yahoo.com/" target="_blank">Yahoo</a>, and <a title="Bing" href="http://www.bing.com/" target="_blank">Bing</a>. So it good idea to have your website optimized for those search engines.</p>
<p>Microsoft IIS SEO toolkit helps you to identify violations and errors in your website, by crawling it and check every single page returning a handy report for website violations, content, performance, etc…</p>
<p>I used it for my first time today after reading about it in ScottGu blog <a title="Search Engine Optimization (SEO) Toolkit" href="http://weblogs.asp.net/scottgu/archive/2009/12/15/search-engine-optimization-seo-toolkit.aspx" target="_blank">post</a>, and it amazed me with the good and useful details to help make my website more available for search engines. </p>
<p>To install IIS SEO toolkit you need to have IIS 7 in your machine but it is not required to have IIS 7 on your website server it works fine with IIS 5, IIS 6, IIS 7, IIS 7.5, and Apache web server on Linux.</p>
<p>You can use <a title="Microsoft Web Platform Installer" href="http://www.microsoft.com/web/downloads/platform.aspx" target="_blank">Microsoft Web Platform Installer</a> to install IIS SEO toolkit, or by visiting <a title="IIS SEO toolkit webpage" href="http://www.microsoft.com/web/page.aspx?templang=en-us&amp;chunkfile=seo.html" target="_blank">IIS SEO toolkit webpage</a> which I believe will direct you to Microsoft Web Platform Installer too.</p>
<p>Once you installed IIS SEO toolkit, you can use it through IIS 7 manager, you will find a shortcut for it as shown below    </p>
<p> <span id="more-100"></span>
<p>&#160;</p>
<p><img style="border-bottom:0;border-left:0;display:inline;margin-left:0;border-top:0;margin-right:0;border-right:0;" title="SEO01" border="0" alt="SEO01" src="http://minalabib.files.wordpress.com/2009/12/seo011.png?w=640&#038;h=417" width="640" height="417" /></p>
<p>Then by opening this option you can start new website analysis as shown below</p>
<p><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="SEO02" border="0" alt="SEO02" src="http://minalabib.files.wordpress.com/2009/12/seo021.png?w=640&#038;h=418" width="640" height="418" />&#160;</p>
<p>And insert analysis name and start URL as below (if you did not choose machine name node in IIS you will not see Start URL field)</p>
<p>&#160;<img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="SEO03" border="0" alt="SEO03" src="http://minalabib.files.wordpress.com/2009/12/seo031.png?w=512&#038;h=480" width="512" height="480" /> </p>
<p>Then by clicking Ok you should get a report for your website in a very helpful format just like the below image</p>
<p><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="SEO04" border="0" alt="SEO04" src="http://minalabib.files.wordpress.com/2009/12/seo041.png?w=640&#038;h=417" width="640" height="417" /> </p>
<p>You can also have details about each violation or error, I am still working on that to know more about that. I recommend to use IIS SEO or at least to try it, it should not take long time to try it and you will find a good usage from it for you website.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=100&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2009/12/15/using-iis-seo-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2009/12/seo011.png" medium="image">
			<media:title type="html">SEO01</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2009/12/seo021.png" medium="image">
			<media:title type="html">SEO02</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2009/12/seo031.png" medium="image">
			<media:title type="html">SEO03</media:title>
		</media:content>

		<media:content url="http://minalabib.files.wordpress.com/2009/12/seo041.png" medium="image">
			<media:title type="html">SEO04</media:title>
		</media:content>
	</item>
		<item>
		<title>Extending Cache to Get Or Insert data</title>
		<link>http://minalabib.wordpress.com/2009/12/14/extending-cache-to-get-or-insert-data/</link>
		<comments>http://minalabib.wordpress.com/2009/12/14/extending-cache-to-get-or-insert-data/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 21:10:39 +0000</pubDate>
		<dc:creator>Mina Labib</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Caching]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Generics]]></category>

		<guid isPermaLink="false">http://minalabib.wordpress.com/2009/12/14/extending-cache-to-get-or-insert-data/</guid>
		<description><![CDATA[In current project I was planning to build caching functionality to keep some shared and not frequently changed data, I figured out that I will be using a lot of Cache[string Key], Cache.Get(), and/or Cache.Insert() methods. and that means I have to check if the data is in the cache already and if not I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=94&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In current project I was planning to build caching functionality to keep some shared and not frequently changed data, I figured out that I will be using a lot of Cache[string Key], Cache.Get(), and/or Cache.Insert() methods. and that means I have to check if the data is in the cache already and if not I have to insert the data to the cache object.</p>
<p>I was thinking about having a method to check and update the cache without rewriting that over and over again, but that means I have to know what is the data type of the data needed to be stored, that brings us to <a title="MSDN - Generics" href="http://msdn.microsoft.com/en-us/library/512aeb7t.aspx" target="_blank">Generics</a> and <a title="MSDN - Extensions" href="http://msdn.microsoft.com/en-us/library/bb383977.aspx" target="_blank">Extensions</a> to build extension methods to check the <a title="MSDN - Cache" href="http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx" target="_blank">Cache</a> object and get or insert data.</p>
<p>I am using ASP.NET MVC 1.0 in this project, below is the extension method to get or insert into Cache object:</p>
<pre class="code"><span style="color:blue;">using </span>System;
<span style="color:blue;">using </span>System.Web.Caching;

<span style="color:blue;">namespace </span>CacheExtensions
{
    <span style="color:blue;">public static class </span><span style="color:#2b91af;">CasheExtension
    </span>{
        <span style="color:blue;">public static </span>T GetOrInsert&lt;T&gt;(<span style="color:blue;">this </span><span style="color:#2b91af;">Cache </span>Cache, <span style="color:blue;">string </span>key, <span style="color:#2b91af;">Func</span>&lt;T&gt; generator)
        {
            <span style="color:blue;">var </span>result = Cache[key];
            <span style="color:blue;">if </span>(result != <span style="color:blue;">null</span>)
                <span style="color:blue;">return </span>(T)result;
            result = (generator != <span style="color:blue;">null</span>) ? generator() : <span style="color:blue;">default</span>(T);
            Cache.Insert(key, result);
            <span style="color:blue;">return </span>(T)result;
        }
    }
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><a href="http://11011.net/software/vspaste"></a>now you can consume it easily by calling the extended method as following: </p>
<pre class="code"><span style="color:blue;">object </span>o = <span style="color:#2b91af;">HttpRuntime</span>.Cache.GetOrInsert&lt;<span style="color:blue;">object</span>&gt;(<span style="color:#a31515;">&quot;key1&quot;</span>,GenObj);</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>supposing GenObj is a pointer&#160; to a method to generate an instance of type object. </p>
</p>
<p>Actually I used the same technique to get or add data to the <a title="MSDN - HttpSessionStateBase" href="http://msdn.microsoft.com/en-us/library/system.web.httpsessionstatebase.aspx" target="_blank">session</a> object too.</p>
<p><strong><u>References</u></strong>: <a href="http://stackoverflow.com/questions/445050/how-can-i-cache-objects-in-asp-net-mvc" target="_blank">http://stackoverflow.com/questions/445050/how-can-i-cache-objects-in-asp-net-mvc</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/minalabib.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/minalabib.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/minalabib.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/minalabib.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/minalabib.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/minalabib.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/minalabib.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/minalabib.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/minalabib.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/minalabib.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/minalabib.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/minalabib.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/minalabib.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/minalabib.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=minalabib.wordpress.com&amp;blog=9156935&amp;post=94&amp;subd=minalabib&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://minalabib.wordpress.com/2009/12/14/extending-cache-to-get-or-insert-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557d9ef17d10c913389df688e3ecb3c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Habib</media:title>
		</media:content>
	</item>
	</channel>
</rss>
