<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.blackmarble.co.uk/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Work Life - like park life, but paid better</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Deploying Infopath forms</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/03/28/deploying-infopath-forms.aspx</link><pubDate>Fri, 28 Mar 2008 15:04:36 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:11408</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=11408</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/03/28/deploying-infopath-forms.aspx#comments</comments><description>&lt;p&gt;Sometimes you need to deploy infopath forms to use in a form library.&lt;br /&gt;The main way to do this appears to be to install Infopath onto the server and use the publish wizard. This naturally isn&amp;#39;t all that acceptable, as it uses office licenses, and generally isn&amp;#39;t best practice.&lt;/p&gt; &lt;p&gt;After some hunting around, cab file modifying and an epiphany moment, I&amp;#39;ve found a better way (which turns out to be quite obvious....)&lt;/p&gt; &lt;h4&gt;On the development machine&lt;/h4&gt; &lt;h6&gt;&lt;/h6&gt; &lt;ol&gt; &lt;li&gt;Run the publish wizard.  &lt;li&gt;Select the first option &amp;quot;To a Sharepoint server with....&amp;quot;  &lt;li&gt;Enter the url of your development sharepoint environment  &lt;li&gt;Tick the &amp;quot;Enable this form to be filled out by using a browser&amp;quot;  &lt;li&gt;Select &amp;quot;Administrator-approved form template (advanced)&amp;quot;  &lt;li&gt;Give it a save location and filename  &lt;li&gt;The next screen will then let you select the fields and columns you want to appear in the form library, exactly as if you were publishing the form directly to the server.  &lt;li&gt;Publish the form.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;This will then generate a .xsn that will be saved where you told it to.&lt;/p&gt; &lt;h4&gt;On the server&lt;/h4&gt; &lt;ol&gt; &lt;li&gt;Copy the .xsn to the server.  &lt;li&gt;Run these commands:  &lt;ol&gt; &lt;li&gt;stsadm -o verifyformtemplate -filename &amp;lt;filename&amp;gt;  &lt;li&gt;stsadm -o uploadformtemplate -filename &amp;lt;filename&amp;gt;  &lt;li&gt;stsadm -o activateformtemplate -filename &amp;lt;filename&amp;gt; -url &amp;lt;sharepointurl&amp;gt;&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;This should then activate the form, which can then be used as a content type for a form library.&lt;/li&gt;&lt;/ol&gt; &lt;h3&gt;The epiphany moment&lt;/h3&gt; &lt;p&gt;The .xsn is just a cab file renamed. This means that it also includes the code behind dll and everything that is required for the form to deploy, so you don&amp;#39;t have to worry about copying the DLL to anywhere or anything like that.&lt;br /&gt;This makes deployment a &lt;strong&gt;lot&lt;/strong&gt; easier.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=11408" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Infopath/default.aspx">Infopath</category></item><item><title>Converting a Visual Studio 2005 Sharepoint Workflow to 2008</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/03/18/converting-a-visual-studio-2005-sharepoint-workflow-to-2008.aspx</link><pubDate>Tue, 18 Mar 2008 14:00:40 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:11224</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=11224</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/03/18/converting-a-visual-studio-2005-sharepoint-workflow-to-2008.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;1. Run the project conversion wizard. &lt;p&gt;2. Close Visual Studio &lt;p&gt;3. Open the project .csproj.user and replace with: &lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:1c7d5658-5c6b-457a-b92b-d5e08f19cc8d" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;width:703px;padding-top:0px;"&gt;&lt;pre style="background-color:White;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Project &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;http://schemas.microsoft.com/developer/msbuild/2003&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ProjectExtensions&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStudio&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;FlavorProperties &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;GUID&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;{F8810EC1-6754-47FC-A15F-DFABD2E3FA90}&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DisplayName&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SharePointWorkflow1&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;DisplayName&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SiteURL&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;http://sharepointdev/Docs&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;SiteURL&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ListURL&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;http://sharepointdev/Docs/Documents/Forms/AllItems.aspx&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ListURL&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;TargetList &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;{604f3e21-588a-46bc-a0ba-4ec5da004e95}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Documents&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;TargetList&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;HistoryList &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;{4e9f863c-2200-416e-a069-73771d88fb21}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Workflow History&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;HistoryList&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;TaskList &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;{e2e8bed6-6f26-4de2-ac84-ca7b353a7517}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Tasks&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;TaskList&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;AutoAssociate&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;true&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;AutoAssociate&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ManualStart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;false&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ManualStart&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;StartOnCreate&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;true&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;StartOnCreate&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;StartOnChange&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;false&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;StartOnChange&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;FlavorProperties&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;VisualStudio&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ProjectExtensions&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Project&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;4. Open the .csproj and modify the &amp;lt;ProjectTypeGuid&amp;gt; Line to include this:
&lt;p&gt;{F8810EC1-6754-47FC-A15F-DFABD2E3FA90};
&lt;p&gt;5. Open the solution in VS, right click on the workflow project, and you should have the &amp;quot;Sharepoint Debug Settings&amp;quot; option. Run this to configure the list binding etc.
&lt;p&gt;Enjoy
&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=11224" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>First Speaking Event</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/03/18/first-speaking-event.aspx</link><pubDate>Tue, 18 Mar 2008 08:09:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:11218</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=11218</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/03/18/first-speaking-event.aspx#comments</comments><description>&lt;a href="http://blogs.blackmarble.co.uk/blogs/twardill/WindowsLiveWriter/FirstSpeakingEvent_72AE/I%27m%20speaking%20at%20Developer%20Day%20Scotland%20%28large%29_2.png"&gt;&lt;img src="http://blogs.blackmarble.co.uk/blogs/twardill/WindowsLiveWriter/FirstSpeakingEvent_72AE/I%27m%20speaking%20at%20Developer%20Day%20Scotland%20%28large%29_thumb.png" style="border:0px none;" alt="I&amp;#39;m speaking at Developer Day Scotland (large)" border="0" height="244" width="184" /&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I will be presenting my talk “ASP.NET MVC: Testing the Web. Is the new MVC framework for ASP.NET the future for .NET web development?” At Developer Day Scotland.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Registration is now open here:&lt;/p&gt; &lt;p&gt;&lt;a href="http://developerdayscotland.com/main/DelegateRegistration/tabid/69/Default.aspx"&gt;http://developerdayscotland.com/main/DelegateRegistration/tabid/69/Default.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;for anyone who wishes to come see it, Richard&amp;#39;s talk, or any others that may be happening at the event (Agenda: &lt;a href="http://developerdayscotland.com/main/Agenda/tabid/68/Default.aspx"&gt;http://developerdayscotland.com/main/Agenda/tabid/68/Default.aspx&lt;/a&gt; )&lt;/p&gt; &lt;p&gt;Cool!&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=11218" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Speaking/default.aspx">Speaking</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Event/default.aspx">Event</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/DeveloperDay/default.aspx">DeveloperDay</category></item><item><title>Setting a CollapsiblePanelExtender state from CodeBehind</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/01/21/setting-a-collapsiblepanelextender-state-from-codebehind.aspx</link><pubDate>Mon, 21 Jan 2008 11:00:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10583</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=10583</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/01/21/setting-a-collapsiblepanelextender-state-from-codebehind.aspx#comments</comments><description>&lt;p&gt;Usefully, the CollapsiblePanelExtender has a property called &amp;quot;Collapsed&amp;quot;, this can be set in the aspx to whatever you want the default state to be. However, if you just set this property from CodeBehind, you will find that it ignores you and doesn&amp;#39;t do anything. This is because you also need to set the ClientState property to be the same as the Collapsed property (Except a string, rather than a bool).&lt;/p&gt;&lt;p&gt;Like so:&lt;/p&gt;&lt;p&gt;&amp;nbsp;CollapsiblePanel1.Collapsed = true;&lt;br /&gt;&amp;nbsp;CollapsiblePanel1.ClientState = &amp;quot;true&amp;quot;;&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10583" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/FeatureNotBug/default.aspx">FeatureNotBug</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Forcing a Partial Postback from JavaScript</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/01/18/forcing-a-partial-postback-from-javascript.aspx</link><pubDate>Fri, 18 Jan 2008 11:26:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:10545</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=10545</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2008/01/18/forcing-a-partial-postback-from-javascript.aspx#comments</comments><description>&lt;p&gt;In this situation, you would like to cause a postback, notifying the server of a change in a hidden fields contents.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;function PartialPB(someValue)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var hidden = document.getElementById(hiddenClientId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hidden.value = someValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __doPostBack(&amp;#39;&amp;lt;%= TaskUpdatePanel.ClientID %&amp;gt;&amp;#39;, &amp;#39;&amp;#39;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;Wrap the hidden field in an update panel (TaskUpdatePanel in this case):&lt;/p&gt;&lt;p&gt;&amp;lt;asp:UpdatePanel ID=&amp;quot;TaskUpdatePanel&amp;quot; runat=&amp;quot;server&amp;quot; UpdateMode=&amp;quot;Always&amp;quot;&amp;gt;&amp;lt;ContentTemplate&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;asp:HiddenField ID=&amp;quot;sampleHiddenField&amp;quot; runat=&amp;quot;server&amp;quot; Value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/ContentTemplate&amp;gt;&amp;lt;/asp:UpdatePanel&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This should work. The important part is the UpdatePanel ID as the first argument in the __doPostBack(). This will set the target to be the UpdatePanel, and cause a Partial Postback rather than a full.&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=10545" width="1" height="1"&gt;</description></item><item><title>Building a WSP with Infopath Forms</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/10/05/building-a-wsp-with-infopath-forms.aspx</link><pubDate>Fri, 05 Oct 2007 10:26:22 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:9057</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=9057</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/10/05/building-a-wsp-with-infopath-forms.aspx#comments</comments><description>&lt;p&gt;A WSP is the preferred deployment solution for anything to do with sharepoint, such as web parts and workflows. While the workflow solution in Visual Studio should auto-generate a lot of the manifest.xml file that is used, there are a couple of little things that need to be altered before it will behave as expected.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Build the solution in Release mode before attempting to alter any of the files that have been provided, the auto-generation tool doesn&amp;#39;t run until the first build.&lt;/li&gt; &lt;li&gt;Check that the manifest.xml is deploying the main workflow dll to the GAC. The correct setting in the &amp;#39;Assembly&amp;#39; line is &amp;#39;DeploymentTarget=&amp;quot;GlobalAssemblyCache&amp;quot;&amp;#39;.&lt;/li&gt; &lt;li&gt;Alter the wsp_structure.ddf to include the Infopath forms that are used within the workflow. The solution should have created the basic structure, then all that should be necessary is to add the form location and form name for every form that you are using, following the sample that has been provided.&lt;/li&gt; &lt;li&gt;If you have any Infopath forms with Code Behind, it is necessary to manually add the dll to the manifest.xml so that they get deployed to the feature directory along with everything else that is required.&lt;/li&gt; &lt;ol&gt; &lt;li&gt;Use the &amp;#39;Resources&amp;#39; tag in the manifest.xml&lt;/li&gt; &lt;li&gt;Give the location and name of the dll ( &amp;quot;ProjectName\DllName.dll&amp;quot; )&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Build, Deploy and Test&lt;/li&gt; &lt;ol&gt; &lt;li&gt;Build&lt;/li&gt; &lt;li&gt;stsadm -o addsolution -filename &amp;lt;filename&amp;gt;.wsp&lt;/li&gt; &lt;li&gt;stsadm -o deploysolution -name &amp;lt;filename&amp;gt;.wsp -local -allowgacedeployment (might also require -url &amp;lt;site to deploy to&amp;gt;&lt;/li&gt; &lt;li&gt;install and activate as required.&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=9057" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Null Reference Errors with Task ExtendedProperties</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/10/03/null-reference-errors-with-task-extendedproperties.aspx</link><pubDate>Wed, 03 Oct 2007 09:53:50 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:9052</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=9052</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/10/03/null-reference-errors-with-task-extendedproperties.aspx#comments</comments><description>&lt;p&gt;If you are dealing with Workflow tasks that are giving null reference errors that are not showing up if the workflow is being debugged (They appear in the error logs, but not in Visual Studio), then check that none of the ExtendedProperties values are being set to null.&lt;/p&gt; &lt;p&gt;An empty string, or 0 is fine, but they can not be null on the creation of the task, as this will then error in the task creation.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=9052" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/FeatureNotBug/default.aspx">FeatureNotBug</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Using multiple Task forms in a single workflow</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/18/using-multiple-task-forms-in-a-single-workflow.aspx</link><pubDate>Mon, 17 Sep 2007 23:59:47 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:8908</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=8908</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/18/using-multiple-task-forms-in-a-single-workflow.aspx#comments</comments><description>&lt;p&gt;In the creation of a workflow more complex than the standard &amp;quot;hello world&amp;quot; equivalent, it will eventually be necessary to create more than one task, and to use different InfoPath forms for each of them.&lt;/p&gt;  &lt;p&gt;This can be done quite easily by using this syntax in the workflow.xml:&lt;/p&gt;  &lt;p&gt;&amp;lt;Task0_FormURN&amp;gt;FORMURN 1&amp;lt;/Task0_FormURN&amp;gt;    &lt;br /&gt;&amp;lt;Task1_FormURN&amp;gt;FORMURN 2&amp;lt;/Task1_FormURN&amp;gt;&lt;/p&gt;  &lt;p&gt;Then, in the code for the CreateTask workflow object use:&lt;/p&gt;  &lt;p&gt;task1.TaskProperties.TaskType = 0    &lt;br /&gt;task2.TaskProperties.TaskType = 1 &lt;/p&gt;  &lt;p&gt;Essentially, the urn designators match the task type, the 0 urn is the 0 task type, etc.&lt;/p&gt;  &lt;p&gt;N.B. This doesn&amp;#39;t work for aspx forms, they use an entirely different method of form description, one I have not investigated yet.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=8908" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Null References on Creating a Task</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/18/null-references-on-creating-a-task.aspx</link><pubDate>Mon, 17 Sep 2007 23:13:21 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:8907</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=8907</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/18/null-references-on-creating-a-task.aspx#comments</comments><description>&lt;p&gt;If you are trying to create a new task in a sharepoint workflow, and it is failing with null reference errors, or &amp;quot;value cannot be null&amp;quot; in the log files, make sure that you are setting the task ID to a valid GUID.&lt;/p&gt;  &lt;p&gt;It would appear that just setting the properties to a new field in the workflow designer is not enough, you must have the following line (or similar):&lt;/p&gt;  &lt;p&gt;TaskID1 = Guid.NewGuid();&lt;/p&gt;  &lt;p&gt;Where TaskID1 is the field that the TaskID has been bound to in the workflow designer.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=8907" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/FeatureNotBug/default.aspx">FeatureNotBug</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Sharepoint Workflows and Numerical Names</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/17/sharepoint-workflows-and-numerical-names.aspx</link><pubDate>Mon, 17 Sep 2007 19:24:33 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:8904</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=8904</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/17/sharepoint-workflows-and-numerical-names.aspx#comments</comments><description>&lt;p&gt;If you try to create a sharepoint workflow with a number at the start of the name, it will actually create one replacing the first character of the name with an underscore, while still building the dll with the correct name.&lt;/p&gt;  &lt;p&gt;To solve this:&lt;/p&gt;  &lt;p&gt;For a workflow named &amp;quot;360Feedback&amp;quot;, in the workflow.xml, the CodeBesideClass should be &amp;quot;_60Feedback.Workflow1&amp;quot; and the CodeBesideAssembly should be &amp;quot;360Feedback, ....&amp;quot;&lt;/p&gt;  &lt;p&gt;Hope this helps someone in the eternal head bashing that is workflow development.&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=8904" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/FeatureNotBug/default.aspx">FeatureNotBug</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>ReMix '07 London Day Two</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/12/remix-07-london-day-two.aspx</link><pubDate>Wed, 12 Sep 2007 22:09:00 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:8883</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=8883</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/12/remix-07-london-day-two.aspx#comments</comments><description>&lt;p&gt;And then there were two! Well, two days worth anyway. The second day of Mix kicked off pretty quickly, with myself attending the developer track on ASP.NET 3.5, the only part of the framework to be unchanged in the 3.0 release, and really needing a massive overhaul in the face of WPF and the abilities contained therein. Fortunately, MS have carried through, and ASP.NET is gaining the fancy databinding techniques lifted directly from WPF, along with the addition of LINQ to make the actual data query and manipulation much easier. If only I&amp;#39;d had that about a month ago.... (ah, the unanimous refrain of any developer seeing what is now possible after spending hours and hours on something that was just made irrelevant!) Also, VS2008 is now capable of dealing with nested Master Pages, a feature that although supported in the language since 2.0 has yet to make an appearance in the IDE, this is part of a general enhancement to the design/source view switcher which now appears to be a lot faster and therefore a lot more usable. This culminates in the &amp;#39;killer feature&amp;#39; of the enhancements: Split design/source view, something present in every other web IDE, but has always been missing from VS. Rest easy you little hybrid designer/developer bods, it&amp;#39;s now nice and simple.&lt;/p&gt;  &lt;p&gt;The addition of LINQ to ASP.NET should finally give a standard method of data access and manipulation, again something that I could of done with about a month ago, the ease of databinding, especially with the new templated dynamic controls positively makes me drool at it, and wondering if I can convince Boss that moving to VS2008 now would be a good thing (probably not, but it&amp;#39;s got to be worth a try).&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;The next talk was IronPython, something that&amp;#39;s close to my heart as Python is a language I&amp;#39;ve been gradually learning for the last couple of years. This was my first chance to see IronPython in a demonstration/non-novice setting, and I was pretty impressed with how much of the language is implemented and linked seamlessly to the .NET framework. This is also something I&amp;#39;d love to start using more, especially with the SilverLight integration. I&amp;#39;ve got some ideas for personal projects using this technology, but I&amp;#39;m still not sold on it&amp;#39;s place in the .NET developers toolkit. Although the language is quite funky, it&amp;#39;s still fundamentally the .NET framework, which to most people means C#. Given that C# is the standard, selling people on the use of a smaller, less well known technology is always going to be tricky, and convincing C# developers to switch is always going to be hard given the amount of time and investment they&amp;#39;ve already made to learn one .NET based language. The integration into SilverLight is rather suspect on similar grounds. As Rik said after the presentation, if there is already a .NET based javascript language, why would you then switch to a different language to use within SilverLight. If JavaScript is already being used to host the SilverLight, surely it makes more sense to carry on in basically the same language.&lt;/p&gt;  &lt;p&gt;My argument that it allows for greater code separation is rather flimsy, and is mainly just to provide an opposing point of view, I really agree with him. (And hope he doesn&amp;#39;t read this....) Any further thoughts on it, let me know either by email or by a comment on here.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Then onto the Game Show, otherwise known as blagging as much SWAG as we could get away with. The team made up of half BM (Sam and Mat) managed to win, blagging themselves a wireless presenter mouse in the process, but T-Shirts, pens, notepaper and (bizarrely) socks were in much attendance.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;From there, onto Sneak Peeks, or a look at some of the tech that&amp;#39;s coming down the wire soon, from MS or partners. The most interesting fact of the session was the fact that &lt;a href="http://labs.live.com/Seadragon.aspx"&gt;Sea Dragon&lt;/a&gt; is probably going to hit SilverLight at some point. If you&amp;#39;ve not seen this tech yet, take a look. Then think about it. Then look again. Then realise that it contains the potential to change completely how reading and viewing on a touch screen (it can be used with a mouse, but that natural interface would be multi-touch) will work. As I&amp;#39;ve been interested in EBooks and EReading (please, someone buy me the new Sony Reader?) for quite some time, seeing something like this has made me quite excited to see what it can actually do in a Real Work (tm) situation. Also, I was distinctly unimpressed by the Halo 3 trailer, it looks just like Halo 2, which looks like Generic FPS Version 3.0. But if they&amp;#39;ve cracked Co-Op multiplayer, it might be the game that finally gets me to buy a 360, so I&amp;#39;ll wait till we get it for the 360 in work and see what I think!&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;And then, via the freebies section (Expression Suite and Vista Ultimate, cheers guys!), and the free popcorn (4 tubs), it was onto train and home. &lt;/p&gt;  &lt;p&gt;Thanks to all involved for a great event, and thanks to BM for taking me!&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5054d80e-57b7-4a41-aed2-c5bad3acbef4" style="margin:0px;padding:0px;display:inline;"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Mix07/" rel="tag"&gt;Mix07&lt;/a&gt; 		&lt;/div&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=8883" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Mix07/default.aspx">Mix07</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/SilverLight/default.aspx">SilverLight</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/IronPython/default.aspx">IronPython</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>ReMix '07 London Day One</title><link>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/11/remix-07-london-day-one.aspx</link><pubDate>Tue, 11 Sep 2007 22:17:30 GMT</pubDate><guid isPermaLink="false">e2247bbd-a8ea-45d7-b15f-e334232e9347:8874</guid><dc:creator>Tom Wardill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.blackmarble.co.uk/blogs/twardill/rsscomments.aspx?PostID=8874</wfw:commentRss><comments>http://blogs.blackmarble.co.uk/blogs/twardill/archive/2007/09/11/remix-07-london-day-one.aspx#comments</comments><description>&lt;p&gt;So here I am with a nice new shiny blog to post on, figured it was about time I got round to putting something on it. BM very kindly took me to Mix &amp;#39;07 in London, so blogging on my experiences here would probably seem to be a prudent thing to do....&lt;/p&gt;  &lt;p&gt;The keynote kicked off very well, with the main theme obviously being the newly announced SilverLight from Microsoft. Quite a few shiny demos, including one that was along the lines of a project that Mat and myself have been working on in our off time, though I think we&amp;#39;ve got a slightly different angle on it. More to come on that when we actually get something working (unlike theirs, which works, and works very well!). Was impressed by the project from SAGE, using the XPS printer to create working XAML, an approach I&amp;#39;ve not seen before and was pleasantly surprised that it worked as well as it did. Also, I was very surprised at the focus on streaming media, something that I&amp;#39;d not considered before, but can now see, given the rise of youtube and other sites why&lt;/p&gt;  &lt;p&gt;From there, I stayed on the Developer track and attended the SilverLight talk from ScottGu. While it was a very good talk, it mostly covered ground that I&amp;#39;ve seen before with the Avalon/WPF release, such as the databinding, the basic shapes and various other bits. A nice part was the announcements of what was coming to SilverLight 1.1, such as the layout managers and other brushes. The layout managers are the main reason I would chose WPF over a standard WinForms application, having seen their power in my Java based coursework, I really missed them in the move to .NET. The second half of the talk was more of the same, though also covering some of the more SilverLight specific things, such as the ability to manipulate the HTML DOM from C# and various other fancy bits. Overall, a very well presented talk, and quite impressive technology behind it&lt;/p&gt;  &lt;p&gt;The 3rd talk I abandoned the developer track and went to the Reading technologies talk on the Designer track. The people giving the talk had written a very fancy application to keep people updated on the goings on the event, such as twitter feeds, facebook and the various blogs of the speakers. The app is built on the .NET flow controls, meaning it resizes automatically and various other fancy bits. The app itself was very cool, but with it being on the design track it wasn&amp;#39;t technical enough, though the demonstrations of Blend and the designer tools were quite enlightening.&lt;/p&gt;  &lt;p&gt;Then back to the developer track for the Developer Panel. The theme for the talk was &amp;#39;Client and the Cloud&amp;#39;.&amp;amp;#xA0; A lot of insightful questions relating to the problem, and the decision between them. I can see the cloud gradually building, but while download bandwidth is cheap, upload is still restricted heavily, certainly limiting my wish to use S3 and other services. As a keen amateur sports photographer, I&amp;#39;d love to use something like that to backup my photo libraries, but at 10Mb a photo, it takes quite a long time. Also, nothing was said about synchronization, and the problems of linking many disparate clients to the cloud, again something that needs to be addressed before it becomes widespread. I want the same RSS feeds on my laptop, my desktop and my mobile without having to worry about syncing them all together.&lt;/p&gt;  &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;  &lt;p&gt;And then, it was time for the Guitar Hero tournament. Now, I&amp;#39;m appalling at this game, however Jonny is pretty good. How good, we then found out, as he went on to win the whole thing, after a lot of support and cheering from the BM crowd at the back of the room.&lt;/p&gt;  &lt;p&gt;So that was Day 1, more to come later. Now I have Live Writer installed, I can blog offline. See, magical cloud/client problems, they&amp;#39;re everywhere when you start looking....&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7f7c83df-ad2a-4405-9b4f-781a90050248" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Mix07/" rel="tag"&gt;Mix07&lt;/a&gt; 		&lt;/div&gt;&lt;/p&gt;&lt;img src="http://blogs.blackmarble.co.uk/aggbug.aspx?PostID=8874" width="1" height="1"&gt;</description><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/Mix07/default.aspx">Mix07</category><category domain="http://blogs.blackmarble.co.uk/blogs/twardill/archive/tags/SilverLight/default.aspx">SilverLight</category></item></channel></rss>