<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Christian Heindel - IT Solutions &#38; Consulting</title>
	<atom:link href="http://blog.christian-heindel.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.christian-heindel.de</link>
	<description>Blog</description>
	<lastBuildDate>Mon, 14 May 2012 20:28:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Free SharePoint 2010 development environment (three ways to get one)</title>
		<link>http://blog.christian-heindel.de/2012/05/14/free-sharepoint-2010-development-environment-three-ways-to-get-one/</link>
		<comments>http://blog.christian-heindel.de/2012/05/14/free-sharepoint-2010-development-environment-three-ways-to-get-one/#comments</comments>
		<pubDate>Mon, 14 May 2012 20:28:36 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[BizSpark]]></category>
		<category><![CDATA[development environment]]></category>
		<category><![CDATA[DreamSpark]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[licensing]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 11]]></category>
		<category><![CDATA[WebsiteSpark]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=441</guid>
		<description><![CDATA[Let me show you three easy ways how to get a free SharePoint 2010 development environment. Ideal for starters&#8230; Microsoft DreamSpark (for students and educators) Create a DreamSpark Account Verify your student status Download the Visual Studio 2010 Professional Edition Use the SharePoint 2010 Easy Setup Script to download and install a copy of the...  <a href="http://blog.christian-heindel.de/2012/05/14/free-sharepoint-2010-development-environment-three-ways-to-get-one/" class="more-link" title="Read Free SharePoint 2010 development environment (three ways to get one)">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Let me show you three easy ways how to get a free SharePoint 2010 development environment. Ideal for starters&#8230; <img src='http://blog.christian-heindel.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <span id="more-441"></span><br />
<img class="alignright  wp-image-444" src="http://blog.christian-heindel.de/files/2012/05/free_gift-300x298.png" alt="" width="210" height="209" /></p>
<h2>Microsoft DreamSpark<br />
(for students and educators)</h2>
<ol>
<li><a href="https://www.dreamspark.com/Account/CreateAccount.aspx">Create a DreamSpark Account</a></li>
<li>Verify your student status</li>
<li>Download the <a href="https://www.dreamspark.com/Product/Product.aspx?productid=4">Visual Studio 2010 Professional Edition</a></li>
<li>Use the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=23415">SharePoint 2010 Easy Setup Script</a> to download and install a copy of the free SharePoint Foundation 2010</li>
<ul>
<li>26 minutes video tutorial on Channel 9: <a href="http://channel9.msdn.com/Shows/SharePointSideshow/Building-a-SharePoint-Development-Machine-Using-the-Easy-Setup-Script">Building a SharePoint Development Machine Using the Easy Setup Script</a></li>
<li>Chris Johnson: <a href="http://blogs.msdn.com/b/cjohnson/archive/2010/10/28/announcing-sharepoint-easy-setup-for-developers.aspx">Announcing SharePoint Easy Setup for Developers</a> (blog post with step by step configuration instructions)</li>
</ul>
<li>Done.</li>
</ol>
<div>
<p><span style="text-decoration: underline">Restrictions</span></p>
<p><em>You may not use the software provided as part of the Student Subscription:</em></p>
<ul>
<li><em>for commercial purposes or</em></li>
<li><em>to develop or maintain your own administrative or IT systems.</em></li>
</ul>
</div>
<h2>Microsoft WebsiteSpark / BizSpark<br />
(for small companies and startups)</h2>
<p>As a startup or a small company you can get the required software for free for the first three years.</p>
<ol>
<li><a href="https://www.microsoft.com/bizspark/Startup/Signup.aspx">Create a Microsoft BizSpark account</a> or a <a href="http://www.microsoft.com/web/websitespark/">WebsiteSpark account</a></li>
<li>Get approved</li>
<li>Download the <a href="https://www.dreamspark.com/Product/Product.aspx?productid=4">Visual Studio 2010 Professional Edition</a></li>
<li>Use the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=23415">SharePoint 2010 Easy Setup Script</a> to download and install a copy of the free SharePoint Foundation 2010</li>
<ul>
<li>26 minutes video tutorial on Channel 9: <a href="http://channel9.msdn.com/Shows/SharePointSideshow/Building-a-SharePoint-Development-Machine-Using-the-Easy-Setup-Script">Building a SharePoint Development Machine Using the Easy Setup Script</a></li>
<li>Chris Johnson: <a href="http://blogs.msdn.com/b/cjohnson/archive/2010/10/28/announcing-sharepoint-easy-setup-for-developers.aspx">Announcing SharePoint Easy Setup for Developers</a> (blog post with step by step configuration instructions)</li>
</ul>
<li>Done.</li>
</ol>
<p>To qualify for <a href="http://www.microsoft.com/bizspark/Default.aspx">BizSpark</a>, your Startup must be:</p>
<ul>
<li>Developing Software</li>
<li>Privately held</li>
<li>Less than 3 years old</li>
<li>Making Less than US $1 million in annual revenue<em> </em></li>
</ul>
<p>To qualify for <a href="http://www.microsoft.com/web/websitespark/">WebsiteSpak</a>, your company must be:</p>
<ul>
<li>A professional service firm whose primary business is providing Web development and design services for its clients, with</li>
<li>no more than 10 members (including owners and employees).</li>
<li><strong>Individual</strong>: An individual that performs web-related development and/or design services for its current customers or plans to provide such services to its customers in the future. An Individual does not have his/her own company and/or does not work for a web design or development company.</li>
</ul>
<h2>BETA software with GO-LIVE license<br />
(for everyone)</h2>
<p>Note: This method will stop working on 15 January 2013.</p>
<ol>
<li>Download and install the free <a href="http://windows.microsoft.com/en-us/windows-8/consumer-preview">Windows 8 Consumer Preview</a></li>
<li>Download and install the free <a href="http://www.microsoft.com/visualstudio/11/en-us">Visual Studio 11 Beta</a> (Ultimate, Premium or Professional)</li>
<li>Use the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=23415">SharePoint 2010 Easy Setup Script</a> to download and install a copy of the free SharePoint Foundation 2010</li>
<ul>
<li>26 minutes video tutorial on Channel 9: <a href="http://channel9.msdn.com/Shows/SharePointSideshow/Building-a-SharePoint-Development-Machine-Using-the-Easy-Setup-Script">Building a SharePoint Development Machine Using the Easy Setup Script</a></li>
<li>Chris Johnson: <a href="http://blogs.msdn.com/b/cjohnson/archive/2010/10/28/announcing-sharepoint-easy-setup-for-developers.aspx">Announcing SharePoint Easy Setup for Developers</a> (blog post with step by step configuration instructions)</li>
<li>This might also help:  <a href="http://msdn.microsoft.com/en-us/library/ee554869.aspx">Setting Up the Development Environment for SharePoint 2010 on Windows Vista, Windows 7, and Windows Server 2008</a> (it is basically the same for Windows <img src='http://blog.christian-heindel.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> </li>
</ul>
<li>Double check that IIS uses .NET 2.0 instead of 4.0 for the SharePoint web applications</li>
<li>(Optional) <a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh696646.aspx">Getting a developer license for Windows 8 Consumer Preview</a></li>
<li>Done.</li>
</ol>
<p>License: <a href="http://www.microsoft.com/visualstudio/11/en-us/downloads/go-live">Go Live</a></p>
<p><em>Visual Studio 11 Beta and .NET Framework 4.5 Beta meet our high standards for pre-release software, so <strong>we support application design, development, test, and deployment in test and production environments</strong>. Before putting an application into production, you must review and comply with the INSTALLATION, USE RIGHTS AND RESTRICTIONS section of the Microsoft Visual Studio 11 Product Family Beta Software licensing agreement. This section describes your rights for internal and external production use.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2012/05/14/free-sharepoint-2010-development-environment-three-ways-to-get-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging HTML5 web apps with Error.stack, websocket frame inspection and breakpoints for dynamic Web Worker threads</title>
		<link>http://blog.christian-heindel.de/2012/05/14/debugging-html5-web-apps-with-error-stack-websocket-frame-inspection-and-breakpoints-for-dynamic-web-worker-threads/</link>
		<comments>http://blog.christian-heindel.de/2012/05/14/debugging-html5-web-apps-with-error-stack-websocket-frame-inspection-and-breakpoints-for-dynamic-web-worker-threads/#comments</comments>
		<pubDate>Mon, 14 May 2012 00:02:01 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[callstack]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IE10]]></category>
		<category><![CDATA[Internet Explorer 10]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[stack]]></category>
		<category><![CDATA[threading]]></category>
		<category><![CDATA[threads]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[trace]]></category>
		<category><![CDATA[web sockets]]></category>
		<category><![CDATA[Web Worker]]></category>
		<category><![CDATA[WebSocket]]></category>
		<category><![CDATA[WebSockets]]></category>
		<category><![CDATA[webworker]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=413</guid>
		<description><![CDATA[With HTML5 on the rise, there also grows the need for good debugging tools. Three of the newer additions to the web developer&#8217;s debugging toolset are error.stack, websocket frame inspection and breakpoints for dynamic web worker threads. Error.stack Although it is not an ECMAScript 5 standard, beginning with Internet Explorer 10 in Windows 8 Consumer Preview now all...  <a href="http://blog.christian-heindel.de/2012/05/14/debugging-html5-web-apps-with-error-stack-websocket-frame-inspection-and-breakpoints-for-dynamic-web-worker-threads/" class="more-link" title="Read Debugging HTML5 web apps with Error.stack, websocket frame inspection and breakpoints for dynamic Web Worker threads">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>With HTML5 on the rise, there also grows the need for good debugging tools.</p>
<p>Three of the newer additions to the web developer&#8217;s debugging toolset are error.stack, websocket frame inspection and breakpoints for dynamic web worker threads.</p>
<p><span id="more-413"></span></p>
<h2>Error.stack</h2>
<p>Although it is not an <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm" target="_blank">ECMAScript 5</a> standard, beginning with Internet Explorer 10 in <a href="http://windows.microsoft.com/en-US/windows-8/consumer-preview">Windows 8 Consumer Preview</a> now all major browsers offer support for Error.stack.</p>
<p>The Error.stack offers a trace of which functions were called, in what order, from which line and file, and with what arguments.</p>
<div id="attachment_424" class="wp-caption alignnone" style="width: 678px"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack"><img class="size-full wp-image-424 " src="http://blog.christian-heindel.de/files/2012/05/error-stack-compatibility.png" alt="" width="668" height="191" /></a><p class="wp-caption-text">Error.stack browser compatibility (Source: Mozilla Developer Network / MDN)</p></div>
<p>Test it yourself by opening the following <a href="http://ie.microsoft.com/testdrive/browser/ExploreErrorStack/">example</a> in IE10 on a Windows 8 (virtual) machine:</p>
<div id="attachment_425" class="wp-caption alignnone" style="width: 727px"><a href="http://ie.microsoft.com/testdrive/browser/ExploreErrorStack/"><img class=" wp-image-425" src="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-14-um-01.47.33-1024x693.png" alt="" width="717" height="485" /></a><p class="wp-caption-text">Explore Error.stack</p></div>
<p><strong>Want to learn more?</strong></p>
<ul>
<li>IEBlog: <a href="http://blogs.msdn.com/b/ie/archive/2012/05/10/diagnosing-javascript-errors-faster-with-error-stack.aspx"> Diagnosing JavaScript Errors Faster with Error.stack</a></li>
<li>MSDN library: <a href="http://msdn.microsoft.com/en-us/library/ie/hh673549(v=vs.85).aspx">Windows Internet Explorer 10 Consumer Preview Guide for Developers</a></li>
<li>Mozilla Developer Network: <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack">JavaScript Reference &gt; Global &gt; Objects &gt; Error &gt; stack</a></li>
</ul>
<h2>Websocket frame inspection</h2>
<p>Thanks to a <a href="http://trac.webkit.org/changeset/115427">WebKit patch</a> from RIM from 04/27/2012, you can now look into websocket pakets and see the data sent and received in Google Chrome. Before the patch, you could only see that a web socket connection had been established.</p>
<p>How to test this yourself:</p>
<ul>
<li>Download the latest <a href="https://tools.google.com/dlpage/chromesxs">Chrome Canary</a> build and run it</li>
<li>Open a web application that makes use of web sockets, e.g. <a href="http://html5demos.com/web-socket">http://html5demos.com/web-socket</a></li>
<li>Open the developer console  (<strong>Control-Shift-J</strong> or <strong>⌥⌘J</strong>), go to the tab &#8220;<strong>Network</strong>&#8221; filter by &#8220;<strong>WebSockets</strong>&#8221; select the web socket connection you want to debug and then click on the tab &#8220;<strong>Websocket Frames</strong>&#8220;</li>
<li>Now if data is sent or received, you will see little arrows indicating the direction (ingoing/outgoing traffic), Time, OpCode, Mask, Length and Data</li>
</ul>
<img class="alignnone  wp-image-418" src="http://blog.christian-heindel.de/files/2012/05/websocket-frames-1024x685.png" alt="" width="717" height="479" />
<div><strong>Want to learn more?</strong></div>
<div>
<ul>
<li>HTML5 rocks: <a href="http://www.html5rocks.com/en/tutorials/websockets/basics/">Introducing websockets: Bringing sockets to the web</a></li>
<li>W3C specification: <a href="http://dev.w3.org/html5/websockets/">The WebSocket API</a></li>
<li>ietf: <a href="http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-03">The WebSocket protocol</a></li>
<li>Mozilla Developer Network: <a href="https://developer.mozilla.org/en/WebSockets">WebSockets</a></li>
</ul>
</div>
<h2>Breakpoints for dynamic Web Worker threads</h2>
<p>With Web Workers, you can run processor-intensive code in background threads to keep the UI responsive. Debugging a multithreaded app can get difficult because of the asynchronous multiple threads.</p>
<p>The <a href="http://msdn.microsoft.com/en-us/library/ie/hh673541(v=vs.85).aspx">F12 Developer Tools in Windows Internet Explorer 10</a> now can help you debug these threads, letting you view individual worker scripts, set breakpoints, and watch variables.</p>
<p><strong><a href="http://blog.christian-heindel.de/files/2012/05/webworker-debug.png"><img class="alignnone  wp-image-421" src="http://blog.christian-heindel.de/files/2012/05/webworker-debug.png" alt="" width="679" height="447" /></a></strong></p>
<p><strong>Want to learn more?</strong></p>
<ul>
<li>F12 Developer Tools: <a href="http://msdn.microsoft.com/en-us/library/ie/hh673541(v=vs.85).aspx">Debugging Web Workers in F12 Developer Tools</a></li>
<li>HTML5 rocks: <a href="http://www.html5rocks.com/en/tutorials/workers/basics/">The basics of web workers</a></li>
<li>whatwg specification: <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html">Web Workers</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2012/05/14/debugging-html5-web-apps-with-error-stack-websocket-frame-inspection-and-breakpoints-for-dynamic-web-worker-threads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bye, bye Plazes!</title>
		<link>http://blog.christian-heindel.de/2012/05/10/bye-bye-plazes/</link>
		<comments>http://blog.christian-heindel.de/2012/05/10/bye-bye-plazes/#comments</comments>
		<pubDate>Wed, 09 May 2012 23:05:31 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[geosocial]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Plazes]]></category>
		<category><![CDATA[social software]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=359</guid>
		<description><![CDATA[Plazes.com has gone out of service. On July 1st all personal data (including account info) will be erased. It has been bought by Nokia in June 2008 and parts of it are now getting integrated into Nokia Maps. Time to say goodbye! I was user 223 and registered on July 15, 2004 00:05. Plazes was launched on August 16,...  <a href="http://blog.christian-heindel.de/2012/05/10/bye-bye-plazes/" class="more-link" title="Read Bye, bye Plazes!">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<img class="size-full wp-image-379 alignnone" src="http://blog.christian-heindel.de/files/2012/05/Plazes_logo.png" alt="" width="206" height="60" />
<p><a href="http://plazes.com">Plazes.com</a> has gone out of service. On July 1st all personal data (including account info) will be erased. It has been bought by Nokia in June 2008 and parts of it are now getting integrated into <a href="http://maps.nokia.com/">Nokia Maps</a>.</p>
<p>Time to say goodbye!</p>
<p><span id="more-359"></span></p>
<p>I was user 223 and registered on July 15, 2004 00:05. Plazes was launched on August 16, 2004. It was the first geosocial networking site that I know.</p>
<p><span style="text-decoration: underline">For comparison:</span> Gowalla launched in 2007 and Foursquare in 2009.</p>
<p>The first Plaze where I checked in was:</p>
<pre>408 CO4 Communications office Stuttgart 70178 Baden-Württemberg DE Tübinger Str. 19b 48.771960636115 9.1742873841973 http://www.co4.de 1584 5 2004-07-07 20:58:59 UTC 2005-07-11 15:15:46 UTC 842</pre>
<p>That&#8217;s where I learned how to optimize HTML, CSS and JavaScript for browsers like Netscape Navigator 3.0 Gold and Internet Explorer 5.0. Thank you for the good times! By the way: Some of my former colleagues now work at <a href="http://www.visia.de/">VISIA GmbH</a> and <a href="http://www.visia.de/jobs.html">they are looking for a senior project manager and web developers</a>.</p>
<p>Plazes was the first project for which I was contributing in my free time, followed up by a donation for the <a href="http://www.mozilla.org/en-US/press/mozilla-2004-12-15.html">two-page advocacy ad for Mozilla Firefox 1.0 in the New York Times in December 2004</a>.</p>
<h2>plazes launcher (.NET version)</h2>
<p>I developed the plazes launcher at a time when the .NET Framework 2 was still in BETA. <img src='http://blog.christian-heindel.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
It was a little tool which ran in your Windows system tray / notification area, automatically detected your network location and sent it to the Plazes servers to check you in.</p>
<a href="http://blog.christian-heindel.de/files/2012/05/launcherMail.jpg"><img class="alignnone size-medium wp-image-360" src="http://blog.christian-heindel.de/files/2012/05/launcherMail-163x300.jpg" alt="" /></a> <a href="http://blog.christian-heindel.de/files/2012/05/launcherMailContext.jpg"><img class="alignnone size-medium wp-image-361" src="http://blog.christian-heindel.de/files/2012/05/launcherMailContext-300x239.jpg" alt="" /></a>
<p>In addition to the original version, mine was faster and able to work with VPN connections, proxies and firewalls. You could send messages to buddies via tray menu or mail icon and you also got alerts for new messages and friendship requests.</p>
<p>It was also featuring a people radar and automatic updates. You could run it on Microsoft® Windows® 98, Microsoft Windows Millennium Edition, Microsoft Windows NT® version 4.0 with Service Pack 4, Microsoft Windows 2000, Microsoft Windows XP or Microsoft Windows Server 2003 with Microsoft .NET Framework Version 1.1.</p>
<p>The last published version was release 0.1.6.0 (633 KB) on 14.06.2005.</p>
<p>&nbsp;</p>
<img class="alignnone size-full" src="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-09-um-22.53.32.png" alt="" />
<p>&nbsp;</p>
<p>In addition to developing the plazes launcher (.NET version) I also bought the domain codeplaze.com and started running a developer portal incl. a wiki.</p>
<a href="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-09-um-22.53.00.png"><img class="alignnone size-medium wp-image-382" src="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-09-um-22.53.00-300x180.png" alt="" /></a>
<p>&nbsp;</p>
<p>Heck, I even own a polo shirt with their logo printed on it. It was an interesting journey!</p>
<p>Thank you and bye, bye&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2012/05/10/bye-bye-plazes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to search WordPress from SharePoint via Federated Search</title>
		<link>http://blog.christian-heindel.de/2012/05/06/how-to-search-wordpress-from-sharepoint-via-federated-search/</link>
		<comments>http://blog.christian-heindel.de/2012/05/06/how-to-search-wordpress-from-sharepoint-via-federated-search/#comments</comments>
		<pubDate>Sun, 06 May 2012 11:39:46 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[FAST]]></category>
		<category><![CDATA[federated results]]></category>
		<category><![CDATA[federated search]]></category>
		<category><![CDATA[fld]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MOSS]]></category>
		<category><![CDATA[open search]]></category>
		<category><![CDATA[opensearch]]></category>
		<category><![CDATA[osdx]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Search Server]]></category>
		<category><![CDATA[Search Server Express]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint2010]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Web Parts]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=275</guid>
		<description><![CDATA[Task Show search results from a WordPress blog next to SharePoint search results. Prerequisites One of the following enterprise search products: Microsoft Search Server 2010 Express Microsoft Search Server 2010 Microsoft SharePoint Server 2010 Microsoft FAST Search for SharePoint 2010 Also works with Microsoft Office SharePoint Server (MOSS 2007) and Microsoft Search Server 2008 (Express)...  <a href="http://blog.christian-heindel.de/2012/05/06/how-to-search-wordpress-from-sharepoint-via-federated-search/" class="more-link" title="Read How to search WordPress from SharePoint via Federated Search">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<h2>Task</h2>
<p>Show search results from a WordPress blog next to SharePoint search results.</p>
<p><a href="http://blog.christian-heindel.de/2012/05/06/how-to-search-wordpress-from-sharepoint-via-federated-search/"><img class="alignnone size-large wp-image-299" src="http://blog.christian-heindel.de/files/2012/05/wordpress-federated-search-1024x424.png" alt="" /></a><br />
<span id="more-275"></span></p>
<h2>Prerequisites</h2>
<p>One of the following enterprise search products:</p>
<ul>
<li>Microsoft Search Server 2010 Express</li>
<li>Microsoft Search Server 2010</li>
<li>Microsoft SharePoint Server 2010</li>
<li>Microsoft FAST Search for SharePoint 2010</li>
<li>Also works with Microsoft Office SharePoint Server (MOSS 2007) and Microsoft Search Server 2008 (Express)</li>
</ul>
<p>WordPress (<a href="http://www.wordpress.com">cloud</a> or <a href="http://www.wordpress.org">on-premise</a>)</p>
<h2>How it works</h2>
<p>SharePoint can integrate WordPress search with the help of a Federated Search Connector, a XML based definition of how to pass a query to a target system and accept and display results from that system.</p>
<p>In older versions Microsoft used .fld (<a href="http://msdn.microsoft.com/en-us/library/bb931085(v=office.12).aspx">federated location definition</a>, an extension to OpenSearch 1.1 draft 3) since SharePoint 2010 Microsoft uses .osdx (<a href="http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document">OpenSearch description document 1.1 draft 5</a>).</p>
<p>If you do not have such a definition file for the system you want to integrate, you can create a definition via the SharePoint Search Administration user interface in your browser. Which is what we will use in this example.</p>
<p><strong>A nice side effect:</strong> As it is a open standard, it also works with other search tools, like the desktop search in Windows 7 or the search box in Mozilla Firefox. So afterwards you can export your new definition and re-use it.</p>
<a href="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-06-um-13.27.11.png"><img src="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-06-um-13.27.11.png" alt="" class="alignnone size-full wp-image-351" /></a>
<p>Recommended read:</p>
<ul>
<li>Vedant Kulshreshtha: <a href="http://blogs.technet.com/b/vedant/archive/2010/10/27/federated-search-connectors-for-enterprise-search.aspx">Federated Search Connectors for Enterprise Search</a></li>
<li>MSDN Library: <a href="http://msdn.microsoft.com/en-us/library/cc806030.aspx">Federated Search Overview</a></li>
<li><a href="http://www.opensearch.org/">OpenSearch.org</a> (originally developed by <a href="http://a9.com/">A9.com, Inc.</a>, an <a href="http://www.amazon.com">Amazon.com</a> company)</li>
</ul>
<p>Now that you know how it works, let&#8217;s begin implementing it.</p>
<h2>Configuration</h2>
<h3>Federated Search Location</h3>
<p><strong>Step 1: Prepare the search URL</strong></p>
<ul>
<li>Go to your blog, search for &#8220;Test&#8221; and copy the URL from the browser. In my example this gives: <strong>http://blog.christian-heindel.de/?s=Test</strong></li>
<li>Now in the URL replace &#8220;<strong>s=Test</strong>&#8221; with &#8220;<strong>feed=rss2&amp;s={searchTerms}</strong>&#8220;&gt;</li>
<li>You should end up with sth. like: <strong>http://blog.christian-heindel.de?feed=rss2&amp;s={searchTerms}</strong><br />
<a href="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-06-um-12.14.12.png"><img class="alignnone size-large wp-image-324" src="http://blog.christian-heindel.de/files/2012/05/Bildschirmfoto-2012-05-06-um-12.14.12-1024x235.png" alt="" /></a></li>
</ul>
<p><strong>Step 2: Create a new federated location</strong></p>
<ul>
<li>Open the &#8220;<strong>Central Administration</strong>&#8220;, go to &#8220;<strong>Application Management &gt; Service Applications &gt; Manage service applications &gt; Search Service Application</strong>&#8220;</li>
<li>Now click &#8220;<strong>Queries and Results &gt; Federated Locations &gt; New Location</strong>&#8220;</li>
<li>Under &#8220;<strong>Location Information &gt; Location Type</strong>&#8221; select &#8220;<strong>OpenSearch 1.0/1.1</strong>&#8220;</li>
<li>Now in the field &#8220;<strong>Query Template</strong>&#8221; fill in the prepared URL from <i>step 1</i>.
<a href="http://blog.christian-heindel.de/files/2012/05/fs-search-administration.png"><img src="http://blog.christian-heindel.de/files/2012/05/fs-search-administration-300x187.png" alt="" class="alignnone size-medium wp-image-331" /></a>
<a href="http://blog.christian-heindel.de/files/2012/05/fs-new-location.png"><img src="http://blog.christian-heindel.de/files/2012/05/fs-new-location-300x190.png" alt="" class="alignnone size-medium wp-image-332" /></a>
<p><a href="http://blog.christian-heindel.de/files/2012/05/fs-new-location-query-template.png"><img src="http://blog.christian-heindel.de/files/2012/05/fs-new-location-query-template-300x189.png" alt="" class="alignnone size-medium wp-image-333" /></a>
</li>
</ul>
<h3>Search Web Parts</h3>
<p><strong>Step 3: Site Collection Feature</strong></p>
<ul>
<li>Under &#8220;<strong>Site Actions &gt; Site Settings &gt; Site collection features</strong>&#8221; be sure that &#8220;<strong>Search Server Web Parts</strong>&#8221; is &#8220;<strong>Active</strong>&#8220;.</li>
</ul>
<p><strong>Step 4: Edit Page, add Web Part</strong></p>
<ul>
<li>On the page where you want to show the search results, click on &#8220;<strong>Site Actions &gt; Edit Page &gt; Add a Web Part</strong>&#8220;</li>
<li>Choose the &#8220;<strong>Federated Results</strong>&#8221; Web Part from the &#8220;<strong>Search</strong>&#8221; category<br /><a href="http://blog.christian-heindel.de/files/2012/05/fs-federated-results-webpart1.png"><img src="http://blog.christian-heindel.de/files/2012/05/fs-federated-results-webpart1-1024x293.png" alt="" class="alignnone size-large wp-image-339" /></a></li>
</ul>
<p><strong>Step 5: Configure Web Parts</strong></p>
<ul>
<li>Now on the &#8220;<strong>Federated Results Web Part</strong>&#8221; click on &#8220;<strong>Edit Web Part</strong>&#8220;.</li>
<li>Unter &#8220;<strong>Federated Results &gt; Location Properties &gt; Location</strong>&#8221; select the federated location created in <em>step 2</em> and click &#8220;<strong>OK</strong>&#8220;.<br /><a href="http://blog.christian-heindel.de/files/2012/05/fs-configure-federated-results-webpart1.png"><img src="http://blog.christian-heindel.de/files/2012/05/fs-configure-federated-results-webpart1-1024x578.png" alt="" class="alignnone size-large wp-image-340" /></a></li>
</ul>
<p>This were 5 simple steps to integrate WordPress search in SharePoint. Happy searching&#8230;</p>
<h2>Want more?</h2>
<ul>
<li><a href="http://technet.microsoft.com/en-us/sharepoint/ff727944">Federated Search Connector Gallery for Enterprise Search</a> (download pre-defined federated locations for: Bing, MSDN, TechNet, Yahoo, Google, Youtube, WIkipedia, Flickr, etc.)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2012/05/06/how-to-search-wordpress-from-sharepoint-via-federated-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>April 2012 CU causing problems with incoming e-mails in SharePoint 2010</title>
		<link>http://blog.christian-heindel.de/2012/05/01/april-2012-cu-causing-problems-with-incoming-e-mails-in-sharepoint-2010/</link>
		<comments>http://blog.christian-heindel.de/2012/05/01/april-2012-cu-causing-problems-with-incoming-e-mails-in-sharepoint-2010/#comments</comments>
		<pubDate>Tue, 01 May 2012 12:21:04 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[April 2012 CU]]></category>
		<category><![CDATA[CU]]></category>
		<category><![CDATA[drop]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Incoming E-Mail]]></category>
		<category><![CDATA[LazyApproval]]></category>
		<category><![CDATA[Nintex]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[quota]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint2010]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[Timer Job]]></category>
		<category><![CDATA[ULS]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=242</guid>
		<description><![CDATA[After installing April 2012 CU on my Search Server 2010 Express, the &#8220;Incoming E-Mail&#8221; feature stopped working. Problem E-Mails still land in the drop folder but don&#8217;t get picked up by the &#8220;Microsoft SharePoint Foundation Incoming E-Mail&#8221; timer job. (The default folder is &#8220;c:\inetpub\mailroot\drop&#8221; if you want to have a look.) The document libraries / lists...  <a href="http://blog.christian-heindel.de/2012/05/01/april-2012-cu-causing-problems-with-incoming-e-mails-in-sharepoint-2010/" class="more-link" title="Read April 2012 CU causing problems with incoming e-mails in SharePoint 2010">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>After installing April 2012 CU on my Search Server 2010 Express, the &#8220;Incoming E-Mail&#8221; feature stopped working.</p>
<h2>Problem</h2>
<p>E-Mails still land in the drop folder but don&#8217;t get picked up by the &#8220;Microsoft SharePoint Foundation Incoming E-Mail&#8221; timer job. (The default folder is &#8220;c:\inetpub\mailroot\drop&#8221; if you want to have a look.)</p>
<p><strong>The document libraries / lists will not receive e-mails.</strong></p>
<p>In the ULS log you will start seeing entries like this:</p>
<pre style="padding-left: 30px">05/01/2012 13:17:12.71 OWSTIMER.EXE (0x14B78) 0x113C4 SharePoint Foundation Monitoring nasq Medium Entering monitored scope (Timer Job job-email-delivery) 0a9e5349-84ef-4669-9bba-2a3c9bd12a0a</pre>
<pre style="padding-left: 30px">05/01/2012 13:17:12.83 OWSTIMER.EXE (0x14B78) 0x113C4 SharePoint Foundation E-Mail 0000 High <span style="color: #ff0000"><strong>E-mail cannot be delivered because site is over quota or locked for editing.</strong></span> Site URL: http://sharepoint.christian-heindel.de. 0a9e5349-84ef-4669-9bba-2a3c9bd12a0a</pre>
<pre style="padding-left: 30px">05/01/2012 13:17:12.83 OWSTIMER.EXE (0x14B78) 0x113C4 SharePoint Foundation E-Mail 6871 Information The Incoming E-Mail service has completed a batch. The elapsed time was 00:00:00.1130065. The service processed 1 message(s) in total. Errors occurred processing 1 message(s): Message ID: 0a9e5349-84ef-4669-9bba-2a3c9bd12a0a</pre>
<p><strong>This message occurs although no quota limit is set.</strong></p>
<p>Outgoing e-mails still work.</p>
<h2><strong>Workaround</strong></h2>
<p>Go to &#8220;<strong>SharePoint Central Admin &gt; Application Management &gt; Configure Quota and Locks</strong>&#8220;, set a limit via &#8220;<strong>Limit site storage to a maximum of:</strong>&#8221; and press &#8220;OK&#8221;.</p>
<p>No downtime necessary. No data loss. (E-mails will get collected in the drop folder until SharePoint starts picking them up again.)</p>
<p><span style="text-decoration: underline">Further information:</span></p>
<p>Looks like others are having the same problem: &#8220;<a href="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/a82e1a6f-4184-4815-9f46-4009a5341bfd">Incoming Email stuck in Drop folder after SP/Hotfix installation</a>&#8221;</p>
<p><span id="more-242"></span></p>
<p><span style="text-decoration: underline"><em>Update 14.05.2012:</em></span></p>
<h2>Nintex LazyApproval also affected</h2>
<p><span style="text-decoration: underline">Problem:</span> LazyApproval uses the incoming e-mail functionality, but runs in Central Administration, for which you cannot set a quota limit via the browser UI.</p>
<p><span style="text-decoration: underline">Solution:</span> Same as above, but via <a href="http://technet.microsoft.com/en-us/sharepoint/ff603532">Windows PowerShell for SharePoint Server 2010</a>:</p>
<p style="padding-left: 30px">Get the storagemaximumlevel for Central Administration using PowerShell (insert your Central Admin URL):</p>
<pre style="padding-left: 30px">$ca = get-spsite -identity http://Servername:CAport
$ca.quota.storagemaximumlevel</pre>
<p style="padding-left: 30px">A numeric result will be returned.</p>
<p style="padding-left: 30px">Then set a bigger maximum for it using the same command but with a number bigger than the result.</p>
<pre style="padding-left: 30px">$ca.quota.storagemaximumlevel=80000000</pre>
<p style="padding-left: 30px">No IISRESET is required after running the script.</p>
<p style="padding-left: 30px">(<span style="text-decoration: underline">Source:</span> Cameron McConnell, Support Manager for Nintex, <a href="http://connect.nintex.com/forums/thread/22907.aspx">http://connect.nintex.com/forums/thread/22907.aspx</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2012/05/01/april-2012-cu-causing-problems-with-incoming-e-mails-in-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ASP.NET security update against #hashDoS attacks</title>
		<link>http://blog.christian-heindel.de/2011/12/29/asp-net-security-update-against-hashdos-attacks/</link>
		<comments>http://blog.christian-heindel.de/2011/12/29/asp-net-security-update-against-hashdos-attacks/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 08:58:07 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[28c3]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[ccc]]></category>
		<category><![CDATA[DoS]]></category>
		<category><![CDATA[hashDoS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=237</guid>
		<description><![CDATA[In a presentation  (&#8220;Efficient Denial of Service Attacks on Web Application Platforms&#8221;, Dec 28th 2011, PDF) at 28th Chaos Communication Congress in Berlin (#28c3) there have been published details on how to perform so called &#8220;hash collision attacks&#8221; on webservers. This does not only affect Microsoft technology (ASP.NET), but also Java, Python, Ruby, PHP, v8/node.js, &#8230; Microsoft...  <a href="http://blog.christian-heindel.de/2011/12/29/asp-net-security-update-against-hashdos-attacks/" class="more-link" title="Read ASP.NET security update against #hashDoS attacks">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<div>
<p>In a presentation  (&#8220;Efficient Denial of Service Attacks on Web Application Platforms&#8221;, Dec 28th 2011, <a href="http://events.ccc.de/congress/2011/Fahrplan/attachments/2007_28C3_Effective_DoS_on_web_application_platforms.pdf">PDF</a>) at 28th Chaos Communication Congress in Berlin (#<a href="http://events.ccc.de/congress/2011/wiki/Welcome">28c3</a>) there have been published details on how to perform so called &#8220;hash collision attacks&#8221; on webservers.</p>
<p>This does not only affect Microsoft technology (ASP.NET), but also Java, Python, Ruby, PHP, v8/node.js, &#8230;</p>
<p>Microsoft has already reacted and will release an out-of-band security update today.</p>
<p>For more details see:</p>
<ul>
<li>ScottGu&#8217;s Blog: <a href="http://weblogs.asp.net/scottgu/archive/2011/12/28/asp-net-security-update-shipping-thursday-dec-29th.aspx">ASP.NET Security Update Shipping Thursday, Dec 29th</a> (en)</li>
<li>Microsoft Security Advisory (2659883): <a href="http://technet.microsoft.com/en-us/security/advisory/2659883">Vulnerability in ASP.NET Could Allow Denial of Service</a> (en)</li>
<li>Microsoft Security Research &amp; Defense: <a href="http://blogs.technet.com/b/srd/archive/2011/12/27/more-information-about-the-december-2011-asp-net-vulnerability.aspx">More information about the December 2011 ASP.NET vulnerability</a> (en)</li>
<li>TechNet Team Blog Austria: <a href="http://blogs.technet.com/b/austria/archive/2011/12/28/workaround-gegen-denial-of-service-attacke-in-asp-net-hashdos-28c3.aspx">Workaround gegen Denial of Service Attacke in ASP.NET #hashDoS #28C3</a> (de)</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2011/12/29/asp-net-security-update-against-hashdos-attacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging HTML5 Offline Web applications</title>
		<link>http://blog.christian-heindel.de/2011/10/25/debugging-html5-offline-web-applications/</link>
		<comments>http://blog.christian-heindel.de/2011/10/25/debugging-html5-offline-web-applications/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 23:02:07 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[appcache]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[manifest]]></category>
		<category><![CDATA[offline]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[Web Application]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=204</guid>
		<description><![CDATA[Debugging Offline Web applications can be hard, because you have to make sure you really are using the current version of your files. If the manifest file is not changed, the browser will not reload the other files, even if they have been changed. So a good advice is to create some automated build script that...  <a href="http://blog.christian-heindel.de/2011/10/25/debugging-html5-offline-web-applications/" class="more-link" title="Read Debugging HTML5 Offline Web applications">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Debugging Offline Web applications can be hard, because you have to make sure you really are using the current version of your files. If the manifest file is not changed, the browser will not reload the other files, even if they have been changed.</p>
<p>So a good advice is to create some automated build script that changes a version number in your manifest file.</p>
<p>Also keep in mind that when the manifest file has changed and the browser has updated the files, it won&#8217;t use them for the current session. So you may want to ask the user to reload the application. For example like this:</p>
<pre>window.applicationCache.addEventListener('updateready', function(e) {
	if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
	  // A changed manifest file has been found and downloaded by
	  // the browser. Swap cache and reload the page to use the new files.
	  window.applicationCache.swapCache();
	  if (confirm('A new version of this site is available. Load it?')) {
		window.location.reload();
	  }
	}
}, false);</pre>
<h2>Debugging using Google Chrome</h2>
<p>You can get deeper insights in the caching behavior of your application by using Google Chrome. It offers two helpful functions:</p>
<h3><strong>1. Developer Tools</strong></h3>
<p>Learn: <a href="http://code.google.com/chrome/devtools/docs/overview.html#access">How to Access the Developer Tools</a></p>
<p>If the Console is activated (<strong>Control-Shift-J</strong> or <strong>⌥⌘J</strong>), you can see details of the caching mechanics that are automatically logged by the browser.</p>
<p>Example:</p>
<div id="attachment_209" class="wp-caption alignnone" style="width: 594px"><a href="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-23-um-22.00.09.png"><img class="size-large wp-image-209" src="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-23-um-22.00.09-1024x640.png" alt="" width="584" height="365" /></a><p class="wp-caption-text">Files are getting cached...</p></div>
<div id="attachment_210" class="wp-caption alignnone" style="width: 891px"><a href="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-23-um-21.57.45.png"><img class="size-full wp-image-210" src="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-23-um-21.57.45.png" alt="" width="881" height="93" /></a><p class="wp-caption-text">Files have already been cached...</p></div>
<p>You can also implement individual logging by hooking up to the events provided by the API. See the the <a href="http://www.html5rocks.com/en/tutorials/appcache/beginner/#toc-events">&#8220;AppCache events&#8221; section in the Beginners Guide to Using the Application Cache on HTML5 Rocks</a>, for example.</p>
<h3><strong>2. AppCache-Internals</strong></h3>
<p>You get a list with all cached offline applications with information about <em>Size, Creation Time, Last Update Access and Last Access Time</em> when you open the following internal URL:</p>
<p><code>chrome://appcache-internals/</code></p>
<a href="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-24-um-23.46.58.png"><img class="alignnone size-full wp-image-216" src="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-24-um-23.46.58.png" alt="" width="454" height="217" /></a>
<p>If you click on &#8220;View Entries&#8221;, you will get detailed information about each individual file. You can see if a file has been explicitly or implicitly cached and which one is the master document of the application.</p>
<a href="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-24-um-23.47.26.png"><img class="alignnone size-full wp-image-215" src="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-24-um-23.47.26.png" alt="" width="910" height="371" /></a>
<p>Now, if you click on an individual file, you can even control the actual content of the cached file and see which headers had been sent from the server.</p>
<a href="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-24-um-23.47.48.png"><img class="alignnone size-full wp-image-214" src="http://blog.christian-heindel.de/files/2011/10/Bildschirmfoto-2011-10-24-um-23.47.48.png" alt="" width="875" height="521" /></a>
<h2>Debugging on an iOS device</h2>
<p>If you are debugging on an iOS device be sure to follow the instructions from the <a href="http://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent.html">Safari Web Content Guide, Section &#8220;Debugging&#8221;</a>. If in Safari, you will have a chance to see errors with your manifest file.</p>
<p>If in Web App mode, to be sure the cache is deleted, you have to clear history, cookies and cache and to reboot the device. Otherwise you might still be loading old versions of your updated files.</p>
<p>In my tests I found the iOS Web App cache the most hardcore cache to use, ever.</p>
<p>See also:</p>
<ul>
<li><a title="How to host HTML5 Offline Web applications on an IIS web server" href="http://blog.christian-heindel.de/2011/10/23/how-to-host-html5-offline-web-applications-on-an-iis-web-server/">How to host HTML5 Offline Web applications on an IIS web server</a></li>
<li><a title="How to clear the cache of offline Web Applications" href="http://blog.christian-heindel.de/2011/10/23/how-to-clear-the-cache-of-offline-web-applications/">How to clear the cache of offline Web Applications</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2011/10/25/debugging-html5-offline-web-applications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to clear the cache of offline Web Applications</title>
		<link>http://blog.christian-heindel.de/2011/10/23/how-to-clear-the-cache-of-offline-web-applications/</link>
		<comments>http://blog.christian-heindel.de/2011/10/23/how-to-clear-the-cache-of-offline-web-applications/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 16:38:57 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[offline]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[settings]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[Web Application]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=189</guid>
		<description><![CDATA[Most of this new HTML5 stuff is still work in progress. And you can feel that sometimes, when you try the implementations in the different browsers. For example, try to delete the cache of an Offline Web application: iOS The only way to be sure it&#8217;s deleted is: Open the Safari settings Clear your cache (&#8220;Clear...  <a href="http://blog.christian-heindel.de/2011/10/23/how-to-clear-the-cache-of-offline-web-applications/" class="more-link" title="Read How to clear the cache of offline Web Applications">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Most of this new HTML5 stuff is still work in progress. And you can feel that sometimes, when you try the implementations in the different browsers.</p>
<p>For example, try to delete the cache of an Offline Web application:</p>
<h2>iOS</h2>
<p>The only way to be sure it&#8217;s deleted is:</p>
<ul>
<li>Open the Safari settings</li>
<li>Clear your cache (&#8220;Clear history&#8221;, &#8220;Clear Cookies&#8221;, &#8220;Clear Cache&#8221;)</li>
<li>Restart device</li>
</ul>
<div>See:</div>
<div>
<ul>
<li><a href="http://support.apple.com/kb/ta38615?viewlocale=en_us">Apple support document TA38615</a></li>
<li><a href="http://apps.ft.com/ftwebapp/troubleshooting.html">Troubleshooting document of the Financial Times web app</a></li>
</ul>
</div>
<h2>Google Chrome</h2>
<ul>
<li>Open the following URL: <code>chrome://appcache-internals/</code></li>
<li>Look for your application and click &#8220;Remove&#8221;</li>
</ul>
<p>See: <a href="http://www.google.com/support/calendar/bin/answer.py?hl=en&amp;answer=1385935">Troubleshooting Offline Access Issues for Chrome10+</a></p>
<h2>Mozilla Firefox</h2>
<ul>
<li>Go to &#8220;Preferences&#8230; &gt; Advanced &gt; Network &gt; Offline Storage&#8221;</li>
<li>Click on &#8220;Clear now&#8221;</li>
</ul>
<p>See: Firefox Help &#8220;<a href="http://support.mozilla.com/en-US/kb/How%20to%20clear%20the%20cache">How to clear the cache</a>&#8221;</p>
<p>You might also want to read: <a href="http://blog.christian-heindel.de/2011/10/23/how-to-host-html5-offline-web-applications-on-an-iis-web-server/">How to host HTML5 Offline Web applications on an IIS web server</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2011/10/23/how-to-clear-the-cache-of-offline-web-applications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to host HTML5 Offline Web applications on an IIS web server</title>
		<link>http://blog.christian-heindel.de/2011/10/23/how-to-host-html5-offline-web-applications-on-an-iis-web-server/</link>
		<comments>http://blog.christian-heindel.de/2011/10/23/how-to-host-html5-offline-web-applications-on-an-iis-web-server/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 14:54:28 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[appcache]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[expiration]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS6]]></category>
		<category><![CDATA[IIS7]]></category>
		<category><![CDATA[manifest]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MIME type]]></category>
		<category><![CDATA[offline]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web Application]]></category>
		<category><![CDATA[webapp]]></category>
		<category><![CDATA[WHATWG]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=62</guid>
		<description><![CDATA[Introduction By providing a manifest file to the browser, you can specify which files should be available for offline usage, which files always have to be fetched form the internet and you can define fallback resources (what to use when the online ressources are not available). This is not only good for Offline Applications, you can also...  <a href="http://blog.christian-heindel.de/2011/10/23/how-to-host-html5-offline-web-applications-on-an-iis-web-server/" class="more-link" title="Read How to host HTML5 Offline Web applications on an IIS web server">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>By providing a manifest file to the browser, you can specify which files should be available for offline usage, which files always have to be fetched form the internet and you can define fallback resources (what to use when the online ressources are not available).</p>
<p>This is not only good for Offline Applications, you can also speed up live websites with this technique. (See &#8220;<a href="http://www.html5rocks.com/en/tutorials/speed/quick/#toc-appcache">Tip 5: Use cache manifest for live sites, not just offline apps</a>&#8221; on HTML5 Rocks)</p>
<p><span style="text-decoration: underline">Short example:</span></p>
<p>In your HTML file, specify the manifest file: <code>&lt;html manifest="myapplication.appcache"&gt;</code></p>
<p>Sample content of a manifest file:</p>
<pre style="padding-left: 30px">CACHE MANIFEST
# Revision 1
# These files will be cached for offline usage,
# also if they are not otherwise linked or used by the current document 

CACHE:
index.html
css/default.css
images/logo.png
scripts/main.js

# These resources require online connection and will never be cached
NETWORK:

http://your.sharepoint.server/_vti_bin/ListData.svc

http://api.twitter.com

# profile-placeholder.png will be served in place of all images
# from the Gravatar service
FALLBACK:

http://www.gravatar.com/avatar/

img/profile-placeholder.png</pre>
<p>For this technique to work with files hosted on Microsoft Internet Information Services (IIS) you have to teach the old server new tricks.</p>
<h2>What to configure in IIS: MIME Type</h2>
<p>The manifest file hast to be served with the mime type &#8220;<code>text/cache-manifest</code>&#8220;, otherwise the browsers will ignore it.</p>
<p>You can add a new mime type to IIS via the UI, command line, configuration files or WMI. (See documentation &#8220;<a href="http://technet.microsoft.com/en-us/library/cc725608(WS.10).aspx">Add a MIME Type</a>&#8220; on MSDN)</p>
<p>When you&#8217;re done, it should look sth. like this:</p>
<img src="http://blog.christian-heindel.de/files/2011/10/mime-type-in-list.png" alt="Screenshot: IIS settings for MIME type" />
<img class="alignnone size-full" style="border-style: initial;border-color: initial;background-color: #eeeeee" src="http://blog.christian-heindel.de/files/2011/10/IIS-settings-02.png" alt="Screenshot: IIS settings for MIME type" />
<p>You will find older examples on the net, where it says, that your manifest file should be called &#8220;<code>cache.manifest</code>&#8220;. Unfortunately, &#8220;<code>.manifest</code>&#8221; is already used by Microsoft, so the new recommendation is to use &#8220;<code>.appcache</code>&#8220;. (see <a href="http://html5.org/tools/web-apps-tracker?from=5811&amp;to=5812">HTML5 tracker, rev. 5812</a>)</p>
<h2>What else to configure in IIS: Control expiration of your files</h2>
<p>You might want to adjust your settings so you are sure that the browser always gets the current manifest file. Otherwise you have no control over when the Offline Web application will be updated on the client.</p>
<p>You can configure this via UI, command line, configuration file or WMI.<br />
(See documentation &#8220;<a href="http://technet.microsoft.com/en-us/library/cc770661(WS.10).aspx">Configure the HTTP Expires Response Header</a>&#8221; on MSDN)</p>
<p><span style="text-decoration: underline">By the way:</span> If you are running your web applications on an Apache web server, you might want to have a look at the pre-configured .htaccess file that comes with the <a href="http://html5boilerplate.com/mobile">HTML5 Mobile Boilerplate</a>.</p>
<h2>Want to learn more?</h2>
<ul>
<li><a href="http://www.w3.org/TR/html5/offline.html">W3C Working Draft</a> (HTML5 &gt; Web application APIs &gt; Offline Web applications)</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html">WHATWG</a> (Living Standard version)</li>
<li><a href="http://www.html5rocks.com/en/tutorials/appcache/beginner/">A Beginner&#8217;s Guide to Using the Application Cache</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2011/10/23/how-to-host-html5-offline-web-applications-on-an-iis-web-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My thoughts on the European SharePoint Conference 2011</title>
		<link>http://blog.christian-heindel.de/2011/10/22/my-thoughts-on-the-european-sharepoint-conference-2011/</link>
		<comments>http://blog.christian-heindel.de/2011/10/22/my-thoughts-on-the-european-sharepoint-conference-2011/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 23:55:55 +0000</pubDate>
		<dc:creator>Christian Heindel</dc:creator>
				<category><![CDATA[Common]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[EuropeanSP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint2010]]></category>
		<category><![CDATA[SP2010]]></category>
		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://blog.christian-heindel.de/?p=126</guid>
		<description><![CDATA[SharePoint has grown up! It will be THE web and application platform for enterprises, regardless if in the cloud or on-premise. There were not so many new topics, that you would not have heard before. But in almost every talk and with almost every product in the exhibit halls you could see, that what was...  <a href="http://blog.christian-heindel.de/2011/10/22/my-thoughts-on-the-european-sharepoint-conference-2011/" class="more-link" title="Read My thoughts on the European SharePoint Conference 2011">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="color: #000000;font-weight: bold">SharePoint has grown up! It will be THE web and application platform for enterprises, regardless if in the cloud or on-premise.</span></p>
<p><span class="Apple-style-span" style="color: #000000">There were not so many new topics, that you would not have heard before. But in almost every talk and with almost every product in the exhibit halls you could see, that what was there, now had a few years time to evolve.</span></p>
<p><span class="Apple-style-span" style="color: #000000;font-weight: bold">What I liked</span></p>
<ul>
<li>Meeting great people I already knew and those I didn&#8217;t know before.</li>
<li>Internationality</li>
<li>Cooperation Offers / New Contacts</li>
<li>Workflow Shootout (3 competing products, same tasks, different approaches)</li>
<li>Active Community (not only on Twitter <a href="https://twitter.com/#!/search/realtime/EuropeanSP">#EuropeanSP</a> / <a href="https://twitter.com/#!/EuropeanSP">@EuropeanSP</a>)</li>
<li>Very well organized! A big THANK YOU to Helen, Tracy, Declan, the people from the Estrel Convention Center, Michael Greth, the exhibitors and sponsors&#8230;</li>
<li>My speaker badge! I hope to have another talk at the next conference, not only because it will be in <a href="http://en.wikipedia.org/wiki/Barcelona">Barcelona</a>&#8230; <img src='http://blog.christian-heindel.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<h2>What I didn&#8217;t like</h2>
<ul>
<li>session time to short</li>
<li>not enough caffeinated beverages</li>
</ul>
<div>
<h1>The two speakers I enjoyed the most</h1>
<p><em>If you can, go to one of their talks!</em></p>
<ul>
<li>Rafal Lukawiecki (Strategy Consultant, Project Botticelli Ltd., <a href="https://twitter.com/#!/rafaldotnet">@rafaldotnet</a>)</li>
<li>Mike Fitzmaurice (Vice President &#8211; Product Technology at Nintex, <a href="https://twitter.com/#!/MikeFitz">@MikeFitz</a>)</li>
</ul>
</div>
<h2>The tweet, that makes the true potential of the conference visible</h2>
<!-- tweet id : 126661330009735168 --><style type='text/css'>#bbpBox_126661330009735168 a { text-decoration:none; color:#009999; }#bbpBox_126661330009735168 a:hover { text-decoration:underline; }</style><div id='bbpBox_126661330009735168' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#131516; background-image:url(http://a1.twimg.com/images/themes/theme14/bg.gif);'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>No tweets during coffee breaks? ;)   <a href="http://twitter.com/search?q=%23EuropeanSP" title="#EuropeanSP">#EuropeanSP</a></span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://blog.christian-heindel.de/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on 19. October 2011 16:09' href='http://twitter.com/#!/Sw1ma/status/126661330009735168' target='_blank'>19. October 2011 16:09</a> via <a href="http://www.tweetdeck.com" rel="nofollow" target="blank">TweetDeck</a><a href='https://twitter.com/intent/tweet?in_reply_to=126661330009735168&related=c_heindel' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=126661330009735168&related=c_heindel' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=126661330009735168&related=c_heindel' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=Sw1ma'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/1136109053/me-thumb_normal.jpg' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=Sw1ma'>@Sw1ma</a><div style='margin:0; padding-top:2px'>Martin Swinkels</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<p><em>People were networking so actively, there was simply no time to tweet&#8230;</em></p>
<h2>Some of the sessions I&#8217;ve attended</h2>
<p>Tuesday, 18th October</p>
<ul>
<li>SharePoint 2010 &#8211; THE Platform for Business Collaboration, Internet Sites and More (Bjorn Olstad, Microsoft, Norway, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=3">Keynote</a>)</li>
<li>Drive Adoption and Get Users Excited about SharePoint 2010 (<em>Matt Berg, Senior Product Manager, Microsoft, USA, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=12">T6</a></em>)</li>
<li>SharePoint 2010 Upgrade Best Practices (<em>Joel Oleson, Collaboration Solutions Director, USA, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=6">T3</a></em>)</li>
<li>What to Avoid to Ensure Workflow Projects Succeed (<em>Mike Fitzmaurice, Nintex, USA, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=15">T11</a></em>)</li>
<li>Diving Into the SharePoint 2010 Fluent User Interface (<em>Christian Glessner, Data One GmbH, Germany, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=25">T19</a></em>)</li>
</ul>
<div>Wednesday, 19th October</div>
<div>
<ul>
<li>Office 365 for Developers (<em>Jan Tielens, Microsoft, Belgium, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=42">W3</a></em>)</li>
<li>SharePoint 2010 and Virtualisation (<em>Alan Richards, West Hatch High School, UK, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=47">W6</a></em>)</li>
<li>SharePoint Workspace 2010 &#8211; The Offline Client for SharePoint Server 2010 (<em>Hans Brender, sqtm PSC GmbH, Germany, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=54">W12</a></em>)</li>
<li>Designing Governance: How Information Management And Security Must Drive Your Architecture (<em>Dan Holme, AvePoint, USA, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=60">W17</a></em>)</li>
<li>SharePoint for the Internet &#8211; Automate your Deployment (<em>Samuel Zurcher, Experts Inside, Switzerland, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=66">W23</a></em>)</li>
<li>Federated Authentication in SharePoint 2010 (<em>Andre Vala &amp; Raul Ribeiro, Create IT, Portugal, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=74">W26</a></em>)</li>
<li>BI in the Cloud: Opportunities, Paths, and the Future (<em>Rafal Lukawiecki, Project Botticelli Ltd., Ireland, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=76">Keynote 4</a></em>)</li>
<li>Conference Dinner</li>
</ul>
</div>
<div>Thursday, 20th October</div>
<div>
<ul>
<li>Expert Panel Session &#8211; Will Public Offerings or Private Cloud Solutions Influence the Adoption of SharePoint as a Web and Application Platform? (<em><a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=0">Panel Session</a></em>)</li>
<li>Mobile Applications for SharePoint using HTML5 (<em>Christian Heindel, Communardo Software GmbH, Germany, <a href="http://www.sharepointeurope.com/conferences/session-details.aspx?sessionId=90">Th12</a></em>)</li>
<ul>
<li><a href="http://www.slideshare.net/c.heindel/european-sharepoint-conference-mobile-applications-for-sharepoint-using-html5">Slides from my talk</a> / link to the DEMO: <a href="http://m.christian-heindel.de">m.christian-heindel.de</a></li>
</ul>
<li>Recorded a Share Point</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.christian-heindel.de/2011/10/22/my-thoughts-on-the-european-sharepoint-conference-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

