<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>CJ &#187; Articles</title>
	<atom:link href="http://claytonj.wordpress.com/category/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://claytonj.wordpress.com</link>
	<description>The circle of life - ** .Net - Training - MOSS **</description>
	<lastBuildDate>Tue, 03 Nov 2009 02:48:29 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='claytonj.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/490269eb44e9675875e70193e79b67b7?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>CJ &#187; Articles</title>
		<link>http://claytonj.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://claytonj.wordpress.com/osd.xml" title="CJ" />
		<item>
		<title>Moss case studies and Internet sites</title>
		<link>http://claytonj.wordpress.com/2007/11/29/moss-case-studies-and-internet-sites/</link>
		<comments>http://claytonj.wordpress.com/2007/11/29/moss-case-studies-and-internet-sites/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 03:21:06 +0000</pubDate>
		<dc:creator>CJ</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[MOSS 2007]]></category>

		<guid isPermaLink="false">http://claytonj.wordpress.com/2007/11/29/moss-case-studies-and-internet-sites/</guid>
		<description><![CDATA[More SharePoint 2007 case studies and Internet sites.
http://blogs.msdn.com/sharepoint/archive/2007/05/03/top-17-case-studies-for-microsoft-office-sharepoint-server-2007-and-several-new-moss-based-web-sites.aspx
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=223&subd=claytonj&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>More SharePoint 2007 case studies and Internet sites.</p>
<p><a href="http://blogs.msdn.com/sharepoint/archive/2007/05/03/top-17-case-studies-for-microsoft-office-sharepoint-server-2007-and-several-new-moss-based-web-sites.aspx">http://blogs.msdn.com/sharepoint/archive/2007/05/03/top-17-case-studies-for-microsoft-office-sharepoint-server-2007-and-several-new-moss-based-web-sites.aspx</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/claytonj.wordpress.com/223/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/claytonj.wordpress.com/223/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/claytonj.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/claytonj.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/claytonj.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/claytonj.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/claytonj.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/claytonj.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/claytonj.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/claytonj.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/claytonj.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/claytonj.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=223&subd=claytonj&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://claytonj.wordpress.com/2007/11/29/moss-case-studies-and-internet-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1648935198fa105f091a059bf730b766?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">CJ</media:title>
		</media:content>
	</item>
		<item>
		<title>MOSS, AJAX and the AutoCompleteExtender</title>
		<link>http://claytonj.wordpress.com/2007/07/08/moss-ajax-and-the-autocompleteextender/</link>
		<comments>http://claytonj.wordpress.com/2007/07/08/moss-ajax-and-the-autocompleteextender/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 11:43:44 +0000</pubDate>
		<dc:creator>CJ</dc:creator>
				<category><![CDATA[.NET 2.0]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[WSS 3.0]]></category>

		<guid isPermaLink="false">http://claytonj.wordpress.com/2007/07/08/moss-ajax-and-the-autocompleteextender/</guid>
		<description><![CDATA[This article will look at utilising ASP.Net 2.0 AJAX inside WSS 3.0. This article is also based off some great work completed by Todd Bleeker in his book Developers Guide To Windows SharePoint Services 3.0.
To complete the code associated with this article you will need to install ASP.Net 2.0 AJAX Extensions and the ASP.Net 2.0 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=168&subd=claytonj&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This article will look at utilising ASP.Net 2.0 AJAX inside WSS 3.0. This article is also based off some great work completed by Todd Bleeker in his book <a target="_blank" href="http://www.amazon.com/Developers-Windows-SharePoint-Services-Platform/dp/1584505001">Developers Guide To Windows SharePoint Services 3.0</a>.</p>
<p>To complete the code associated with this article you will need to install <a target="_blank" href="http://ajax.asp.net/downloads/default.aspx?tabid=47.">ASP.Net 2.0 AJAX Extensions and the ASP.Net 2.0 AJAX Control Toolkit</a> as we will be utilising AJAX Extensions, namely the AutoCompleteExtender control.</p>
<p>The first thing you need to do is make your WSS site AJAX ready. This <a target="_blank" href="http://sharepoint.microsoft.com/blogs/mike/Lists/Posts/Post.aspx?ID=3">blog article from the SharePoint team</a> takes you through the steps in completing this and also has a nice little web part example to test and make sure everything is working as it should be.</p>
<p>Ok, what we are going to demonstrate is creating an AutoComplete Web Part that provides users with the ability to filter a drop down list as they type in a text box. See image below. This will be a two step process, firstly creating a web service that is the data source for the drop down list, and secondly creating the AutoComplete Web Part. I must also point out that there is no difference between creating this Web Part in WSS 3.0 or any standard ASP.Net 2.0 application (which is what WSS is <span style="font-family:Wingdings;">J</span>).</p>
<p><img src="http://claytonj.files.wordpress.com/2007/07/070807-1142-mossajaxand1.png" /></p>
<p>Web Service</p>
<ol>
<li>Open VS.Net and choose ASP.Net AJAX Enabled Web Site template (if you don&#8217;t see this option then you need to install ASP.Net 2.0 AJAX)</li>
<li>Ensure location is HTTP and enter a URL like http://localhost/WebServices.</li>
<li>In Solution Explorer, right click the project name and add a new item. Choose Web Service from the templates window.</li>
<li>Enter SimpleWebService for the name and uncheck the Select code in separate file checkbox.</li>
<li>Decorate the class with the ScriptService to enable AJAX calls.
<p style="margin:0 0 10pt 36pt;" class="MsoListParagraph"><font face="Calibri">[Microsoft.Web.Script.Services.ScriptService]<br />
</font><span style="font-size:11pt;font-family:'Calibri','sans-serif';">public class SimpleWebService : System.Web.Services.WebService</span></li>
<li>Create a WebMethod that will return a list of employees. The WebMethod must conform to the precise interface expected by the AutoComplete extender control which includes two arguments that must be named prefixText and count. The prefixText argument contains the letters typed by the end user and the count contains the maximum number of items returned. <font face="Calibri">
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpFirst">[WebMethod]</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">[Microsoft.Web.Script.Services.Script]Method]</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">public System.Collections.Generic.List&lt;string&gt; GetEmployees(string prefixText, int count)</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">{</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>string[] employees = new string[]{</p>
<p style="margin:0 0 0 106.35pt;" class="MsoListParagraphCxSpMiddle"><span></span>“Adam Wells”,</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">“James MacGuire”,</p>
<p style="margin:0 0 0 106.35pt;" class="MsoListParagraphCxSpMiddle"><span></span>“Jeff Phillps”,</p>
<p style="margin:0 0 0 106.35pt;" class="MsoListParagraphCxSpMiddle"><span></span>“Jemma Knowles”,</p>
<p style="margin:0 0 0 106.35pt;" class="MsoListParagraphCxSpMiddle"><span></span>“Mary Jullop”,</p>
<p style="margin:0 0 0 106.35pt;" class="MsoListParagraphCxSpMiddle"><span></span>“Mark Dent”};</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">System.Collections.Generic.List&lt;string&gt; employeeList = new System.Collections.Generic.List&lt;string&gt;();</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">Int i = 0;</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">foreach(string employee in employees)</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">{</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>//check if max number of employees has been reached</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>if(i == count)</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>{</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle"><span>                                </span>break;</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">}</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">else if(employee.ToLower().StartsWith(preficText.ToLower()))</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">{</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>employeeList.Add(employee);</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>i++;</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">}</p>
<p style="margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">}</p>
<p style="margin:0 0 10pt 72pt;" class="MsoListParagraphCxSpLast">return employeeList;</p>
<p><span style="font-size:11pt;font-family:'Calibri','sans-serif';">}</p>
<p></span><font face="Calibri">This WebMethod returns a string array containing the first and last name for employees. This example could easily be altered to return a result from a database.</font></p>
<p></font></li>
<li>This ends the Web Service/WebMethod necessary for the AutoCompleteExtender control.</li>
</ol>
<p>Ok, now for the Web Part.</p>
<ol>
<li>Open VS.Net and create a new Class Library project. Enter AJAXStyleWebParts for the name.</li>
<li>Add a reference to the ASP.Net AJAX assembly (Microsoft.Web.Extension.dll), and to the toolkit assembly AjaxControlToolKit (the extender controls are not found in the core ASP.Net AJAX assembly and you will need to build the ToolKit solution that you downloaded previously at the beginning of the article).</li>
<li>Add a new class called AutoCompleteWebPart : System.Web.UI.WebControls.WebParts.WebPart (and inherit WebPart class)</li>
<li>Add declarations to the top of the class:using
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpFirst"><font face="Calibri">using System.Web;</font></p>
<p style="margin:0 0 10pt 36pt;" class="MsoListParagraphCxSpLast"><font face="Calibri">using System.Web.UI.WebControls;<br />
</font><span style="font-size:11pt;font-family:'Calibri','sans-serif';"><span style="font-size:11pt;font-family:'Calibri','sans-serif';">using AjaxControlToolkit;</span></span></li>
<li>Override the CreateChildControls method</li>
<p><font face="Calibri"></p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpFirst">protected override void CreateChildControls()</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">{</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span>            </span>//establish a path to the web service</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span>            </span>string webServicePath = “<font color="#0000ff">http://localhost/WebServices/SimpleWebService.asmx</font>”;<span> </span></p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span>            </span>try</p>
<p style="text-indent:36pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">{</p>
<p style="text-indent:70.35pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span></span>//TextBox label</p>
<p style="text-indent:70.35pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span></span>Literal textboxLabel = new Literal();</p>
<p style="text-indent:70.35pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span></span>textboxLabel.Text = “&#8221;Type the name of a Employee: &#8220;;</p>
<p style="text-indent:70.35pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span></span>this.Controls.Add(textboxLabel);</p>
<p style="text-indent:70.35pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">&nbsp;</p>
<p style="text-indent:70.35pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span></span>//TextBox to extend with the AutoComplete AJAX behaviour. Note: this is a normal asp textbox</p>
<p style="text-indent:70.35pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span></span>TextBox textbox = new TextBox();</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">textbox.Attributes.Add(“id”, “SelectEmployeeTextBox”);</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">this.Controls.Add(textbox);</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">&nbsp;</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">//autocomplete AJAX behaviour</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">AutoCompleteExtender autoComplete = new AutoCompleteExtender();</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">autoComplete.MinimumPrefixLength = 1;</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">autoComplete.ServicePath = webServicePath;</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">autoComplete.ServiceMethod = “GetEmployees”;</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">autoComplete.TargetControlID = “SelectEmployeeTextBox”;</p>
<p style="text-indent:36pt;margin:0 0 0 72pt;" class="MsoListParagraphCxSpMiddle">this.Controls.Add(autoComplete);</p>
<p style="text-indent:36pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">}</p>
<p style="text-indent:36pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">catch(Exception ex)</p>
<p style="text-indent:36pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle">{</p>
<p style="text-indent:36pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>Literal errMsg = new Literal();</p>
<p style="text-indent:36pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>errMsg.Text = ex.Message;</p>
<p style="text-indent:36pt;margin:0 0 0 36pt;" class="MsoListParagraphCxSpMiddle"><span>                </span>this.Controls.Add(errMsg);</p>
<p style="text-indent:36pt;margin:0 0 10pt 36pt;" class="MsoListParagraphCxSpLast">}</p>
<p style="margin:0 0 0 36pt;" class="MsoListParagraphCxSpFirst"><span style="font-size:11pt;font-family:'Calibri','sans-serif';">}</span></p>
<p></font></p>
<li>This ends our AutoComplete Web Part. Now all we have to do deploy to the web applications bin directory or GAC, add a safe control entry, recycle the app pool, add the Web Part to the gallery and then add to your WSS page.</li>
<li>Type the letters &#8220;mar&#8221; in the textbox to see the Web Part in action.<img src="http://claytonj.files.wordpress.com/2007/07/070807-1142-mossajaxand2.png" /></li>
<p>So, now you have AJAX&#8217;ed your WSS site, created a Web Part and implemented the AutoCompleteExtender control which I think provides great functionality for any WSS site.</ol>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/claytonj.wordpress.com/168/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/claytonj.wordpress.com/168/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/claytonj.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/claytonj.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/claytonj.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/claytonj.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/claytonj.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/claytonj.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/claytonj.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/claytonj.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/claytonj.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/claytonj.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=168&subd=claytonj&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://claytonj.wordpress.com/2007/07/08/moss-ajax-and-the-autocompleteextender/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1648935198fa105f091a059bf730b766?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">CJ</media:title>
		</media:content>

		<media:content url="http://claytonj.files.wordpress.com/2007/07/070807-1142-mossajaxand1.png" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/07/070807-1142-mossajaxand2.png" medium="image" />
	</item>
		<item>
		<title>Regular Expression Validation Custom Field Type</title>
		<link>http://claytonj.wordpress.com/2007/05/15/regular-expression-validation-custom-field-type/</link>
		<comments>http://claytonj.wordpress.com/2007/05/15/regular-expression-validation-custom-field-type/#comments</comments>
		<pubDate>Tue, 15 May 2007 10:40:59 +0000</pubDate>
		<dc:creator>CJ</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[WSS 3.0]]></category>

		<guid isPermaLink="false">http://claytonj.wordpress.com/2007/05/15/regular-expression-validation-custom-field-type/</guid>
		<description><![CDATA[I have been reading Todd Bleekers book Developers Guide To Windows SharePoint Services 3.0 and came across a great implementation in creating a custom field type in WSS 3.0. This custom field type is a Regular Expression Validation Custom Field Type. I love this implementation as it can be used for many situations&#8230;anywhere you want to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=149&subd=claytonj&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="background:white;margin-left:21pt;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">I have been reading Todd Bleekers book <a target="_blank" href="http://www.amazon.com/Developers-Windows-SharePoint-Services-Platform/dp/1584505001">Developers Guide To Windows SharePoint Services 3.0</a> and came across a great implementation in creating a custom field type in WSS 3.0. This custom field type is a Regular Expression Validation Custom Field Type. I love this implementation as it can be used for many situations&#8230;anywhere you want to validate input using regular expressions.</span><span style="font-size:8pt;"><br />
</span></span></p>
<ul>
<li>
<p style="background:white;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">Emails</span><span style="font-size:8pt;"><br />
</span></span></li>
<li>
<p style="background:white;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">Telephone numbers</span><span style="font-size:8pt;"><br />
</span></span></li>
<li>
<p style="background:white;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">Address</span><span style="font-size:8pt;"><br />
</span></span></li>
<li>
<p style="background:white;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">Numbers only</span><span style="font-size:8pt;"><br />
</span></span></li>
<li>
<p style="background:white;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">Letters only</span><span style="font-size:8pt;"><br />
</span></span></li>
<li>
<p style="background:white;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">Alphanumeric only</span><span style="font-size:8pt;"><br />
</span></span></li>
</ul>
<p style="background:white;"><span style="font-family:Lucida Sans Unicode;"><span style="font-size:10pt;">If you are after a regular expression to validate input then <a target="_blank" href="http://regexlib.com/default.aspx">this is one of the best sites</a> to use.</span><span style="font-size:8pt;"><br />
</span></span></p>
<p style="background:white;margin-left:21pt;"><span style="font-size:10pt;font-family:Lucida Sans Unicode;">Here are a couple of screen shots that displays the objective.<br />
</span></p>
<p style="background:white;margin-left:21pt;"><img width="758" src="http://claytonj.files.wordpress.com/2007/05/051507-1040-regularexpr12.jpg?w=758&#038;h=339" height="339" style="width:758px;height:339px;" /><span style="font-size:8pt;font-family:Lucida Sans Unicode;"><br />
</span></p>
<p style="background:white;margin-left:21pt;"><img width="762" src="http://claytonj.files.wordpress.com/2007/05/051507-1040-regularexpr22.jpg?w=762&#038;h=193" height="193" /><span style="font-size:8pt;font-family:Lucida Sans Unicode;"><br />
</span></p>
<p style="background:white;margin-left:21pt;"><span style="font-size:10pt;color:#1f497d;font-family:Lucida Sans;"><strong>A Custom Field Type is a class that is complied into an assembly, so the first thing to do is open VS.NET 2005 and create a new Class Library project.<br />
</strong></span></p>
<ul>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">Provide a meaningful project name<br />
</span></li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">You need to add an assembly reference to Windows SharePoint Services 12.0.0.0 in the .Net project.<br />
</span></li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">Rename the default class Class1.cs to RegExTextField.cs. (VS.NET will refactor the project to update the related references to the new class name)<br />
</span></li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">Add two directives to the top of the class.<br />
</span></p>
<ul>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">using Microsoft.SharePoint<br />
</span></li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">using System.Text.RegularExpressions<br />
</span></li>
</ul>
</li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">You need to now inherit functionality so it behaves like a CFT. There are many different CFT classes you can inherit from to get different behaviour, but we want to inherit the SPFiledText as this most resembles our CFT. So the declaration will look like the following<br />
</span></p>
<ul>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">public class RegExTextField : SPFieldText<br />
</span></li>
</ul>
</li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">WSS v3 will call into one of two constructors so the class must implement both of them even though they don&#8217;t implement any code.<br />
</span></p>
<ul>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">public RegExTextField(SPFieldCollection fields, string fieldName)<br />
: base(fields, fieldName)<br />
{ }<br />
</span></li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">public RegExTextField(SPFieldCollection fields, string typeName, string displayName)<br />
: base(fields, typeName, displayName)<br />
{ }<br />
</span></li>
</ul>
</li>
<li>
<p style="background:white;"><span style="font-size:10pt;font-family:Lucida Sans;">The GetValidatedString method converts the field type value into a validated serialised string. We can use this method to create our own custom validation from the value entered. Insert this after the second constructor.<br />
</span></p>
<p style="background:white;margin-left:7pt;"><span style="font-size:10pt;font-family:Lucida Sans;">public override string GetValidatedString(object value)<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">{<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    string textValue = value.ToString();<br />
</span></li>
</ul>
<p style="background:white;margin-left:36pt;"><span style="font-size:10pt;font-family:Lucida Sans;">    //Only compare RegEx if a value is present<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    if (textValue.Length &gt; 0)<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    {<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        //setup regex based on custom property<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        Regex reg = new Regex(GetCustomProperty(&#8220;RegularExpression&#8221;).ToString(), RegexOptions.IgnoreCase);<br />
</span></p>
<p style="background:white;margin-left:36pt;"><span style="font-size:10pt;font-family:Lucida Sans;">        //if the value entered does not match<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        if (!reg.IsMatch(textValue))<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        {<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            throw new SPFieldValidationException(GetCustomProperty(&#8220;ExceptionMessage&#8221;).ToString());<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        }<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        else<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        {<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            return textValue;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        }<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    }<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    else<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    {<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        return textValue;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    }<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">}<br />
</span></p>
<ul>
<li><span style="font-size:10pt;font-family:Lucida Sans;">Sign the assembly so it can be deployed to the GAC. You can sign the assembly by navigating to the Class Library project properties and click the Signing tab. Build the project to produce the assembly and deploy to the GAC.<br />
</span></li>
</ul>
<p><span style="font-size:10pt;color:#1f497d;font-family:Lucida Sans;"><strong>Now you need to define what elements you want displayed when the CFT is used in the Create Column and Additional Columns Settings.<br />
</strong></span></p>
<ul>
<li><span style="font-size:10pt;"><span style="font-family:Lucida Sans;">In the same Class Library project choose Add </span><span style="font-family:Wingdings;">à</span><span style="font-family:Lucida Sans;">New Item and select XML File.<br />
</span></span></li>
<li><span style="font-size:10pt;font-family:Lucida Sans;">In the Name field type fldtypes_RegExTextField.xml. (The name of the file is important as CFTs must begin with fldtypes)<br />
</span></li>
<li><span style="font-size:10pt;font-family:Lucida Sans;">Add the following code to your .xml file<br />
</span></p>
<p style="margin-left:36pt;"><span style="font-size:10pt;font-family:Lucida Sans;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243; ?&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">&lt;FieldTypes&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    &lt;FieldType&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;Field Name=&#8221;TypeName&#8221;&gt;RegExTextField&lt;/Field&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;Field Name=&#8221;ParentType&#8221;&gt;Text&lt;/Field&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;Field Name=&#8221;TypeDisplayName&#8221;&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            Single line of text (with RegEx validation)<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;/Field&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;Field Name=&#8221;FieldTypeClass&#8221;&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            CustomFieldTypes.RegExValidation.RegExTextField,<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            CustomFieldTypes.RegExValidation, Version=1.0.0.0,<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            Culture=neutral, PublicKeyToken=d7f772d26282eb60<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;/Field&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;PropertySchema&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            &lt;Fields&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">                &lt;Field Name=&#8221;RegularExpression&#8221; DisplayName=&#8221;Regular Expression&#8221; MaxLength=&#8221;255&#8243; DisplaySize=&#8221;35&#8243; Type=&#8221;Text&#8221;&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">                    &lt;Default&gt;&lt;/Default&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">                &lt;/Field&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">                &lt;Field Name=&#8221;ExceptionMessage&#8221; DisplayName=&#8221;Exception Message&#8221; MaxLength=&#8221;255&#8243; DisplaySize=&#8221;35&#8243; Type=&#8221;Text&#8221;&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">                    &lt;Default&gt;&lt;/Default&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">                &lt;/Field&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">            &lt;/Fields&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">        &lt;/PropertySchema&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">    &lt;/FieldType&gt;<br />
</span><span style="font-size:10pt;font-family:Lucida Sans;">&lt;/FieldTypes&gt;</span><span style="font-size:10pt;font-family:Lucida Sans;"> </span></p>
<ul>
<li><span style="font-size:10pt;font-family:Lucida Sans;">The FieldType elements define the attributes associated with the CFT when it appears in the Name and Type section of the Create Column page.<br />
</span></li>
<li><span style="font-size:10pt;font-family:Lucida Sans;">The PropertySchema elements define the attributes associated when it appears in the Additional Column Settings (after you select the CFT radio button)<br />
</span></li>
</ul>
<p><img width="691" src="http://claytonj.files.wordpress.com/2007/05/051507-1040-regularexpr32.jpg?w=691&#038;h=290" height="290" /></li>
<li><span style="font-size:10pt;font-family:Lucida Sans;">CFT have two scopes, Farm or List.<br />
</span></p>
<ul>
<li><span style="font-size:10pt;font-family:Lucida Sans;">Farm: fldtypes*.xml files reside in the ..\12\Template\XML folder.<br />
</span></li>
<li><span style="font-size:10pt;font-family:Lucida Sans;">List: The schema.xml file that defines a list template can include CFTs.<br />
</span></li>
</ul>
</li>
<li><span style="font-size:10pt;font-family:Lucida Sans;">Because this CFT will be useful across the farm we will copy it to the ..\12\Template\XML folder In Windows Explorer copy the fldtypes_RegExTextField.xml to ..\12\Template\XML.<br />
</span></li>
<li><span style="font-size:10pt;font-family:Lucida Sans;">Now all you have to do is perform an application pool recycle, then go to any WSS 3.0 list and add a new column and you will see your CFT.<br />
</span></li>
</ul>
<p><span style="font-size:10pt;color:#1f497d;font-family:Lucida Sans;"><strong>Now you can use your new WSS 3.0 RegEx Validation CFT in many situations.</strong></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/claytonj.wordpress.com/149/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/claytonj.wordpress.com/149/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/claytonj.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/claytonj.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/claytonj.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/claytonj.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/claytonj.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/claytonj.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/claytonj.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/claytonj.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/claytonj.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/claytonj.wordpress.com/149/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=149&subd=claytonj&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://claytonj.wordpress.com/2007/05/15/regular-expression-validation-custom-field-type/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1648935198fa105f091a059bf730b766?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">CJ</media:title>
		</media:content>

		<media:content url="http://claytonj.files.wordpress.com/2007/05/051507-1040-regularexpr12.jpg" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/05/051507-1040-regularexpr22.jpg" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/05/051507-1040-regularexpr32.jpg" medium="image" />
	</item>
		<item>
		<title>MOSS 2007 Setup Accounts</title>
		<link>http://claytonj.wordpress.com/2007/04/23/moss-2007-setup-accounts/</link>
		<comments>http://claytonj.wordpress.com/2007/04/23/moss-2007-setup-accounts/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 11:52:40 +0000</pubDate>
		<dc:creator>CJ</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[MOSS 2007]]></category>
		<category><![CDATA[Office 12]]></category>

		<guid isPermaLink="false">http://claytonj.wordpress.com/2007/04/23/moss-2007-setup-accounts/</guid>
		<description><![CDATA[Installing MOSS 2007 in a farm environment requires a few dedicated accounts and can be quite a confusing process. I came across a couple of great resources so I thought I would save you the heart ache and post them here. 
This information was found on TechNet and in Bill English&#8217;s book Microsoft Office SharePoint Server 2007 Administrator&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=135&subd=claytonj&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><font size="2">Installing MOSS 2007 in a farm environment requires a few dedicated accounts and can be quite a confusing process. I came across a couple of great resources so I thought </font><font size="2">I would save you the heart ache and post them here. </font></p>
<p><font size="2">This information was found on <a target="_blank" href="http://technet2.microsoft.com/Office/en-us/library/f07768d4-ca37-447a-a056-1a67d93ef5401033.mspx?mfr=true">TechNet</a> and in Bill English&#8217;s book <strong><a target="_blank" href="http://www.amazon.com/Microsoft-Office-SharePoint-Administrators-Companion/dp/0735622825">Microsoft Office SharePoint Server 2007 Administrator&#8217;s Companion</a></strong></font></p>
<blockquote><p><font size="2">It is strongly recommended that you use a dedicated account to log in and install Windows SharePoint Services and SharePoint Server 2007 servers. This account can also be used as the identity of the Central Administration site application pool, or it can be unique. By design, the Welcome menu displays &#8220;system account&#8221; if that account is used to log on to any application pool or Web site. This behavior continues even if the application pool identity is changed to the Network Service. This means your administrator account should not be used as an application pool identity or to install an SharePoint Server 2007 server.</font></p></blockquote>
<table border="1">
<tr>
<td><font size="4" color="#800000">Account</font></td>
<td><font size="4" color="#800000">Purpose</font></td>
<td><font size="4" color="#800000">Scope</font></td>
<td><font size="4" color="#800000">Used By</font></td>
<td><font size="4" color="#800000">Needed</font></td>
<td><font size="4" color="#800000">Requirements</font></td>
</tr>
<tr>
<td>Setup User</td>
<td>User account that is used to run setup on each server.</td>
<td>Farm</td>
<td>Person installing</td>
<td>Setup</td>
<td>Member of the administrator group on each Web front-end (WFE) server and application server computer in the farm. Member of the following SQL Server groups with SQL Security administrator and database creator rights on SQL servers.</td>
</tr>
<tr>
<td>SQL Server Service</td>
<td>This is the security context used By Central Administration for creating databases and other SQL configurations.</td>
<td>Farm</td>
<td>MSSQLSERVER, SQLSERVERAGENT</td>
<td>Setup</td>
<td>Member of the administrators group on each server on which setup runs, administrators group on each SQL Server computer, database system administrator, and member of the SQL security administrator and database creator SQL Server groups.</td>
</tr>
<tr>
<td>Server Farm</td>
<td>This account is also referred to as the database access account.</td>
<td>Farm</td>
<td>Central administration site application pool identity</td>
<td>Setup</td>
<td>Member of administrators group on each WFE server and application server computer in the farm with SQL security administrator and database creator rights on SQL Servers. Database Owner (DBO) for all databases and additional permissions on WFE server and application server computers are automatically configured for this account when SharePoint is installed.</td>
</tr>
<tr>
<td>SSP App Pool</td>
<td></td>
<td>App</td>
<td>SSP App Pool Identity</td>
<td>SSP Creation</td>
<td>No configuration is necessary. The following permissions are automatically configured for this account when SharePoint is installed: DBO for the Share Service Provider (SSP) content database, read/write permissions for the SSP content database, read/write permissions for content databases for Web applications that are associated with the SSP, read permissions for the configuration database, read permissions for the central administration content database, and additional permissions on WFE server and application server computers</td>
</tr>
<tr>
<td>SSP Service Account</td>
<td>Used to run timer jobs and for interserver communications.</td>
<td>Farm</td>
<td>SSP Timer service; SSP Web services</td>
<td>SSP Creation</td>
<td>Same as SSP App Pool Account</td>
</tr>
<tr>
<td>Windows SharePoint Services Search</td>
<td>Used as the service account for the Windows SharePoint Services Search service. There is only one instance of this service, and it is used by all SSPs.</td>
<td>Farm</td>
<td>Windows SharePoint Services 3.0 Search service</td>
<td>SSP Creation</td>
<td>Must be a domain account, but must not be a member of the farm administrators group. Permissions automatically configured for this account when SharePoint is installed include the following: read/write permissions for content databases for Web applications, read permissions for the configuration database, and read/write permissions for the Windows SharePoint Services Search database</td>
</tr>
<tr>
<td>Search Default Content Access Account</td>
<td>The default account used by a specific SSP to crawl content. It is used when an account is not specified for a content source.</td>
<td>App</td>
<td>Windows SharePoint Services 3.0 Search service</td>
<td>SSP Creation</td>
<td>Must be a domain account, but must not be a member of the farm administrators group. It requires read access to external or secure content sources that you want to crawl using this account. Additional permissions for this account are automatically configured when SharePoint is installed.</td>
</tr>
<tr>
<td>Search Specific Content Access Account</td>
<td>This is an optional account that is configured to replace the default content access account to crawl a specific content source.</td>
<td>Rule</td>
<td>Windows SharePoint Services 3.0 Search service</td>
<td>Create a new crawl rule</td>
<td>Read access to external or secure content sources that this account is configured to access.</td>
</tr>
<tr>
<td>User Profile and Properties Content Access Account</td>
<td>Account used to connect to a directory service, such as Active Directory, a Lightweight Directory Access Protocol (LDAP) directory, Business Data Catalog (BDC) application, or other directory source and used to import profile data from a directory service. Note: If no account is specified, the Search Default Content Access account is used. If the Search Default Content Access account does not have read access to the directory or directories that you want to import data from, you will need to specify a different account. You should plan for one account per directory connection.</td>
<td>App</td>
<td>Profile Import</td>
<td>SSP Creation</td>
<td>Read access to the directory service. For an Active Directory service connection that enables Server Side Incremental, the account must have the Replicate Changes permissions for Active Directory directory services provided by Windows 2000 Server. This permission is not required for Windows 2003 Active Directory. Manage user profiles right. View rights on entities used in Business Data Catalog import connections.</td>
</tr>
<tr>
<td>Excel Services Unattended Service Account</td>
<td>Excel Calculation Services uses this account to connect to data sources that require user name and password strings for authentication. The SSP App Pool account is used if none is specified. For security, plan to use a low-privileged account that does not have the database privileges of the SSP App Pool Account.</td>
<td>App</td>
<td>Excel Services Service</td>
<td>SSP Creation</td>
<td>Read/write access to the Excel data sources.</td>
</tr>
<tr>
<td>App Pool Identity</td>
<td>Used to access content databases associated with the Web application. Plan one for each application pool.</td>
<td>App</td>
<td>Web Applications</td>
<td>App Pool Creation</td>
<td>No configuration is necessary. SQL Server privileges that are automatically assigned to this account are member of Database Owners Group for content databases associated with the Web application, read/write access to the associated SSP database only, and read permission for the configuration database. Additional privileges for this account on WFE servers and application servers are automatically configured by SharePoint.</td>
</tr>
<tr></tr>
</table>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/claytonj.wordpress.com/135/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/claytonj.wordpress.com/135/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/claytonj.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/claytonj.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/claytonj.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/claytonj.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/claytonj.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/claytonj.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/claytonj.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/claytonj.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/claytonj.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/claytonj.wordpress.com/135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=135&subd=claytonj&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://claytonj.wordpress.com/2007/04/23/moss-2007-setup-accounts/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1648935198fa105f091a059bf730b766?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">CJ</media:title>
		</media:content>
	</item>
		<item>
		<title>Connect Virtual PC to Internet</title>
		<link>http://claytonj.wordpress.com/2007/02/02/connect-virtual-pc-to-internet/</link>
		<comments>http://claytonj.wordpress.com/2007/02/02/connect-virtual-pc-to-internet/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 12:17:07 +0000</pubDate>
		<dc:creator>CJ</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Virtualisation]]></category>

		<guid isPermaLink="false">http://claytonj.wordpress.com/2007/02/02/connect-virtual-pc-to-internet/</guid>
		<description><![CDATA[ I have been using VPC for a few years now and I am still learning lots about using it. After upgrading to Vista I was unable to connect my VPC images to the Internet to activate the OS and download system updates. I was scratching my head changing my VM network adapter settings to Shared Networking (NAT) or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=96&subd=claytonj&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><font size="2"> I have been using VPC for a few years now and I am still learning lots about using it. After upgrading to Vista I was unable to connect my VPC images to the Internet to activate the OS and download system updates. I was scratching my head changing my VM network adapter settings to Shared Networking (NAT) or to my wireless adapter but no matter what I did I couldn&#8217;t get an Internet connectivity from my VPC.</font></p>
<p><font size="2">So I went to the person I always go to when I am stuck (this is the person after google) <a target="_blank" href="http://datacogs.com/datablogs">Mr Mark Daunt</a>. He solved it in about a minute asking me if I have installed the Virtual Machine Network Service on my wireless adapter&#8230;.the what???</font></p>
<p><font size="2">So he showed me where to install it and wholla&#8230;I could connect <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </font></p>
<p><font size="2">My LAN adapter had the Virtual Machine Network Service installed but my wireless adapter didn&#8217;t. </font></p>
<p><font size="2">1/ Navigate to your physical network adapter that you want your VPC to use and click the Install button<br />
</font><a href="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0122.png"><img border="0" width="191" src="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0112.png?w=191&#038;h=240" height="240" style="border-width:0;" /></a></p>
<p><font size="2">2/ Highlight Service and click Add<br />
</font> <a href="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0101.png"><img border="0" width="240" src="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image091.png?w=240&#038;h=216" height="216" style="border-width:0;" /></a></p>
<p><font size="2">3/ If you don&#8217;t see the Virtual  Machine Network Service click Have Disk button (mine displays as I had already added it).</font><a href="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0141.png"><br />
<img border="0" width="240" src="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0131.png?w=240&#038;h=177" height="177" style="border-width:0;" /></a></p>
<p><font size="2">4/ Navigate to the following directory: C:\Program Files\Microsoft Virtual PC\Utility\VMNetSrv and select the VMNetSrv.inf file and Ok your way back out.<br />
</font><a href="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0181.png"><img border="0" width="186" src="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0171.png?w=186&#038;h=136" height="136" style="border-width:0;" /></a></p>
<p><font size="2">5/  This should install the service and you should now see the service in your connection properties<br />
</font><a href="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image081.png"><img border="0" width="186" src="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0-thumb41.png?w=186&#038;h=136" height="136" style="border-width:0;" /></a></p>
<p><font size="2">6/ In your VPC make sure you set your network adapter to the adapter that you just installed the Virtual  Machine Network Service<br />
</font><a href="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image015.png"><img border="0" width="240" src="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image04.png?w=240&#038;h=170" height="170" style="border:0;" /></a></p>
<p><font size="2"> 7/ Internet connection from VPC :)</font></p>
<p><a href="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image031.png"><img border="0" width="240" src="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image021.png?w=240&#038;h=167" height="167" style="border:0;" /></a></p>
<p><a target="_blank" href="http://blogs.msdn.com/virtual_pc_guy/archive/2007/01/15/fixing-broken-virtual-networking.aspx"><font size="2">Here is a good blog post</font></a><font size="2"> for a couple of other issues if Virtual Machine Network Service is installed but you still can&#8217;t get network connectivity.</font></p>
<p><font size="2">Another </font><a target="_blank" href="http://support.microsoft.com/kb/833134"><font size="2">good article by Microsoft</font></a><font size="2"> explaining the virtual machine network settings.</font></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/claytonj.wordpress.com/96/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/claytonj.wordpress.com/96/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/claytonj.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/claytonj.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/claytonj.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/claytonj.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/claytonj.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/claytonj.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/claytonj.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/claytonj.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/claytonj.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/claytonj.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=claytonj.wordpress.com&blog=252582&post=96&subd=claytonj&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://claytonj.wordpress.com/2007/02/02/connect-virtual-pc-to-internet/feed/</wfw:commentRss>
		<slash:comments>73</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1648935198fa105f091a059bf730b766?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">CJ</media:title>
		</media:content>

		<media:content url="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0112.png" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image091.png" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0131.png" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0171.png" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image0-thumb41.png" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image04.png" medium="image" />

		<media:content url="http://claytonj.files.wordpress.com/2007/02/windowslivewriterconnectvirtualpctointernet-12d52image021.png" medium="image" />
	</item>
	</channel>
</rss>