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

<channel>
	<title>Dev Team Assemble &#187; Uncategorized</title>
	<atom:link href="http://www.calvinirwin.net/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.calvinirwin.net</link>
	<description>Evil beware!</description>
	<lastBuildDate>Mon, 06 Feb 2012 18:42:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SharePoint Version Information</title>
		<link>http://www.calvinirwin.net/2011/08/31/sharepoint-version-information/</link>
		<comments>http://www.calvinirwin.net/2011/08/31/sharepoint-version-information/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 13:27:39 +0000</pubDate>
		<dc:creator>Calvin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.calvinirwin.net/?p=289</guid>
		<description><![CDATA[Here are some great resources on finding and determining the different versions of SharePoint available:
All available versions on SharePoint
Microsoft Office SharePoint Server 2007
Microsoft SharePoint 2010
Here is the information that I really needed on SharePoint 2007 (I feel like I am stealing it but all props to the author of the first link for putting it [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some great resources on finding and determining the different versions of SharePoint available:</p>
<p><a href="http://www.sharepointdesignerstepbystep.com/Blog/Articles/How%20To%20find%20the%20SharePoint%20version.aspx">All available versions on SharePoint</a></p>
<p><a title="Microsoft Office SharePoint Server 2007" href="http://technet.microsoft.com/en-us/office/sharepointserver/bb735839.aspx">Microsoft Office SharePoint Server 2007</a></p>
<p><a href="http://technet.microsoft.com/en-us/office/ee748587.aspx">Microsoft SharePoint 2010</a></p>
<p>Here is the information that I really needed on SharePoint 2007 (I feel like I am stealing it but all props to the author of the first link for putting it together....thank you):</p>
<p>THE INFORMATION BELOW IS TAKEN DIRECTLY FROM (WORD FOR WORD) : <a href="http://www.sharepointdesignerstepbystep.com/Blog/Articles/How%20To%20find%20the%20SharePoint%20version.aspx">All available versions on SharePoint</a></p>
<h2 style="font-weight: bold; font-size: 16px;">Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0</h2>
<p>For additional download information and detailed descriptions visit the <a style="text-decoration: none; color: #003399;" href="http://technet.microsoft.com/en-us/office/sharepointserver/bb735839.aspx">Updates Resource Center for SharePoint Products and Technologies</a> and <a style="text-decoration: none; color: #003399;" href="http://technet.microsoft.com/en-us/office/ee748587.aspx">Update Center for Microsoft Office, Office Servers, and Related Products</a>.</p>
<p>Using <strong>SharePoint Central Administration Web site</strong> SharePoint HTML Site Settings admin pages will show the following version numbers:</p>
<p><strong>Note:</strong> Microsoft has released a WSS 3.0 SP1 Developer evaluation virtual machine on the <a style="text-decoration: none; color: #003399;" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1beeac6f-2ea1-4769-9948-74a74bd604fa">Microsoft download site</a>.</p>
<p style="margin-left: 40px;">12.0.0.6557    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/b/stefan_gossner/archive/2011/04/27/april-2011-cu-for-sharepoint-2007-and-2010-has-been-released-today.aspx">Apr 11</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2512783">2512783</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2512782">2512782</a>)<br />
12.0.0.6554    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/b/stefan_gossner/archive/2011/03/04/delayed-february-2011-cu-for-sharepoint-2010-is-now-available.aspx">Feb 11</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2475886">2475886</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2475885">2475885</a>)<br />
12.0.0.6550    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/b/stefan_gossner/archive/2011/01/03/december-2010-cu-for-sharepoint-2007-and-2010-has-been-released-on-friday.aspx">Dec 10</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2458606">2458606</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2458605">2458605</a>)<br />
12.0.0.6548    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/b/stefan_gossner/archive/2010/10/27/october-2010-cu-for-sharepoint-2007-and-2010-has-been-released-last-yesterday.aspx">Oct 10</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2412268">2412268</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2412267">2412267</a>)<br />
12.0.0.6545    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/b/stefan_gossner/archive/2010/09/02/august-2010-cumulative-update-for-sharepoint-has-been-released.aspx">Aug 10</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2276474">2276474</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/2276472">2276472</a>)<br />
12.0.0.6539    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/b/joerg_sinemus/archive/2010/06/30/wss-and-moss-june-2010-cu.aspx">June 10</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/983311">983311</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/983310">983310</a>)<br />
12.0.0.6535    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/joerg_sinemus/archive/2010/04/28/wss-and-moss-april-2010-cu.aspx">April 10</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/981043">981043</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/981042">981042</a>)<br />
12.0.0.6529    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/joerg_sinemus/archive/2010/02/24/wss-and-moss-february-2010-cu.aspx">February 10</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/978396">978396</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/978395">978395</a>)<br />
12.0.0.6524    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/joerg_sinemus/archive/2009/12/16/wss-and-moss-december-2009-cu.aspx">December 09</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/977027">977027</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/977026">977026</a>)<br />
12.0.0.6520    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2009/10/29/october-2009-cumulative-update-packages-for-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx">October 09</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/974989">974989</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/974988">974988</a>)<br />
12.0.0.6514    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2008/09/29/announcing-august-cumulative-update-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx">August 09</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/973400">973400</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/973399">973399</a>)<br />
12.0.0.6510    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2009/07/20/june-cumulative-update-packages-ready-for-download.aspx">June 09</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/971538">971538</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/971537">971537</a>)<br />
12.0.0.6504    WSS 3.0 or MOSS 2007<sup>1</sup> SP2  + <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2009/05/13/april-cumulative-update-packages-ready-for-download.aspx">April 09</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/968850/">968850</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/968851/">968851</a>)<br />
12.0.0.6421    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/joerg_sinemus/archive/2009/04/29/sp2-and-language-packs.aspx">SP2</a> (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/953338">953338</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/953334">953334</a>)<br />
[<span style="color: #ff0000;">Updated 1st Aug 09:</span> SP2 download now includes the hotfix (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/971620">971620</a>) that corrects the activation issue more information on the <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2009/06/25/service-pack-2-update.aspx">Microsoft SharePoint team blog</a>]</p>
<p>If you are running <strong><span style="color: #ff0000;">SP1</span></strong> after <strong>13/Jul/2010</strong> then you are running an <span style="color: #ff0000;">un-supported environment</span>, see <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/b/joerg_sinemus/archive/2010/02/25/be-aware-of-upcoming-sp1-retirement-for-wss-v3-and-moss-2007.aspx">"Be aware of upcoming SP1 retirement for WSS V3 and MOSS 2007"</a><br />
12.0.0.6341    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2009/03/09/uber-packages-of-february-cumulative-update-are-ready.aspx">February 09</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/KB/961755">961755</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/961756">961756</a>)<br />
12.0.0.6335    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2008/12/17/announcing-december-cumulative-update-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx">December 08</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/960010">960010</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/960011">960011</a>)<br />
12.0.0.6331    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/joerg_sinemus/archive/2008/10/29/the-october-cumulative-update-for-wss-v3-and-moss-2007.aspx">October 08</a> cumulative Update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kB/957691">957691</a> + KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/KB/957693">957693</a>,KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/KB/958567">958567</a> and KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/KB/958569">958569</a>)<br />
12.0.0.6327    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/brismith/archive/2008/08/29/coming-soon-the-first-office-cumulative-updates.aspx">August 08 </a> cumulative update (KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/956056">956056</a> &amp; KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/956057">956057</a>)<br />
12.0.0.6318    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2008/07/15/announcing-availability-of-infrastructure-updates.aspx">Infrastructure Update </a>(KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/951695">951695</a> &amp; KB<a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/951297">951297</a>)<br />
12.0.0.6303    WSS 3.0 or MOSS 2007<sup>1</sup> post-SP1 hotfix (KB<a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/denish/archive/2008/03/12/blackout-hotfixes-rollups-for-moss-and-wss-3-0-available.aspx">948945</a>)<br />
12.0.0.6301    WSS 3.0 or MOSS 2007<sup>1</sup> post-SP1 hotfix (KB<a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/denish/archive/2008/02/12/post-sp1-rollup-hotfix-has-been-released.aspx">941274</a>)<br />
12.0.0.6300    WSS 3.0 or MOSS 2007<sup>1</sup> post-SP1 hotfix (KB<a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/denish/archive/2008/02/12/post-sp1-rollup-hotfix-has-been-released.aspx">941422</a>)</p>
<p>12.0.0.6219    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://msmvps.com/blogs/shane/archive/2007/12/14/how-to-install-wss-and-moss-sp1.aspx">SP1</a><br />
<a style="text-decoration: none; color: #003399;" href="http://msmvps.com/blogs/shane/archive/2007/10/18/please-install-the-sharepoint-updates-on-your-server.aspx">12.0.0.6039</a> WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://www.microsoft.com/technet/security/bulletin/ms07-059.mspx">October public update</a><br />
12.0.0.6036    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://go.microsoft.com/fwlink/?LinkId=102044&amp;clcid=0x409">August 24, 07 hotfix package</a><br />
12.0.0.4518    WSS 3.0 or MOSS 2007<sup>1</sup> <a style="text-decoration: none; color: #003399;" href="http://blogs.msdn.com/sharepoint/archive/2006/11/21/volume-licensing-for-x64-and-in-multiple-languages-including-some-faq-on-rtm-eval-and-editions.aspx">RTM</a><br />
12.0.0.4407    <a style="text-decoration: none; color: #003399;" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e1e51280-71f0-4d60-b2b9-3c49df916bc2&amp;DisplayLang=en">WSS 3.0</a> or <a style="text-decoration: none; color: #003399;" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0b6bd175-e700-44b8-ab47-e4459250d16d&amp;DisplayLang=en">MOSS 2007</a><sup>1 </sup>Beta 2 TR<br />
12.0.0.4017    WSS 3.0 or MOSS 2007<sup>1</sup> Beta 2<br />
12.0.0.3111    Office 12 (PDC image - pre-beta) - This version of Office does not have a support link in the Add/Remove programs dialog box.</p>
<p><sup>1</sup>To confirm that a particular service pack/hotfix is install on SharePoint Server you must either check the version numbers of specific dlls as specified in the related Microsoft Knowledge Based article or:</p>
<ul>
<li>On Server 2003, select the <strong>Show Updates</strong> check box in <strong>Add and Remove Programs</strong>.</li>
<li>On Server 2008, select <strong>View installed updates</strong> on the <strong>Control Panel/Programs and Features</strong> page</li>
</ul>
<p>Version numbers of SharePoint Server 2007 can also be found:</p>
<ul>
<li>Server 2003, go to <strong>Control Panel</strong> -&gt; <strong>Add and Remove Programs</strong><br />
Select the product and then click: <strong>Click here for support</strong>.</li>
<li>Server 2008, go to <strong>Control Panel</strong> -&gt; <strong>Program and Features</strong><br />
If the Version column is not visible, click <strong>Views</strong> -&gt; <strong>Choose Details</strong>, and select <strong>Version</strong>, click <strong>OK</strong>.</li>
</ul>
<p>The versions will be displayed as follows:</p>
<table style="font-size: 1em; border-width: thin; border-style: solid;" border="0">
<tbody>
<tr>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;"></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;"><a style="text-decoration: none; color: #003399;" href="http://technet2.microsoft.com/WindowsServer/en/library/700c3d60-f394-4ca9-a6d8-ab597fc3c31b1033.mspx?mfr=true">Windows SharePoint Services 3.0</a></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;"><a style="text-decoration: none; color: #003399;" href="http://www.microsoft.com/office/preview/servers/sharepointserver/highlights.mspx">Microsoft Office SharePoint Server 2007</a></td>
</tr>
<tr>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;">SP2</td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;"></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;">12.0.6425.1000</td>
</tr>
<tr>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;">post-SP1 hotfix (<a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/denish/archive/2008/03/12/blackout-hotfixes-rollups-for-moss-and-wss-3-0-available.aspx"> KB948945 </a>)</td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;"><a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/denish/archive/2008/03/12/blackout-hotfixes-rollups-for-moss-and-wss-3-0-available.aspx">12.0.6303.5000</a></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;"><a style="text-decoration: none; color: #003399;" href="http://blogs.technet.com/denish/archive/2008/03/12/blackout-hotfixes-rollups-for-moss-and-wss-3-0-available.aspx">12.0.6303.5000</a></td>
</tr>
<tr>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;"><a style="text-decoration: none; color: #003399;" href="http://msmvps.com/blogs/shane/archive/2007/12/14/how-to-install-wss-and-moss-sp1.aspx">SP1</a></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;"><a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/936988/">12.0.6219.1000</a></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;"><a style="text-decoration: none; color: #003399;" href="http://support.microsoft.com/kb/945013/">12.0.6219.1000</a></td>
</tr>
<tr>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;">RTM</td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;"><a style="text-decoration: none; color: #003399;" href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;p=40&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=&amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dd51730b5-48fc-4ca2-b454-8dc2caf93951%26DisplayLang%3den">12.0.4518.1016</a></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;"><a style="text-decoration: none; color: #003399;" href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;p=38&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=&amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d2e6e5a9c-ebf6-4f7f-8467-f4de6bd6b831%26DisplayLang%3den">12.0.4518.1016</a></td>
</tr>
<tr>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;"><a style="text-decoration: none; color: #003399;" href="http://technet2.microsoft.com/Office/en-us/library/b3e52231-16bf-4a46-a7e8-cb31b814627a1033.mspx?mfr=true">Beta 2 TR</a></td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;">12.0.4407.1005</td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top;">12.0.4407.1005</td>
</tr>
<tr>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;">Beta 2</td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;">12.0.4017.1006</td>
<td style="font-size: 8pt; font-family: verdana, arial, helvetica, sans-serif; vertical-align: top; background-color: #d6e8ff;">12.0.4017.1006</td>
</tr>
</tbody>
</table>
<p><img src="http://www.sharepointdesignerstepbystep.com/Blog/Images1/uparrow.gif" alt="Up arrow" /> <a style="text-decoration: none; color: #003399;" href="http://www.sharepointdesignerstepbystep.com/Blog/Articles/How%20To%20find%20the%20SharePoint%20version.aspx?PageView=Shared#top">Back to the top</a></p>

<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.calvinirwin.net/2011/08/31/sharepoint-version-information/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2005 &#8211;  WSE 3.0 Settings not showing up</title>
		<link>http://www.calvinirwin.net/2011/05/24/visual-studio-2005-wse-3-0-settings-not-showing-up/</link>
		<comments>http://www.calvinirwin.net/2011/05/24/visual-studio-2005-wse-3-0-settings-not-showing-up/#comments</comments>
		<pubDate>Tue, 24 May 2011 14:16:40 +0000</pubDate>
		<dc:creator>Calvin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.calvinirwin.net/?p=279</guid>
		<description><![CDATA[- OLD SCHOOL ALERT -
I was setting up Visual Studio 2005 and Web Service Extensions 3.0.  My problem was getting the WSE 3.0 Settings to appear on the context menu of the project.  Turns out when you install it you need to select the Visual Studio Tools option in the installer.




]]></description>
			<content:encoded><![CDATA[<p>- OLD SCHOOL ALERT -</p>
<p>I was setting up Visual Studio 2005 and Web Service Extensions 3.0.  My problem was getting the WSE 3.0 Settings to appear on the context menu of the project.  Turns out when you install it you need to select the Visual Studio Tools option in the installer.</p>

<!-- start wp-tags-to-technorati 1.02 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.calvinirwin.net/2011/05/24/visual-studio-2005-wse-3-0-settings-not-showing-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Web Part Maintenance Mode</title>
		<link>http://www.calvinirwin.net/2010/02/02/sharepoint-web-part-maintenance-mode/</link>
		<comments>http://www.calvinirwin.net/2010/02/02/sharepoint-web-part-maintenance-mode/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 19:48:17 +0000</pubDate>
		<dc:creator>Calvin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[webparts sharepoint development]]></category>

		<guid isPermaLink="false">http://www.calvinirwin.net/2010/02/02/sharepoint-web-part-maintenance-mode/</guid>
		<description><![CDATA[Here is something I always forget....when a page fails to load because of a web part that has gone awry you can enter the maintenance mode by adding the ?contents=1 to the end of the address.
Simple...just the way I like it!



Technorati Tags: webparts sharepoint development


]]></description>
			<content:encoded><![CDATA[<p>Here is something I always forget....when a page fails to load because of a web part that has gone awry you can enter the maintenance mode by adding the ?contents=1 to the end of the address.</p>
<p>Simple...just the way I like it!</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/webparts+sharepoint+development' rel='tag' target='_self'>webparts sharepoint development</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.calvinirwin.net/2010/02/02/sharepoint-web-part-maintenance-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Conference SPC09 Day 1 Review</title>
		<link>http://www.calvinirwin.net/2009/10/20/sharepoint-conference-spc09-day-1-review/</link>
		<comments>http://www.calvinirwin.net/2009/10/20/sharepoint-conference-spc09-day-1-review/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 16:25:55 +0000</pubDate>
		<dc:creator>Calvin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SPC09]]></category>

		<guid isPermaLink="false">http://www.calvinirwin.net/?p=215</guid>
		<description><![CDATA[Yesterday started with a hangover...for me.  On Sunday there was a SharePint event at the Eye Candy bar in the middle of Mandalay Bay and I was one of the  unfortunate souls whohappened to have drank too much    The Keynotes were pretty cool...nothing overly stand out there was a lot of talk about [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday started with a hangover...for me.  On Sunday there was a SharePint event at the Eye Candy bar in the middle of Mandalay Bay and I was one of the  unfortunate souls whohappened to have drank too much <img src='http://www.calvinirwin.net/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' />   The Keynotes were pretty cool...nothing overly stand out there was a lot of talk about the new product and moving forward and a couple of demos that probably were a little too long.  Truth be told my butt hurt from sitting through almost 3 hours of Keynotes so I was happy when it was done.</p>
<p>In the afternoon the actual session began.  for me it was the <strong>Whats New For Developer Overview</strong>, <strong>Visual Studio 2010 Tools Overview</strong> and<strong> Web Content Management in SharePoint 2010</strong>.  We covered a lot of ground in the first two and and they were very much an overview of all the features available.  Things like running SP on the desktop client (x64 win7 or vista), visual studio 2010 build, debug, deploy, the developer dashboard, Linq to SharePoint (YES), the ribbon and sandboxed solutions.</p>
<p>The final session (the web content management one) was a bit of a disappointment.  It was a level 300 session and seemed like they dumbed it down for beginners, i mean they were teaching us how to make web pages via the UI.   There was some interesting stuff in the presentation but at no point did they really dive in and demo things like the variation model improvements or content deployment fixes they have made.  It was just alluded to.</p>
<p>Either way it was a pretty good day...met some great people from all over the world so far and I hope that continues.</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/conference' rel='tag' target='_self'>conference</a>, <a class='technorati-link' href='http://technorati.com/tag/SharePoint' rel='tag' target='_self'>SharePoint</a>, <a class='technorati-link' href='http://technorati.com/tag/SPC09' rel='tag' target='_self'>SPC09</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.calvinirwin.net/2009/10/20/sharepoint-conference-spc09-day-1-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom Field Types&#8230;Building a base XML Field Type for SharePoint</title>
		<link>http://www.calvinirwin.net/2009/08/12/custom-field-types-seriously/</link>
		<comments>http://www.calvinirwin.net/2009/08/12/custom-field-types-seriously/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 23:47:10 +0000</pubDate>
		<dc:creator>Calvin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[custom field type]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.calvinirwin.net/?p=124</guid>
		<description><![CDATA[Sometimes when I am working with SharePoint I really feel like I got it.  You now that feeling you get when you know exactly what you are doing and have no problems implementing it...then there are times when I really just want to smash something.  And it really doesn't matter what...it could be anything!  This [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes when I am working with SharePoint I really feel like I got it.  You now that feeling you get when you know exactly what you are doing and have no problems implementing it...then there are times when I really just want to smash something.  And it really doesn't matter what...it could be anything!  This is the feeling I got in the last couple of days working with custom field types in SharePoint.</p>
<p>It seems there are lots of blogs and articles out there talking about how to do it, but from what I could see (and to be fair I did not read them all so if you know of some good posts that would be great) it felt like most of the time I was only getting half the story.  I just finished putting together a very basic Custom Field Type that will display a multi line textbox in edit/new mode and simply display the value in a literal control in display mode.  In the grand scheme of things I am building a base XML Field Type to use for a series of additional Custom field types so essentially I want to store a string (yes I could use the XmlDocument)...but alas thats a story for another day.</p>
<p>So a bit of a primer, or rehash so I don't forget, when developing custom field types there are many pieces to it....not all of them required.  Here is a list of the items and what they do:</p>
<ul>
<li><strong>Field Type class </strong>- this class acts as the controller and hooks the rendering control, field type xml definition and the value class together.  It also provides validation at the field level via the GetValidatedString() method of the SPField object</li>
<li> <strong>Field Control class</strong> - this is the rendering engine and gives you the power to display your control in any manner you wish as well as perform validation on the data being saved via the UI.</li>
<li><strong>Field Value class</strong> - allows for custom logic to be put around mutiple column fields and different data structures that will be storing data for your field type.</li>
<li><strong>.ascx file in CONTROLTEMPLATES directory</strong> - this supplies rendering markup via a user control and hooks into the field control class</li>
<li><strong>fldtypes_*</strong> - this file that gets installed into the 12/TEMPLATES/XML directory and contains the information that SharePoint requires in order to load your field type into the system.  Such as the assembly to use, the parent type and other information.  This is required if the type is going to be applied to content types and become a field on a list.</li>
</ul>
<p>So for my requirements I only needed the field type, the field control and the fldtypes_xxx.xml file.  Lets look at the field type class I built</p>
<pre class="csharp"><span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> XmlFieldType : SPField
   <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">public</span> XmlFieldType<span style="color: #000000;">&#40;</span>SPFieldCollection fields, <span style="color: #FF0000;">string</span> fieldName<span style="color: #000000;">&#41;</span> : <span style="color: #0600FF;">base</span><span style="color: #000000;">&#40;</span>fields, fieldName<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #000000;">&#125;</span>
        <span style="color: #0600FF;">public</span> XmlFieldType<span style="color: #000000;">&#40;</span>SPFieldCollection fields, <span style="color: #FF0000;">string</span> fieldName, <span style="color: #FF0000;">string</span> displayName<span style="color: #000000;">&#41;</span> : <span style="color: #0600FF;">base</span><span style="color: #000000;">&#40;</span>fields, fieldName, displayName<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> BaseFieldControl FieldRenderingControl
        <span style="color: #000000;">&#123;</span>
            get
            <span style="color: #000000;">&#123;</span>
                BaseFieldControl fldControl = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> XmlFieldControl<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
                fldControl.<span style="color: #0000FF;">FieldName</span> = InternalName;
                <span style="color: #0600FF;">return</span> fldControl;
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">object</span> GetFieldValue<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> value<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #000000;">&#40;</span>value<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
                <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">null</span>;
            <span style="color: #0600FF;">return</span> value;
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> Type FieldValueType
        <span style="color: #000000;">&#123;</span>
            get <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">return</span> <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><span style="color: #008000;">typeof</span></a><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#41;</span>; <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">string</span> DefaultValue
        <span style="color: #000000;">&#123;</span>
            get
            <span style="color: #000000;">&#123;</span>
                XmlDocument doc = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> XmlDocument<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
                doc.<span style="color: #0000FF;">LoadXml</span><span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">SchemaXml</span><span style="color: #000000;">&#41;</span>;
                XmlNode nodeInFieldSchema = doc.<span style="color: #0000FF;">SelectSingleNode</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;Field/Default&quot;</span><span style="color: #000000;">&#41;</span>;
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>nodeInFieldSchema != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
                    <span style="color: #0600FF;">return</span> nodeInFieldSchema.<span style="color: #0000FF;">InnerXml</span>;
                <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">null</span>;
            <span style="color: #000000;">&#125;</span>
            set <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">DefaultValue</span> = value; <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">string</span> GetValidatedString<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> value<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">GetValidatedString</span><span style="color: #000000;">&#40;</span>value<span style="color: #000000;">&#41;</span>;
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>value == <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Required</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">throw</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> SPFieldValidationException<span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;Invalid value for required field.&quot;</span><span style="color: #000000;">&#41;</span>;
                <span style="color: #0600FF;">return</span> <span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">Empty</span>;
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">else</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">return</span> value.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre>
<p>Lets review</p>
<ul>
<li>The two constructors are required...don't even bother</li>
<li><strong>FieldRenderingControl()</strong> method tells the field type which control to use</li>
<li><strong>GetFieldValue()</strong> method returns the value of the field....if we were using a custom type you would cast that to the appropriate type here</li>
<li><strong>FieldValueType()</strong> - get the type of the Value class</li>
<li><strong>DefautValue()</strong> - this gets the default value from the field if one is defined</li>
<li><strong>GetValidatedString()</strong> - perform field level validation</li>
</ul>
<p>The Field Control Class is fairly simple as well:</p>
<pre class="csharp"><span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> XmlFieldControl : BaseFieldControl
<span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">protected</span> Literal _values;
        <span style="color: #0600FF;">protected</span> TextBox _editor;
&nbsp;
        <span style="color: #0600FF;">protected</span> <span style="color: #0600FF;">override</span> <span style="color: #0600FF;">void</span> OnInit<span style="color: #000000;">&#40;</span>EventArgs e<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">OnInit</span><span style="color: #000000;">&#40;</span>e<span style="color: #000000;">&#41;</span>;
            EnsureChildControls<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">protected</span> <span style="color: #0600FF;">override</span> <span style="color: #0600FF;">void</span> CreateChildControls<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
&nbsp;
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Field</span> == <span style="color: #0600FF;">null</span> || <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">ControlMode</span> == SPControlMode.<span style="color: #0000FF;">Invalid</span><span style="color: #000000;">&#41;</span>
                <span style="color: #0600FF;">return</span>;
&nbsp;
            Controls.<span style="color: #0000FF;">Clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
            <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">CreateChildControls</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
            _editor = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> TextBox<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
            _editor.<span style="color: #0000FF;">TextMode</span> = TextBoxMode.<span style="color: #0000FF;">MultiLine</span>;
            _editor.<span style="color: #0000FF;">Height</span> = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Unit<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">300</span><span style="color: #000000;">&#41;</span>;
            _editor.<span style="color: #0000FF;">Width</span> = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Unit<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">500</span><span style="color: #000000;">&#41;</span>;
            Controls.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>_editor<span style="color: #000000;">&#41;</span>;
&nbsp;
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>ControlMode == SPControlMode.<span style="color: #0000FF;">Display</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                _values = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Literal<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
                _values.<span style="color: #0000FF;">Text</span> = Convert.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span>ItemFieldValue<span style="color: #000000;">&#41;</span>;
                Controls.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>_values<span style="color: #000000;">&#41;</span>;
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">protected</span> <span style="color: #0600FF;">override</span> <span style="color: #0600FF;">void</span> Render<span style="color: #000000;">&#40;</span>HtmlTextWriter output<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
&nbsp;
            EnsureChildControls<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>ControlMode == SPControlMode.<span style="color: #0000FF;">Display</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>_values != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
                    _values.<span style="color: #0000FF;">RenderControl</span><span style="color: #000000;">&#40;</span>output<span style="color: #000000;">&#41;</span>;
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">else</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>_editor != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
                    _editor.<span style="color: #0000FF;">RenderControl</span><span style="color: #000000;">&#40;</span>output<span style="color: #000000;">&#41;</span>;
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">virtual</span> <span style="color: #FF0000;">string</span> Text
        <span style="color: #000000;">&#123;</span>
            get
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">EnsureChildControls</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>._editor == <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
                <span style="color: #000000;">&#123;</span>
                    <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">null</span>;
                <span style="color: #000000;">&#125;</span>
                <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>._editor.<span style="color: #0000FF;">Text</span>;
            <span style="color: #000000;">&#125;</span>
&nbsp;
            set
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">EnsureChildControls</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>._editor != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
                <span style="color: #000000;">&#123;</span>
                    <span style="color: #0600FF;">this</span>._editor.<span style="color: #0000FF;">Text</span> = value;
                <span style="color: #000000;">&#125;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">object</span> Value
        <span style="color: #000000;">&#123;</span>
            get
            <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Text</span>; <span style="color: #000000;">&#125;</span>
            set
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">Field</span> != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
                <span style="color: #000000;">&#123;</span>
                    <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Text</span> = <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">Field</span>.<span style="color: #0000FF;">GetFieldValueForEdit</span><span style="color: #000000;">&#40;</span>value<span style="color: #000000;">&#41;</span>;
                    <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">Value</span> = <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#41;</span>value;
                    <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">UpdateFieldValueInItem</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
                <span style="color: #000000;">&#125;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span></pre>
<p>Lets take a look at what this class is doing:</p>
<ul>
<li><strong>OnInit()</strong> - come on, do I have to explain?</li>
<li><strong>CreateChildControls() </strong>- initialize your controls and add to the Controls collection</li>
<li><strong>Render()</strong> - writes the controls to the HtmlTextWriter</li>
<li><strong>Text</strong> - This sets/gets the value in the controls</li>
<li><strong>Value</strong> - this sets the value in the Text property and notice the <strong>base.UpdateFieldValueInItem();</strong> statement...this oushes the value from Value to ItemFieldValue and allows you to access this value in display mode because Value returns null (which i did not find the documentation on M$ thank you very much).</li>
</ul>
<p>So that leaves the last piece of the pie for my simple implementation the fldtypes file:</p>
<pre class="xml"><span style="color: #ddbb00;">&amp;lt;</span>FieldTypes<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>FieldType<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;TypeName&quot;<span style="color: #ddbb00;">&amp;gt;</span>XmlFieldType<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;ParentType&quot;<span style="color: #ddbb00;">&amp;gt;</span><span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;InternalType&quot;<span style="color: #ddbb00;">&amp;gt;</span>Note<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;SQLType&quot;<span style="color: #ddbb00;">&amp;gt;</span>ntext<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;TypeDisplayName&quot;<span style="color: #ddbb00;">&amp;gt;</span>Xml Field<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;TypeShortDescription&quot;<span style="color: #ddbb00;">&amp;gt;</span>Xml controls<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;UserCreatable&quot;<span style="color: #ddbb00;">&amp;gt;</span>TRUE<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;ShowOnListCreate&quot;<span style="color: #ddbb00;">&amp;gt;</span>TRUE<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;Sortable&quot;<span style="color: #ddbb00;">&amp;gt;</span>FALSE<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;AllowBaseTypeRendering&quot;<span style="color: #ddbb00;">&amp;gt;</span>FALSE<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;Filterable&quot;<span style="color: #ddbb00;">&amp;gt;</span>FALSE<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Field Name=&quot;FieldTypeClass&quot;<span style="color: #ddbb00;">&amp;gt;</span>Website.CustomFields.XmlFieldType, Website.CustomFields, Version=1.0.0.0, Culture=neutral, PublicKeyToken=346fcdd567259ee6<span style="color: #ddbb00;">&amp;lt;</span>/Field<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>RenderPattern Name=&quot;HeaderPattern&quot;<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Property Select=&quot;DisplayName&quot; HTMLEncode=&quot;TRUE&quot;/<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>/RenderPattern<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>RenderPattern Name=&quot;DisplayPattern&quot;<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>Column/<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>/RenderPattern<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>/FieldType<span style="color: #ddbb00;">&amp;gt;</span>
<span style="color: #ddbb00;">&amp;lt;</span>/FieldTypes<span style="color: #ddbb00;">&amp;gt;</span></pre>
<p>So there you have it.  All I need to do in order to inherit from this is to remove the rendering (which i dont need anyway  as this is going to be a base type) and it should be good to go.  Those three pieces of code can be installed into your SharePoint environment and should help you get started to understanding custom field types.</p>
<p><span style="color: #800000;"><em>Don't forget to add the SafeControl entry, Adjust your trust level and move the .dll into your bin folder as well.</em></span></p>
<p><a href="/files/FieldType.zip">Download the code here</a></p>
<p>Resources I found useful:</p>
<ul>
<li>I did work through the example in <a href="http://www.andrewconnell.com/blog/">Andrew Connell</a>'s book (Professional SP 2007 WCM development) and that worked fine and he actually does a great job of explaining most of whats going on here.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/ms446361.aspx">MSDN</a>...where else</li>
<li><a href="http://www.chaholl.com/archive/2009/07/18/custom-fieldtypes-ndash-part-1.aspx">Charlie Holland </a>has a pretty good article series on this stuff but unfortunately I couldn't get it working.  I also wanted a simple bare bones implementation.</li>
</ul>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 2968px; width: 1px; height: 1px;">Sometimes when I am working with SharePoint I really feel like I got it.  You now that feeling you get when you know exactly what you are doing and have no problems implementing it...then there are times when I really just want to smash something.  And it really doesn't matter what...it could be anything!  This is the feeling I got in the last couple of days working with custom field types in SharePoint.  It seems there are lots of blogs and articles out there talking about how to do it, but from what I could see (and to be fair I did not read them all so if you know of some good posts that would be great) it felt like most of the time I was only getting half the story.  I just finished putting together a very basic Custom Field Type that will display a multiline textbox in edit/new mode and simply display the value in a literal control in display mode.  In the grand scheme of things I am building a base XML Field Type to use for a series of additional Custom field types so essentially I want to store a string (yes I could use the XmlDocument)...but alas thats a story for another day.</p>
<p>So a bit of a primer, or rehash so I don't forget, when developing custom field types there are many pieces to it....not all of them required.  Here is a lit of the items and what they do:</p>
<p>* Field Type class - this class acts as the controller and hooks the rendering control, field type xml definition and the value class together.  It also provides validation at the field level via the GetValidatedString() method of the SPField object<br />
* Field Control class - this is the rendering engine and gives you the power to display your control in any manner you wish as well as perform validation on the data being saved via the UI.<br />
* Field Value class - allows for custom logic to be put around mutiple column fields and different data structures that will be storing data for your field type.<br />
* .ascx file in CONTROLTEMPALTES directory - this supplies rendering markup via a usercontrol and hooks into the field control class<br />
* fldtypes_* - this file that gets installed into the 12/TEMPLATES/XML directory and contrains the information that SharePoint requires in order to load your field type into the system.  Such as the assembly to use, the parent type and other information.  This is required if the type is going to be applied to content types and become a field on a list.</p>
<p>So for my requirements I only needed the field type, the field control and the fldtypes_xxx.xml file.  Lets look at the field type class I built</p>
<pre class="csharp"><span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> XmlFieldType : SPField
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">public</span> XmlFieldType<span style="color: #000000;">&#40;</span>SPFieldCollection fields, <span style="color: #FF0000;">string</span> fieldName<span style="color: #000000;">&#41;</span> : <span style="color: #0600FF;">base</span><span style="color: #000000;">&#40;</span>fields, fieldName<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #000000;">&#125;</span>
<span style="color: #0600FF;">public</span> XmlFieldType<span style="color: #000000;">&#40;</span>SPFieldCollection fields, <span style="color: #FF0000;">string</span> fieldName, <span style="color: #FF0000;">string</span> displayName<span style="color: #000000;">&#41;</span> : <span style="color: #0600FF;">base</span><span style="color: #000000;">&#40;</span>fields, fieldName, displayName<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> BaseFieldControl FieldRenderingControl
<span style="color: #000000;">&#123;</span>
get
<span style="color: #000000;">&#123;</span>
BaseFieldControl fldControl = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> XmlFieldControl<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
fldControl.<span style="color: #0000FF;">FieldName</span> = InternalName;
<span style="color: #0600FF;">return</span> fldControl;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">object</span> GetFieldValue<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> value<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #000000;">&#40;</span>value<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">null</span>;
<span style="color: #0600FF;">return</span> value;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> Type FieldValueType
<span style="color: #000000;">&#123;</span>
get <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">return</span> <a href="http://www.google.com/search?q=typeof+msdn.microsoft.com"><span style="color: #008000;">typeof</span></a><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#41;</span>; <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">string</span> DefaultValue
<span style="color: #000000;">&#123;</span>
get
<span style="color: #000000;">&#123;</span>
XmlDocument doc = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> XmlDocument<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
doc.<span style="color: #0000FF;">LoadXml</span><span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">SchemaXml</span><span style="color: #000000;">&#41;</span>;
XmlNode nodeInFieldSchema = doc.<span style="color: #0000FF;">SelectSingleNode</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;Field/Default&quot;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>nodeInFieldSchema != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
<span style="color: #0600FF;">return</span> nodeInFieldSchema.<span style="color: #0000FF;">InnerXml</span>;
<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">null</span>;
<span style="color: #000000;">&#125;</span>
set <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">DefaultValue</span> = value; <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">string</span> GetValidatedString<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> value<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">GetValidatedString</span><span style="color: #000000;">&#40;</span>value<span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>value == <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Required</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">throw</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> SPFieldValidationException<span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;Invalid value for required field.&quot;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">return</span> <span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">Empty</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #0600FF;">else</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">return</span> value.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre>
<p>Lets review</p>
<p>* The two constructors are required<br />
* FieldRenderingControl() method tells the field type which control to use<br />
* GetFieldValue() method returns the value of the field....if we were using a custom type you would cast that to the appropriate type here<br />
* FieldValueType() - get the type of the Value class<br />
* DefautValue() - this gets the default value from the field if one is defined<br />
* GetValidatedString() - perform field level validation</p>
<p>The Field Control Class is fairly simple as well:</p>
<pre class="csharp"><span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> XmlFieldControl : BaseFieldControl
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">protected</span> Literal _values;
<span style="color: #0600FF;">protected</span> TextBox _editor;
&nbsp;
<span style="color: #0600FF;">protected</span> <span style="color: #0600FF;">override</span> <span style="color: #0600FF;">void</span> OnInit<span style="color: #000000;">&#40;</span>EventArgs e<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">OnInit</span><span style="color: #000000;">&#40;</span>e<span style="color: #000000;">&#41;</span>;
EnsureChildControls<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">protected</span> <span style="color: #0600FF;">override</span> <span style="color: #0600FF;">void</span> CreateChildControls<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Field</span> == <span style="color: #0600FF;">null</span> || <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">ControlMode</span> == SPControlMode.<span style="color: #0000FF;">Invalid</span><span style="color: #000000;">&#41;</span>
<span style="color: #0600FF;">return</span>;
&nbsp;
Controls.<span style="color: #0000FF;">Clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">CreateChildControls</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
_editor = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> TextBox<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
_editor.<span style="color: #0000FF;">TextMode</span> = TextBoxMode.<span style="color: #0000FF;">MultiLine</span>;
_editor.<span style="color: #0000FF;">Height</span> = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Unit<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">300</span><span style="color: #000000;">&#41;</span>;
_editor.<span style="color: #0000FF;">Width</span> = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Unit<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">500</span><span style="color: #000000;">&#41;</span>;
Controls.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>_editor<span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>ControlMode == SPControlMode.<span style="color: #0000FF;">Display</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
_values = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Literal<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
_values.<span style="color: #0000FF;">Text</span> = Convert.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span>ItemFieldValue<span style="color: #000000;">&#41;</span>;
Controls.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>_values<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">protected</span> <span style="color: #0600FF;">override</span> <span style="color: #0600FF;">void</span> Render<span style="color: #000000;">&#40;</span>HtmlTextWriter output<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
&nbsp;
EnsureChildControls<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>ControlMode == SPControlMode.<span style="color: #0000FF;">Display</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>_values != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
_values.<span style="color: #0000FF;">RenderControl</span><span style="color: #000000;">&#40;</span>output<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #0600FF;">else</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>_editor != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
_editor.<span style="color: #0000FF;">RenderControl</span><span style="color: #000000;">&#40;</span>output<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">virtual</span> <span style="color: #FF0000;">string</span> Text
<span style="color: #000000;">&#123;</span>
get
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">EnsureChildControls</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>._editor == <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">null</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>._editor.<span style="color: #0000FF;">Text</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
set
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">EnsureChildControls</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>._editor != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">this</span>._editor.<span style="color: #0000FF;">Text</span> = value;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">override</span> <span style="color: #FF0000;">object</span> Value
<span style="color: #000000;">&#123;</span>
get
<span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Text</span>; <span style="color: #000000;">&#125;</span>
set
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">Field</span> != <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">Text</span> = <span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">Field</span>.<span style="color: #0000FF;">GetFieldValueForEdit</span><span style="color: #000000;">&#40;</span>value<span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">Value</span> = <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#41;</span>value;
<span style="color: #0600FF;">base</span>.<span style="color: #0000FF;">UpdateFieldValueInItem</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre>
<p>sdfsdf</p>
<pre class="xml">    XmlFieldType
&nbsp;
    Note
    ntext
    Xml Field
    Xml controls
    TRUE
    TRUE
    FALSE
    FALSE
    FALSE
    Website.CustomFields.XmlFieldType, Website.CustomFields, Version=1.0.0.0, Culture=neutral, PublicKeyToken=346fcdd567259ee6</pre>
<p>I did work through the example in Andrew Connell's book (Professional SP 2007 WCM development) and that worked fine and he actually does a great job of explaining most of whats going on here.</p>
<p>http://msdn.microsoft.com/en-us/library/ms446361.aspx</p></div>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/controls' rel='tag' target='_self'>controls</a>, <a class='technorati-link' href='http://technorati.com/tag/custom+field+type' rel='tag' target='_self'>custom field type</a>, <a class='technorati-link' href='http://technorati.com/tag/Development' rel='tag' target='_self'>Development</a>, <a class='technorati-link' href='http://technorati.com/tag/SharePoint' rel='tag' target='_self'>SharePoint</a>, <a class='technorati-link' href='http://technorati.com/tag/xml' rel='tag' target='_self'>xml</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://www.calvinirwin.net/2009/08/12/custom-field-types-seriously/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

