<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Lee Dale</title>
	<atom:link href="http://leedale.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://leedale.wordpress.com</link>
	<description>Microsoft .Net Framework, Microsoft SharePoint Server 2007, SQL Server 2005</description>
	<pubDate>Wed, 14 May 2008 10:39:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Setting a Site’s locale in SharePoint using SPLocale class.</title>
		<link>http://leedale.wordpress.com/2008/05/14/setting-a-site%e2%80%99s-locale-in-sharepoint-using-splocale-class/</link>
		<comments>http://leedale.wordpress.com/2008/05/14/setting-a-site%e2%80%99s-locale-in-sharepoint-using-splocale-class/#comments</comments>
		<pubDate>Wed, 14 May 2008 10:39:09 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[C#]]></category>

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

		<guid isPermaLink="false">http://leedale.wordpress.com/?p=49</guid>
		<description><![CDATA[A requirement I came across recently was to write a tool to set a site’s locale from US to UK using the object model.  Because I potentially needed to do this for hundreds of sites I opted to write a small command line tool that can be scripted to help with the task.
Below is an [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">A requirement I came across recently was to write a tool to set a site’s locale from US to UK using the object model.<span>  </span>Because I potentially needed to do this for hundreds of sites I opted to write a small command line tool that can be scripted to help with the task.</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">Below is an overview of how to use the <a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splocale.aspx">SPLocale </a>class to set the Locale of a site.<span>  </span>I have also provided download links for the compiled command line tool and its source code for you to take a look at.</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">First thing we need to do is grab an instance of the site:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:teal;font-family:&quot;">SPSite</span><span style="font-size:10pt;font-family:&quot;"> site = <span style="color:blue;">new</span> <span style="color:teal;">SPSite</span>(“localhost”);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Calibri;">Next thing we do is get a collection of all the web sites under your site:</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:teal;font-family:&quot;">SPWebCollection</span><span style="font-size:10pt;font-family:&quot;"> webCollection = site.AllWebs;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;font-family:Calibri;">We can now interate over this collection and set the Locale property to your new locale which will be an instance of the </span></span><span style="font-size:10pt;color:teal;font-family:&quot;"><a href="http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx">CultureInfo </a></span><span style="font-size:small;"><span><span style="font-family:Calibri;">class</span></span><span style="font-family:&quot;">. </span><span><span style="font-family:Calibri;">We create a new instance of the CultureInfo class by passing the new Locale’s LCID value to it’s constructor.</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:blue;font-family:&quot;">foreach</span><span style="font-size:10pt;font-family:&quot;"> (<span style="color:teal;">SPWeb</span> web <span style="color:blue;">in</span> webCollection)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;">{</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"><span>      </span>web.Locale = <span style="color:blue;">new</span> System.Globalization.<span style="color:teal;">CultureInfo</span>(2057);</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"><span>      </span>web.Update();</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;">}</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Calibri;">Thats basically all there is to it.</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Calibri;">Downloads:</p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;">Excecutable - <a href="http://www.athousandthreads.com/blog/code/SPSiteLocaleExe.zip">http://www.athousandthreads.com/blog/code/SPSiteLocaleExe.zip</a></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;">Source Code - <a href="http://www.athousandthreads.com/blog/code/SPSiteLocaleSource.zip">http://www.athousandthreads.com/blog/code/SPSiteLocaleSource.zip</a></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p><span><font size="3"><font face="Calibri"></p>
<p class="MsoNormal" style="margin:0;">Example of command line:  SPSiteLocale.exe set http://localhost 2057</p>
<p></font></font></span></span><span><font size="3"></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p></font></span></span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/49/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/49/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=49&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2008/05/14/setting-a-site%e2%80%99s-locale-in-sharepoint-using-splocale-class/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft Release SharePoint Administration Toolkit</title>
		<link>http://leedale.wordpress.com/2008/05/02/microsoft-release-sharepoint-administration-toolkit/</link>
		<comments>http://leedale.wordpress.com/2008/05/02/microsoft-release-sharepoint-administration-toolkit/#comments</comments>
		<pubDate>Fri, 02 May 2008 08:54:21 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://leedale.wordpress.com/?p=48</guid>
		<description><![CDATA[Microsoft has announced their first release of the SharePoint Administration Toolkit over at the SharePoint Products and Technologies Team Blog.
This toolkit provides some cool new features which some MOSS 2007 admins might find very handy.  One such feature is the &#8216;Batch Site Manager&#8217; which give admins the ability to schedule bulk operations against site collections.
There [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Microsoft has announced their first release of the SharePoint Administration Toolkit over at the <a href="http://blogs.msdn.com/sharepoint/archive/2008/04/30/announcing-the-first-release-of-the-microsoft-sharepoint-administration-toolkit.aspx">SharePoint Products and Technologies Team Blog</a>.</p>
<p>This toolkit provides some cool new features which some MOSS 2007 admins might find very handy.  One such feature is the &#8216;Batch Site Manager&#8217; which give admins the ability to schedule bulk operations against site collections.</p>
<p>There is a whitepaper up on MSDN which give you more information on the toolkit and detailed steps for installation.</p>
<p>Download links for the toolkit:</p>
<p> x86: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=263CD480-F6EB-4FA3-9F2E-2D47618505F2&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyId=263CD480-F6EB-4FA3-9F2E-2D47618505F2&amp;displaylang=en</a></p>
<p>x64: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F8EEA8F0-FA30-4C10-ABC9-217EEACEC9CE&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyId=F8EEA8F0-FA30-4C10-ABC9-217EEACEC9CE&amp;displaylang=en</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=48&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2008/05/02/microsoft-release-sharepoint-administration-toolkit/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>
	</item>
		<item>
		<title>Programmatically removing all WebParts from a page in MOSS 2007</title>
		<link>http://leedale.wordpress.com/2008/04/15/programmatically-removing-all-webparts-from-a-page-in-moss-2007/</link>
		<comments>http://leedale.wordpress.com/2008/04/15/programmatically-removing-all-webparts-from-a-page-in-moss-2007/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 18:45:33 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[C#]]></category>

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

		<guid isPermaLink="false">http://leedale.wordpress.com/2008/04/15/programmatically-removing-all-webparts-from-a-page-in-moss-2007/</guid>
		<description><![CDATA[So I haven&#8217;t been around blogging for a while due to having a little downtime and finishing up a project I&#8217;ve been working on. I&#8217;ve just started a new project which involves migrating a very large SPS 2003 implementation to MOSS 2007.
Hopefully I&#8217;ll be back blogging regularly with some useful SharePoint related articles and to [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So I haven&#8217;t been around blogging for a while due to having a little downtime and finishing up a project I&#8217;ve been working on. I&#8217;ve just started a new project which involves migrating a very large SPS 2003 implementation to MOSS 2007.</p>
<p>Hopefully I&#8217;ll be back blogging regularly with some useful SharePoint related articles and to start off with I&#8217;m going to demonstrate how to delete all WebParts from a WebPart page programmatically.</p>
<p>This requirement came up recently as I needed to create a feature to delete all WebParts from the standard MySite template and add some custom WebParts when every MySite was provisioned.</p>
<p>The steps to accomplish this were as follows:</p>
<ol style="margin-left:38pt;">
<li>Create a feature that when activated deleted all WebParts from the page and added my custom ones on.</li>
<li>Create a feature stapler to staple my new feature to the SPSPERS template so the feature is activated each time a new MySite was provisioned.</li>
</ol>
<p>I&#8217;m only going to cover step 1 here as there are plenty of great articles out there that explain feature stapling e.g. <a href="http://blogs.msdn.com/cjohnson/archive/2006/11/01/feature-stapling-in-wss-v3.aspx">http://blogs.msdn.com/cjohnson/archive/2006/11/01/feature-stapling-in-wss-v3.aspx</a></p>
<p>Ok first we need to create a class that inherits from the <a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spfeaturereceiever.aspx">SPFeatureReceiver</a> class like so:</p>
<p><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;">public</span><span style="color:#0000ff;"> class</span><span style="color:#2b91af;"> CustomMySiteWebPartsFeature</span> : <span style="color:#31849b;">SPFeatureReceiver<br />
</span></span></p>
<p>The SPFeatureReceiver class is an abstract class with the following four abstract methods:</p>
<ul>
<li><span style="font-size:10pt;font-family:Courier New;">FeatureActivated(<span style="color:#31849b;">SPFeatureReceiverProperties</span> properties)</span></li>
<li><span style="font-size:10pt;font-family:Courier New;">FeatureDeactivating(<span style="color:#31849b;">SPFeatureReceiverProperties</span> properties)</span></li>
<li><span style="font-size:10pt;font-family:Courier New;">FeatureInstalled(<span style="color:#31849b;">SPFeatureReceiverProperties</span> properties)</span></li>
<li><span style="font-size:10pt;font-family:Courier New;">FeatureUninstalling(<span style="color:#31849b;">SPFeatureReceiverProperties</span> properties)</span></li>
</ul>
<p>We need to override all four of these methods but we only need to write our code in the <span style="font-size:10pt;font-family:Courier New;">FeatureActivated </span>method so leave the others blank.</p>
<p>The first thing we do is get an instance of the SPWeb class which we can do by using the properties variable that is passed to the method.</p>
<p><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;">public</span><span style="color:#0000ff;"> override</span><span style="color:#0000ff;"> void</span> FeatureActivated(<span style="color:#31849b;">SPFeatureReceiverProperties</span> properties)</span><span style="font-size:10pt;font-family:Courier New;"><br />
{</span><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;"><br />
    using</span> (<span style="color:#31849b;">SPWeb</span> web = properties.Feature.Parent <span style="color:#0000ff;">as</span><span style="color:#31849b;"> SPWeb</span>)</span><span style="font-size:10pt;font-family:Courier New;"><br />
    {</span><span style="font-size:10pt;font-family:Courier New;"><span style="font-size:10pt;font-family:Courier New;">    }</p>
<p></span></span><span style="font-size:10pt;font-family:Courier New;">}<br />
</span><span style="font-size:10pt;"><br />
Next we need to check that this is definately a MySite page we are working on just in case the feature gets activated on another site. We can do this by checking the WebTempate property of our SPWeb instance.<br />
</span></p>
<p><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;">public</span><span style="color:#0000ff;"> override</span><span style="color:#0000ff;"> void</span> FeatureActivated(<span style="color:#31849b;">SPFeatureReceiverProperties</span> properties)</span><span style="font-size:10pt;font-family:Courier New;"><br />
{</span><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;"><br />
    using</span> (<span style="color:#31849b;">SPWeb</span> web = properties.Feature.Parent <span style="color:#0000ff;">as</span><span style="color:#31849b;"> SPWeb</span>)</span><span style="font-size:10pt;font-family:Courier New;"><br />
    {</span><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;"><br />
        if</span> (web.WebTemplate == <span style="color:#a31515;">&#8220;SPSPERS&#8221;</span> || web.WebTemplate == <span style="color:#a31515;">&#8220;SPSMSITEHOST&#8221;</span>)</span><span style="font-size:10pt;font-family:Courier New;"><br />
        {<br />
        </span><span style="font-size:10pt;font-family:Courier New;"><span style="font-size:10pt;font-family:Courier New;">} <br />
    </span></span><span style="font-size:10pt;font-family:Courier New;">}<br />
}<br />
</span></p>
<p>To actually manipulate WebParts on our page we need to get an instance of the <a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.splimitedwebpartmanager.aspx"><span style="font-size:10pt;font-family:Courier New;">SPLimitedWebPartManager</span></a><span style="font-size:10pt;color:#31849b;font-family:Courier New;"><br />
</span>class like this:</p>
<p><span style="font-size:10pt;font-family:Courier New;"><span style="color:#31849b;">SPLimitedWebPartManager</span> manager = web.GetLimitedWebPartManager(<span style="color:#a31515;">&#8220;default.aspx&#8221;</span>,<br />
    <span style="color:#2b91af;">PersonalizationScope</span>.Shared);<br />
</span></p>
<p>And as you can see we call the GetLimitedWebPartManager method of our SPWeb instance for the page we want to manipulate.</p>
<p>Now we can begin to delete the WebParts. Below is the code I used to accomplish this.</p>
<p><span style="font-size:10pt;font-family:Courier New;"><span style="color:#2b91af;">List</span>&lt;Microsoft.SharePoint.WebPartPages.WebPart&gt; webParts = <span style="color:#0000ff;">new</span><br />
<span style="color:#2b91af;">List</span>&lt;Microsoft.SharePoint.WebPartPages.WebPart&gt;();<br />
</span></p>
<p><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;">foreach</span> (Microsoft.SharePoint.WebPartPages.WebPart webPart <span style="color:#0000ff;">in</span> manager.WebParts)<br />
{<br />
    webParts.Add(webPart);<br />
}<br />
</span></p>
<p><span style="font-size:10pt;font-family:Courier New;"><span style="color:#0000ff;">foreach</span> (Microsoft.SharePoint.WebPartPages.WebPart webPart <span style="color:#0000ff;">in</span> webParts)<br />
{<br />
    manager.DeleteWebPart(webPart);<br />
}<br />
</span></p>
<p>I first add all the WebParts to a collection then interate over that collection calling the DeleteWebPart method of our SPLimitedWebPartManager instance. We need to do this because calling DeleteWebPage while interating over the WebParts collection causes an exception as the collection has been altered during the enumeration.</p>
<p>When this is done we can use the AddWebPart method of the SPLimitedWebPartManager passing it an instance of the WebPart you want to add, the WebPartZone id you want to add the WebPart to and the index at which you want to add the WebPart within the zone.</p>
<p>After all this is done don&#8217;t forget to dispose the SPLimitedWebPartManager instance and call Update on the SPWeb instance:</p>
<p><span style="font-size:10pt;font-family:Courier New;">manager.Dispose();<br />
web.Update();<br />
</span></p>
<p>And that&#8217;s all there is to it.</p>
<p>Hope it was helpful.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/43/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/43/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=43&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2008/04/15/programmatically-removing-all-webparts-from-a-page-in-moss-2007/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>
	</item>
		<item>
		<title>Open university course update.</title>
		<link>http://leedale.wordpress.com/2008/01/31/open-university-course-update/</link>
		<comments>http://leedale.wordpress.com/2008/01/31/open-university-course-update/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 11:17:37 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://leedale.wordpress.com/2008/01/31/open-university-course-update/</guid>
		<description><![CDATA[I started the M150 Open University course back in September and have just got the results back on my second course assignment.
My result for my first assignment was 77% and the result for the second assignment was 88% so thankfully things are getting better not worse!
I must say I do find it difficult to find [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I started the M150 Open University course back in September and have just got the results back on my second course assignment.</p>
<p>My result for my first assignment was 77% and the result for the second assignment was 88% so thankfully things are getting better not worse!</p>
<p>I must say I do find it difficult to find the time to sit down for a few hours and go through the course material and complete the assignments. I also find it it&#8217;s harder to understand what specific things the question is asking you to write than actually understanding the concepts it&#8217;s trying to teach.</p>
<p>Although I am learning little bits here and there I&#8217;m not really finding the course material challenging at the moment which I kind of expected.</p>
<p>Anyway hopefully I&#8217;ll get a better mark for the next assignment which is due 22<sup>nd</sup> Feb, it looks like most of the assignment is writing out Javascript code so hopefully I won&#8217;t find it too difficult.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=42&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2008/01/31/open-university-course-update/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Studio 2008 UK Launch Event</title>
		<link>http://leedale.wordpress.com/2008/01/23/visual-studio-2008-uk-launch-event/</link>
		<comments>http://leedale.wordpress.com/2008/01/23/visual-studio-2008-uk-launch-event/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 14:38:04 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[VS2008+Launch]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://leedale.wordpress.com/2008/01/23/visual-studio-2008-uk-launch-event/</guid>
		<description><![CDATA[I&#8217;m now registered to attened the UK launch event for Visual Studio 2008 which is happening at the ICC in Birmingham on the 19th March.
There are two tracks for this event the IT pro track and the developer track, make sure you register the right track as you cannot change this after.
You can read more [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m now registered to attened the UK launch event for Visual Studio 2008 which is happening at the ICC in Birmingham on the 19th March.</p>
<p>There are two tracks for this event the IT pro track and the developer track, make sure you register the right track as you cannot change this after.</p>
<p>You can read more about the events over at <a href="http://www.microsoft.com/uk/heroeshappenhere/default.mspx">http://www.microsoft.com/uk/heroeshappenhere/default.mspx</a></p>
<p>And you can register yourself here <a href="https://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-GB&amp;eventid=1032366502">https://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-GB&amp;eventid=1032366502</a></p>
<p>Should be a good event, will definately feed back on how it went.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=41&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2008/01/23/visual-studio-2008-uk-launch-event/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>
	</item>
		<item>
		<title>I&#8217;m Twittering</title>
		<link>http://leedale.wordpress.com/2008/01/23/started-to-use-twitter/</link>
		<comments>http://leedale.wordpress.com/2008/01/23/started-to-use-twitter/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 13:50:42 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://leedale.wordpress.com/2008/01/23/started-to-use-twitter/</guid>
		<description><![CDATA[I signed up to twitter a while back but never got around to actually using it.
I thought I might as well give it a go and start twittering so I downloaded twitterberry for my blackberry mobile which is a great little app for updating twitter on the move.
If you want to follow my updates my [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I signed up to <a href="https://twitter.com/">twitter</a> a while back but never got around to actually using it.</p>
<p>I thought I might as well give it a go and start twittering so I downloaded <a href="https://twitter.com/">twitterberry</a> for my blackberry mobile which is a great little app for updating twitter on the move.</p>
<p>If you want to follow my updates my username is <a href="http://orangatame.com/products/twitterberry/">leedale</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=40&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2008/01/23/started-to-use-twitter/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamically adding WebParts using WebPartManagerInternals class</title>
		<link>http://leedale.wordpress.com/2008/01/10/dynamically-adding-webparts-using-webpartmanagerinternals-class/</link>
		<comments>http://leedale.wordpress.com/2008/01/10/dynamically-adding-webparts-using-webpartmanagerinternals-class/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 09:55:20 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[ASP.Net]]></category>

		<category><![CDATA[C#]]></category>

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

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

		<guid isPermaLink="false">http://leedale.wordpress.com/2008/01/10/dynamically-adding-webparts-using-webpartmanagerinternals-class/</guid>
		<description><![CDATA[I&#8217;m currently working on a project the requires the use of WebParts to allow a user to construct custom reports by dragging and dropping WebParts into WebPartZones.   I needed to dynamically create these WebParts on the fly and add them to the page programmatically.  I tried to do this by using the [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m currently working on a project the requires the use of WebParts to allow a user to construct custom reports by dragging and dropping WebParts into WebPartZones.   I needed to dynamically create these WebParts on the fly and add them to the page programmatically.  I tried to do this by using the standard AddWebPart() method of the WebPartManager control but found that using this method the WebPart doesn&#8217;t seem to be added to the page correctly which seems to be because the AddWebPart() methods gives the WebPart a random ID therefore it cannot participate in ViewState management. Furthermore because of the need to add the WebPartZones within the Page OnInit event the WebParts were getting recreated each time the page did a postback.</p>
<p>I searched around the web and found lots of people having the same problem but very little in the way of solutions to the problem.  Eventually I stumbled across a forum post that mentioned the <a href="http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.webpartmanagerinternals.aspx">WebPartManagerInternals</a> class.  The documentation fails to mention exactly how to use this class but contained the following text:</p>
<p>&#8220;Isolates into a separate class methods that are used by the <a href="http://msdn2.microsoft.com/en-us/library/53542h0c.aspx">WebPartManager</a> control and can be overridden by developers who extend the control, but are rarely needed by page developers.&#8221;</p>
<p>It also mentions that the class is a sealed class meaning you cannot derive from it and a quick look in Reflector showed me that it&#8217;s contructors were internal.  This meant I needed to access the class from within the <a href="http://msdn2.microsoft.com/en-us/library/53542h0c.aspx">WebPartManager</a> class.</p>
<p>I created a new DynamicWebPartManager class that derived from <a href="http://msdn2.microsoft.com/en-us/library/53542h0c.aspx">WebPartManager</a> and in this class I created a method called AddDynamicWebPart(WebPart webPart, WebPartZone zone) which as you can see accepts a WebPart and a WebPartZone.   In this method I called two methods on the Internals property (beware this Internals property DOE&#8217;S NOT show up in Intellisense) AddWebPart() which accepts a WebPart and SetZoneID() which tells it which WebPartZone to add the WebPart to.</p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:blue;">public</span><span style="color:blue;"> class</span><span style="color:#2b91af;"> DynamicWebPartManager</span> : <span style="color:#2b91af;">WebPartManager</span><br />
{<br />
<span style="color:blue;">    public</span><span style="color:blue;"> void</span> AddDynamicWebPart(<span style="color:#2b91af;">WebPart</span> webPart, <span style="color:#2b91af;">WebPartZone</span> zone)<br />
{<br />
Internals.AddWebPart(webPart);<br />
Internals.SetZoneID(webPart, zone.ID);<br />
}<br />
}</span></p>
<p>Now by using this DynamicWebPartManager class on your page instead of the out of the box <a href="http://msdn2.microsoft.com/en-us/library/53542h0c.aspx">WebPartManager</a> class you can add WebParts by calling the AddDynamicWebPart() method.</p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:#2b91af;">WebPartZone</span> reportZone = <span style="color:blue;">new</span><span style="color:#2b91af;"> WebPartZone</span>();<br />
reportZone.ID = <span style="color:#a31515;">&#8220;reportZone1&#8243;</span><br />
reportZone.HeaderText = <span style="color:#a31515;">&#8220;My Report&#8221;</span>;<br />
ToolBoxPanel.Controls.Add(reportZone);<br />
</span></p>
<p><span style="font-family:Courier New;font-size:10pt;"><span style="color:#2b91af;">TestTableWebPart</span> webPart = <span style="color:blue;">new</span><span style="color:#2b91af;"> TestTableWebPart</span>();<br />
webPart.ID = <span style="color:#a31515;">&#8220;webPart1&#8243;</span><br />
webPart.Title = <span style="color:#a31515;">&#8220;My Report - Table&#8221;</span>;<br />
ReportBuilderWebPartManager.AddDynamicWebPart(webPart, reportZone);</span></p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fleedale.wordpress.com%2f2008%2f01%2f10%2fdynamically-adding-webparts-using-webpartmanagerinternals-class%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fleedale.wordpress.com%2f2008%2f01%2f10%2fdynamically-adding-webparts-using-webpartmanagerinternals-class%2f" alt="kick it on DotNetKicks.com" border="0" /></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/39/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/39/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=39&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2008/01/10/dynamically-adding-webparts-using-webpartmanagerinternals-class/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fleedale.wordpress.com%2f2008%2f01%2f10%2fdynamically-adding-webparts-using-webpartmanagerinternals-class%2f" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>
	</item>
		<item>
		<title>Downgrading iPod Touch 1.1.2 and installing iPhone apps</title>
		<link>http://leedale.wordpress.com/2007/12/28/downgrading-ipod-touch-112-and-installing-iphone-apps/</link>
		<comments>http://leedale.wordpress.com/2007/12/28/downgrading-ipod-touch-112-and-installing-iphone-apps/#comments</comments>
		<pubDate>Fri, 28 Dec 2007 13:12:33 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[Apple]]></category>

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

		<guid isPermaLink="false">http://leedale.wordpress.com/2007/12/28/downgrading-ipod-touch-112-and-installing-iphone-apps/</guid>
		<description><![CDATA[This Christmas Santa brought me a nice 16GB iPod Touch which I&#8217;ve been after for a while now.  Out of the box the iPod Touch is brilliant it does everything you would expect of an iPod and more, however the geek in me wanted to see if there was any third party applications that [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This Christmas Santa brought me a nice 16GB iPod Touch which I&#8217;ve been after for a while now.  Out of the box the iPod Touch is brilliant it does everything you would expect of an iPod and more, however the geek in me wanted to see if there was any third party applications that I could install.  After searching around the net for a while I came across <a href="http://jailbreakme.com">http://jailbreakme.com</a> which basically installs and application that allows you to download and install third party apps straight from your iPod Touch.  Great I thought but there was one problem, my iPod came out the box with version 1.1.2 of the firmware and wouldn&#8217;t allow me to install the AppSnap application.</p>
<p>After more searching around I settled on the fact that I needed to downgrade my firmware to version 1.1.1 if I was going to jailbreak the iPod.  There is a way to upgrade back to firmware 1.1.2 after jailbreaking your iPod but I didn&#8217;t see the point as there wasn&#8217;t much difference between the two versions plus I read a few places that certain application wouldn&#8217;t work with version 1.1.2 anyway.</p>
<p>Below is a step by step guide on how to first downgrade your iPod Touch to version 1.1.1 then install Mail and Maps apps from the iPhone, bear in mind that this is not supported by Apple and I will not be responsible for any damage that happens to your iPod.  Also the restore WILL ERASE everything on your iPod and restore it to it&#8217;s factory settings.</p>
<p>One more thing to note is this step by step guide is being done on a Mac so certain steps may be slightly different for Windows, but any half tech savvy user should be able to make it work on Windows.</p>
<p>My iPod Touch looked like this out of the box, as you can see version 1.1.2 of the firmware is installed.</p>
<p><img src="http://www.athousandthreads.com/blog/images/112.gif" /></p>
<ul>
<li>
<div>The first thing you need to do is to download firmware 1.1.1 to your computer, the file is around 150Mb. You can get it from here: <a href="http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3932.20070927.p23dD/iPod1,1_1.1.1_3A110a_Restore.ipsw">http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-3932.20070927.p23dD/iPod1,1_1.1.1_3A110a_Restore.ipsw</a></div>
</li>
<li>
<div>The next step is to connect your iPod Touch to your computer with the USB cable.</div>
</li>
<li>
<div>Open up iTunes if it&#8217;s not open already (I&#8217;m using version 7.5) and on the main iPod screen hold down the Option key on Mac and click Restore.  You should get an Open File dialog from which you can select the 1.1.1 version of the firmware you downloaded earlier.</div>
</li>
<li>
<div>iTunes should now extract your firmware and begin restoring your iPod, follow the on screen instructions and wait until your iPod is fully restored and shows back up in iTunes with version 1.1.1. Don&#8217;t worry if the restore errors just keep trying it and it will eventually work.  After your iPod is fully restored you should see the new firmware installed from the settings -&gt; about menu.</div>
</li>
</ul>
<p><img src="http://www.athousandthreads.com/blog/images/111.gif" /></p>
<ul>
<li>
<div>On your iPod open Safari, navigate to <a href="http://jalbreakme.com">http://jalbreakme.com</a> , scroll down to the bottom of the screen and click Install AppSnap. Safari should now close itself, the application should install and the iPod should then restart itself.</div>
</li>
<li>
<div>Once your iPod has restarted you should see an extra application on your springboard called Installer. From here you can start installing third party applications direct to your iPod.</div>
</li>
</ul>
<p><img src="http://www.athousandthreads.com/blog/images/installer.gif" /></p>
<p>Now your iPod is open we can begin installing the iPhone apps. Currently only the Mail and Maps applications work on the iPod so i&#8217;ll show you how to install these.</p>
<ul>
<li>
<div>You need to download the iPhone apps from here <a href="http://rs75.rapidshare.com/files/61867543/iPhone_1.1.1_Apps.zip">http://rs75.rapidshare.com/files/61867543/iPhone_1.1.1_Apps.zip</a> to your computer.  Once downloaded unzip the files to a folder on your machine.</div>
</li>
<li>
<div>We now need a way to transfer these applications to your iPod we do this by using an SFTP client from out computer. On the Mac I&#8217;m using <a href="http://cyberduck.ch/">Cyberduck </a>which is a free download.</div>
</li>
<li>
<div>On the iPod we need to install OpenSSH which allows us access to the iPod file system, OpenSSH relies on the BSD Subsystem package so we first need to install this on our iPod.  Open the Installer app on your iPod and goto Install.  Click All Packages and scroll down to BSD Subsystem.  Click on Install and wait for the package to be installed.</div>
</li>
<li>
<div>Now we have the BSD Subsystem installed we can install OpenSSH so do the same as above but scroll down to the OpenSSH package and install that.</div>
</li>
<li>
<div>Open up Cyberduck or whatever SFTP client you are using and connect to your iPod&#8217;s IP address which can be found by going to Settings -&gt; WiFi and clicking the little blue icon next to your wireless connection.  The username and password you need to use is: username = root, password = alpine.</div>
</li>
<li>
<div>Now you have an open SFTP connection to your iPod you can begin copying the iPhone files across.  Start with copying the GMM.Framework folder to /System/Library/Frameworks/</div>
</li>
<li>
<div>Now copy the Maps.app to the /Applications/ folder.</div>
</li>
<li>
<div>We now need to open an SSH connection to your iPod so we can alter the permission settings for Maps.app.  If you&#8217;re on Mac simply open a Terminal window and type</div>
<p>SSH [enter your iPods IP address] –l root</p>
<p>You will be prompted to enter a password, enter alpine and press enter.</li>
<li>
<div>Now enter the command:</div>
<p>Chmod a+x /Applications/Maps.app/Maps/</p>
<p>After a restart the Maps application should now work.</li>
<li>
<div>Now to install Mail you need to copy MobileMailSettings.bundle to /System/Library/PreferenceBundles/ and MobileMail.app to /Applications.</div>
</li>
<li>
<div>Now to set the permissions for Mail we need to SSH onto the iPod again and run the following command:</div>
<p>Chmod R a+x /Applications/*</li>
</ul>
<p>And thats it! Now you should have Maps and Mail running on your iPod plus be able to download some great third party apps from the Installer application.</p>
<p><img src="http://www.athousandthreads.com/blog/images/after.gif" /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=38&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2007/12/28/downgrading-ipod-touch-112-and-installing-iphone-apps/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>

		<media:content url="http://www.athousandthreads.com/blog/images/112.gif" medium="image" />

		<media:content url="http://www.athousandthreads.com/blog/images/111.gif" medium="image" />

		<media:content url="http://www.athousandthreads.com/blog/images/installer.gif" medium="image" />

		<media:content url="http://www.athousandthreads.com/blog/images/after.gif" medium="image" />
	</item>
		<item>
		<title>Have a Merry Xmas everyone</title>
		<link>http://leedale.wordpress.com/2007/12/24/have-a-merry-xmas-everyone/</link>
		<comments>http://leedale.wordpress.com/2007/12/24/have-a-merry-xmas-everyone/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 14:19:57 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[Non Tech]]></category>

		<guid isPermaLink="false">http://leedale.wordpress.com/2007/12/24/have-a-merry-xmas-everyone/</guid>
		<description><![CDATA[Well it&#8217;s that time of the year again, Christmas Eve!
Just wanted to wish everyone a Merry Xmas and a Happy New Year hope everyone has some time off relaxing with family and friends.
I&#8217;m off work until 2nd Jan but I&#8217;ll be spending most of that time finishing off my second assignment paper which is due [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Well it&#8217;s that time of the year again, Christmas Eve!</p>
<p>Just wanted to wish everyone a Merry Xmas and a Happy New Year hope everyone has some time off relaxing with family and friends.</p>
<p>I&#8217;m off work until 2<sup>nd</sup> Jan but I&#8217;ll be spending most of that time finishing off my second assignment paper which is due in January.</p>
<p>Have a good holiday!</p>
<p><img src="http://www.athousandthreads.com/blog/images/merryxmas.jpg" height="384" width="382" /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=37&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2007/12/24/have-a-merry-xmas-everyone/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>

		<media:content url="http://www.athousandthreads.com/blog/images/merryxmas.jpg" medium="image" />
	</item>
		<item>
		<title>Creating a Tableless LoginControl with ASP.Net 2.0</title>
		<link>http://leedale.wordpress.com/2007/11/17/creating-a-tableless-logincontrol-with-aspnet-20/</link>
		<comments>http://leedale.wordpress.com/2007/11/17/creating-a-tableless-logincontrol-with-aspnet-20/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 09:38:37 +0000</pubDate>
		<dc:creator>Lee Dale</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[ASP.Net]]></category>

		<guid isPermaLink="false">http://leedale.wordpress.com/2007/11/17/creating-a-tableless-logincontrol-with-aspnet-20/</guid>
		<description><![CDATA[The trouble with using some of the built in .Net controls like LoginControl and TreeView is that they render their output in tables and as we know tables should only be used to display tabular data not control the layout of a web page.
If we wanted to write semantic markup and style our web pages [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The trouble with using some of the built in .Net controls like LoginControl and TreeView is that they render their output in tables and as we know tables should only be used to display tabular data not control the layout of a web page.</p>
<p>If we wanted to write semantic markup and style our web pages so they have proper accessible output we need to override the way ASP.Net controls render their HTML.</p>
<p>One way of doing this is using the <a href="http://www.asp.net/cssadapters/">CSS friendly control adapters</a> which come with a number of built in controls for changing the rendered output of certain ASP.Net controls. Using these controls you can completely alter the way each ASP.Net control renders its output to the browser.  The drawback here is that you need to reference another assembly and write .Net code if you need to modify anything.</p>
<p>The LoginControl supplies you with a nice ContentTemplate section that allows you to control the rendered output directly in the markup.</p>
<p>The following ASP.Net and CSS demonstrates how to create a tableless LoginControl.  I apologise for the code formatting, it seems no matter what I do wordpress doesn&#8217;t like code :(.  Best thing to do is copy and paste into a proper editor window to see what I&#8217;ve done.</p>
<p>Markup:</p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;"><span style="font-size:6pt;font-family:'Courier New';color:blue;">&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">div</span><span style="font-size:6pt;font-family:'Courier New';"> <span style="color:red;">id</span><span>=&#8221;Registration&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">CreateUserWizard</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;</span> <span style="color:red;">runat</span><span>=&#8221;server&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">WizardSteps</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">CreateUserWizardStep</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;CreateUserWizardStep1&#8243;</span> <span style="color:red;">runat</span><span>=&#8221;server&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">ContentTemplate</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">h1</span><span style="color:blue;">&gt;</span>Sign Up for Your New Account<span style="color:blue;">&lt;/</span><span style="color:#a31515;">h1</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">div</span> <span style="color:red;">id</span><span style="color:blue;">=&#8221;Security&#8221;&gt;</span><span>    </span></span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;"><span style="font-size:6pt;font-family:'Courier New';color:blue;"><span>                            </span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormLabel&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">Label</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;UserNameLabel&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">AssociatedControlID</span><span style="color:blue;">=&#8221;UserName&#8221;&gt;</span>User <span>    </span>Name:<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span>=&#8221;FormControl&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;UserName&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span><span style="color:blue;">&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;UserNameRequired&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">ControlToValidate</span><span style="color:blue;">=&#8221;UserName&#8221;</span><br />
ErrorMessage</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">=&#8221;User Name is required.&#8221;</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ToolTip</span><span style="color:blue;">=&#8221;User Name is required.&#8221;</span> <span style="color:red;">ValidationGroup</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;&gt;</span>*<br />
<span>   </span></span><span style="font-size:6pt;font-family:'Courier New';color:blue;">                            &lt;/</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">&gt;<br />
<span>                            </span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormLabel&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">Label</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;PasswordLabel&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">AssociatedControlID</span><span style="color:blue;">=&#8221;Password&#8221;&gt;</span>Password:<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span>=&#8221;FormControl&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;Password&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">TextMode</span><span style="color:blue;">=&#8221;Password&#8221;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span><span style="color:blue;">&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;PasswordRequired&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">ControlToValidate</span><span style="color:blue;">=&#8221;Password&#8221;</span><br />
ErrorMessage</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">=&#8221;Password is required.&#8221;</span><span style="font-size:6pt;font-family:'Courier New';"> <span style="color:red;">ToolTip</span><span style="color:blue;">=&#8221;Password is required.&#8221;</span> <span style="color:red;">ValidationGroup</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;&gt;</span>*<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">RequiredFieldValidator</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span style="color:blue;">&gt;</span></span></p>
<p class="MsoNormal"><span style="font-size:6pt;font-family:'Courier New';color:blue;"><span>                            </span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormLabel&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">Label</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;ConfirmPasswordLabel&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">AssociatedControlID</span><span style="color:blue;">=&#8221;ConfirmPassword&#8221;&gt;</span>Confirm Password:<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label</span><span>&gt;<br />
</span><span>             </span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">                            &lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormControl&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">TextBox</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;ConfirmPassword&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">TextMode</span><span style="color:blue;">=&#8221;Password&#8221;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span><span style="color:blue;">&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;ConfirmPasswordRequired&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">ControlToValidate</span><span style="color:blue;">=&#8221;ConfirmPassword&#8221;</span><br />
ErrorMessage</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">=&#8221;Confirm Password is required.&#8221;</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ToolTip</span><span>=&#8221;Confirm Password is required.&#8221;<br />
</span><span style="color:red;">ValidationGroup</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;&gt;</span>*<br />
&lt;/</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">&gt;<br />
<span>                            </span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormLabel&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">Label</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;EmailLabel&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">AssociatedControlID</span><span style="color:blue;">=&#8221;Email&#8221;&gt;</span>E-mail:<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span>=&#8221;FormControl&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;Email&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span><span style="color:blue;">&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;EmailRequired&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">ControlToValidate</span><span style="color:blue;">=&#8221;Email&#8221;</span><br />
ErrorMessage</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">=&#8221;E-mail is required.&#8221;</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ToolTip</span><span style="color:blue;">=&#8221;E-mail is required.&#8221;</span> <span style="color:red;">ValidationGroup</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;&gt;</span>*<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">RequiredFieldValidator</span><span>&gt;<br />
</span><span></span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormLabel&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">Label</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;QuestionLabel&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">AssociatedControlID</span><span style="color:blue;">=&#8221;Question&#8221;&gt;</span>Security Question:<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span>=&#8221;FormControl&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;Question&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span><span style="color:blue;">&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;QuestionRequired&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">ControlToValidate</span><span style="color:blue;">=&#8221;Question&#8221;</span><br />
ErrorMessage</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">=&#8221;Security question is required.&#8221;</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ToolTip</span><span>=&#8221;Security question is required.&#8221;<br />
</span><span style="color:red;">ValidationGroup</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;&gt;</span>*<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">RequiredFieldValidator</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormLabel&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">Label</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;AnswerLabel&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">AssociatedControlID</span><span style="color:blue;">=&#8221;Answer&#8221;&gt;</span>Security Answer:<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Label</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">                            &lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span>=&#8221;FormControl&#8221;&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;Answer&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">TextBox</span><span style="color:blue;">&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">RequiredFieldValidator</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;AnswerRequired&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">ControlToValidate</span><span style="color:blue;">=&#8221;Answer&#8221;</span><br />
ErrorMessage</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">=&#8221;Security answer is required.&#8221;</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">ToolTip</span><span>=&#8221;Security answer is required.&#8221;<br />
</span><span style="color:red;">ValidationGroup</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;&gt;</span>*<span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">RequiredFieldValidator</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormLabel&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">CompareValidator</span><span style="font-size:6pt;font-family:'Courier New';color:red;"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;PasswordCompare&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">ControlToCompare</span><span style="color:blue;">=&#8221;Password&#8221;</span><br />
ControlToValidate</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">=&#8221;ConfirmPassword&#8221;</span><span style="font-size:6pt;font-family:'Courier New';color:blue;"> <span style="color:red;">Display</span><span style="color:blue;">=&#8221;Dynamic&#8221;</span> <span style="color:red;">ErrorMessage</span><span>=&#8221;The Password and Confirmation Password must match.&#8221;<br />
</span><span style="color:red;">ValidationGroup</span><span style="color:blue;">=&#8221;CreateUserWizard1&#8243;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">CompareValidator</span><span>&gt;</span><span style="color:blue;"><br />
&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span>                   </span><span style="color:blue;">&lt;</span><span style="color:#a31515;">span</span> <span style="color:red;">class</span><span style="color:blue;">=&#8221;FormControl&#8221;&gt;</span><br />
&lt;</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">asp</span><span style="font-size:6pt;font-family:'Courier New';color:blue;">:</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">Literal</span><span style="font-size:6pt;font-family:'Courier New';"> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;ErrorMessage&#8221;</span> <span style="color:red;">runat</span><span style="color:blue;">=&#8221;server&#8221;</span> <span style="color:red;">EnableViewState</span><span style="color:blue;">=&#8221;False&#8221;&gt;&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">Literal</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">span</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">div</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">ContentTemplate</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">CreateUserWizardStep</span><span>&gt;<br />
</span><span style="color:blue;">&lt;</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">CompleteWizardStep</span> <span style="color:red;">ID</span><span style="color:blue;">=&#8221;CompleteWizardStep1&#8243;</span> <span style="color:red;">runat</span><span>=&#8221;server&#8221;&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">CompleteWizardStep</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">WizardSteps</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">asp</span><span style="color:blue;">:</span><span style="color:#a31515;">CreateUserWizard</span><span>&gt;<br />
</span><span style="color:blue;">&lt;/</span><span style="color:#a31515;">div</span><span style="color:blue;">&gt;</span></span></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;">CSS:<br />
<span style="font-size:6pt;font-family:'Courier New';">#Security<br />
{<br />
<span>          </span><span style="color:red;">margin-top</span>: <span style="color:blue;">10px</span>;<span>  </span><br />
<span>          </span><span style="color:red;">width</span>: <span style="color:blue;">60%</span>;<br />
<span>          </span><span style="color:red;">text-align</span>: <span style="color:blue;">left</span>;<br />
<span>          </span><span style="color:red;">border</span>: <span style="color:blue;">dashed</span> <span style="color:blue;">1px</span> <span style="color:blue;">#999999</span>;<br />
<span>          </span><span style="color:red;">padding</span>: <span style="color:blue;">20px</span>;<span>     </span><br />
<span>          </span><span style="color:red;">background-color</span>: <span style="color:blue;">#f9f9f9</span>;<br />
}</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;"><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">#Registration<br />
{<br />
<span>          </span><span style="color:red;">margin-top</span>: <span style="color:blue;">5px</span>;<br />
<span>          </span><span style="color:red;">margin-left</span>: <span style="color:blue;">auto</span>;<br />
<span>          </span><span style="color:red;">margin-right</span>: <span style="color:blue;">auto</span>;<br />
<span>          </span><span style="color:red;">text-align</span>: <span style="color:blue;">center</span>;<span>          </span><br />
<span>          </span><span style="color:red;">width</span>: <span style="color:blue;">70%</span>;<br />
<span>          </span><span style="color:red;">font-size</span>: <span style="color:blue;">1.2em</span>;<br />
}</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;"><span style="font-size:6pt;font-family:'Courier New';color:#a31515;">#Registration</span><span style="font-size:6pt;font-family:'Courier New';color:#a31515;"> <span style="color:#a31515;">h1</span><br />
{<span><br />
</span><span style="color:red;">margin-top</span>: <span style="color:blue;">20px</span>;<span><br />
</span><span style="color:red;">margin-bottom</span>: <span style="color:blue;">20px</span>;<span>         </span><br />
}<br />
#Registration</span><span style="font-size:6pt;font-family:'Courier New';"> <span style="color:#a31515;">input</span>, <span style="color:#a31515;">textarea</span><br />
{<br />
<span>          </span><span style="color:red;">width</span>: <span style="color:blue;">180px</span>;<br />
<span>          </span><span style="color:red;">margin-bottom</span>: <span style="color:blue;">5px</span>;<br />
}</span></p>
<p><span style="font-size:6pt;font-family:'Courier New';"> .Boxes<br />
{<br />
<span>          </span><span style="color:red;">width</span>: <span style="color:blue;">1em</span>;<br />
}<br />
.FormLabel<br />
{<br />
<span>          </span><span style="color:red;">float</span>: <span style="color:blue;">left</span>;<br />
<span>          </span><span style="color:red;">width</span>: <span style="color:blue;">120px</span>;<br />
<span>          </span><span style="color:red;">font-weight</span>: <span style="color:blue;">bold</span>;<br />
}<br />
.FormControl<br />
{<br />
<span>          </span><span style="color:red;">float</span>: <span style="color:blue;">left</span>;<br />
<span>          </span><span style="color:red;">width</span>: <span style="color:blue;">45%</span>;<br />
}</span><br />
<span style="font-family:Verdana;font-size:8pt;"></span></p>
<p>This should provide you with a nicely formatted form that is rendered using DIV&#8217;s and SPAN&#8217;s rather than in a TABLE. You should now be able to style the markup and control layout better to provide your end users with a more accessible web page.</p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fleedale.wordpress.com%2f2007%2f11%2f17%2fcreating-a-tableless-logincontrol-with-aspnet-20%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fleedale.wordpress.com%2f2007%2f11%2f17%2fcreating-a-tableless-logincontrol-with-aspnet-20%2f" alt="kick it on DotNetKicks.com" border="0" /></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/leedale.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/leedale.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leedale.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leedale.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leedale.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leedale.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leedale.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leedale.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leedale.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leedale.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leedale.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leedale.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leedale.wordpress.com&blog=1072030&post=36&subd=leedale&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://leedale.wordpress.com/2007/11/17/creating-a-tableless-logincontrol-with-aspnet-20/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/leedale-128.jpg" medium="image">
			<media:title type="html">leedale</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fleedale.wordpress.com%2f2007%2f11%2f17%2fcreating-a-tableless-logincontrol-with-aspnet-20%2f" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>
	</item>
	</channel>
</rss>