<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dries Marckmann</title><link>http://bloggingabout.net/blogs/dries/default.aspx</link><description>Challenge accepted!</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Octopus Deploy with PublishedApplications</title><link>http://bloggingabout.net/blogs/dries/archive/2013/04/09/octopus-deploy-with-publishedapplications.aspx</link><pubDate>Tue, 09 Apr 2013 09:38:08 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578419</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578419</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/04/09/octopus-deploy-with-publishedapplications.aspx#comments</comments><description>&lt;p&gt;Normally, when you install Octopack using nuget, the contents of the OutDir (msbuild variable) will be put in the nuget package it creates for you. But when running in TFS build this will give you trouble as mentioned in &lt;a href="http://help.octopusdeploy.com/discussions/problems/505-all-binaries-from-tfs-build-in-nuget-package"&gt;http://help.octopusdeploy.com/discussions/problems/505-all-binaries-from-tfs-build-in-nuget-package&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;A solution was mentioned to use the PublishedApplications nuget package to build each project to its own directory and I blogged as much yesterday…. But this is just a half-baked solution; yes, each project is build to its own directory, but octopack still takes the output of the tfs binaries folder for the packages. I found a way around this and I will describe it here. 
&lt;/p&gt;&lt;p&gt;I had to edit the source for octopack. I changed the dll to determine how a web project is recognized. Normally it does this by looking for a &amp;#39;web.config&amp;#39; file, now you set the attribute TreadEveryProjectAsApplication to &amp;#39;true&amp;#39; of the CreateOctoPackPackage task which will make octopack always use the content of the OutDir as input for the package. (It will ignore the content files in the project directory.) 
&lt;/p&gt;&lt;p&gt;I also removed the line where it excluded the files in the _PublishedWebsites folder, because I explicitly need these files. 
&lt;/p&gt;&lt;p&gt;Added this PropertyGroup to the octopack.targets file: 
&lt;/p&gt;&lt;p style="background:white;"&gt;&lt;span style="font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:black;"&gt;
			&lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p style="background:white;"&gt;&lt;span style="font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OctoPackDirectoryToPack&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Condition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;$(ExeProjectOutputDir)&amp;#39; != &amp;#39;&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:black;"&gt;$(ExeProjectOutputDir)&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OctoPackDirectoryToPack&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:black;"&gt;
			&lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p style="background:white;"&gt;&lt;span style="font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OctoPackDirectoryToPack&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Condition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;$(WebProjectOutputDir)&amp;#39; != &amp;#39;&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:black;"&gt;$(WebProjectOutputDir)&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OctoPackDirectoryToPack&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:black;"&gt;
			&lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p style="background:white;"&gt;&lt;span style="font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:black;"&gt;
			&lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;It will set the variable OctoPackDirectoryToPack to either ExeProjectOutputDir or WebProjectOutputDir. I then use that variable as input for the OutDir attribute of the CreateOctoPackPackage. 
&lt;/p&gt;&lt;p&gt;Download it here: &lt;a href="http://bloggingabout.net/media/p/578418/download.aspx"&gt;http://bloggingabout.net/media/p/578418/download.aspx&lt;/a&gt; or check out the code at &lt;a href="https://github.com/dmarckmann/OctoPack"&gt;https://github.com/dmarckmann/OctoPack&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Happy Coding!
&lt;/p&gt;&lt;p&gt;PS. I later also created the property GetVersionFromAssemblyFileVersion (bool) if you want to get the version from the assemblyfileversion of the PrimaryOutputAssembly like we do. Download from github and build locally…  
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578419" width="1" height="1"&gt;</description></item><item><title>PublishedApplications sweetness for TFS Build</title><link>http://bloggingabout.net/blogs/dries/archive/2013/04/08/publishedapplications-sweetness-for-tfs-build.aspx</link><pubDate>Mon, 08 Apr 2013 14:46:36 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578416</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578416</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/04/08/publishedapplications-sweetness-for-tfs-build.aspx#comments</comments><description>&lt;p&gt;I just learned that there exists a nuget package that allows you to build your non-web projects to a &amp;#39;_PublishedApplications&amp;#39; directory just as your web projects are build to a &amp;#39;_PublishedWebsites&amp;#39; directory. 
&lt;/p&gt;&lt;p&gt;Check it out: &lt;a href="http://www.nuget.org/packages/PublishedApplications/"&gt;http://www.nuget.org/packages/PublishedApplications/&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;From there on it&amp;#39;s an easy ride to get your build to produce Octopus deploy packages. You can read about it here: &lt;a href="http://help.octopusdeploy.com/discussions/problems/505-all-binaries-from-tfs-build-in-nuget-package"&gt;http://help.octopusdeploy.com/discussions/problems/505-all-binaries-from-tfs-build-in-nuget-package&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;If you want to know all about setting up TFS build for Octopus deploy, check this great walkthrough: &lt;a href="http://octopusdeploy.com/blog/automated-deployment-with-tfspreview-octopack-myget"&gt;http://octopusdeploy.com/blog/automated-deployment-with-tfspreview-octopack-myget&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Happy Coding! &lt;strong&gt;
		&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578416" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/TFS/default.aspx">TFS</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/NuGet/default.aspx">NuGet</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/OctopusDeploy/default.aspx">OctopusDeploy</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Continuous+Delivery/default.aspx">Continuous Delivery</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/ALM/default.aspx">ALM</category></item><item><title>From ‘A-ha’ to ‘Ka-Ching’ with Sound Of Data</title><link>http://bloggingabout.net/blogs/dries/archive/2013/03/21/sound-of-data.aspx</link><pubDate>Thu, 21 Mar 2013 08:45:27 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578391</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578391</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/03/21/sound-of-data.aspx#comments</comments><description>&lt;p&gt;This post will be posted here and on the site of Sound of Data as well (&lt;a href="http://soundofdata.nl/en/nieuws" title="http://soundofdata.nl/en/nieuws"&gt;http://soundofdata.nl/en/nieuws&lt;/a&gt;) 
&lt;/p&gt;&lt;p&gt;As of february 25th I started as Senior Developer at Sound of Data. For those who do not know me I&amp;#39;ll shortly introduce myself. 
&lt;/p&gt;&lt;p&gt;I am 37 years old and I live in Goedereede-Havenhoofd. (That&amp;#39;s &lt;a href="https://maps.google.nl/maps?q=Havenhoofd+Goedereede&amp;amp;hl=en&amp;amp;ll=51.821349,4.045715&amp;amp;spn=0.405752,0.926971&amp;amp;sll=51.831216,4.008207&amp;amp;sspn=0.025354,0.057936&amp;amp;t=h&amp;amp;hnear=Havenhoofd,+Goedereede,+South+Holland&amp;amp;z=10" target="_blank"&gt;here&lt;/a&gt;). Writing code has always been a hobby and 14 years ago I managed to turn my hobby into work and I&amp;#39;ve been hobbying ever since. 
&lt;/p&gt;&lt;p&gt;After 7,5 years working for TellUs, leader in online (sales) lead generation, it was time for a change. I was lucky to be contacted by Sound of Data because of my affinity with CQRS and Event Sourcing. 
&lt;/p&gt;&lt;p&gt;Their entire platform has been built on this architectural design pattern and they could do with an extra senior developer. I soon learned that their implementation of CQRS &amp;amp; ES is okay, but not yet fully complete. I hope to be able to lend a hand in completing the implementation. Than we can enjoy all the benefits of this pattern. 
&lt;/p&gt;&lt;p&gt;This isn&amp;#39;t my first priority though. I saw that SOD has some issues where it comes to deployment, so I made it my mission to get some Application Lifecycle Management in place and take the first steps towards Continuous Delivery. The idea of this practice is to make the time between &amp;#39;A-ha&amp;#39; (the idea) and &amp;#39;Ka-ching&amp;#39; (the release to market) as small as possible by automating and standardizing releases. This will help us bringing our customers closer to their customers and bring us one step closer to world domination in that area. 
&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;Happy coding! 
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578391" width="1" height="1"&gt;</description></item><item><title>Quick install of tools using Chocolatey</title><link>http://bloggingabout.net/blogs/dries/archive/2013/03/21/quick-install-of-tools-using-chocolatey.aspx</link><pubDate>Thu, 21 Mar 2013 08:37:03 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578390</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578390</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/03/21/quick-install-of-tools-using-chocolatey.aspx#comments</comments><description>&lt;p&gt;I got my new laptop today… decided to spend an hour or so to get an easy install working. Using Chocolatey (&lt;a href="http://chocolatey.org"&gt;&lt;span style="color:blue;text-decoration:underline;"&gt;http://chocolatey.org&lt;/span&gt;&lt;/a&gt;) that should be easy. 
&lt;/p&gt;&lt;p&gt;It is, but it is not straightforward. You can&amp;#39;t create a simple batchfile like this:
&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;cinst notepadplusplus
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;cinst fiddler
&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;The command window will exit after installing notepad++.  A quick search revealed what I should have realized up front. Chocolatey uses nuget and therefor we can use a local packages.config file to get and install all packages. So now my script looks like this: 
&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;::Ensure we have elevated permissions
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;@reg add HKLM\Software\Microsoft\DevDiv\0b3d680166a14e50a8c8e2ed060d8d90 /v Elevated /t REG_DWORD /d 1 /f &amp;gt; nul 2&amp;gt;&amp;amp;1
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;@if /i &amp;quot;%errorlevel%&amp;quot;==&amp;quot;1&amp;quot; echo Error: elevation required. &amp;amp;exit /b 740
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;@reg delete HKLM\Software\Microsoft\DevDiv\0b3d680166a14e50a8c8e2ed060d8d90 /va /f &amp;gt; nul 2&amp;gt;&amp;amp;1
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;::Install Chocolatey
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;@powershell -NoProfile -ExecutionPolicy unrestricted -Command &amp;quot;iex ((new-object net.webclient).DownloadString(&amp;#39;http://chocolatey.org/install.ps1&amp;#39;))&amp;quot; &amp;amp;&amp;amp; SET PATH=%PATH%;%systemdrive%\chocolatey\bin
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;::Start installing packages
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;cinst packages.config
&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;And here is the contents of my packages.config:
&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;packages&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;VirtualCloneDrive&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;        &amp;lt;package id=&amp;quot;notepadplusplus&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;FoxitReader&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;imgburn&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;7zip&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;ilspy&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;tortoisegit&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;tortoisesvn&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;tortoisehg&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;expresso&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;virtualbox&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;KeePass&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;Paint.NET&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;rabbitmq&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;steam&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;vlc&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;fiddler&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;baretail&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;linqpad4&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;tweetdeck&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;teamviewer&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;Teamspeak3&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;skype&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;SkyDrive&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;    &amp;lt;package id=&amp;quot;ransack&amp;quot; /&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;/packages&amp;gt;
&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;So I&amp;#39;m quickly set up to do some happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578390" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/NuGet/default.aspx">NuGet</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Chocolatey/default.aspx">Chocolatey</category></item><item><title>DEP0700 : Registration of the app failed. Rejecting a request to register from because the files are on a network share.</title><link>http://bloggingabout.net/blogs/dries/archive/2013/03/04/dep0700-registration-of-the-app-failed-rejecting-a-request-to-register-from-because-the-files-are-on-a-network-share.aspx</link><pubDate>Mon, 04 Mar 2013 12:12:37 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578361</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578361</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/03/04/dep0700-registration-of-the-app-failed-rejecting-a-request-to-register-from-because-the-files-are-on-a-network-share.aspx#comments</comments><description>&lt;p&gt;I wanted to run my app an my VM, but got the above error…&lt;/p&gt;  &lt;p&gt;A quick search on google lead me to this thread on DevCenter: &lt;a title="http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/3fc1f3cf-2d8b-4dee-a348-40d0bf2c3c66/" href="http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/3fc1f3cf-2d8b-4dee-a348-40d0bf2c3c66/"&gt;http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/3fc1f3cf-2d8b-4dee-a348-40d0bf2c3c66/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The answer there is spot on! &lt;/p&gt;  &lt;p&gt;I chose option 1, setting my debug option to Remote and setting by Debug option to localhost. Works like a charm! Thanks &lt;a href="http://social.msdn.microsoft.com/profile/gearard%20boland/?ws=usercard-mini" target="_blank"&gt;Gearard Boland&lt;/a&gt; for providing us with the answer!&lt;/p&gt;  &lt;p&gt;Happy coding! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578361" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/WinRT/default.aspx">WinRT</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/VirtualBox/default.aspx">VirtualBox</category></item><item><title>Installing Win8 in VHD for use with Virtualbox using install.WIM</title><link>http://bloggingabout.net/blogs/dries/archive/2013/03/04/installing-win8-in-vhd-for-use-with-virtualbox-using-install-wim.aspx</link><pubDate>Mon, 04 Mar 2013 10:52:41 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578360</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578360</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/03/04/installing-win8-in-vhd-for-use-with-virtualbox-using-install-wim.aspx#comments</comments><description>&lt;p&gt;I found this wonderful solution for installing Windows 8 on a VHD for dual-boot using the imagex tool. You can read about it here: &lt;a title="http://blogs.technet.com/b/haroldwong/archive/2012/08/18/how-to-create-windows-8-vhd-for-boot-to-vhd-using-simple-easy-to-follow-steps.aspx" href="http://blogs.technet.com/b/haroldwong/archive/2012/08/18/how-to-create-windows-8-vhd-for-boot-to-vhd-using-simple-easy-to-follow-steps.aspx"&gt;http://blogs.technet.com/b/haroldwong/archive/2012/08/18/how-to-create-windows-8-vhd-for-boot-to-vhd-using-simple-easy-to-follow-steps.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Problem I experienced now was that I needed a VitualBox Windows 8 machine and there it did not work. I got the message ‘BOOT FAILURE’ after trying to start up that installation. &lt;/p&gt;  &lt;p&gt;I ended up using WIM2VHD with the /HyperV switch to prep the VHD for Hyper-V. Then I created a new VirtualBox machine with the vhd. I removed the SATA controller entirely and added new IDE harddisk using the vhd. &lt;/p&gt;  &lt;p&gt;And now I am running Windows 8 in VirtualBox!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578360" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/WinRT/default.aspx">WinRT</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/install.WIM/default.aspx">install.WIM</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Boot+Failure/default.aspx">Boot Failure</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/WIM2VHD/default.aspx">WIM2VHD</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/VirtualBox/default.aspx">VirtualBox</category></item><item><title>In the Pocket – Users</title><link>http://bloggingabout.net/blogs/dries/archive/2013/02/23/in-the-pocket-users.aspx</link><pubDate>Sat, 23 Feb 2013 22:02:21 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578347</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578347</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/02/23/in-the-pocket-users.aspx#comments</comments><description>&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;I  got a mail today, from a user … yes, really… A real user! He likes my app. And I like him for using it! I aim to please. 
&lt;/p&gt;&lt;p&gt;He had 2 feature requests. I love that sort of thing. Yesterday I didn&amp;#39;t really know what to do when sitting behind my pc. I wanted to continue working on In the Pocket, but I lacked a sense of purpose. And now I have no less than 2 features to build. 
&lt;/p&gt;&lt;p&gt;After nearly 100 downloads, I decided to create a uservoice site for In the Pocket. Dennis (&lt;a href="http://bloggingabout.net/blogs/dennis"&gt;http://bloggingabout.net/blogs/dennis&lt;/a&gt;) suggested it. This was just what I needed, a way to know what to do next!
&lt;/p&gt;&lt;p&gt;So if you have a suggestion for In the Pocket: please register it at &lt;a href="http://inthepocket.uservoice.com"&gt;http://inthepocket.uservoice.com&lt;/a&gt; or go there to vote for the next features to build. 
&lt;/p&gt;&lt;p&gt;If you found a bug or have some other issue with it, send an email to &lt;a href="mailto:tickets@inthepocket.uservoice.com"&gt;tickets@inthepocket.uservoice.com&lt;/a&gt;. 
&lt;/p&gt;&lt;p&gt;Now that I know what to do, let&amp;#39;s get back to some happy coding!
&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt; &lt;/span&gt; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578347" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/In+The+Pocket/default.aspx">In The Pocket</category></item><item><title>In The Pocket – Open work list</title><link>http://bloggingabout.net/blogs/dries/archive/2013/02/22/in-the-pocket-open-work-list.aspx</link><pubDate>Fri, 22 Feb 2013 08:19:37 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578345</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578345</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/02/22/in-the-pocket-open-work-list.aspx#comments</comments><description>&lt;p&gt;I decided to make my Trello work list for In The Pocket public, but read-only. You can follow the progress of In The Pocket here:
&lt;/p&gt;&lt;p&gt;&lt;a href="https://trello.com/board/in-the-pocket/50dcd3b6b3ac9e631b000707"&gt;https://trello.com/board/in-the-pocket/50dcd3b6b3ac9e631b000707&lt;/a&gt;
	&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578345" width="1" height="1"&gt;</description></item><item><title>Windows 8 – Html to RichTextBox Content</title><link>http://bloggingabout.net/blogs/dries/archive/2013/02/21/windows-8-html-to-richtextbox-content.aspx</link><pubDate>Thu, 21 Feb 2013 20:55:37 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578342</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578342</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/02/21/windows-8-html-to-richtextbox-content.aspx#comments</comments><description>&lt;p&gt;As I explained in my last posts (&lt;a href="http://bloggingabout.net/blogs/dries/archive/2013/02/21/status-update-for-in-the-pocket.aspx"&gt;here&lt;/a&gt; and &lt;a href="http://bloggingabout.net/blogs/dries/archive/2013/02/21/in-the-pocket-using-diffbot.aspx"&gt;here&lt;/a&gt;) I want to use Diffbot to implement my offline reading feature. I want the text to show up looking as close to the real website as I can. This can be done with the RichTextBlock control. This can implement a very limited set of xaml elements. Read about it on &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.richtextblock"&gt;http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.richtextblock&lt;/a&gt;. 
&lt;/p&gt;&lt;p&gt;Luckily DiffBot can send me the text in html, so the style isn&amp;#39;t lost. All I needed is a way to convert Html to Xaml. If you search NuGet for &amp;#39;RichTextBlock&amp;#39; you get 2 results: &lt;a href="http://nuget.org/packages/RichTextBlock.Html2Xaml/"&gt;RichTextBlock.Html2Xaml &lt;/a&gt;and &lt;a href="http://nuget.org/packages/WinRt.Html2XamlConverter/"&gt;WinRT Html2Xaml Converter &lt;/a&gt;. I tried them both, but the first uses an xslt template for parsing the html and that only works if the html can be processed as xml. If only every website was this tidy… So I ended up using the last one that uses &lt;a href="http://nuget.org/packages/HtmlAgilityPack/"&gt;HtmlAgilityPack&lt;/a&gt; to parse the html. 
&lt;/p&gt;&lt;h4&gt;WinRT.Html2Xaml
&lt;/h4&gt;&lt;p&gt;I like the general idea of this project.  Check out the code on &lt;a href="https://winrthtml2xaml.codeplex.com/"&gt;https://winrthtml2xaml.codeplex.com/&lt;/a&gt;. Here&amp;#39;s how it works:
&lt;/p&gt;&lt;p&gt;There is an attached property for the Html so we can bind a string in a class called &lt;em&gt;Properties&lt;/em&gt;. Whenever the Html changes the &lt;em&gt;HtmlChanged&lt;/em&gt; eventhandler is called. This method uses the converter to convert html to xaml, set this in a new RichTextBlock and then moves all the blocks from the new RichTextBlock into the existing one. Works like a charm.
&lt;/p&gt;&lt;p&gt;The Html2XamlConverter is a static class with 1 public method: Convert2Xaml(string htmlString) (it also has an overload where you can specify extra attributes) which is called from the HtmlChanged eventHandler. It uses &lt;em&gt;TagDefinitions&lt;/em&gt; to specify how a translation between html and xaml tags should be made.
&lt;/p&gt;&lt;h4&gt;Downside
&lt;/h4&gt;&lt;p&gt;Unfortunately, this package does not support parsing img tags to Images and it provided no good way of extending the processing to my needs.  The Html2XamlConverter is a static class with a fixed set of TagDefinitions, there is no way to get in between. 
&lt;/p&gt;&lt;p&gt;Nothing to do but fork I guess. 
&lt;/p&gt;&lt;h4&gt;Fixing extensibility
&lt;/h4&gt;&lt;p&gt;First of all, to allow dependency the static Html2XamlConverter must be changed to a non-static class. Secondly, I added an extra attached property Converter in the &lt;em&gt;Properties&lt;/em&gt; class to allow setting converter in xaml (this has to be a resource though. Here&amp;#39;s how you use it:
&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;font-family:Consolas;font-size:9pt;background-color:white;"&gt;       &amp;lt;&lt;span style="color:#a31515;"&gt;Page.Resources&lt;span style="color:blue;"&gt;&amp;gt;&lt;span style="color:black;"&gt;
					&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#a31515;"&gt;common&lt;span style="color:blue;"&gt;:&lt;span style="color:#a31515;"&gt;MyHtml2XamlConverter&lt;span style="color:red;"&gt; x&lt;span style="color:blue;"&gt;:&lt;span style="color:red;"&gt;Key&lt;span style="color:blue;"&gt;=&amp;quot;MyConverter&amp;quot; /&amp;gt;&lt;span style="color:black;"&gt;
											&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;&lt;span style="background-color:white;"&gt;    &lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#a31515;"&gt;Page.Resources&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;font-family:Consolas;font-size:9pt;"&gt;…
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;font-family:Consolas;font-size:9pt;background-color:white;"&gt;       &amp;lt;&lt;span style="color:#a31515;"&gt;RichTextBlock&lt;span style="color:red;"&gt;
					&lt;br /&gt;              h2xaml&lt;span style="color:blue;"&gt;:&lt;span style="color:red;"&gt;Properties.Html&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;span style="color:#a31515;"&gt;Binding&lt;span style="color:red;"&gt; Text&lt;span style="color:blue;"&gt;}&amp;quot;&lt;span style="color:red;"&gt;
												&lt;br /&gt;              h2xaml&lt;span style="color:blue;"&gt;:&lt;span style="color:red;"&gt;Properties.Converter&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;span style="color:#a31515;"&gt;StaticResource&lt;span style="color:red;"&gt; MyConverter&lt;span style="color:blue;"&gt;}&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;I can now specify which Converter I want to use. I can even bind it if I so want.  
&lt;/p&gt;&lt;p&gt;So I forked the code, refactored and will do a pull request soon. In the meanwhile get the code here: &lt;a href="http://winrthtml2xaml.codeplex.com/SourceControl/network/forks/dmarckmann/extendableHtml2Xaml"&gt;http://winrthtml2xaml.codeplex.com/SourceControl/network/forks/dmarckmann/extendableHtml2Xaml&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;Accidentally, I added support for img tag parsing also. 
&lt;/p&gt;&lt;p&gt;Here&amp;#39;s a little sample of a converter that will parse &lt;em&gt;pre&lt;/em&gt; tags to allow the right view of c# code:
&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;font-family:Consolas;font-size:9pt;background-color:white;"&gt;public&lt;span style="color:black;"&gt;
				&lt;span style="color:blue;"&gt;class&lt;span style="color:black;"&gt;
						&lt;span style="color:#2b91af;"&gt;MyHtml2XamlConverter&lt;span style="color:black;"&gt; : &lt;span style="color:#2b91af;"&gt;Html2XamlConverter&lt;span style="color:black;"&gt;
									&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;    {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        &lt;span style="color:blue;"&gt;public&lt;span style="color:black;"&gt; MyHtml2XamlConverter()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            : &lt;span style="color:blue;"&gt;base&lt;span style="color:black;"&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            tags.Add(&lt;span style="color:#a31515;"&gt;&amp;quot;pre&amp;quot;&lt;span style="color:black;"&gt;, &lt;span style="color:blue;"&gt;new&lt;span style="color:black;"&gt;
							&lt;span style="color:#2b91af;"&gt;TagDefinition&lt;span style="color:black;"&gt;(parsePre) { MustBeTop = &lt;span style="color:blue;"&gt;true&lt;span style="color:black;"&gt; });
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        &lt;span style="color:blue;"&gt;private&lt;span style="color:black;"&gt;
					&lt;span style="color:blue;"&gt;void&lt;span style="color:black;"&gt; parsePre(&lt;span style="color:#2b91af;"&gt;StringBuilder&lt;span style="color:black;"&gt; xamlString, &lt;span style="color:#2b91af;"&gt;HtmlNode&lt;span style="color:black;"&gt; node, &lt;span style="color:blue;"&gt;bool&lt;span style="color:black;"&gt; isTop)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            xamlString.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Span FontFamily=\&amp;quot;Consolas\&amp;quot; FontSize=\&amp;quot;14\&amp;quot;&amp;gt;&amp;quot;&lt;span style="color:black;"&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            xamlString.Append(node.InnerText.Replace(&lt;span style="color:#a31515;"&gt;&amp;quot;\n&amp;quot;&lt;span style="color:black;"&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;LineBreak/&amp;gt;&amp;quot;&lt;span style="color:black;"&gt;).Replace(&lt;span style="color:#a31515;"&gt;&amp;quot; &amp;quot;&lt;span style="color:black;"&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Run Text=\&amp;quot; \&amp;quot;/&amp;gt;&amp;quot;&lt;span style="color:black;"&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            xamlString.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Span&amp;gt;&amp;quot;&lt;span style="color:black;"&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;&lt;span style="background-color:white;"&gt;    }&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Now we&amp;#39;ll have to wait for someone to make us a converter that will parse &lt;em&gt;pre&lt;/em&gt; tags with c# color coding…  (Do I hear &amp;#39;challenge accepted!&amp;#39;? Anyone?)
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Happy coding!
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578342" width="1" height="1"&gt;</description></item><item><title>In the Pocket - Using DiffBot</title><link>http://bloggingabout.net/blogs/dries/archive/2013/02/21/in-the-pocket-using-diffbot.aspx</link><pubDate>Thu, 21 Feb 2013 13:59:04 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578341</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578341</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/02/21/in-the-pocket-using-diffbot.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;In order to be able to read content offline, I decided to implement &lt;a href="http://diffbot.com/"&gt;DiffBot&lt;/a&gt; rather than apply for use of the Article View API of Pocket itself. 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;DiffBot is just awesome. It is so accurate in picking the main content. Pocket Article View API is sometimes just plain wrong. Look at &lt;a href="http://www.udidahan.com/?blog=true"&gt;Udi Dahans blog&lt;/a&gt; for example: 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img align="left" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dries.metablogapi/4278.022113_5F00_1358_5F00_InthePocket1.png" alt="" /&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;This is what Pocket makes of it: 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img align="left" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dries.metablogapi/0755.022113_5F00_1358_5F00_InthePocket2.png" alt="" /&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;That is not the main content at all, it is the sidebar! DiffBot however, is absolutely spot on: 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img align="left" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dries.metablogapi/0247.022113_5F00_1358_5F00_InthePocket3.png" alt="" /&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;Basically this is because DiffBot approaches the webpages visually. It &amp;#39;looks&amp;#39; at pages the way humans do. 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;And they have more than just the article API! Learn more on how DiffBot works and what it can do for you: 
&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://diffbot.com"&gt;http://diffbot.com&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://techcrunch.com/2011/08/25/diffbot-sees-the-web-like-people-do-now-free-for-developers/"&gt;http://techcrunch.com/2011/08/25/diffbot-sees-the-web-like-people-do-now-free-for-developers/&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=_dgWacImCRg"&gt;http://www.youtube.com/watch?v=_dgWacImCRg&lt;/a&gt; (By Building43) 
&lt;p&gt; 
 &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;And DiffBot is also really easy to implement: just check out the API documentation &lt;a href="http://diffbot.com/our-apis/article/"&gt;here&lt;/a&gt;. You can also take it for a spin there! 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:12pt;"&gt;Happy coding! &lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578341" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/In+The+Pocket/default.aspx">In The Pocket</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/DiffBot/default.aspx">DiffBot</category></item><item><title>Status update for In the Pocket</title><link>http://bloggingabout.net/blogs/dries/archive/2013/02/21/status-update-for-in-the-pocket.aspx</link><pubDate>Thu, 21 Feb 2013 12:55:45 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578340</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578340</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/02/21/status-update-for-in-the-pocket.aspx#comments</comments><description>&lt;p&gt;I am still working on my app &lt;a href="http://apps.microsoft.com/windows/app/in-the-pocket-free/75ae5846-2a9a-4447-8fd3-bb5e26e32815"&gt;In the Pocket&lt;/a&gt;, but my focus is now on getting my paid version out. 
&lt;/p&gt;&lt;p&gt;The paid version of In The Pocket (release 1) will add the following features to In The Pocket Free:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Being able to save articles locally (implemented using &lt;a href="http://diffbot.com"&gt;DiffBot service&lt;/a&gt;)
&lt;/li&gt;&lt;li&gt;Queuing added items even when you have no internet
&lt;/li&gt;&lt;li&gt;Marking items as read even when you have no internet
&lt;/li&gt;&lt;li&gt;Being able to mark many items as read from the main screen
&lt;/li&gt;&lt;li&gt;Being able to read items that have been archived (Marked as read)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;You may wander, why I want to have all these offline features. The reason is simple and I will explain below.
&lt;/p&gt;&lt;p&gt;Although the moments are scarce, we are still not always connected to the internet with our tablet or laptop. When we are on the move, we have a phone that is still connected, our other devices are usually not. You can set up Connection sharing to have a wifi connection always, but your data plan would have to be a big one and your bill will be huge. For most people this is not an option.
&lt;/p&gt;&lt;p&gt;So better to plan for an &amp;#39;occasionally connected&amp;#39; application, but that means you will have to have all the features available that you would have when you are online. 
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578340" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/WinRT/default.aspx">WinRT</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/In+The+Pocket/default.aspx">In The Pocket</category></item><item><title>Windows 8 RT &amp; Caliburn.Micro - Being a share source</title><link>http://bloggingabout.net/blogs/dries/archive/2013/02/11/windows-8-rt-amp-caliburn-micro-being-a-share-source.aspx</link><pubDate>Mon, 11 Feb 2013 12:48:55 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578320</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578320</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/02/11/windows-8-rt-amp-caliburn-micro-being-a-share-source.aspx#comments</comments><description>&lt;p&gt;If you want to know how to share be a share &lt;em&gt;target&lt;/em&gt; rather than the source, go &lt;a href="http://bloggingabout.net/blogs/dries/archive/2013/01/18/windows-8-amp-caliburn-micro-being-a-sharing-target.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;Being is the source of the share action is simple. 
&lt;/p&gt;&lt;p&gt;In the ViewModel where you have the content you want to share, add this:
&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;font-family:Consolas;font-size:9pt;background-color:white;"&gt; protected&lt;span style="color:black;"&gt;
				&lt;span style="color:blue;"&gt;override&lt;span style="color:black;"&gt;
						&lt;span style="color:blue;"&gt;void&lt;span style="color:black;"&gt; OnActivate()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;base&lt;span style="color:black;"&gt;.OnActivate();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:#2b91af;"&gt;DataTransferManager&lt;span style="color:black;"&gt;.GetForCurrentView().DataRequested += OnDataRequested;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;protected&lt;span style="color:black;"&gt;
					&lt;span style="color:blue;"&gt;override&lt;span style="color:black;"&gt;
							&lt;span style="color:blue;"&gt;void&lt;span style="color:black;"&gt; OnDeactivate(&lt;span style="color:blue;"&gt;bool&lt;span style="color:black;"&gt; close)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;base&lt;span style="color:black;"&gt;.OnDeactivate(close);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:#2b91af;"&gt;DataTransferManager&lt;span style="color:black;"&gt;.GetForCurrentView().DataRequested -= OnDataRequested;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;&lt;span style="background-color:white;"&gt;        }&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;protected&lt;span style="color:black;"&gt;
					&lt;span style="color:blue;"&gt;void&lt;span style="color:black;"&gt; OnDataRequested(&lt;span style="color:#2b91af;"&gt;DataTransferManager&lt;span style="color:black;"&gt; sender, &lt;span style="color:#2b91af;"&gt;DataRequestedEventArgs&lt;span style="color:black;"&gt; args)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; request = args.Request;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; requestData = request.Data;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            requestData.Properties.Title = Title;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            requestData.Properties.Description = Description;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            requestData.SetUri(&lt;span style="color:blue;"&gt;new&lt;span style="color:black;"&gt;
					&lt;span style="color:#2b91af;"&gt;Uri&lt;span style="color:black;"&gt;(Url));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;&lt;span style="background-color:white;"&gt;        }&lt;/span&gt;&lt;strong&gt;
			&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Basically, we subscribe to the DataRequested event and fill the Request that comes with the event arguments with the data we want to share.
&lt;/p&gt;&lt;p&gt;Easy! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578320" width="1" height="1"&gt;</description></item><item><title>Windows 8 – NuGet: You are trying to install this package into a project that targets '.NETCore,Version=v4.5'</title><link>http://bloggingabout.net/blogs/dries/archive/2013/02/05/windows-8-nuget.aspx</link><pubDate>Tue, 05 Feb 2013 08:56:51 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578304</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578304</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/02/05/windows-8-nuget.aspx#comments</comments><description>&lt;p&gt;Today, after installing Visual Studio Express 2012 for Windows 8 on my home laptop, I experienced something I haven&amp;#39;t since I started developing. I got this message when trying to install Caliburn.Micro in a new project:
&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;You are trying to install this package into a project that targets &amp;#39;.NETCore,Version=v4.5&amp;#39;, but the package does not contain any assembly references that are compatible with that framework. For more information, contact the package author.
&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I remember having to Google for a while before finding the answer, so here it is: It&amp;#39;s to do with the version of NuGet Package Manager you have installed. &lt;span style="color:black;font-family:Arial;font-size:10pt;"&gt;NuGet 2.0 or earlier expect the &amp;#39;&lt;/span&gt;winRT45&amp;#39; or &amp;#39;NETCore45&amp;#39; packages while as of version 2.1 NuGet expects one of the following: Windows, Windows8, win, win8.
&lt;/p&gt;&lt;p&gt;More information can be found here: &lt;a href="http://docs.nuget.org/docs/release-notes/nuget-2.1"&gt;http://docs.nuget.org/docs/release-notes/nuget-2.1#Targeting_Windows_8_and_Windows_Phone_8_Projects&lt;/a&gt;
	&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578304" width="1" height="1"&gt;</description></item><item><title>Installing your app on your Windows RT device</title><link>http://bloggingabout.net/blogs/dries/archive/2013/01/29/installing-your-app-on-your-windows-rt-device.aspx</link><pubDate>Tue, 29 Jan 2013 09:33:50 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578295</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578295</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/01/29/installing-your-app-on-your-windows-rt-device.aspx#comments</comments><description>&lt;p&gt;Alright… so my app is almost finished and I want to install it for real on my Surface tablet. How do I do that? Is it possible?
&lt;/p&gt;&lt;p&gt;Yes it is.
&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14pt;"&gt;&lt;strong&gt;NB: People, seems like I was not entirely accurate. Before you can install the package this way, you need a developer license for your Win RT device. You can get one by installing the remote tools for VS2012 on your Surface (&lt;a href="http://go.microsoft.com/?linkid=9810474"&gt;http://go.microsoft.com/?linkid=9810474&lt;/a&gt;) and remote debug at least one app you created yourself.
&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;It involves 4 steps:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Create the app packages
&lt;/li&gt;&lt;li&gt;Get files to your tablet
&lt;/li&gt;&lt;li&gt;Install the certificate included in the package on your tablet
&lt;/li&gt;&lt;li&gt;Install the app on your device
&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Create the app package
&lt;/h2&gt;&lt;p&gt;To do this you can navigate to Project &amp;gt; Store &amp;gt; Create App Packages... 
&lt;/p&gt;&lt;p&gt;&lt;img src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dries.metablogapi/5074.012913_5F00_0933_5F00_Installingy1.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;You will be asked whether you have a Windows store account, just select &amp;#39;no&amp;#39; and continue. Now you will be asked for the details of your package like the version and the architecture.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dries.metablogapi/8546.012913_5F00_0933_5F00_Installingy2.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;Modify as needed or just click &amp;#39;Create&amp;#39;. After that you will be shown a window with a link to the outputpath of the package and the possibility to start the Windows App Certification Kit. Klik on the first link to be taken to your package and then click &amp;#39;OK&amp;#39;.
&lt;/p&gt;&lt;p&gt;You&amp;#39;ll find an .appxupload file and a folder with more files. The .appxupload file is just a zip (if you rename you can open it). The folder contain the interesting documents though…
&lt;/p&gt;&lt;h2&gt;Getting the files on your tablet
&lt;/h2&gt;&lt;p&gt;There is one awesome way to get the files on your tablet: SkyDrive! Of course mail, usb or similar will also work. 
&lt;/p&gt;&lt;p&gt;Move these files to your device: the .appx file and the certificate. Optionally you could include the .appxsym file to include the symbols. BTW both the appx and the appxsym files are zip files.
&lt;/p&gt;&lt;p&gt;I placed the files in my SkyDrive and downloaded them to my desktop on my tablet.
&lt;/p&gt;&lt;h2&gt;Install the certificate on your tablet
&lt;/h2&gt;&lt;p&gt;When I open the certificate file on my tablet I get option to install the certificate. Now, you should install it to the local machine, make sure the certificate is installed in the &amp;#39;Trusted Root Certification Authorities&amp;#39; store (NOT automatically selected). 
&lt;/p&gt;&lt;p&gt;Now this step is done… easy right?! On to the files stage: installing your app…
&lt;/p&gt;&lt;h2&gt;Install the app on your device
&lt;/h2&gt;&lt;p&gt;Open a powershell window in administrator mode. (Open start, search Powershell, select by dragging down, select &amp;#39;Run as Administrator&amp;#39;) 
&lt;/p&gt;&lt;p&gt;In the powershell console, navigate to the place where your application is. (Hint: &amp;#39;cd&amp;#39; for change directory works fine…)
&lt;/p&gt;&lt;p&gt;Now type &amp;#39;Add-&amp;#39; and tab to let powershell finish the command. It now says: Add-AppxPackage
&lt;/p&gt;&lt;p&gt;Just specify the appx filename: Add-AppxPackage .\&amp;lt;filename&amp;gt;.appx 
&lt;/p&gt;&lt;p&gt;Hit enter. The app should now install.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14pt;"&gt;&lt;strong&gt;NB: People, seems like I was not entirely accurate. Before you can install the package this way, you need a developer license for your Win RT device. You can get one by installing the remote tools for VS2012 on your Surface (&lt;a href="http://go.microsoft.com/?linkid=9810474"&gt;http://go.microsoft.com/?linkid=9810474&lt;/a&gt;) and remote debug at least one app you created yourself.
&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Happy coding! And running, I guess…
&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578295" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/WinRT/default.aspx">WinRT</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Windows+8/default.aspx">Windows 8</category></item><item><title>Windows 8 –Live tiles</title><link>http://bloggingabout.net/blogs/dries/archive/2013/01/22/windows-8-live-tiles.aspx</link><pubDate>Tue, 22 Jan 2013 05:37:08 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:578282</guid><dc:creator>Dries Marckmann</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dries/rsscomments.aspx?PostID=578282</wfw:commentRss><comments>http://bloggingabout.net/blogs/dries/archive/2013/01/22/windows-8-live-tiles.aspx#comments</comments><description>&lt;p&gt;My friend Pascal (&lt;a href="http://www.pazquality.com/"&gt;http://www.pazquality.com/&lt;/a&gt;) is also working on a windows 8 application. He was having trouble with getting the Live tiles to work so I volunteered to find out how to cycle to a couple of tiles and keep cycling between them.
&lt;/p&gt;&lt;p&gt;Well, it&amp;#39;s surprisingly simple… Here&amp;#39;s the code that I wrote in the constructor of the App:
&lt;/p&gt;&lt;p&gt;&lt;span style="color:green;font-family:Consolas;font-size:9pt;background-color:white;"&gt;     //I installed the following nuget package: http://nuget.org/packages/NotificationsExtensions.WinRT&lt;span style="color:black;"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:green;"&gt;//This will give you access to the Templates without having to go through the xml...&lt;span style="color:black;"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;            
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:green;"&gt;//Add to Tiles&lt;span style="color:black;"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; x1 = &lt;span style="color:#2b91af;"&gt;TileContentFactory&lt;span style="color:black;"&gt;.CreateTileSquareText01();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            x1.TextHeading.Text = &lt;span style="color:#a31515;"&gt;&amp;quot;Text 1&amp;quot;&lt;span style="color:black;"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; x2 = &lt;span style="color:#2b91af;"&gt;TileContentFactory&lt;span style="color:black;"&gt;.CreateTileSquareText01();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            x2.TextHeading.Text = &lt;span style="color:#a31515;"&gt;&amp;quot;Text 2&amp;quot;&lt;span style="color:black;"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:green;"&gt;//Make ScheduledTileNotifications out of them with a due date of 10 and 20 seconds from now...&lt;span style="color:black;"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:#2b91af;"&gt;ScheduledTileNotification&lt;span style="color:black;"&gt; n1 = &lt;span style="color:blue;"&gt;new&lt;span style="color:black;"&gt;
							&lt;span style="color:#2b91af;"&gt;ScheduledTileNotification&lt;span style="color:black;"&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;                    x1.GetXml(), &lt;span style="color:blue;"&gt;new&lt;span style="color:black;"&gt;
					&lt;span style="color:#2b91af;"&gt;DateTimeOffset&lt;span style="color:black;"&gt;(&lt;span style="color:#2b91af;"&gt;DateTime&lt;span style="color:black;"&gt;.Now.AddSeconds(10)));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:#2b91af;"&gt;ScheduledTileNotification&lt;span style="color:black;"&gt; n2 = &lt;span style="color:blue;"&gt;new&lt;span style="color:black;"&gt;
							&lt;span style="color:#2b91af;"&gt;ScheduledTileNotification&lt;span style="color:black;"&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;                    x2.GetXml(), &lt;span style="color:blue;"&gt;new&lt;span style="color:black;"&gt;
					&lt;span style="color:#2b91af;"&gt;DateTimeOffset&lt;span style="color:black;"&gt;(&lt;span style="color:#2b91af;"&gt;DateTime&lt;span style="color:black;"&gt;.Now.AddSeconds(20)));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:green;"&gt;//Initialize the TileUpdater&lt;span style="color:black;"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; m = &lt;span style="color:#2b91af;"&gt;TileUpdateManager&lt;span style="color:black;"&gt;.CreateTileUpdaterForApplication();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;            
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:green;"&gt;//Enable Queuing (this is what makes it cycle....)&lt;span style="color:black;"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            m.EnableNotificationQueue(&lt;span style="color:blue;"&gt;true&lt;span style="color:black;"&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;            
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;
			&lt;span style="color:green;"&gt;//Add the ScheduledTileNotifications to the schedule...&lt;span style="color:black;"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            m.AddToSchedule(n1);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"&gt;            m.AddToSchedule(n2);&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;The tile is now cycling through these 2 notifications… 
&lt;/p&gt;&lt;p&gt;Happy coding, pazzie! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=578282" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dries/archive/tags/WinRT/default.aspx">WinRT</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Tile/default.aspx">Tile</category><category domain="http://bloggingabout.net/blogs/dries/archive/tags/Windows+8/default.aspx">Windows 8</category></item></channel></rss>