<?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:ymaps="http://api.maps.yahoo.com/Maps/V2/AnnotatedMaps.xsd">

<channel>
	<title>Valtech Blog &#187; Miscellaneous</title>
	<atom:link href="http://blog.valtech.dk/category/miscellaneous/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.valtech.dk</link>
	<description>Welcome to our Digital Power House!</description>
	<lastBuildDate>Mon, 06 Feb 2012 13:54:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Præsentationer fra vores seminar: Digital Customer Experience Management &#8211; getting beyond CRM</title>
		<link>http://blog.valtech.dk/2011/12/praesentationer-fra-vores-seminar-digital-customer-experience-management-getting-beyond-crm/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=praesentationer-fra-vores-seminar-digital-customer-experience-management-getting-beyond-crm</link>
		<comments>http://blog.valtech.dk/2011/12/praesentationer-fra-vores-seminar-digital-customer-experience-management-getting-beyond-crm/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 07:52:43 +0000</pubDate>
		<dc:creator>Thomas Lind</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=869</guid>
		<description><![CDATA[Tak til alle der deltog i vores seminar om Digital Customer Experience Management. Vi giver jer nu muligheden for at gense Joacim Jeppesens (Director, Sales &#38; Market Development, Valtech) indlæg, hvori han præsenterer Valtech&#8217;s perspektiv på, hvordan de digitale kanaler &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/12/praesentationer-fra-vores-seminar-digital-customer-experience-management-getting-beyond-crm/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Tak til alle der deltog i vores seminar om Digital Customer Experience Management.</p>
<p>Vi giver jer nu muligheden for at gense Joacim Jeppesens (Director, Sales &amp; Market Development, Valtech) indlæg, hvori han præsenterer Valtech&#8217;s perspektiv på, hvordan de digitale kanaler har ændret spillet radikalt for virksomheder, og i særdeleshed deres marketingafdeling. Indlægget giver dig indblik i vores tilgang til en digital orienteret kundeoplevelsestrategi, som må sige at være yderst relevant i dag.</p>
<p><a href="http://blog.valtech.dk/2011/12/praesentationer-fra-vores-seminar-digital-customer-experience-management-getting-beyond-crm/"><em>Click here to view the embedded video.</em></a></p>
<p>Det er også muligt at downloade både Joacims og Gunnar Klaubergs (Evangelist, Customer Marketing, Adobe) præsentationer fra dagen:</p>
<p><a href="http://blog.valtech.dk/wp-content/uploads/2011/12/Valtech-Customer-Experience-Management.pdf" target="_blank"><strong>From CRM to Customer Experience Management (Joacim Jeppesen)</strong></a></p>
<p><a href="http://blog.valtech.dk/wp-content/uploads/2011/12/Adobe-The-Digital-Marketing-needs-in-a-new-reality.pdf" target="_blank"><strong>The Digital Marketing needs in a new reality</strong> <strong>(Gunnar Klauberg)</strong></a></p>
<p>Hvis der skulle være nogle spørgsmål til indlægget eller præsentationerne, så kontakt gerne Joacim Jeppesen på joacim.jeppesen@valtech.dk.</p>
<p>God fornøjelse og på gensyn til vores næste seminar!</p>
<p>Med venlig hilsen</p>
<p>Valtech</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/12/praesentationer-fra-vores-seminar-digital-customer-experience-management-getting-beyond-crm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wajax for jQuery v 1.0 released as Open Source</title>
		<link>http://blog.valtech.dk/2011/06/wajax-for-jquery-v-1-0-released-as-open-source/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wajax-for-jquery-v-1-0-released-as-open-source</link>
		<comments>http://blog.valtech.dk/2011/06/wajax-for-jquery-v-1-0-released-as-open-source/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 13:56:09 +0000</pubDate>
		<dc:creator>Thomas Hjorth</dc:creator>
				<category><![CDATA[Implementering]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=734</guid>
		<description><![CDATA[On Friday June 17 we released our first jQuery extension as Open Source. The extension is called Wajax for jQuery and in short, it’s an extension that allows you to synchronize the (otherwise asynchronous) callbacks from a number of simultaneous &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/06/wajax-for-jquery-v-1-0-released-as-open-source/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>On Friday June 17 we released our first jQuery extension as Open Source. The extension is called Wajax for jQuery and in short, it’s an extension that allows you to synchronize the (otherwise asynchronous) callbacks from a number of simultaneous ajax requests. Wajax also ensures that the callbacks are called in the same order as the requests have been started. You still get the full benefits of normal ajax programming as all Wajax requests are executed asynchronously – Wajax just sort of adds an extra layer of bookkeeping to help you (the programmer) so you don’t have to worry about keeping track of which requests have completed and which have not.</p>
<p><strong>Where can this be applied and what’s the benefit?</strong></p>
<p>Imagine you have to implement a widget for a website. The widget has to be loaded dynamically at an arbitrary point in time after the page has loaded. Also imagine that the widget needs data from two different data sources before it can be rendered out. On top of that you have already decided that you are using a jQuery templating enigine on the rest of your site and for consistency you want to use templating for the widget as well.</p>
<p>So what are we looking at here? Well, the data needs two requests – one for each datasource. It might also make sense to load the template for the widget dynamically meaning one more request. That means we have to make three ajax requests in total before we can render our widget. Actually it’s not enough to make the requests. You have to make sure that they have all finished before starting the rendering process. Now, that is by no means a huge problem to solve but Wajax will help you out and make it very easy to handle this situation.</p>
<p>For more information about how that actually works I suggest you check out the documentation on the project’s GitHub page which can be found <a title="Wajax for jQuery at GitHub" href="https://github.com/thjorth/wajax-for-jQuery" target="_blank">here</a>. Hopefully you will also download the plugin and check out the included example.</p>
<p>It’s worth noting that the first version of this code was actually created to solve a specific need for a website we created for a client. After the website was launched Valtech invested some time in packaging the code into a small jQuery extension, documenting it and putting it out there on GitHub.</p>
<p><strong>Why jQuery and why Open Source?</strong></p>
<p>At Valtech we have made a strategic choice to go with jQuery for the front end development in our web solutions. In reality there weren’t that much of a choice to make as jQuery has become the de facto market leader when it comes to javascript frameworks for frontend development. It’s the javascript framework that everybody knows and it has a huge backing in the open source community. Even Microsoft is including it in their MVC framework.</p>
<p>Just as we made the choice of using jQuery in Valtech we also decided it was time to join the Open Source community. We get huge benefits from using and learning from all the Open Source stuff that’s out there. This we way we can pay back a little to the community.</p>
<p>Off course, we also believe it makes sense from a business point of view. For instance, when we need to build something that’s not already out there in the Open Source community we could choose to put that into our own library. However, when it comes to frontend development the world is moving very fast. Next time we would need to use something similar we would still have to search the Internet to see if something better had come up in the meantime. Chances are that something close would have been built by somebody else facing the same need as we did – and their code might already have gained a following. That quickly makes maintaining your own “private” library of code seem a bit redundant.</p>
<p>That’s why we have opted to share some of the more general frontend components we develop in-house. Our hope is that you will prove this to be the right decision by using and contributing to the components we release as Open Source starting with the Wajax for jQuery extension.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/06/wajax-for-jquery-v-1-0-released-as-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Targeting multiple environments and machines &#8211; part 2/2</title>
		<link>http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-22/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=targeting-multiple-environments-and-machines-part-22</link>
		<comments>http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-22/#comments</comments>
		<pubDate>Tue, 24 May 2011 09:48:13 +0000</pubDate>
		<dc:creator>Jacob Nielsen</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=715</guid>
		<description><![CDATA[In the previous post we looked at why targeting multiple environments and machines can be a problem, and our approach to solving this problem. In this post I will walk you through our solution from a more technical perspective. Our &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-22/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>In the <a title="Targeting multiple environments and machines – part 1/2" href="http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-12/">previous post</a> we looked at why targeting multiple environments and machines can be a problem, and our approach to solving this problem. In this post I will walk you through our solution from a more technical perspective.</p>
<p>Our solution to this problem is achieved primarily by the use of <a href="http://nant.sourceforge.net/">NAnt</a> <sup>1 </sup>and some extensions we have built on top of that. Our setup allows us to support different configurations on not only a per-environment basis, but also on a per-machine basis in each environment. Our solution is stand-alone, not requiring any external references, and it is easy to setup. Best of all? We are offering it to you, free of charge! A download link for an example project can be found at the bottom.</p>
<p>Let us dive right into it and take a look at an example project setup, see the figure below:</p>
<p><a href="http://blog.valtech.dk/wp-content/uploads/2011/05/12.png"><img style="margin: 20px 0px;padding-left: 0px;padding-right: 0px;padding-top: 0px;border: 0px" src="http://blog.valtech.dk/wp-content/uploads/2011/05/1_thumb.png" border="0" alt="1" width="328" height="392" /></a></p>
<p>The interesting bit here is the “Valtech.ConfigFramework” project. The project is divided into a number of folders:</p>
<ul>
<li><strong>configfiles/dynamic:</strong> This holds all the files that needs to be dynamically altered based on the target environment and/or machine.</li>
<li><strong>configfiles/include: </strong>This holds all configuration properties for each target environment and/or machine, needed to alter the files in “configfiles/dynamic”.</li>
<li><strong>configfiles/static: </strong>This holds all files that need to be included for a specific build configuration, but does not need to be altered, e.g. license files.</li>
<li><strong>framework</strong>: This holds all necessary files needed.</li>
</ul>
<p>When building the project, the include files are merged with the dynamic files, and output along with any static files to the output folder( s). The actual folder structure looks like this:</p>
<p><a href="http://blog.valtech.dk/wp-content/uploads/2011/05/2.png"><img style="margin: 20px 0px;padding-left: 0px;padding-right: 0px;padding-top: 0px;border: 0px" src="http://blog.valtech.dk/wp-content/uploads/2011/05/2_thumb.png" border="0" alt="2" width="187" height="168" /></a></p>
<p>Here, there is only one application named “ConfigFrameworkTestApp”, but you could have any number of applications using the same Valtech.ConfigFramework.</p>
<p><span style="font-size: small"><strong>Dynamic and static files</strong></span></p>
<p>In the previous solution overview, I showed an application alongside the configuration framework. In the figure below, two folders “License” and “Log” have been added to the application, and the “configfiles/dynamic” folder and “configfiles/static” folder for the Valtech.ConfigFramework project have both been expanded:</p>
<p><a href="http://blog.valtech.dk/wp-content/uploads/2011/05/3.png"><img style="margin: 20px 0px;padding-left: 0px;padding-right: 0px;padding-top: 0px;border: 0px" src="http://blog.valtech.dk/wp-content/uploads/2011/05/3_thumb.png" border="0" alt="3" width="323" height="606" /></a></p>
<p>As you can see, there is one top-level folder below the “configfiles/dynamic” folder named “ConfigFrameworkTestApp”. This is simply the name of the application being targeted (see the physical folder structure figure above). One level below the application folder is a folder named <a href="mailto:“@Log">@Log</a>. Files from the ConfigFramework project are output to the application root directory, and the prefix @ tells the ConfigFramework to copy any files in this folder to the corresponding folders in the application</p>
<p>Below the “configfiles/static/ConfigFrameworkTestapp” folder there are three folders: development, prod and qa. These folders each act as containers for files specific to an environment. In the figure above, the qa-environment folder is expanded, and below this folder is a folder named @License containing a license file specific to this environment.</p>
<p>So in this case the following files are copied from the ConfigFramework project to the application:</p>
<table border="0" cellspacing="0" cellpadding="2" width="637">
<tbody>
<tr>
<td width="257" valign="top"><strong>From (\configfiles\)</strong></td>
<td width="270" valign="top"><strong>To (\Applications\ConfigFrameworkTestapp\)</strong></td>
</tr>
<tr>
<td width="257" valign="top">dynamic\ConfigFrameworkTestapp\@Log\Log.config</td>
<td width="270" valign="top">Log\Log.config</td>
</tr>
<tr>
<td width="257" valign="top">dynamic\ConfigFrameworkTestapp\App.config</td>
<td width="270" valign="top">App.config</td>
</tr>
<tr>
<td width="257" valign="top">static\ConfigFrameworkTestapp\qa\@License\license.txt</td>
<td width="270" valign="top">License\license.txt</td>
</tr>
</tbody>
</table>
<p>The files from the dynamic folder, are altered based on configuration properties from the “configfiles/include” folder (more on this below) whereas the static files are simply copied to the application.</p>
<p>In this example we are only modifying and copying .xml and .txt files, but the ConfigFramework is not restricted to working with any specific file types, so you could for example add external .dll files as static files to be copied.</p>
<p><span style="font-size: small"><strong>Include files</strong></span></p>
<p>Now that we have an idea of what is going on, let us take a look at some actual examples. First take a look at the following figure:</p>
<p><a href="http://blog.valtech.dk/wp-content/uploads/2011/05/4.png"><img style="margin: 20px 0px;padding-left: 0px;padding-right: 0px;padding-top: 0px;border: 0px" src="http://blog.valtech.dk/wp-content/uploads/2011/05/4_thumb.png" border="0" alt="4" width="321" height="605" /></a></p>
<p>As you can see, the “configfiles/include” folder is expanded, once again revealing the application “ConfigFrameworkTestApp” as the top-level folder. Below that there are a number of folders: development, prod and qa, each used for targeting a specific environment. However, as evident below the “configfiles/include/ConfigFrameworkTestApp/development” folder (which holds all properties for configuring the application in the development environment), there are two more folders: dk-lt-jani64 and dk-lt-jeth64. These are both actual machine names, and any properties defined for a machine will automagically override properties defined on the environment (i.e. development in this case) level.</p>
<p>Sounds confusing? Hopefully not so much if we look at an example. Below are a few lines from the App.config of the application:</p>
<pre>&lt;appSettings&gt;
    &lt;add key=<span class="str">"HelloWorld"</span> <span class="kwrd">value</span>=<span class="str">"${HelloWorld}"</span>/&gt;
    &lt;add key=<span class="str">"GlobalWorld"</span> <span class="kwrd">value</span>=<span class="str">"${GlobalWorld}"</span>/&gt;
&lt;/appSettings&gt;</pre>
<p>And next are the contents of the configfiles\include\ConfigFrameworkTestApp\development\developer.properties file in the Valtech.ConfigFramework project:</p>
<pre>&lt;?xml version=<span class="str">"1.0"</span> encoding=<span class="str">"utf-8"</span>?&gt;
&lt;target xmlns=<span class="str">"http://nant.sf.net/release/0.86-beta1/nant.xsd"</span>&gt;
  &lt;property name=<span class="str">"HelloWorld"</span> <span class="kwrd">value</span>=<span class="str">"Hello World. I'm from development"</span>/&gt;
&lt;/target&gt;</pre>
<p>Notice the property with the name “HelloWorld”. When you build the Valtech.ConfigFramework, the value of this property will automatically replace the ${HelloWorld} token in any files under the configfiles\dynamic folder. Now, what if my personal HelloWorld value differ from the general development settings? Answer: I simply override the property in my machine specific developer.properties file – i.e. configfiles\include\ConfigFrameworkTestApp\development\dk-lt-jani64\my.properties:</p>
<pre>&lt;?xml version=<span class="str">"1.0"</span> encoding=<span class="str">"utf-8"</span>?&gt;
&lt;target xmlns=<span class="str">"http://nant.sf.net/release/0.86-beta1/nant.xsd"</span>&gt;
  &lt;property name=<span class="str">"HelloWorld"</span> <span class="kwrd">value</span>=<span class="str">"Hello World. I'm from my own machine"</span>/&gt;
&lt;/target&gt;</pre>
<p>But the ConfigFramework is not restricted to simply having key-value pairs. Supposing you only want to include parts of a Web.config for specific build configurations, and not others, you can do that too. For example, if I include the following line in my App.config file:</p>
<pre>${SMTP}</pre>
<p>The ConfigFramework will look for a SMTP.property file under “configfiles/include”, and replace the line above with the contents of the file, e.g.:</p>
<pre>&lt;system.net&gt;
    &lt;mailSettings&gt;
        &lt;smtp&gt;
            &lt;network host=<span class="str">"mailserver.mydomain.com"</span> /&gt;
        &lt;/smtp&gt;
    &lt;/mailSettings&gt;
&lt;/system.net&gt;</pre>
<p><span style="font-size: medium"><strong>Putting it all together</strong></span></p>
<p>So how does all this work? The keen eyed reader may have noticed a number of .cmd files in the figures above, and this is where all the action is happening. Well, that and solution configurations in Visual Studio.</p>
<p><a href="http://blog.valtech.dk/wp-content/uploads/2011/05/5.png"><img style="margin-top: 20px;margin-right: 0px;margin-bottom: 20px;margin-left: 0px;padding-left: 0px;padding-right: 0px;padding-top: 0px;border: 0px initial initial" src="http://blog.valtech.dk/wp-content/uploads/2011/05/5_thumb.png" border="0" alt="5" width="573" height="359" /></a></p>
<p>The figure above shows the different solution configurations for this solution. Depending on the active solution configuration, the application@environment (in this case ConfigFrameworkTestApp@development) will be built by calling the application@environment.cmd file. To create a new configuration, you simply need to copy one of the existing application@environment.cmd files, and rename it according to your Visual Studio solution configuration.</p>
<p><span style="font-size: small"><strong>Wrapping things up</strong></span></p>
<p>This solution, allow us to automatically build configurations for any number of environments and machines. It does require some initial setup, but once that bit is over, you don’t ever have to worry about manually merging config files from one environment with another. Secondly, if you pair this approach with a continuous integration package (e.g. <a href="http://www.jetbrains.com/teamcity">TeamCity</a>) you can automate the entire process of building and deploying your applications across multiple environments.</p>
<p>Now, for what you’ve all been scrolling to:</p>
<div class="class" style="margin: 0px;float: none;padding: 0px">
<div><a href="http://blog.tchami.com/ConfigFrameworkTestApp.zip" target="_blank">Download example project</a></div>
</div>
<p>Make sure to replace the folder names “your-machine-hostname” with the name of your machine and try to play around with the different build configurations:</p>
<ul>
<li>ConfigFrameworkTestApp@development</li>
<li>ConfigFrameworkTestApp@prod</li>
<li>Manual configuration update</li>
</ul>
<p>The first two work as explained above, where as the third “Manual configuration update” bypasses the configuration builder which is useful if you would like to build your application without also building all configuration files.</p>
<p><strong><em>Notes:</em></strong></p>
<p><strong>1.</strong> <em>NAnt is a (free) .NET build tool based on </em><a href="http://ant.apache.org"><em>Apache Ant</em></a><em>, designed for developing software across multiple platforms. There are tons of examples on how to use NAnt on the projects homepage, so if you are new to NAnt I’d advise you to take a look at the project’s homepage here: </em><a href="http://nant.sourceforge.net/"><em>http://nant.sourceforge.net/</em></a><em>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-22/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Targeting multiple environments and machines &#8211; part 1/2</title>
		<link>http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-12/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=targeting-multiple-environments-and-machines-part-12</link>
		<comments>http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-12/#comments</comments>
		<pubDate>Mon, 23 May 2011 11:07:24 +0000</pubDate>
		<dc:creator>Jacob Nielsen</dc:creator>
				<category><![CDATA[Implementering]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=593</guid>
		<description><![CDATA[A classic problem, or challenge if you are a glass half-full type of person, in software development is how to target multiple environments. By environments, I really mean different machines. Machines for development, for testing, for staging and for production, &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-12/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>A classic problem, or challenge if you are a glass half-full type of person,  in software development is how to target multiple environments. By environments,  I really mean different machines. Machines for development, for testing, for  staging and for production, e.g.:</p>
<p style="text-align: center"><img class="aligncenter size-large wp-image-682" src="http://blog.valtech.dk/wp-content/uploads/2011/05/11-646x327.png" alt="Environment overview" width="640" height="323" /><span style="font-size: medium"><strong> </strong></span></p>
<p style="text-align: left"><span style="font-size: medium"><strong>The problem</strong></span></p>
<p>In some areas of software development, this is a problem of supporting  different hardware setups, but in web development we (most often) only have to  worry about different database connection strings, mail server setup, paths to  e.g. upload folders, and similar configuration differences on different  environments.</p>
<p>Several solutions to this problem have been suggested, but common for all  solutions is a goal to automate this process of supporting multiple environments  without having to manually figure out which configuration bits that needs to be  flipped.</p>
<p>Furthermore, as developers we are used to working by contracts. At a very  lowest level we have an unspoken contract with the compiler, making sure that we  keep to the rules of our language of choice. Our types and methods too define  contracts on what we are allowed to do. Webservices rely heavily on contracts,  just as any services in the real world do. Surprisingly though, while our  applications and websites more often than not rely on configuration files to  keep them running, our configuration files are just flat files. In other words,  there is no contract preventing us or at least warning us from making errors  that in worst case scenarios could bring everything crashing down around our  ears. Solving this part of the problem is hard. While you can build procedures  to automatically check that everything looks nice, actually validating the data  is a topic worthy of a book in itself.</p>
<p><strong><span style="font-size: medium">Solution</span></strong></p>
<p>Automatically building environment specific configurations is nothing new, in  fact a tool is built right into Visual Studio 2010.</p>
<p>The <a href="http://msdn.microsoft.com/en-us/library/dd465326.aspx">Web.config  transformation tool in Visual Studio</a> allows you to:</p>
<ul>
<li>set attributes</li>
<li>remove attributes</li>
<li>delete nodes</li>
<li>replace nodes</li>
<li>insert nodes</li>
</ul>
<p>in your Web.config file. This is great.. as long as all you require is the  ability to modify your Web.config file from environment to environment but if  either of the following statements are true:</p>
<ul>
<li>I keep certain configuration bits outside the Web.config file</li>
<li>I’m not .NET web developer using Visual Studio</li>
</ul>
<p>this solution is not for you. Not to mention, this does not ensure that  aconfig file for a specific environment is not missing a vital property.</p>
<p><strong><span style="font-size: small">Our solution</span></strong></p>
<p>While our work primarily involves ASP.NET web development, the projects we  work on require a much high degree of configuration customization than the  Web.config transformation tool described above facilitates.</p>
<p>Our goal was to create a configuration framework that would provide us with a  high degree of customization and at the same time be statically compiled,  preventing us from building and then deploying a bad environment  configuration.</p>
<p>We ended up with a solution looking something like the figure below:</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-661" src="http://blog.valtech.dk/wp-content/uploads/2011/05/overview-1.png" alt="Solution overview" width="410" height="332" /></p>
<p>In the figure above, the boxes on the left (“Templates” and “Environment  specific properties”) are especially interesting.</p>
<p>“Templates”, surprisingly,  contains templates. For example, it might contain a Web.config template in which  connection string values are not defined. It could also contain a license file  template, in which the license key was not defined. Instead of defining the  environment specific values, that is connection string and license key values, a  uniquely named property is written. This property will then be substituted for  an environment specific value by the configuration framework when the project is  built.</p>
<p>At build time, we then invoke the configuration framework, which  collects all the templates and attempts to populate them with properties from a  specific environment configuration. Now, if a property is not found, the build  will fail and warn us about the missing property. This is great, since we only  have to maintain one configuration file (the template), but can still modify and  build it across multiple environments and at the same time ensure that all  configuration files contain all required properties.</p>
<p>The figure below illustrates this process:</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-663" src="http://blog.valtech.dk/wp-content/uploads/2011/05/process-11.png" alt="Build process" width="520" height="104" /></p>
<p>Hopefully this has piqued your interest. If so, stay tuned for the next post  in which we will go into the technical details of our solution and best of all,  offer it to you free of charge.</p>
<p>Read the next post here: <a title="Targeting multiple environments and machines – part 2/2" href="http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-22/">Targeting multiple environments and machines &#8211; part 2/2</a></p>
<p><em> </em></p>
<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/05/targeting-multiple-environments-and-machines-part-12/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Valtech i jp.tv</title>
		<link>http://blog.valtech.dk/2011/05/valtech-i-jp-tv/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=valtech-i-jp-tv</link>
		<comments>http://blog.valtech.dk/2011/05/valtech-i-jp-tv/#comments</comments>
		<pubDate>Tue, 10 May 2011 12:17:07 +0000</pubDate>
		<dc:creator>Thomas Lind</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=631</guid>
		<description><![CDATA[Historien om at Valtech er blevet certificeret som en af verdens mest demokratiske arbejdspladser af organisationen Worldblu, er nu blevet fulgt op af Morgenavisen Jyllandsposten. Avisen har været på besøg hos Valtech og lavet et interview med de ansatte omkring &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/05/valtech-i-jp-tv/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Historien om at Valtech er blevet certificeret som en af verdens mest demokratiske arbejdspladser af organisationen Worldblu, er nu blevet fulgt op af Morgenavisen Jyllandsposten.</p>
<p>Avisen har været på besøg hos Valtech og lavet et interview med de ansatte omkring demokratiseringsprocesserne  i Valtech.</p>
<p>Se interviewet her:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="325" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="bgcolor" value="#000000" /><param name="flashvars" value="base_path=http://front.xstream.dk/jptv&amp;id=28195" /><param name="src" value="http://front.xstream.dk/jptv/resources/swf/player_small_2.swf" /><param name="allowfullscreen" value="true" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="480" height="325" src="http://front.xstream.dk/jptv/resources/swf/player_small_2.swf" quality="high" allowfullscreen="true" flashvars="base_path=http://front.xstream.dk/jptv&amp;id=28195" bgcolor="#000000"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/05/valtech-i-jp-tv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Valtech blandt verdens mest demokratiske firmaer</title>
		<link>http://blog.valtech.dk/2011/05/valtech-blandt-verdens-mest-demokratiske-firmaer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=valtech-blandt-verdens-mest-demokratiske-firmaer</link>
		<comments>http://blog.valtech.dk/2011/05/valtech-blandt-verdens-mest-demokratiske-firmaer/#comments</comments>
		<pubDate>Wed, 04 May 2011 12:52:47 +0000</pubDate>
		<dc:creator>Thomas Lind</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=626</guid>
		<description><![CDATA[Valtech er af organisationen Worldblu blevet rangeret som een af  verdens mest demokratiske virksomheder. WorldBlu er en global bevægelse for demokrati på arbejdspladsen, og organisationen har selv hæftet en undertitel på navnet: Freedom at work. WorldBlu tilbyder en certificering, hvor &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/05/valtech-blandt-verdens-mest-demokratiske-firmaer/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><span>Valtech er af organisationen Worldblu blevet rangeret som een af  verdens mest demokratiske virksomheder.</span></p>
<p>WorldBlu  er en global bevægelse for demokrati på arbejdspladsen, og  organisationen har selv hæftet en undertitel på navnet: Freedom at  work.</p>
<p>WorldBlu tilbyder en certificering, hvor virksomheder  bliver bedømt på en række demokratiske parametre. 52 virksomheder er  blevet certificeret i år &#8211; heriblandt danske Valtech.</p>
<p><span>I forlængelse af vores certificering, deltager vi på konferencen <a href="http://worldblulive.com/" target="_blank">Worldblu Live 2011</a>, der afholdes 19. &#8211; 20. maj i San Francisco. Følg med her på siden for opdateringer fra konferencen, samt på <a href="http://www.facebook.com/valtechdk" target="_blank">facebook</a> og <a href="http://twitter.com/#!/valtechdk" target="_blank">twitter</a>.</span></p>
<p><span>Og du kan i følgende video høre Traci Fenton, founder af Worldblu, fortælle mere om, hvorfor hun startede organisationen og hvad organisatorisk demokrati og frihed på arbejdspladsen betyder.</span></p>
<p><span><p><a href="http://blog.valtech.dk/2011/05/valtech-blandt-verdens-mest-demokratiske-firmaer/"><em>Click here to view the embedded video.</em></a></p><br />
</span></p>
<p><span><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/05/valtech-blandt-verdens-mest-demokratiske-firmaer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kom 360 grader rundt om E-marketing Konferencen 2011</title>
		<link>http://blog.valtech.dk/2011/04/kom-360-grader-rundt-om-e-marketing-konferencen-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kom-360-grader-rundt-om-e-marketing-konferencen-2011</link>
		<comments>http://blog.valtech.dk/2011/04/kom-360-grader-rundt-om-e-marketing-konferencen-2011/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 13:32:26 +0000</pubDate>
		<dc:creator>Thomas Lind</dc:creator>
				<category><![CDATA[Digital Strategi]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=619</guid>
		<description><![CDATA[Valtech var sponsor på E-marketing Konferencen 2011, arrangeret af FDIH/DRRB. Martin Stahl, Senior Consultant hos Valtech, holdte på dagen et velbesøgt indlæg om Multichannel Marketing og de digitale muligheder i en social og mobil verden. Skriv dig op til at &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/04/kom-360-grader-rundt-om-e-marketing-konferencen-2011/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Valtech var sponsor på E-marketing Konferencen 2011, arrangeret af FDIH/DRRB. Martin Stahl, Senior Consultant hos Valtech, holdte på dagen et velbesøgt indlæg om Multichannel Marketing og de digitale muligheder i en social og mobil verden.</p>
<p><a href="http://blog.valtech.dk/2011/04/kom-360-grader-rundt-om-e-marketing-konferencen-2011/"><em>Click here to view the embedded video.</em></a></p>
<p>Skriv dig op til at modtage vores eventkalender her på siden (øverst højre kolonne) og modtag invitationer til vores events og bliv opdateret på de seneste trends inden for digital marketing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/04/kom-360-grader-rundt-om-e-marketing-konferencen-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Valtech taler ved dette års e-Marketing Konference (FIDH)</title>
		<link>http://blog.valtech.dk/2011/04/valtech-taler-ved-dette-ars-e-marketing-konference-fidh/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=valtech-taler-ved-dette-ars-e-marketing-konference-fidh</link>
		<comments>http://blog.valtech.dk/2011/04/valtech-taler-ved-dette-ars-e-marketing-konference-fidh/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 15:19:03 +0000</pubDate>
		<dc:creator>Thomas Lind</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=614</guid>
		<description><![CDATA[Valtech taler ved dette års e-Marketing Konference (FIDH) I morgen taler Valtech om hvorfor Morten Albæk kan have ret sin i kritik af reklamebureauerne og hvordan vi der arbejder med digitale marketingløsninger, bør indtage en mere dominerende rolle i fremtidens &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/04/valtech-taler-ved-dette-ars-e-marketing-konference-fidh/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Valtech taler ved dette års <a href=" http://fdih.net/kalender/2011/april/e-marketing-konference.aspx" target="_blank">e-Marketing Konference</a> (FIDH)</p>
<p>I morgen taler Valtech om hvorfor Morten Albæk kan have ret sin i kritik af reklamebureauerne og hvordan vi der arbejder med digitale marketingløsninger, bør indtage en mere dominerende rolle i fremtidens brede markedsføring. Det gælder både os der arbejder på de digitale bureauer og alle de marketingchefer og e-commerce managers, der dagligt arbejder med bruger-adfærd, salg og marketing ude i virksomhederne.</p>
<p>Det hele handler om hvorfor og hvordan virksomheder kan udvikle services, der understøtter eksisterende interesser og behov – om hvorfor reklamebudgettet skal bruges mere aktivt i udvikling af digitale services i stedet for at opfinde nye behov og såkaldte ”sjove” TV kampagner der skal få os til at grine – og intet andet.</p>
<p>Det handler om at vi som virksomheder skal lære vores kunder bedre at kende, i stedet for blot at tænke på one-time salgsknald og image. Kunderne er jo loyale nok – bare de bliver behandlet ordentligt.</p>
<p>Det er komplekst at behandle kunder ordentligt. Det skal gøres igennem personaliserede kanaler, såsom behavioral targeting, dialog og opdaterede CRM systemer.</p>
<p>Der er derfor ingen undskyldning mere – det hele skal samles i én central kundedatabase, der opsamler viden om kundens adfærd både i de enkelte sociale kanaler, i den virkelige mobile verden og på websitet.</p>
<p>Derfor kan vi som digital branche tilbyde en sammenhængende kundeoplevelse, både når det handler om indspark i forhold til købsadfærd og konkret i forhold til handel i den enkelte detailbutik.</p>
<p>Skriv dig op til at modtage vores eventkalender her på siden (øverst højre kolonne) og modtag video, billeder, præsentationer, m.m. fra dagen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/04/valtech-taler-ved-dette-ars-e-marketing-konference-fidh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Best of SXSW Interactive 2011</title>
		<link>http://blog.valtech.dk/2011/03/the-best-of-sxsw-interactive-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-best-of-sxsw-interactive-2011</link>
		<comments>http://blog.valtech.dk/2011/03/the-best-of-sxsw-interactive-2011/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 20:38:57 +0000</pubDate>
		<dc:creator>Jonathan Astor</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[SXSW]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=581</guid>
		<description><![CDATA[SXSW Interactive for the uninitiated is a 5 day event held in Austin, Texas where the very latest in digital thinking is discussed by over 40,000 digital ninja’s over 10 sites across this awesome city. Zuckerberg, Shirky, Sterling, O’Reilly, Gates, Jobs to &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/03/the-best-of-sxsw-interactive-2011/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 16.0px 0.0px; font: 13.0px Times} -->SXSW Interactive for the uninitiated is a 5 day event held in Austin, Texas where the very latest in digital thinking is discussed by over 40,000 digital ninja’s over 10 sites across this awesome city. Zuckerberg, Shirky, Sterling, O’Reilly, Gates, Jobs to name a few have all provided keynote speeches in past years.</p>
<p><img class="alignnone size-full wp-image-587" src="http://blog.valtech.dk/wp-content/uploads/2011/03/Screen-shot-2011-03-20-at-9.42.58-PM.png" alt="SXSW Backdrop" width="911" height="546" /></p>
<p>This year, I (Jonathan Astor) was there to savor the experience and lap up priceless knowledge on current and future trends. Over the course of the following weeks, I will share key trends and insights with you. Be prepared for a few surprises along the way, as our resident social business dynamo (kind of like that title) also managed to interview some industry legends and techies.</p>
<p><img class="alignnone size-full wp-image-583" src="http://blog.valtech.dk/wp-content/uploads/2011/03/WC80265.jpg" alt="Valtech Interviews" width="379" height="340" /></p>
<p>Key trends covered in future posts: augmented reality &#8211; gimmick or reality?location based services &#8211; will life become one big check in? The ’Thank You Economy’ and corporate humanization, gamification and Web3.0. I have also uploaded some pics from SXSW to Valtech on Flickr, if you fancy. Virtual gift possibly for the first person who can count correctly the QR codes in our photostream <img src='http://blog.valtech.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>//email jonathan.astor@valtech.dk with your answer.</p>
<p><a href="http://flickr.com/photos/valtech">http://www.flickr.com/photos/valtech/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/03/the-best-of-sxsw-interactive-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>30.267153 -97.7430608</georss:point><geo:lat>30.267153</geo:lat><geo:long>-97.7430608</geo:long>	</item>
		<item>
		<title>Social is so yesterday&#8230;..</title>
		<link>http://blog.valtech.dk/2011/03/social-is-so-yesterday/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=social-is-so-yesterday</link>
		<comments>http://blog.valtech.dk/2011/03/social-is-so-yesterday/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 13:57:12 +0000</pubDate>
		<dc:creator>Jonathan Astor</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[SXSW]]></category>
		<category><![CDATA[sxsw2011]]></category>

		<guid isPermaLink="false">http://blog.valtech.dk/?p=567</guid>
		<description><![CDATA[Ok that’s a bit of an overstatement however according to Seth Priebatsch, the founder of now Google backed location based service (LBS) SCVNGR and Silicon Valley sweetheart, we are through creating a ‘social layer’ facilitated by Facebook’s Open Graph but &#8230;<p class="read-more"><a href="http://blog.valtech.dk/2011/03/social-is-so-yesterday/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Ok that’s a bit of an overstatement however according to Seth Priebatsch, the founder of now Google backed location based service (LBS) SCVNGR and Silicon Valley sweetheart, we are through creating a ‘social layer’ facilitated by Facebook’s Open Graph but rapidly constructing a ‘game layer’ facilitated by rapidly emerging LBS’s such as Foursquare and Gowalla. As far as consumer engagement funnels are concerned, the social and gaming layer will work harmoniously together complementing each other. Whilst the former (social) connects us to each other, the latter (game) influences us to actually transact in the real world, utilizing gaming mechanics and a rewards based system such as virtual gifts. In Fig.1 below we see how social networking sites such as Facebook, Twitter and the usual suspects take us only so far down the funnel, its only when a gaming mechanic kicks in, that a physical action occurs and that’s powerful for anyone in the business of influence or behavioral change.</p>
<p><img class="alignnone size-full wp-image-569" src="http://blog.valtech.dk/wp-content/uploads/2011/03/Screen-shot-2011-03-17-at-2.30.49-PM.png" alt="The 'Game Layer' drives real world action." width="650" height="477" /></p>
<p>SCNGR’S founder keynoted at this year’s SXSW Interactive festival in Austin, Texas attended by over 40,000 nerds, VC’s, Silicon Valley startups, digital media folk and Valtech Denmark’s own ninja Jonathan Astor all geeking out together on the very latest thinking on all things interactive. SCVNGR is a (LBS) like Foursquare/Gowalla but on steroids, not only can you check-in to venues but participants can also leave challenges behind for peers to complete and pick up points and badges. Seth demonstrated quite ably how check-ins at physical venues can generate commercial success however this is ameliorated once you add further challenges to the equation and that’s the whole point of SCVNGR, its more than just a check-in concept and there’s more to the game hence its stickier and then some. Others to have graced SXSW Interactive in years gone by have been the likes of Jobs, Gates, Zuckerberg, the Foursquare founders to name a few. SXSW is a big deal that’s what i&#8217;m trying to say.</p>
<p><img class="alignnone size-full wp-image-578" src="http://blog.valtech.dk/wp-content/uploads/2011/03/sxsw-logo_V1.jpeg" alt="SXSW 2011" width="879" height="426" /></p>
<p>I digress. As being social is such an inherent human behavioral pre-disposition, so is gaming . We’re born to be social, we’re also wired to game from birth. Seth proceeded to demonstrate that a game layer applied to education, customer acquisition, loyalty and even global warming will be instrumental in overcoming obstacles faced in attempts to make them more effective. Take schools, currently based on an antiquated grading score or a ‘broken game’, as he puts it, where you can lose too easily and based on a negative points system where you pass or fail breeding winners and losers &#8211; and that ain’t right. No child should be made to feel like a failure. Introduce a positive game layer, where you gain badges for achievement or an improved avatar as you proceed to the next level, breeds just winners as you can’t lose, its simply about the time it takes to get from one level to the next. This turns a negative game into a positive one and eradicates failure and furthermore may well engage kids to a higher degree by applying the cultural practices of their digital lives into the less engaging and more staid ‘classroom’ experience. School is a game just a poorly designed one. How many other institutions or corporations are in the ‘broken game’ category that this applies to?</p>
<p><img class="alignnone size-full wp-image-573" src="http://blog.valtech.dk/wp-content/uploads/2011/03/mindbloom-1.jpeg" alt="The Game applied to your sector" width="587" height="375" /></p>
<p>The game layer can also be applied to customer acquisition as a rewards based system and level progression dynamic can keep customers’ loyal and returning to a brand’s digital/physical spaces time and time again, similar to Amex’s card system where you can graduate from colour to colour or the airmiles system. The key drivers to an effective game are ‘communal gameplay’, that’s the social aspect – ‘a free offer’, that’s the reward and a ‘countdown’, so offers are time limited to encourage immediate uptake. These are the exact ‘game’ drivers to $15 billion dollar valued Groupon’s crowdsourced platform’s success, as dissected by Seth. Other mechanics would be providing stakeholders with status. Check out Microsoft’s Most Valued Partner Programme that rewards their most engaged advocates with a title or exclusive badge or Starbuck’s that automatically enters its Foursquare mayors into the ‘Starbucks Society’. Not only does this drive loyalty but also positive word of mouth – who isn’t going to tweet or post about this?</p>
<p><img class="alignnone size-full wp-image-574" src="http://blog.valtech.dk/wp-content/uploads/2011/03/Badgeville.jpeg" alt="Badgeville" width="1017" height="436" /></p>
<p>Our 21 year old check-in champ would have you believe that the game layer can also solve global warming, he gives no evidence of this however it reminded me of  a story I heard a while back about an electricity supplier who used a game of sorts to help reduce its customers consumption. Customers were advised on their bill not only of their total consumption for the period, but also that of their neighbours. They were presented with a leaderboard with those at the top being the ones who consumed the least power. On receiving their next bill those performing poorly initially now started turning off their lights as they should do,  and consumed less power . However initial leaders started performing worse and dropped down the leaderboard. The lesson here is that a gaming mechanic works but needs to be complemented by a rewards system, or better still immediate gratification in order to incentivize folks to keep performing or transacting for a sustained period of time, not just once or twice. This is an awesome example of the social and gaming layer working in synch and that’s what the digital savant is telling us. The social being connecting people together and driving community around electricity usage levels, the leaderboard and rewards system being the game layer. One without the other may weaken the ability to influence at the most critical points of the engagement funnel. Bring on the game layer and things get done, not only passed around, posted, tweeted, retweeted, that in their own rights essential, however in isolation less potent.</p>
<p>Seth got my mind wondering into its creative faculty. Imagine if you apply this logic to pharma or healthcare, one of many of  Valtech’s specialisms. A newly diagnosed diabetes patient starts treatment paying 100% of their medical care themselves. However as he/she starts building points and badges checking in to gyms, eating well, injecting and testing properly, their costs spiral downwards, potentially to zero. Therefore you get rewarded for taking care of yourself and penalized for not following doctors orders. Somebody stop me please.. how about other client sectors?. I’m sold it makes sense. Life could well prove to be one big check-in .Wanna play?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.valtech.dk/2011/03/social-is-so-yesterday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

