<?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"
	>

<channel>
	<title>novolocus.com</title>
	<atom:link href="http://www.novolocus.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.novolocus.com</link>
	<description>Whatever Andy Burns is working on...</description>
	<pubDate>Fri, 26 Sep 2008 15:52:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Workflow Error: System.InvalidOperationException and the Correlation Token</title>
		<link>http://www.novolocus.com/2008/09/26/workflow-error-systeminvalidoperationexception-and-the-correlation-token/</link>
		<comments>http://www.novolocus.com/2008/09/26/workflow-error-systeminvalidoperationexception-and-the-correlation-token/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 15:52:02 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=813</guid>
		<description><![CDATA[I got a slightly obscure error message when trying to run a DeleteTask activity in my workflow:
System.InvalidOperationException: Correlation value specified does not match the already initialized correlation value on declaration taskToken for activity deleteTask1.
Hmm. I checked the correlation token though - and it was fine. And what&#8217;s it doing initialising another token? Found the answer [...]]]></description>
			<content:encoded><![CDATA[<p>I got a slightly obscure error message when trying to run a <strong>DeleteTask</strong> activity in my workflow:</p>
<blockquote><p>System.InvalidOperationException: Correlation value specified does not match the already initialized correlation value on declaration taskToken for activity deleteTask1.</p></blockquote>
<p>Hmm. I checked the correlation token though - and it was fine. And what&#8217;s it doing initialising another token? Found the answer though, <a href="http://blogs.pointbridge.com/Blogs/morse_matt/Pages/Post.aspx?_ID=27">courtesy of Matt Morse </a>- I&#8217;d not set the task ID property for the delete task activity.</p>
<p>This did lead me around to wondering why I have to? I mean, we&#8217;ve a correlation token for the task. The correlation token <em>contains</em> the TaskID. And yet I have to specify both of these things to the <strong>DeleteTask</strong> activity to identify the task I want deleted? Something ain&#8217;t right there&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/26/workflow-error-systeminvalidoperationexception-and-the-correlation-token/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting Infopath forms to work with VSeWSS3 version 1.2</title>
		<link>http://www.novolocus.com/2008/09/26/getting-infopath-forms-to-work-with-vsewss3-version-12/</link>
		<comments>http://www.novolocus.com/2008/09/26/getting-infopath-forms-to-work-with-vsewss3-version-12/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 10:05:31 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Infopath]]></category>

		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=806</guid>
		<description><![CDATA[More workflow fun - this time caused by my using the latest Visual Studio project for building SharePoint workflows - at this time it&#8217;s the one packaged in the VSeWSS3 version 1.2.
Back in the days of RTM, Workflows had a rubbish Visual Studio Project - I mean, awful. &#8220;Some assembly required&#8221; is really understating it. [...]]]></description>
			<content:encoded><![CDATA[<p>More workflow fun - this time caused by my using the latest Visual Studio project for building SharePoint workflows - at this time it&#8217;s the one packaged in the VSeWSS3 version 1.2.</p>
<p>Back in the days of RTM, Workflows had a rubbish Visual Studio Project - I mean, awful. &#8220;Some assembly required&#8221; is really understating it. However, an improved version came along, and it was alright. Sure, there was some fiddling with batch files, but it worked. You could build it, deploy it, and test it easily, and it was pretty easy to get a simple workflow and some InfoPath forms working.</p>
<p>This is my first time using the 1.2 installer, which looks much more sexy - it&#8217;s got a wizard and does the &#8216;deploy&#8217; bit for you, so no fiddling with .bat files. However, I couldn&#8217;t get InfoPath forms to appear for my workflow. The were getting deployed into the FEATURES folder, but when I ran the workflows - just ordinary task views appeared.</p>
<p>Bugger.<span id="more-806"></span></p>
<p>I tried various things (maybe I was referring to them wrongly - wrong URN - or maybe I needed to do something new to deploy them, etc.). In the end went back to the workflows I&#8217;d built with the previous project templates, and began to try and compare them. My current <em>Workflow.xml</em> file looked like:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/capture2.png"><img class="alignnone size-medium wp-image-807" title="My current Workflow.xml file" src="http://www.novolocus.com/wp-content/uploads/2008/09/capture2-300x133.png" alt="" width="300" height="133" /></a></p>
<p>Looks okay to me. This is the working <em>Workflow.xml</em> file that I&#8217;d used in a demo:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/capture.png"><img class="alignnone size-medium wp-image-808" title="Workflow.xml created by a previous version of the Visual Studio Project" src="http://www.novolocus.com/wp-content/uploads/2008/09/capture-300x102.png" alt="" width="300" height="102" /></a></p>
<p>Actually, there are a number of things a bit different there -  the Status page URL is now in it&#8217;s own XML node, rather than an attribute in the Workflow node - but the thing that caught my eye was that the older project had an attribute <strong>TaskListContentTypeId </strong>. A bit of checking showed that it&#8217;s value matched the content type for &#8220;<em>Workflow Task with InfoPath form</em>&#8220;. Hmm. Suspicious. I tried putting this into my new <em>Workflow.xml:</em></p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/capture3.png"><img class="alignnone size-medium wp-image-809" title="Modified Workflow.xml" src="http://www.novolocus.com/wp-content/uploads/2008/09/capture3-300x59.png" alt="" width="300" height="59" /></a></p>
<p>I saved the project, built and deployed it - and suddenly my InfoPath forms were working.</p>
<p>So what is the <strong>TaskListContentTypeId</strong>? Well, <a href="http://msdn.microsoft.com/en-us/library/ms438856.aspx">here&#8217;s what MSDN says</a> - and it&#8217;s well worth a read. Seriously.</p>
<p>Okay, so the <strong>TaskListContentTypeId </strong>defines the type of task that we&#8217;ll create in our workflow - this appear to be <em>Workflow Task</em> by default, which is hardly surprising. We can define our own Task Content type for our workflow - though for InfoPath forms we&#8217;ll just want the &#8216;<em>Workflow Task with InfoPath form</em>&#8216; content type (it appears that Microsoft call this type &#8216;<em>Office SharePoint Server Workflow Task</em>&#8216;, but that&#8217;s not a very descriptive name).</p>
<p>We could, in our workflow, create tasks with different content types throughout the workflow by using the <em>CreateTaskWithContentType </em>workflow activity. As a side note, you can see the content types at the bottom of the standard Task forms:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/capture6.png"><img class="alignnone size-medium wp-image-810" title="Content Type shown at bottom of form" src="http://www.novolocus.com/wp-content/uploads/2008/09/capture6-300x232.png" alt="" width="300" height="232" /></a></p>
<p>I suppose, though, that I don&#8217;t really need another content type for my InfoPath forms; the main advantage of using my own Workflow Task Content type would be for defining my own forms, but we&#8217;re doing that already! I guess that there might be some advantages with extra columns to display on the list - but I think I&#8217;ll try and do without them&#8230;</p>
<p>Anyway, for my own memory&#8230;</p>
<table class="displayTable" border="0">
<tbody>
<tr>
<th>Content Type</th>
<th>Content Type ID</th>
<th>Group</th>
<th>Description</th>
</tr>
<tr>
<td>Task</td>
<td>0&#215;0108</td>
<td>List Content Types</td>
<td>A standard, non-workflow task</td>
</tr>
<tr>
<td>Workflow Task</td>
<td>0&#215;010801</td>
<td>_Hidden</td>
<td>A standard, workflow task. Looks a lot like a normal task, but isn&#8217;t</td>
</tr>
<tr>
<td>Office SharePoint Server Workflow Task</td>
<td>0&#215;01080100C9C9515DE4E24001905074F980F93160</td>
<td>_Hidden</td>
<td>Workflow task with InfoPath forms.</td>
</tr>
</tbody>
</table>
<p>How did I find the <em>_Hidden</em> group content types? I used SharePoint Manager to dig into the Content Types List:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/capture4.png"><img class="alignnone size-medium wp-image-812" title="Workflow Task Type in SharePoint Manager" src="http://www.novolocus.com/wp-content/uploads/2008/09/capture4-300x102.png" alt="" width="300" height="102" /></a> <a href="http://www.novolocus.com/wp-content/uploads/2008/09/capture5.png"><img class="alignnone size-medium wp-image-811" title="Workflow Task with InfoPath form type" src="http://www.novolocus.com/wp-content/uploads/2008/09/capture5-300x145.png" alt="" width="212" height="102" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/26/getting-infopath-forms-to-work-with-vsewss3-version-12/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Modify ListItem Display to show referencing items&#8230;</title>
		<link>http://www.novolocus.com/2008/09/24/modify-listitem-display-to-show-referencing-items/</link>
		<comments>http://www.novolocus.com/2008/09/24/modify-listitem-display-to-show-referencing-items/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 12:00:13 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=790</guid>
		<description><![CDATA[SharePoint is made up of lists of items, where an item is a set of data. Here is the standard display of an item&#8217;s properties:

As you can see, we&#8217;ve got a item, and it has some fields of data, and they&#8217;re being displayed inside a web part. Those fields are columns on the list:

All very [...]]]></description>
			<content:encoded><![CDATA[<p>SharePoint is made up of lists of items, where an item is a set of data. Here is the standard display of an item&#8217;s properties:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/standard.png"><img class="alignnone size-medium wp-image-791" title="Normal view of a listitem" src="http://www.novolocus.com/wp-content/uploads/2008/09/standard-300x129.png" alt="" width="300" height="129" /></a></p>
<p>As you can see, we&#8217;ve got a item, and it has some fields of data, and they&#8217;re being displayed inside a web part. Those fields are columns on the list:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/list-of-items.png"><img class="alignnone size-medium wp-image-792" title="List of Items" src="http://www.novolocus.com/wp-content/uploads/2008/09/list-of-items-300x119.png" alt="" width="300" height="119" /></a></p>
<p>All very familiar, I&#8217;m sure. It gets interesting when we start using <strong>Lookup </strong>columns, though. These are columns that refer to items in other lists. For example, this is a list of documents, but they refer to items in the above list (that&#8217;s what the <strong>Item Ref</strong> column is doing):</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/referring-items.png"><img class="alignnone size-medium wp-image-793" title="List of Referring Items" src="http://www.novolocus.com/wp-content/uploads/2008/09/referring-items-300x123.png" alt="" width="300" height="123" /></a></p>
<p>Cool, but wouldn&#8217;t it be great if I could show a list of items referring to a particular item on it&#8217;s display page? For example, in this case wouldn&#8217;t it be good to show a list of &#8216;Item Documents&#8217; on the <em>DispForm.aspx</em> page used to show the Item&#8217;s properties? Well, you can:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/modified-display-page.png"><img class="alignnone size-medium wp-image-794" title="Modified DispForm.aspx" src="http://www.novolocus.com/wp-content/uploads/2008/09/modified-display-page-300x168.png" alt="" width="300" height="168" /></a></p>
<p><em>(Edit: one of my colleagues points out that Microsoft did this in one of the Fab 40 templates - but I didn&#8217;t know).</em></p>
<p>So how does it work?<span id="more-790"></span></p>
<p>Well, the page for showing an item&#8217;s properties is just <em>DispForm.aspx</em>. It&#8217;s a page in SharePoint, and can be customized in SharePoint Designer. Here is the tree to where it is:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/sp-designer-modified-page.png"><img class="alignnone size-medium wp-image-795" title="sp-designer-modified-page" src="http://www.novolocus.com/wp-content/uploads/2008/09/sp-designer-modified-page-208x300.png" alt="" width="208" height="300" /></a></p>
<p>I opened up the page and added a new <strong>DataView </strong>web part:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/dataform-web-part.png"><img class="alignnone size-medium wp-image-796" title="New Dataview web part" src="http://www.novolocus.com/wp-content/uploads/2008/09/dataform-web-part-300x49.png" alt="" width="300" height="49" /></a></p>
<p>As you can see, this is below the web part for showing the item&#8217;s properties.</p>
<p>Well, okay, so we have a <strong>DataView </strong>web part - how do we decide what to show? Looking in the URL for showing an item&#8217;s properties, I noticed the <strong>ID </strong>query string parameter:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/query-param.png"><img class="alignnone size-medium wp-image-797" title="ID in Query String" src="http://www.novolocus.com/wp-content/uploads/2008/09/query-param-300x201.png" alt="" width="300" height="201" /></a></p>
<p>Therefore, I set up a <em>Parameter </em>in the <strong>DataView </strong>Web Part to read in the <strong>ID </strong>value from the query string:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/dataview-param.png"><img class="alignnone size-medium wp-image-798" title="Set up dataview parameter" src="http://www.novolocus.com/wp-content/uploads/2008/09/dataview-param-300x197.png" alt="" width="300" height="197" /></a></p>
<p>Then I set up a filter:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/filter.png"><img class="alignnone size-medium wp-image-799" title="Set up DataView filter" src="http://www.novolocus.com/wp-content/uploads/2008/09/filter-300x175.png" alt="" width="300" height="175" /></a></p>
<p>This was great - but when I tested it, it didn&#8217;t work. The <strong>Item Ref</strong> wasn&#8217;t coming through as it&#8217;s <em>ID </em>(e.g. &#8216;2&#8242;) but as it&#8217;s <em>value </em>(e.g. &#8216;Item A&#8217;), so comparing against the query string <strong>ID </strong>value wasn&#8217;t working. &#8220;Damn&#8221;, I thought, &#8220;I&#8217;m sure there is a way&#8221;.</p>
<p>Well, there is - but you can&#8217;t do it through the SharePoint Designer design view - instead you have to write code. Looking in the code of the page I found the <strong>SPDataSource </strong>for the <strong>DataView </strong>web part:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/selectcommand.png"><img class="alignnone size-medium wp-image-800" title="DataSource Select Command" src="http://www.novolocus.com/wp-content/uploads/2008/09/selectcommand-300x20.png" alt="" width="300" height="20" /></a></p>
<p>The <strong>SPDataSource </strong>is a normal ASP.NET <em>DataSource</em>, albeit for getting data out of SharePoint. I noticed the select command, and wondered if it could be modified by hand to get me the referred to item&#8217;s <em>ID</em>. Originally, the Select command looked like this:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/select-original.png"><img class="alignnone size-medium wp-image-801" title="Original Select command" src="http://www.novolocus.com/wp-content/uploads/2008/09/select-original-300x47.png" alt="" width="300" height="47" /></a></p>
<p>This is all on one line and has all sorts of HTML escaping in it - it&#8217;s practically unreadable. I converted this to something more readable:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/select-tidied.png"><img class="alignnone size-medium wp-image-802" title="Select command tidied" src="http://www.novolocus.com/wp-content/uploads/2008/09/select-tidied.png" alt="" width="290" height="185" /></a></p>
<p>Ah, it&#8217;s a CAML query. Not very surprising. Now, can I use this to get the Lookup ID, rather than value? Yes. There is an attribute on the <em>FieldRef </em>node that defines this - <strong>LookupId </strong>. I set this to &#8216;True&#8217;:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/select-tidied-modified.png"><img class="alignnone size-medium wp-image-803" title="Select Command Fixed" src="http://www.novolocus.com/wp-content/uploads/2008/09/select-tidied-modified-300x117.png" alt="" width="300" height="117" /></a></p>
<p>I then re-escaped all the HTML to get back to the awful looking string, and pasted it back into my <em>DataSource</em>. I saved the page and tried it - and it worked!</p>
<p>Now I just have to figure out how to make this easily deployable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/24/modify-listitem-display-to-show-referencing-items/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FatalErrorNoThrow when verifying a form template</title>
		<link>http://www.novolocus.com/2008/09/24/fatalerrornothrow-when-verifying-a-form-template/</link>
		<comments>http://www.novolocus.com/2008/09/24/fatalerrornothrow-when-verifying-a-form-template/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 10:40:55 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Infopath]]></category>

		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=804</guid>
		<description><![CDATA[You can tell you&#8217;re using Infopath and SharePoint workflow when nothing works. I was using STSADM to verify a form template, and I kept getting an error. The error I was getting was:
FatalErrorNoThrow : This form template has not been correctly published to be browser-enabled. Open the form template in InfoPath Design mode, and click [...]]]></description>
			<content:encoded><![CDATA[<p>You can tell you&#8217;re using Infopath and SharePoint workflow when nothing works. I was using <em>STSADM</em> to verify a form template, and I kept getting an error. The error I was getting was:</p>
<blockquote><p><strong>FatalErrorNoThrow</strong> : This form template has not been correctly published to be browser-enabled. Open the form template in InfoPath Design mode, and click Publish Form Template in the Design Tasks task pane. Follow the steps in the Publishing Wizard to republish the form template, and then try again.</p></blockquote>
<p>Gee, thanks. Advice to &#8216;try again&#8217;. Useful.</p>
<p>It transpires that the problem was from when publishing the InfoPath form; you have to make sure that the <em>access path</em> in the publishing wizard is empty. Fortunately, I now know enough about Infopath to have no idea that this is about - but making the access path empty did seem to work&#8230;</p>
<p>Make sure that the box highlighted in yellow is empty.</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/verifyformtemplate.png"><img class="alignnone size-medium wp-image-805" title="Publish Form wizard" src="http://www.novolocus.com/wp-content/uploads/2008/09/verifyformtemplate-300x211.png" alt="" width="300" height="211" /></a></p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/24/fatalerrornothrow-when-verifying-a-form-template/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adding a SharePoint system to the Vista Start menu&#8230;</title>
		<link>http://www.novolocus.com/2008/09/23/adding-a-sharepoint-system-to-the-vista-start-menu/</link>
		<comments>http://www.novolocus.com/2008/09/23/adding-a-sharepoint-system-to-the-vista-start-menu/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 12:00:58 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Admin]]></category>

		<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=785</guid>
		<description><![CDATA[The only thing that I really like about Vista (in a &#8216;I wouldn&#8217;t like to go back to not having this&#8217; way) is the search box in the start menu. To be honest, I&#8217;ve stopped clicking to start applications entirely - it works that well.
Well, today, I had a surprise. One of my colleagues asked [...]]]></description>
			<content:encoded><![CDATA[<p>The only thing that I <em>really</em> like about Vista (in a &#8216;I wouldn&#8217;t like to go back to not having this&#8217; way) is the search box in the start menu. To be honest, I&#8217;ve stopped clicking to start applications entirely - it works that well.</p>
<p>Well, today, I had a surprise. One of my colleagues asked me to test something for him, and update my Group Policy - so I did:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/gpupdate.png"><img class="alignnone size-medium wp-image-786" title="Running GPUPDATE at the command line" src="http://www.novolocus.com/wp-content/uploads/2008/09/gpupdate-300x52.png" alt="" width="300" height="52" /></a></p>
<p>Then he asked me to search for something in the Vista start menu - and look what I found:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/vistasearch.png"><img class="alignnone size-medium wp-image-787" title="Vista start menu with Search SharePoint option" src="http://www.novolocus.com/wp-content/uploads/2008/09/vistasearch-266x300.png" alt="" width="266" height="300" /></a></p>
<p>That&#8217;s right, a &#8216;Search SharePoint&#8217; option. <span id="more-785"></span>Naturally, I tried it - and it searched our internal system:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/results.png"><img class="alignnone size-medium wp-image-788" title="Results of a search - it works!" src="http://www.novolocus.com/wp-content/uploads/2008/09/results-300x172.png" alt="" width="300" height="172" /></a></p>
<p>Great! Not being an admin bod, I don&#8217;t entirely know how this was set up, so I asked our admin. He told me that he&#8217;d used the <em>Window 2008 Admin Tools Pack</em>. This comes with an applet for <em>Group Policy Management</em>, and he then went into <em>User Configuration &gt; Administrative Templates &gt; Windows components &gt; Instant Search</em> and that in there you can set up a custom search provider.</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/gpedit.png"><img class="alignnone size-medium wp-image-789" title="Group Policy Tree showing where to add the custom search setting" src="http://www.novolocus.com/wp-content/uploads/2008/09/gpedit-237x300.png" alt="" width="237" height="300" /></a></p>
<p>The custom search provider is just a URL with %w to place the search term. Thus, the setting here is something like:</p>
<p><code>http://deltamoss01/searchcenter/Pages/Results.aspx?k=<strong>%w</strong></code></p>
<p>(Assuming, of course, that you&#8217;re using a search center)</p>
<p>I&#8217;m sure it&#8217;s been documented before, but hey, it&#8217;s neat!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/23/adding-a-sharepoint-system-to-the-vista-start-menu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Search Date Formats&#8230;</title>
		<link>http://www.novolocus.com/2008/09/18/search-date-formats/</link>
		<comments>http://www.novolocus.com/2008/09/18/search-date-formats/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 16:06:27 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=784</guid>
		<description><![CDATA[I keep forgetting this, so a note to myself. Date formats in search results in SharePoint are defined by:

For Team Sites, the sites Regional Settings
For Collaboration Portals, the Search Center&#8217;s Regional Settings

Now, if only I can remember that this time. Often I see systems showing the dates in American date format (don&#8217;t get me started [...]]]></description>
			<content:encoded><![CDATA[<p>I keep forgetting this, so a note to myself. Date formats in search results in SharePoint are defined by:</p>
<ul>
<li>For Team Sites, the sites Regional Settings</li>
<li>For Collaboration Portals, the Search Center&#8217;s Regional Settings</li>
</ul>
<p>Now, if only I can remember that this time. Often I see systems showing the dates in American date format (don&#8217;t get me started on that one!) and this is how you change the displayed format.</p>
<p>Of course, this raises the question of, if you have offices in, say, London and Paris, how do you support the different time zones? Hmm. I&#8217;ll have to puzzle over that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/18/search-date-formats/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adding a Custom View Style to MOSS 2007 or WSS3</title>
		<link>http://www.novolocus.com/2008/09/18/adding-a-custom-view-style-to-moss-2007-or-wss3/</link>
		<comments>http://www.novolocus.com/2008/09/18/adding-a-custom-view-style-to-moss-2007-or-wss3/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 12:19:57 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Branding]]></category>

		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=777</guid>
		<description><![CDATA[Previously I&#8217;ve mentioned the intriguing idea of creating a custom view style for SharePoint 2007. Well, it turns out that instructions exist for how to do this in SharePoint 2003 - but I couldn&#8217;t find any for MOSS 2007 or WSS3. Well, it turns out that it&#8217;s not really that different, as far as I [...]]]></description>
			<content:encoded><![CDATA[<p>Previously I&#8217;ve mentioned the intriguing <a href="http://www.novolocus.com/2008/09/17/regarding-sharepoint-view-styles/">idea of creating a custom view style for SharePoint 2007</a>. Well, it turns out that instructions exist for <a href="http://msdn.microsoft.com/en-us/library/ms916812.aspx">how to do this in SharePoint 2003</a> - but I couldn&#8217;t find any for MOSS 2007 or WSS3. Well, it turns out that it&#8217;s not really that different, as far as I can see!</p>
<p><span id="more-777"></span></p>
<p>The main difference seems to be the location of the <strong>VWStyles.xml </strong>file. It&#8217;s now in:</p>
<p><code>[12 Hive]\TEMPLATE\GLOBAL\XML</code></p>
<p>Opening this up, we see <em>lots</em> of XML (good job it&#8217;s human readable, right?)</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/viewstylexml.png"><img class="alignnone size-medium wp-image-779" title="viewstylexml" src="http://www.novolocus.com/wp-content/uploads/2008/09/viewstylexml-300x202.png" alt="" width="300" height="202" /></a></p>
<p>Okay let&#8217;s modify it and see if we can change a view style. I decided to add some fixed text into a Group Heading, so I opened up the XML and added some text:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/changing-the-end-of-groupbyheader.png"><img class="alignnone size-medium wp-image-778" title="changing-the-end-of-groupbyheader" src="http://www.novolocus.com/wp-content/uploads/2008/09/changing-the-end-of-groupbyheader-300x68.png" alt="" width="300" height="68" /></a></p>
<p>Below shows a nicer view of the before and after:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/end-of-groupbyheader.png"><img class="alignnone size-medium wp-image-781" title="end-of-groupbyheader" src="http://www.novolocus.com/wp-content/uploads/2008/09/end-of-groupbyheader-300x119.png" alt="" width="245" height="97" /></a><a href="http://www.novolocus.com/wp-content/uploads/2008/09/end-of-groupbyheader-with-my-change.png"><img class="alignnone size-medium wp-image-782" title="end-of-groupbyheader-with-my-change" src="http://www.novolocus.com/wp-content/uploads/2008/09/end-of-groupbyheader-with-my-change-300x98.png" alt="" width="300" height="98" /></a></p>
<p>And then when I used this viewstyle on a list, well, my text appeared! Below shows the <em>Default </em>view style and the <em>Basic </em>viewstyle which I changed:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/before-change.png"><img class="alignnone size-medium wp-image-780" title="before-change" src="http://www.novolocus.com/wp-content/uploads/2008/09/before-change-300x170.png" alt="" width="233" height="132" /></a><a href="http://www.novolocus.com/wp-content/uploads/2008/09/after-change.png"><img class="alignnone size-medium wp-image-783" title="after-change" src="http://www.novolocus.com/wp-content/uploads/2008/09/after-change-300x171.png" alt="" width="232" height="132" /></a><br />
As you can see, that&#8217;s a pretty trivial example. You might also have notice the reams of XML involved - and there is a lot. I&#8217;d suggest that the MSDN article mentioned at the top is right - it&#8217;s probably better to copy and modify a view style than creating your own. I mean, all that CAML - yuck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/18/adding-a-custom-view-style-to-moss-2007-or-wss3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Regarding SharePoint View Styles&#8230;</title>
		<link>http://www.novolocus.com/2008/09/17/regarding-sharepoint-view-styles/</link>
		<comments>http://www.novolocus.com/2008/09/17/regarding-sharepoint-view-styles/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 12:00:08 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=771</guid>
		<description><![CDATA[I had to explain to one of my colleagues that SharePoint Lists could be presented as more than just, well, lists - so here are my examples&#8230;
Normal List View

Simple - items are presented in a list with columns. It can have default sorting, or users can choose their own sorting and filtering:

Grouped Views

You can have [...]]]></description>
			<content:encoded><![CDATA[<p>I had to explain to one of my colleagues that SharePoint Lists could be presented as more than just, well, lists - so here are my examples&#8230;<span id="more-771"></span></p>
<p><strong>Normal List View</strong></p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/normal.png"><img class="alignnone size-medium wp-image-772" title="The Normal View of a list" src="http://www.novolocus.com/wp-content/uploads/2008/09/normal-300x193.png" alt="" width="300" height="193" /></a></p>
<p>Simple - items are presented in a list with columns. It can have default sorting, or users can choose their own sorting and filtering:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/user-defined-sorting-and-filtering.png"><img class="alignnone size-medium wp-image-773" title="user-defined-sorting-and-filtering" src="http://www.novolocus.com/wp-content/uploads/2008/09/user-defined-sorting-and-filtering-300x277.png" alt="" width="207" height="192" /></a></p>
<p><strong>Grouped Views</strong></p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/grouped-sorted-totalled.png"><img class="alignnone size-medium wp-image-774" title="grouped-sorted-totalled view" src="http://www.novolocus.com/wp-content/uploads/2008/09/grouped-sorted-totalled-300x207.png" alt="" width="300" height="207" /></a></p>
<p>You can have Grouping of results, and for the groups perform functions, such as averaging, totalling, counting, standard deviation, etc.. It&#8217;s actually quite powerful&#8230;</p>
<p><strong>List and Details</strong></p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/list-and-details.png"><img class="alignnone size-medium wp-image-775" title="list-and-details" src="http://www.novolocus.com/wp-content/uploads/2008/09/list-and-details-300x191.png" alt="" width="300" height="191" /></a></p>
<p>This view shows a list of the item&#8217;s Titles on the left, and moving your mouse over them shows the details of the item in the right hand part of the page. Interesting, though I&#8217;ve not figured out when I&#8217;d use it yet&#8230;</p>
<p><strong>Boxed</strong></p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/boxed.png"><img class="alignnone size-medium wp-image-776" title="boxed" src="http://www.novolocus.com/wp-content/uploads/2008/09/boxed-300x160.png" alt="" width="300" height="160" /></a></p>
<p>The boxed view shows each item as a box containing all of the item&#8217;s details. The main idea I&#8217;ve had with this one is that it&#8217;d be good for showing contact details - it looks quite a lot like Outlook&#8217;s contacts page.</p>
<p>There are several other types of view, but most of these are variations on this theme. What&#8217;s a really interesting possibility is whether one could create your own View Styles&#8230; &#8230; I might have an investigate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/17/regarding-sharepoint-view-styles/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RSA SecurID and SharePoint</title>
		<link>http://www.novolocus.com/2008/09/16/rsa-securid-and-sharepoint/</link>
		<comments>http://www.novolocus.com/2008/09/16/rsa-securid-and-sharepoint/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 09:50:35 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=770</guid>
		<description><![CDATA[I&#8217;d an interesting question from a customer the other day - they wanted Forms Authentication on extranet access to SharePoint, but using two factor authentication. The product mentioned was RSA SecurID, and this means that to authenticate yourself you need:

Your Username
A hardware device that shows a pseudo-randomly generated PIN number which changes every minute or [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d an interesting question from a customer the other day - they wanted Forms Authentication on extranet access to SharePoint, but using two factor authentication. The product mentioned was <a href="http://www.rsa.com/node.aspx?id=1156">RSA SecurID</a>, and this means that to authenticate yourself you need:</p>
<ul>
<li>Your Username</li>
<li>A hardware device that shows a pseudo-randomly generated PIN number which changes every minute or so.</li>
</ul>
<p>&#8216;Cos the PIN is a pseudo-random sequence, if the token and a server are in sync, you can validate that someone has read that token inside the last minute.  It&#8217;s an expensive technology - but neat!</p>
<p>The idea is the same as, say, a credit card. More than just saying who I am and that I have some piece of knowledge (e.g. my PIN number), I also have to have a physical object which is hard to duplicate (my credit card). This should make my identity more certain.</p>
<p>Anyway, how does this fit with SharePoint? <span id="more-770"></span></p>
<p>The short answer is, it doesn&#8217;t. This technology works with and ISA server/Firewall, which is well in front of any SharePoint system. Obviously, this doesn&#8217;t stop you using it, but it does mean that you have to log in twice - once to get past the RSA security on the firewall or ISA server, and then once to log in to SharePoint - though this second part is almost more so that SharePoint knows who you are.</p>
<p>Still, it&#8217;s easy to imagine that single sign-on would be desirable - is it possible? Well, I found these excellent posts by Pranab Paul:</p>
<ul>
<li><a href="http://blogs.msdn.com/pranab/archive/2008/02/07/sharepoint-2007-moss-wss-fba-and-rsa-unanswered-questions.aspx">SharePoint 2007 (MOSS/WSS) FBA and RSA - Unanswered Questions</a></li>
<li><a href="http://blogs.msdn.com/pranab/archive/2007/12/13/using-http-module-for-sharepoint-2007-moss-wss-site-using-fba-and-rsa.aspx">Using HTTP Module for SharePoint 2007 (MOSS/WSS) site using FBA And RSA</a></li>
</ul>
<p><em>(Note: this is backwards - it makes more sense this way around!)</em></p>
<p>The short in-case-his-blog-vanishes description is that the RSA system adds an RSA cookie to the HTTP Request after the user has been authenticated. Pranab had a database of SQL database of the external users with the same name as sent by the RSA system, so he picked up the username from the RSA cookie, and logged the user in!</p>
<p>Now, this did slightly nerd log-out (which would automatically log the user back in), and &#8217;sign on as a different user&#8217;, so his second post details an HTTP module to handle this (i.e. remove the RSA cookie for the signout/access denied pages).</p>
<p>Very cool. Unfortunately, I&#8217;m not convinced the customer will go for this when they realise that it means that external users will need some hardware token to gain access. Yeah, I know, that&#8217;s the point, but you can see the &#8216;but I want access and I left my token at work/home/in the car/bath, etc.&#8217;.</p>
<p>Finally, some more links:</p>
<ul>
<li><a href="http://blogs.technet.com/isablog/archive/2008/02/07/walk-through-for-rsa-securid-authentication-for-isa-server-2006-part-1-rsa-authentication-manager-server-configuration.aspx">Walk-through for RSA SecurID Authentication for ISA Server 2006 Part 1</a></li>
<li><a href="https://blogs.technet.com/isablog/archive/2008/02/07/walk-through-for-rsa-securid-authentication-for-isa-server-2006-part-2-isa-array-members-preparation.aspx">Walk-through for RSA SecurID Authentication for ISA Server 2006 Part 2</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/16/rsa-securid-and-sharepoint/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ASP.NET CustomErrors can&#8217;t capture HTTP 401s&#8230;</title>
		<link>http://www.novolocus.com/2008/09/15/aspnet-customerrors-cant-capture-http-401s/</link>
		<comments>http://www.novolocus.com/2008/09/15/aspnet-customerrors-cant-capture-http-401s/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 16:34:15 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.novolocus.com/?p=767</guid>
		<description><![CDATA[It&#8217;s been a mad few weeks, so sorry for the posts tailing off a bit. Anyway, let&#8217;s get back into it with an interesting (and fairly short) problem.
ASP.NET applications can have custom error pages for the different HTTP responses. For example, you can have a custom &#8220;404 - Page not found&#8221;. Now, this can be [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a mad few weeks, so sorry for the posts tailing off a bit. Anyway, let&#8217;s get back into it with an interesting (and fairly short) problem.</p>
<p>ASP.NET applications can have custom error pages for the different HTTP responses. For example, you can have a custom &#8220;404 - Page not found&#8221;. Now, this can be a good idea, particularly for errors that produce stack traces or provide potentially sensitive information about the workings of your code. Or, heck, maybe you just want to present a nice looking error page.<span id="more-767"></span></p>
<p>ASP.NET provides default error pages itself, and these can be configured to not give much information away. You can actually provide different errors to local and remote users, which can be useful for developers. These look pretty rotten though.</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/standard-error.png"><img class="alignnone size-medium wp-image-769" title="A Standard Error Page" src="http://www.novolocus.com/wp-content/uploads/2008/09/standard-error-300x147.png" alt="A standard Error page showing lots of details" width="300" height="147" /></a></p>
<p>Fortunately, you can turn on custom errors, and define your own error pages:</p>
<p><code>&lt;customErrors mode="On" defaultRedirect="Error.aspx"&gt;</code><br />
<code>&lt;error statusCode="404" redirect="PageNotFound.aspx"/&gt;</code><br />
<code>&lt;error statusCode="403" redirect="Forbidden.aspx" /&gt;</code><br />
<code>&lt;/customErrors&gt;</code></p>
<p>This allows you to use your own error pages:</p>
<p><a href="http://www.novolocus.com/wp-content/uploads/2008/09/custom-error.png"><img class="alignnone size-medium wp-image-768" title="A Custom Error Page" src="http://www.novolocus.com/wp-content/uploads/2008/09/custom-error-300x94.png" alt="A custom error page not showing any details" width="300" height="94" /></a></p>
<p>Great! But&#8230; this doesn&#8217;t seem to work for HTTP 401. Why? I don&#8217;t know; presumably the user lacks the access to even get to the web app, and so to receive a custom error page. Sucks, huh?</p>
<p>Well, I was looking at that and came across an interesting post by Joshua Flanagan outlining <a href="http://flimflan.com/blog/HttpModuleToAllowACustomErrorPageFor4012AccessDeniedInASPNET.aspx">using an HTTP Module to pick up the output 401 response</a> and instead redirect the user to your error page. Neat, and fairly straight forward, but a bit of a pain in the backside that you have to do this at all!</p>
<p>I can&#8217;t say I&#8217;d noticed the problem with 401s until now&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.novolocus.com/2008/09/15/aspnet-customerrors-cant-capture-http-401s/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
