<?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>Clever Web</title>
	<atom:link href="http://www.cleverwebdev.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cleverwebdev.com</link>
	<description></description>
	<lastBuildDate>Mon, 14 May 2012 23:59:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Config File Transformations For All</title>
		<link>http://www.cleverwebdev.com/config-file-transformation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=config-file-transformation</link>
		<comments>http://www.cleverwebdev.com/config-file-transformation/#comments</comments>
		<pubDate>Mon, 14 May 2012 23:51:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.cleverwebdev.com/?p=349</guid>
		<description><![CDATA[Config file transformations are a very useful feature supported by VS 2010 web application projects that allow you to maintain config settings for multiple environments, such as dev, staging, production. Unfortunately this feature is only available in web application projects, it is not supported on any other project type out of the box. This came [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cleverwebdev.com/wp-content/uploads/2012/05/coal_diamond.jpg"><img class="alignleft size-thumbnail wp-image-359" title="Transformation" src="http://www.cleverwebdev.com/wp-content/uploads/2012/05/coal_diamond-150x150.jpg" alt="" width="150" height="150" /></a>Config file transformations are a very useful feature supported by VS 2010 web application projects that allow you to maintain config settings for multiple environments, such as dev, staging, production. Unfortunately this feature is only available in web application projects, it is not supported on any other project type out of the box.</p>
<p>This came to my attention as I have been working on a project where we split an existing web application project into 5 separate projects. We moved the EF DataModel into a DAL project, created a BLL class library and separated the UI of the application into 2 web application projects and a website project. In doing so we lost the ability to run config file transformations on 3 out of the 5 projects that made up the solution. This was causing us some amount of headache due to the fact that we are using a non POCO EF model throughout our Web / BLL / DAL projects and we need to keep our EF DataModel connection strings in app.config to facilitate debugging and integration testing.</p>
<p>So I did a bit of research on how to best handle this situation and I found a Visual Studio extension called Slow Cheetah that allows you to run XML transforms on any config file in any type of project. Perfect! It even runs the transformations on build as well as on publish which can save a bit of time.</p>
<p>Now while this does work great I did find it a bit tricky to get it configured for each project type as the configuration settings are slightly different from project to project. I have outlined what worked for me below. I hope this helps someone else out there while working through this type of setup.</p>
<h4>For Class Library Projects and Test Projects:</h4>
<p>Set your app.config build action to ‘resource’ and copy to output directory to ‘copy always‘ on your app.config properties screen. Building the project will copy the transformed app.config file to your output directory which should be /bin/[configurationname] where configuration name is your currently selected configuration.</p>
<h4>For Website Projects:</h4>
<p>SlowCheetah does not work with website projects. As a workaround / hack I have been adding a [website].config file to one of my web application projects that contains all config for my website and running the transforms from that project.</p>
<h4>For Web Application Projects:</h4>
<p>Set your web.config build action to ‘content’ and copy to output directory to ‘copy always’. Web application transforms are executed when you Publish the project.</p>
<p>You can find Slow Cheetah here:</p>
<p><a title="Slow Cheetah" href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5" target="_blank">http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5</a></p>
<p>If you want to dig a bit deeper you can also <a title="Slow Cheetah by Hanselman" href="http://www.hanselman.com/blog/SlowCheetahWebconfigTransformationSyntaxNowGeneralizedForAnyXMLConfigurationFile.aspx" target="_blank">read a great post by Scott Hanselman</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cleverwebdev.com/config-file-transformation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website Launch ::  Global Proxy Cloud &#8211; Building A Safe Route Over The Firewall</title>
		<link>http://www.cleverwebdev.com/website-launch-global-proxy-cloud/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=website-launch-global-proxy-cloud</link>
		<comments>http://www.cleverwebdev.com/website-launch-global-proxy-cloud/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 22:08:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.cleverwebdev.com/?p=337</guid>
		<description><![CDATA[The Global Proxy Cloud is a service created through the efforts of regular people and powered by the folks at the Tor Project. It allows people like you to create a route for citizens living in repressive regimes to safely and securely bypass their country’s firewall and gain access the open internet. We developed and [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl id="attachment_341" class="wp-caption alignleft" style="width: 160px;">
<dt class="wp-caption-dt"><a href="http://www.cleverwebdev.com/wp-content/uploads/2012/04/GPCThumb.png"><img class="size-thumbnail wp-image-341" title="Global Proxy Cloud" src="http://www.cleverwebdev.com/wp-content/uploads/2012/04/GPCThumb-150x150.png" alt="Global Proxy Cloud" width="150" height="150" /></a></dt>
</dl>
</div>
<p>The <a title="Global Proxy Cloud" href="https://www.globalproxycloud.net" target="_blank">Global Proxy Cloud</a> is a service created through the efforts of regular people and powered by the folks at the <a title="The Tor Project" href="https://www.torproject.org" target="_blank">Tor Project</a>. It allows people like you to create a route for citizens living in repressive regimes to safely and securely bypass their country’s firewall and gain access the open internet.</p>
<p>We developed and launched the GlobalProxyCloud.net website on behalf of <a title="Access" href="https://www.accessnow.org/" target="_blank">Access</a> at the end of March, 2012. The site is based upon a WordPress backend and is fully secured using SSL. We provide social sharing links that allow the website user to share a story about the Global Proxy Network with their social networks in order to spread the word and generate signups.</p>
<p>This is definitely worth a look and if it is something you believe in then <a title="Sign up for the Global Proxy Cloud" href="https://www.globalproxycloud.net/join-the-cloud/" target="_blank">go ahead and sign up</a>, it is for a very good cause!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cleverwebdev.com/website-launch-global-proxy-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharing is Caring</title>
		<link>http://www.cleverwebdev.com/sharing-is-caring/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sharing-is-caring</link>
		<comments>http://www.cleverwebdev.com/sharing-is-caring/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 21:36:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.cleverwebdev.com/?p=329</guid>
		<description><![CDATA[If you have a blog and you are publishing posts regularly you will most likely want to share your posts on all of your social networks, or at least the big 4 : Facebook, Twitter, Google+ and LinkedIn.  But what is the best way to do this?  Well there are two ways to go about [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cleverwebdev.com/wp-content/uploads/2012/04/sharinghamsters.jpg"><img class="size-thumbnail wp-image-330 alignleft" title="sharinghamsters" src="http://www.cleverwebdev.com/wp-content/uploads/2012/04/sharinghamsters-150x150.jpg" alt="" width="150" height="150" /></a>If you have a blog and you are publishing posts regularly you will most likely want to share your posts on all of your social networks, or at least the big 4 : Facebook, Twitter, Google+ and LinkedIn.  But what is the best way to do this?  Well there are two ways to go about this and depending on your requirements you could use one or even both.</p>
<p>The first approach to is to automatically share blog posts when the posts are created.  This means that as soon as you click Publish on your blog post it will be automagically packaged up and published as a Timeline story on Facebook or a Tweet on Twitter etc.  This takes the least amount of effort on your part and works well if you are publishing content frequently and are targeting your sharing to a small number of social networks.  Some good plugins for this are <a title="Page Press" href="http://pagepressapp.com" target="_blank">PagePress</a> for Facebook and <a title="YOURLS: WordPress To Twitter" href="http://wordpress.org/extend/plugins/yourls-wordpress-to-twitter/" target="_blank">YOURLS: WordPress to Twitter</a>.  A bit of a downside to this is that it relies on API access to your social network.  Since the Google+ API currently is read only you can’t fully automate the posting process at this time for Google+, though this will come in the near future.</p>
<p>Now for myself, who isn’t posting all that much (though I am working on improving in that area!), a good solution is to stick with sharing plugins.  If and when I decide to share my blog post I do so from the public side of my blog using the sharing plugin buttons (below this post).  The plugin that I am using on this blog is <a title="Share This" href="http://sharethis.com" target="_blank">Share This</a>.  It allows you to choose from dozens of social networks and shows the share count above each share button / icon.  This also encourages your readers to share content as they will have access to the same sharing functionality as you do.</p>
<p>Now there is no reason to not use both approaches.  You could for example use an autopost plugin for FB and Twitter and also provide Share This buttons on each post to allow yourself or your reader to share to any of a number of social networks.  After all, sharing is caring!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cleverwebdev.com/sharing-is-caring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t overlook NuGet</title>
		<link>http://www.cleverwebdev.com/dont-overlook-nuget/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dont-overlook-nuget</link>
		<comments>http://www.cleverwebdev.com/dont-overlook-nuget/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 21:12:55 +0000</pubDate>
		<dc:creator>Karim Ainsworth</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.cleverwebdev.com/?p=317</guid>
		<description><![CDATA[I am currently working on a project where I am using the NVelocity templating engine, which is a .NET port of the open source Apache Velocity project.  So I downloaded the package from SourceForge and dropped the NVelocity.dll file into my /bin folder thinking all would be well.  And it was locally, no problems at [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently working on a project where I am using the NVelocity templating engine, which is a .NET port of the open source Apache Velocity project.  So I downloaded the package from SourceForge and dropped the NVelocity.dll file into my /bin folder thinking all would be well.  And it was locally, no problems at all.  It wasn’t until I went to deploy my Web Application Project that I started to run into issues.  It seemed that the .dll had some dependencies that were not documented ( at least not obviously! ) as I was getting the following on publish:</p>
<p>&#8220;Could not load file or assembly NVelocity.dll or one of its dependencies. The system cannot find the file specified.&#8221;</p>
<p>So I loaded up <a title="Dependency Walker" href="http://www.dependencywalker.com/" target="_blank">Dependency Walker</a> to see what was going on and I noticed the following:</p>
<p>Error: Modules with different CPU types were found.</p>
<p>OK, so I am running a x64 system, that can be expected.  It also noted that IEShims.dll was missing, though that seemed to be a bit of a redherring.  After a while of wading through Dependecy Walker screens and wondering if I had just wasted the past half day of work it dawned on me that I hadn’t even checked NuGet.  And lucky enough <a title="NVelocity" href="http://nuget.org/packages/NVelocity" target="_blank">NVelocity is available as a package</a> there.</p>
<p>So I ran the NuGet package, it installed fine, and it deployed without any issues on the first try!</p>
<p>So the moral of the story is check NuGet first, there are tons of packages available and you might even find something new and interesting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cleverwebdev.com/dont-overlook-nuget/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to enable the new Facebook Timeline profile</title>
		<link>http://www.cleverwebdev.com/how-to-enable-the-new-facebook-timeline-profile/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-enable-the-new-facebook-timeline-profile</link>
		<comments>http://www.cleverwebdev.com/how-to-enable-the-new-facebook-timeline-profile/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 20:02:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://www.cleverwebdev.com/?p=304</guid>
		<description><![CDATA[This is not available in the UK yet, though it should be coming soon. However you can enable it if you feel comfortable with the fact that you can’t go back to the old version. Instructions for doing so can be found here: http://techcrunch.com/2011/09/22/how-to-enable-facebook-timeline/ I have had this up and running for a couple of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cleverwebdev.com/wp-content/uploads/2011/10/NewProfileScreenshot.png"><img class="alignnone size-full wp-image-311" title="Facebook Timeline Profile" src="http://www.cleverwebdev.com/wp-content/uploads/2011/10/NewProfileScreenshot.png" alt="" width="500" height="442" /></a></p>
<p>This is not available in the UK yet, though it should be coming soon. However you can enable it if you feel comfortable with the fact that you can’t go back to the old version. Instructions for doing so can be found here:</p>
<p><a title="How To Enable The Facebook Timeline Profile" href="http://techcrunch.com/2011/09/22/how-to-enable-facebook-timeline/" target="_blank">http://techcrunch.com/2011/09/22/how-to-enable-facebook-timeline/</a></p>
<p>I have had this up and running for a couple of weeks now and I really like it. Though I can’t seem to find the ‘View Profile As ’ feature which was made more prominent in Facebook’s recent profile update. I think that might not yet be in there as it is still pre-release however that might just be me giving in to my laziness.</p>
<p>I am really looking forward to this layout coming to brand pages, that will open things up quite a bit as you can see here:</p>
<p><a title="Facebook Brand Pages" href="http://techcrunch.com/2011/09/22/how-to-enable-facebook-timeline/" target="_blank">http://mashable.com/2011/09/29/facebook-timeline-brands/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cleverwebdev.com/how-to-enable-the-new-facebook-timeline-profile/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8216;Object Does Not Exist&#8217; in ASP.NET</title>
		<link>http://www.cleverwebdev.com/object-does-not-exist-in-asp-net/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=object-does-not-exist-in-asp-net</link>
		<comments>http://www.cleverwebdev.com/object-does-not-exist-in-asp-net/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 21:37:59 +0000</pubDate>
		<dc:creator>Karim Ainsworth</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.cleverwebdev.com/?p=296</guid>
		<description><![CDATA[I have a fairly large form that I have been working on that I have wrapped up in a .NET UserControl.  I had to switch focus onto another project for a couple of weeks so it became a bit of a distant and not so pleasant memory!  When I came back to it and added [...]]]></description>
			<content:encoded><![CDATA[<p>I have a fairly large form that I have been working on that I have wrapped up in a .NET UserControl.  I had to switch focus onto another project for a couple of weeks so it became a bit of a distant and not so pleasant memory!  When I came back to it and added a button control to test some UpdatePanel postback issues I got the following error:</p>
<p>&#8216;btnTest does not exist in the current context&#8217;</p>
<p>Now I hadn&#8217;t worked nor thought about this particular project for over a week so I wasn&#8217;t really sure what was going on.  It was a run-time error, everything compiled fine.  I ended up spending a couple of (expletive filled!) hours going down dead ends and getting nowhere.  Something just didn&#8217;t feel right about this but I couldn&#8217;t see what it was until I noticed a ContactForm_copy.ascx file in the UserControls folder in Visual Studio.  How did that get there?!  It seems I had made a filesystem copy of the UserControl and somehow managed to include it in my project.  After deleting the copy of the file everything worked as normal, problem solved.</p>
<p>So the moral of the story is: Don&#8217;t leave backup copies of your project files in the same folder as the original.  It seems like a reasonable thing to do to keep a backup copy around while experimenting, and everything compiles fine since we are dealing with partial classes in code-behind.  But save yourself some trouble and move your backups to a designated folder and avoid the dreaded  ‘Object Does Not Exist’ error that we all know and (don&#8217;t)  love.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cleverwebdev.com/object-does-not-exist-in-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site redesign, launch and platform change</title>
		<link>http://www.cleverwebdev.com/site-redesign-launch-and-platform-change/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=site-redesign-launch-and-platform-change</link>
		<comments>http://www.cleverwebdev.com/site-redesign-launch-and-platform-change/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 15:26:55 +0000</pubDate>
		<dc:creator>Karim Ainsworth</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.cleverwebdev.com/?p=284</guid>
		<description><![CDATA[Hi and welcome to the new Clever Web Dev website and blog.  Now to be honest this isn’t my first attempt at blogging, I was blogging a few years back using Blogger at karimainsworth.com. As often happens though I was so busy with project work that I didn’t keep up with it and it fizzled [...]]]></description>
			<content:encoded><![CDATA[<p>Hi and welcome to the new Clever Web Dev website and blog.  Now to be honest this isn’t my first attempt at blogging, I was blogging a few years back using Blogger at <a href="http://karimainsworth.com/">karimainsworth.com</a>. As often happens though I was so busy with project work that I didn’t keep up with it and it fizzled out.  So what makes me think things will be any different this time around?</p>
<p>Well&#8230; I have discovered the amazing blogging and development platform called WordPress and have jumped in headfirst at the deep end! The past six months have seen me transition the majority of my website development work from ASP.NET to the WordPress platform and I am loving every minute of it.</p>
<p>So a lot of what I write about here will be related to WordPress, it’s my new toy and you know how we get, we can’t stop talking about our new toys.  I have been doing a lot of Facebook development lately so there will be lots on that, as well as general web development and marketing discussion relating to Facebook and other social media outlets.  </p>
<p>I also have some really exciting and cutting edge side projects that I am involved in, more to come on those as they get closer to their launch dates.  </p>
<p>I might even be able to convince some of the other talented designers and developers that I work with on Clever projects to guest post.  Watch this space!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cleverwebdev.com/site-redesign-launch-and-platform-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

