<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>SharePoint</title>
        <link>http://kindohm.com/category/32.aspx</link>
        <description>SharePoint</description>
        <language>en-US</language>
        <copyright>mike</copyright>
        <managingEditor>michael.hodnick@kindohm.com</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <item>
            <title>MODIG Slides and Code Posted</title>
            <link>http://kindohm.com/archive/2008/04/22/modig-slides-and-code-posted.aspx</link>
            <description>&lt;p&gt;Thanks to everyone who attended the &lt;a href="http://sharepointmn.com/modig"&gt;MODIG&lt;/a&gt; tonight on the MOSS Search API.  Slides and code are posted here: &lt;a title="http://tinyurl.com/6y5hc7" href="http://tinyurl.com/6y5hc7"&gt;http://tinyurl.com/6y5hc7&lt;/a&gt;&lt;/p&gt;  &lt;div class="tags" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:681ab018-b3cf-4ebd-889f-c80d25cfdbad"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tags/MODIG" target="_blank" rel="tag"&gt;MODIG&lt;/a&gt; &lt;a href="http://technorati.com/tags/code" target="_blank" rel="tag"&gt;code&lt;/a&gt; &lt;a href="http://technorati.com/tags/MOSS" target="_blank" rel="tag"&gt;MOSS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://kindohm.com/aggbug/2091.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2008/04/22/modig-slides-and-code-posted.aspx</guid>
            <pubDate>Wed, 23 Apr 2008 01:17:42 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/2091.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2008/04/22/modig-slides-and-code-posted.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/2091.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Presenting the MOSS Search API at the next MODIG</title>
            <link>http://kindohm.com/archive/2008/04/15/presenting-the-moss-search-api-at-the-next-modig.aspx</link>
            <description>&lt;p&gt;I'll be presenting on the Microsoft Office SharePoint Server (MOSS) Search API at the next &lt;a href="http://sharepointmn.com/modig"&gt;Minneapolis Office Developer Interest Group (MODIG)&lt;/a&gt; meeting on April 22, 2008 at 5:30 PM.  I wasn't originally scheduled for this talk, but I'm filling in for &lt;a href="http://www.justaddcode.com/blog"&gt;Neil&lt;/a&gt; while he tends to his new paternal duties.  &lt;/p&gt;  &lt;p&gt;The talk will be almost the same as the &lt;a href="http://twincitiescodecamp.com/TCCC/Spring2008/Sessions.aspx#s6"&gt;one I did at the last Twin Cities Code Camp&lt;/a&gt;, except this time there will be a little more time available for the presentation.  &lt;/p&gt;  &lt;p&gt;I'll add that you can now buy a MODIG t-shirt!&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.cafepress.com/cp/customize/product.aspx?from=ReviewAndOrder" href="http://www.cafepress.com/cp/customize/product.aspx?clear=true&amp;amp;number=%20253292961"&gt;http://www.cafepress.com/cp/customize/product.aspx?clear=true&amp;amp;number=%20253292961&lt;/a&gt;&lt;/p&gt;  &lt;table&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;&lt;img src="http://images.cafepress.com/jitcrunch.aspx?bG9hZD1ibGFuayxibGFuazoyX0YuanBnfGxvYWQ9TDEsaHR0cDovL2ltYWdlcy5jYWZlcHJlc3MuY29tL2ltYWdlLzI3Mjc2ODkwXzQwMHg0MDAucG5nfHxzY2FsZT1MMSw5NCwyNyxXaGl0ZXxjb21wb3NlPWJsYW5rLEwxLEFkZCwxOTMsMTI1fGNwPXJlc3VsdCxibGFua3xzY2FsZT1yZXN1bHQsMCwyNDAsV2hpdGV8Y29tcHJlc3Npb249OTN8" /&gt;&lt;/td&gt;        &lt;td&gt;&lt;img src="http://images.cafepress.com/jitcrunch.aspx?bG9hZD1ibGFuayxibGFuazoyX0IuanBnfGxvYWQ9TDAsaHR0cDovL2ltYWdlcy5jYWZlcHJlc3MuY29tL2ltYWdlLzI3Mjc2ODk0XzQwMHg0MDAucG5nfHxzY2FsZT1MMCwxMzUsNDIsV2hpdGV8Y29tcG9zZT1ibGFuayxMMCxBZGQsMTY4LDczfGNwPXJlc3VsdCxibGFua3xzY2FsZT1yZXN1bHQsMCwyNDAsV2hpdGV8Y29tcHJlc3Npb249OTN8" /&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;p&gt;Hope to see you there with a new shirt!&lt;/p&gt;  &lt;div class="tags" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:73921d55-4bbd-4fb0-b7e1-653591df34a4"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/sharepoint" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tags/presentation" rel="tag"&gt;presentation&lt;/a&gt; &lt;a href="http://technorati.com/tags/modig" rel="tag"&gt;modig&lt;/a&gt;&lt;/div&gt;&lt;img src="http://kindohm.com/aggbug/2087.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2008/04/15/presenting-the-moss-search-api-at-the-next-modig.aspx</guid>
            <pubDate>Tue, 15 Apr 2008 18:17:17 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/2087.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2008/04/15/presenting-the-moss-search-api-at-the-next-modig.aspx#feedback</comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/2087.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DevConn Day #3</title>
            <link>http://kindohm.com/archive/2007/11/08/devconn-day-3.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;ACS302: Building Custom ASP.NET AJAX Controls&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I feared that this session might cover the basics of AJAX, but it didn't.  The speaker covered two main ways to develop custom AJAX controls (using extenders and the AJAX toolkit or through your own complete customization).  Not a bad presentation for someone like me who has done little that is useful yet with AJAX.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;VWF306: Build Workflow Activities Using Objects&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lhotka.net" target="_blank"&gt;Rocky&lt;/a&gt; presented this one, and drove home the point that you should create your own custom activities (deriving from the Activity class) and use dependency properties when developing workflows with Workflow Foundation.  There ended up being a lot of questions about CSLA from the audience ("what is that ProjectTracker.Library.Save method??"), and I don't think Rocky was able to really finish all of his presentation points as a result.  That disappointed me because I hoped to get more out of the Workflow side of the presentation and not hear Rocky field questions on using business objects.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;HDV301: Building and Incorporating Custom Applications in SharePoint v3 Sites&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Another Andrew Connell session.  Unfortunately it was very similar to his presentation yesterday on "prescriptive guidance" for SharePoint development.  The general topic was the same, but the focus was more about strategies for developing custom apps within SharePoint rather than how to develop and deploy your project artifacts within the apps.  &lt;/p&gt; &lt;p&gt;&lt;strong&gt;AGN302: Compression, Encryption, and Hashing&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This session was a letdown as it was nothing more than a walk-through of .NET's encryption and hashing API's.  The presenter suggested (generally) that you should use public key encryption and never use private key encryption, but only walked through a demo of private key encryption.  ????  For the compression topic, he just walked through an open source .NET compression API to compress and decompress to/from zip, gzip, bzip, etc. &lt;/p&gt; &lt;div class="tags" id="0767317B-992E-4b12-91E0-4F059A8CECA8:7dde20ef-9c89-43bc-8f19-b5e2df6689ba" contenteditable="false"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/workflow" target="_blank" rel="tag"&gt;workflow&lt;/a&gt; &lt;a href="http://technorati.com/tags/ajax" target="_blank" rel="tag"&gt;ajax&lt;/a&gt; &lt;a href="http://technorati.com/tags/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tags/encryption" target="_blank" rel="tag"&gt;encryption&lt;/a&gt;&lt;/div&gt;&lt;img src="http://kindohm.com/aggbug/2013.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/11/08/devconn-day-3.aspx</guid>
            <pubDate>Fri, 09 Nov 2007 02:32:57 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/2013.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/11/08/devconn-day-3.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/2013.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A day in the life of DevConn Day 2</title>
            <link>http://kindohm.com/archive/2007/11/07/a-day-in-the-life-of-devconn-day-2.aspx</link>
            <description>&lt;p&gt;Some decent sessions today.  I think I've gotten a little better at weeding out the bad ones by title :)  By tomorrow I may have a complete day of worthwhile sessions.  &lt;/p&gt; &lt;p&gt;&lt;strong&gt;AGN301: Dealing with Long Running Requests in ASP.NET&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I wasn't sure if I was going to learn anything in this one, but I took away a few new things I didn't know already.  Rick Strahl covered three main ways to deal with long-running requests (each may be better/worse to use depending on what you really need to improve): 1) modify the user interface (disable buttons after clicking, hide the UI and show an "in progress" message), 2) use ASP.NET Async Page Tasks to allow a single request to run on multiple threads, and 3) fire-and-forget and query another data source (e.g. SQL) for information about the process's progress as it updates.  I know that Async Page Tasks existed before today, so that was a new nugget to take home.  &lt;/p&gt; &lt;p&gt;&lt;strong&gt;HDV313: Advanced Feature Development&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Fellow &lt;a href="http://inetium.com" target="_blank"&gt;Inetiumite&lt;/a&gt; &lt;a href="http://justaddcode.com" target="_blank"&gt;Neil&lt;/a&gt; presented this one.  I'm completely biased, but he did an awesome job :)  I actually learned a few things too.  This presentation was on the SharePoint track, and covered all of the down and dirty ways to develop and work with Features in SharePoint.  Neil covered the ridiculous number of caveats to Features, implemented a custom Feature receiver in C#, and demonstrated what will be now known as the most famous custom Feature you can add to SharePoint: the "Your boss is coming, look busy" menu item.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;HDV303: Prescriptive Guidance for Developers Building Publishing Sites with WCM in MOSS&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This one was about how to develop and author the non-compiled artifacts in a SharePoint project such that you can take advantage of things like source control and repeatable/automated packing and deployment.  &lt;a href="http://www.andrewconnell.com/index.aspx" target="_blank"&gt;Andrew Connell&lt;/a&gt; presented this one. His presentation helped drive home the point that Web Content Management (WCM) artifacts such as master pages and page layouts can be authored in SharePoint Designer (SPD), but you should not rely on SPD as a means to promote those artifacts to other environments.  SPD is a necessary evil for certain tasks within MOSS WCM, but it was relieving to hear Andrew say that SPD should not replace well-known (and much more comfortable) development tools like Visual Studio, even when working with non-compiled resources.&lt;/p&gt; &lt;div class="tags" id="0767317B-992E-4b12-91E0-4F059A8CECA8:dda53d01-69e9-45a9-ba80-ca453d6c0c97" contenteditable="false"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/devconnections" target="_blank" rel="tag"&gt;devconnections&lt;/a&gt; &lt;a href="http://technorati.com/tags/conference" target="_blank" rel="tag"&gt;conference&lt;/a&gt; &lt;a href="http://technorati.com/tags/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tags/asp.net" target="_blank" rel="tag"&gt;asp.net&lt;/a&gt;&lt;/div&gt;&lt;img src="http://kindohm.com/aggbug/2010.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/11/07/a-day-in-the-life-of-devconn-day-2.aspx</guid>
            <pubDate>Thu, 08 Nov 2007 02:20:43 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/2010.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/11/07/a-day-in-the-life-of-devconn-day-2.aspx#feedback</comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/2010.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DevConn Day 1 Wrap Up</title>
            <link>http://kindohm.com/archive/2007/11/06/devconn-day-1-wap-up.aspx</link>
            <description>&lt;p&gt;I'm finding that the presentations aren't quite meeting all of my expectations out here at DevConn, although I think I've learned to weed out the less-interesting stuff based on the titles and short descriptions in the schedule.  &lt;/p&gt; &lt;p&gt;&lt;strong&gt;VMS306: A Lap Around Visual Studio Team System 2008&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This session did not meet my expectations.  It was a run through of the basic features of VS TS 2008 - most of which are available in VS TS 2005.  Work items, reporting, source control, etc.  Ho hum.  &lt;/p&gt; &lt;p&gt;&lt;strong&gt;HMS308: Microsoft ASP .NET AJAX 1.0 and SharePoint&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This session was worth the price of admission.  Mike Ammerlaan gave this talk and covered what you need to do in WSS/MOSS to get AJAX hooked up, how to make AJAX features useful/deployable in WSS, and also demonstrated some interesting ideas of what you could accomplish with respect to SharePoint.  Specifically, he demonstrated extending the out-of-the-box edit form of a list item by replacing a long, vertical form that had basic controls with a tabbed form that utilized sliders and other controls.  The AJAX magic to specifically implement the tabs and controls wasn't so cool as it was to see what he specifically chose to manipulate within WSS to make it happen.  &lt;/p&gt; &lt;p&gt;&lt;strong&gt;HMS310: Search in MOSS 2007: Customizing and Extending&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Thomas Rizzo presented this one.  His content was accurate and he's a great speaker, but I personally didn't get much out of it.  It was a little higher level than I was hoping for.  He talked about what options are available in the SharePoint Search web parts to customize their appearance, walked through the search API, and wrote an app on the spot that used the API.  &lt;/p&gt; &lt;div class="tags" id="0767317B-992E-4b12-91E0-4F059A8CECA8:820723bd-0511-43dd-8623-cc34fcc2208f" contenteditable="false"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/devconnections" target="_blank" rel="tag"&gt;devconnections&lt;/a&gt; &lt;a href="http://technorati.com/tags/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tags/conference" target="_blank" rel="tag"&gt;conference&lt;/a&gt;&lt;/div&gt;&lt;img src="http://kindohm.com/aggbug/2005.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/11/06/devconn-day-1-wap-up.aspx</guid>
            <pubDate>Wed, 07 Nov 2007 02:00:59 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/2005.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/11/06/devconn-day-1-wap-up.aspx#feedback</comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/2005.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint Search Bench Initial Release</title>
            <link>http://kindohm.com/archive/2007/11/01/sharepoint-search-bench-initial-release.aspx</link>
            <description>&lt;p&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/kindohm/1813374111/" target="_blank"&gt;&lt;img style="margin: 5px" height="230" alt="SharePoint Search Bench Screen Shot" src="http://farm3.static.flickr.com/2268/1813374111_f0f0642e5b_m.jpg" width="240" align="right" border="0" /&gt;&lt;/a&gt; &lt;a href="http://codeplex.com/SPSearchBench" target="_blank"&gt;Download SharePoint Search Bench from www.codeplex.com/SPSearchBench&lt;/a&gt;&lt;/p&gt; &lt;p&gt;SharePoint Search Bench is a WPF application used to run full-text SQL and keyword queries against Microsoft Office SharePoint Server (MOSS) search.   &lt;/p&gt; &lt;p&gt;This project is something I've had in the works for a little while.  Extending MOSS search is a common task among SharePoint developers, yet there aren't really any tools available to test, try, or develop queries against MOSS search.  Unlike SQL Server, MOSS doesn't ship with a "Query Analyzer".  On projects where I was extending MOSS search, I found myself writing my own app to write and test queries.  &lt;/p&gt; &lt;p&gt;Here are some notable features about the app:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Supports searching against MOSS using MOSS Search  &lt;/li&gt;&lt;li&gt;Supports searching via object model (on server)  &lt;/li&gt;&lt;li&gt;Supports searching via web service (remote clients)  &lt;/li&gt;&lt;li&gt;Supports Full Text searches using full text SQL syntax  &lt;/li&gt;&lt;li&gt;Supports keyword searches, including custom returned columns/properties  &lt;/li&gt;&lt;li&gt;Lists available search scopes and managed properties  &lt;/li&gt;&lt;li&gt;Ability to change query packet XML for web service calls  &lt;/li&gt;&lt;li&gt;Ability to save your connection and query settings between sessions &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;App characteristics:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Built on WPF  &lt;/li&gt;&lt;li&gt;Built using VS 2005 and WPF extensions  &lt;/li&gt;&lt;li&gt;.Net 3.0 required  &lt;/li&gt;&lt;li&gt;Does not support WSS, CAML or List-based queries/searches  &lt;/li&gt;&lt;li&gt;Does not support WSS v2 or SPS &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Another purpose of developing the app was to continue learning WPF.  I've had my head in WPF for a long, long time, but haven't ventured outside of its 3D features very much.  I wanted this WPF app to be clean and take advantage of certain features that WPF provides.  Specifically, lots of data binding, heavy re-use of styles, data templates, and control templates.&lt;/p&gt; &lt;p&gt;The CodePlex project has a forum and issue tracker open, so feel free to leave feedback or report problems.  &lt;/p&gt; &lt;div class="tags" id="0767317B-992E-4b12-91E0-4F059A8CECA8:15260473-e2ef-4e21-bc7f-086ef04cb103" contenteditable="false"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tags/moss" target="_blank" rel="tag"&gt;moss&lt;/a&gt; &lt;a href="http://technorati.com/tags/search" target="_blank" rel="tag"&gt;search&lt;/a&gt; &lt;a href="http://technorati.com/tags/wpf" target="_blank" rel="tag"&gt;wpf&lt;/a&gt; &lt;a href="http://technorati.com/tags/code" target="_blank" rel="tag"&gt;code&lt;/a&gt;&lt;/div&gt;&lt;img src="http://kindohm.com/aggbug/1999.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/11/01/sharepoint-search-bench-initial-release.aspx</guid>
            <pubDate>Thu, 01 Nov 2007 14:15:15 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/1999.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/11/01/sharepoint-search-bench-initial-release.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/1999.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Not Really Sealed Content Types in SharePoint 2007</title>
            <link>http://kindohm.com/archive/2007/06/06/not-really-sealed-content-types-in-sharepoint-2007.aspx</link>
            <description>&lt;p&gt;In the object-oriented world, when I hear the word "sealed" I think of preventing inheritance.  If I create a sealed class named Car, it means that I don't want anyone else to inherit or derive from Car.  &lt;/p&gt; &lt;p&gt;In WSS 3.0, you can create new Content Types that derive from a parent Content Type (e.g. a Car Content Type that derives from a parent Vehicle Content Type).  You can also create sealed Content Types.  You can refer to the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms463449.aspx" target="_blank"&gt;Content Type Definition Schema&lt;/a&gt; and the &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spcontenttype.aspx" target="_blank"&gt;SPContentType class&lt;/a&gt; for details.  &lt;/p&gt; &lt;p&gt;So what does it mean to create a sealed Content Type?  Not as much as I had hoped.  It turns out that a sealed Content Type is not analogous to a sealed class in OOP.  You can derive a new child Content Type from a sealed parent Content Type.  Let's dig in...&lt;/p&gt; &lt;p&gt;I created a Feature that creates a new sealed Content Type with the following elements definition:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;
&amp;lt;Elements 
  xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
  &amp;lt;ContentType ID="0x0100AFF5F6F939DB46e2B0FA996BBD1B51FB"
    Name="MikeContentType"
	Group="Mike Content Types"
	Description="A Mike item"
	Sealed="TRUE"
	FeatureId="9BF7D516-A19E-4740-9566-53E1A70EA414"&amp;gt;
  &amp;lt;/ContentType&amp;gt;
&amp;lt;/Elements&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When you go to the edit screen for this new Content Type in WSS, you see the following:&lt;/p&gt;
&lt;p&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/kindohm/533098450/" target="_blank"&gt;&lt;img height="419" alt="SealedContentType" src="http://farm2.static.flickr.com/1203/533098450_a3636d2ff9.jpg" width="500" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;WSS indicates that the Content Type is sealed (in parenthesis in the title). One thing to note is that all of the settings links and column options have been eliminated on this screen. The screen is basically empty.&lt;/p&gt;
&lt;p&gt;So let's try and derive a new Content Type from this sealed Content Type. Here is what the new Content Type creation screen looks like:&lt;/p&gt;
&lt;p&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/kindohm/533195159/" target="_blank"&gt;&lt;img height="500" alt="NewChildContentType01" src="http://farm2.static.flickr.com/1166/533195159_5257ad4be0.jpg" width="464" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Notice in the Parent Content Type drop down list that I can select the sealed MikeContentType item. If you click ok and view the child content type, you see this:&lt;/p&gt;
&lt;p&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/kindohm/533195185/" target="_blank"&gt;&lt;img height="492" alt="NewChildContentType02" src="http://farm2.static.flickr.com/1108/533195185_50c5e491b9.jpg" width="500" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The child content type shows the sealed MikeContentType as its parent. "Sealed" isn't so "sealed" in WSS-land.&lt;/p&gt;
&lt;p&gt;It appears that the only functionality that a sealed Content Type provides is the ability to lock down a content type's settings. If I modify the sealed Content Type definition to not be sealed, this is what its edit screen looks like:&lt;/p&gt;
&lt;p&gt;&lt;a title="Photo Sharing" href="http://www.flickr.com/photos/kindohm/533098494/" target="_blank"&gt;&lt;img height="500" alt="UnsealedContentType" src="http://farm2.static.flickr.com/1304/533098494_529adadd23.jpg" width="499" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now the previously-sealed Content Type can have its settings and columns modified through the UI. It appears as though that marking a Content Type as sealed only prevents editing it through the user interface - rather than preventing inheritance. &lt;/p&gt;
&lt;p&gt;This is pretty unfortunate if you ask me. First of all, it's misleading. Second of all, it doesn't appear that you can prevent Content Type inheritance. &lt;a href="http://www.justaddcode.com/blog" target="_blank"&gt;Neil&lt;/a&gt; suggested to me that inheritance could possibly be prevented using a &lt;a href="http://msdn2.microsoft.com/en-us/library/ms499244.aspx" target="_blank"&gt;custom policy&lt;/a&gt;. You could probably swing that, but I still wonder why the word "sealed" was chosen for out-of-the-box functionality that doesn't appear to have a "sealed" behavior. &lt;/p&gt;
&lt;p class="tags" id="0767317B-992E-4b12-91E0-4F059A8CECA8:a918a79b-b04c-4f87-aaf6-d04f46c377f7"&gt;del.icio.us tags: &lt;a href="http://del.icio.us/popular/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://del.icio.us/popular/wss" target="_blank" rel="tag"&gt;wss&lt;/a&gt; &lt;a href="http://del.icio.us/popular/contenttype" target="_blank" rel="tag"&gt;contenttype&lt;/a&gt; &lt;a href="http://del.icio.us/popular/content%20type" target="_blank" rel="tag"&gt;content type&lt;/a&gt; &lt;a href="http://del.icio.us/popular/sealed" target="_blank" rel="tag"&gt;sealed&lt;/a&gt; &lt;a href="http://del.icio.us/popular/programming" target="_blank" rel="tag"&gt;programming&lt;/a&gt; &lt;a href="http://del.icio.us/popular/oop" target="_blank" rel="tag"&gt;oop&lt;/a&gt;&lt;/p&gt;&lt;img src="http://kindohm.com/aggbug/1921.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/06/06/not-really-sealed-content-types-in-sharepoint-2007.aspx</guid>
            <pubDate>Wed, 06 Jun 2007 14:01:19 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/1921.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/06/06/not-really-sealed-content-types-in-sharepoint-2007.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/1921.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint Site Backup on Deletion</title>
            <link>http://kindohm.com/archive/2007/05/24/sharepoint-site-backup-on-deletion.aspx</link>
            <description>&lt;p&gt;Check out this WSS Feature that performs automatic backups of SharePoint sites upon their deletion: &lt;a href="http://www.codeplex.com/governance" target="_blank"&gt;http://www.codeplex.com/governance&lt;/a&gt;.  Handy.  From a developer's perspective, I doubt I'd use this myself, but I can't count the number of times a user has asked me if it is possible to restore a site they've accidentally deleted.  You don't get this functionality out-of-the-box with WSS 2.0/3.0, but this feature makes it possible.&lt;/p&gt;

&lt;p&gt;All deletions and backups are logged to a folder of your choice and specific information such as the logged in user, deleted site, etc are all logged.  SQL backups are created and sites can be restored with standard STSADM.EXE operations (-restore for site collections and -import for sub sites).&lt;/p&gt;

&lt;p class="tags"&gt;tags: &lt;a href="http://technorati.com/tag/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tag/backup" target="_blank" rel="tag"&gt;backup&lt;/a&gt; &lt;a href="http://technorati.com/tag/delete" target="_blank" rel="tag"&gt;delete&lt;/a&gt; &lt;a href="http://technorati.com/tag/wss" target="_blank" rel="tag"&gt;wss&lt;/a&gt;  &lt;/p&gt;&lt;img src="http://kindohm.com/aggbug/1911.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/05/24/sharepoint-site-backup-on-deletion.aspx</guid>
            <pubDate>Thu, 24 May 2007 13:25:06 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/1911.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/05/24/sharepoint-site-backup-on-deletion.aspx#feedback</comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/1911.aspx</wfw:commentRss>
        </item>
        <item>
            <title>WSS 3.0 at WebHost4Life - don't do it</title>
            <link>http://kindohm.com/archive/2007/05/14/wss-3.0-at-webhost4life---dont-do-it.aspx</link>
            <description>&lt;p&gt;I just wasted $20.  I subscribed to my web host's (&lt;a href="http://www.webhost4life.com" target="_blank"&gt;webhost4life.com&lt;/a&gt;) Windows SharePoint Services 3.0 offering, only to find that site owners do not have access to their own WSS virtual root.  That means no bin folder, no wpcatalog folder, and no web.config file.  All you get is out-of-the-box stuff.  &lt;/p&gt;

&lt;p&gt;Webhost4life.com does not say much about their WSS 3.0 offering on their site.  Arguably I was a bad consumer and didn't look in to it deeply enough before making my payment.  I will say though that their WSS 2.0 offering &lt;em&gt;&lt;strong&gt;does&lt;/strong&gt;&lt;/em&gt; allow customizations, and I thought it was safe enough to assume they'd offer the same thing in WSS 3.0.  &lt;/p&gt;

&lt;p&gt;If you're a business and need basic WSS 3.0 functionality, go for it.  If you're a WSS developer, don't even bother with webhost4life.com.&lt;/p&gt;

&lt;p class="tags"&gt;tags: &lt;a href="http://technorati.com/tag/sharepoint" target="_blank" rel="tag"&gt;sharepoint&lt;/a&gt; &lt;a href="http://technorati.com/tag/wss" target="_blank" rel="tag"&gt;wss&lt;/a&gt; &lt;a href="http://technorati.com/tag/webhost4life" target="_blank" rel="tag"&gt;webhost4life&lt;/a&gt; &lt;a href="http://technorati.com/tag/hosting" target="_blank" rel="tag"&gt;hosting&lt;/a&gt;  &lt;/p&gt;&lt;img src="http://kindohm.com/aggbug/1900.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/05/14/wss-3.0-at-webhost4life---dont-do-it.aspx</guid>
            <pubDate>Mon, 14 May 2007 20:32:42 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/1900.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/05/14/wss-3.0-at-webhost4life---dont-do-it.aspx#feedback</comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/1900.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A Problem With Implementing Custom Properties on Custom Fields in WSS</title>
            <link>http://kindohm.com/archive/2007/04/23/a-problem-with-implementing-custom-properties-on-custom-fields-in.aspx</link>
            <description>&lt;p&gt;Creating your own custom field types in Windows SharePoint Service v3 is an awesome thing.  Instead of relying on the out-of-the-box types (text, number, Url, etc), you can create your own fields that incorporate
whatever logic and data you want.  You can derive from the SPField class or a specific type of field (such as SPFieldText, SPFieldNumber, etc).  &lt;/p&gt;

&lt;p&gt;A custom field can have some custom properties.  For example, if you have a custom field named Car, you could have a custom property named Color on the Car field.  The user could select a 
color from a list of choices when creating their Car column in SharePoint.   This is accomplished by implementing your custom property itself as a custom field.  That's right - both Car and Color would inherit from SPField
in order for Car to have a custom property of the Color type.&lt;/p&gt;

&lt;p&gt;There's a great MSDN forum thread that covers this topic: &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1109290&amp;amp;SiteID=1" target="_blank"&gt;Custom Field Type Properties&lt;/a&gt;.  Thanks to 
&lt;a href="http://www.justaddcode.com" target="_blank"&gt;Neil&lt;/a&gt; for providing me the link earlier.&lt;/p&gt;

&lt;p&gt;If you use an out-of-the-box field type for your custom property, everything will work fine:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;!-- ...partial field type definition --&amp;gt;
&amp;lt;propertyschema&amp;gt;
    &amp;lt;fields&amp;gt;
        &amp;lt;field name="MyCustomProperty" 
        displayname="My Custom Property" 
        type="Text"&amp;gt;
        &amp;lt;/field&amp;gt;
    &amp;lt;/fields&amp;gt;
&amp;lt;/propertyschema&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;However, if you use a custom field for your custom property, AND if your custom field inherits directly from SPField, it won't work:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;!-- ...partial field type definition --&amp;gt;
&amp;lt;propertyschema&amp;gt;
    &amp;lt;fields&amp;gt;
        &amp;lt;field name="MyCustomProperty" 
        displayname="My Custom Property" 
        type="Color"&amp;gt;
        &amp;lt;/field&amp;gt;
    &amp;lt;/fields&amp;gt;
&amp;lt;/propertyschema&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;//Color class
public class ColorField : SPField 
{ ... }&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This results in a generic "Unknown Error" message in your browser when you attempt to create your Car field.&lt;/p&gt;

&lt;p&gt;The answer is to override and implement the FieldValueType property on your custom field class:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;//Color class
public class ColorField: SPField
{
	public override Type FieldValueType {
		get {
			//return your fancy type
			return typeof(string);
		}	
	}
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Upon inspecting the SPField class in Reflector, the FieldValueType getter returns null all the time.  Specific implementations of SPField (such as SPFieldText) return a non-null value.  If you choose to inherit
from a specific SPField type such as SPFieldText or SPFieldNumber, you shouldn't run in to this problem.&lt;/p&gt;

&lt;p class="tags"&gt;tags: &lt;a href="http://technorati.com/tag/wss" target="_blank" rel="tag"&gt;wss&lt;/a&gt; &lt;a href="http://technorati.com/tag/customfields" target="_blank" rel="tag"&gt;customfields&lt;/a&gt; &lt;a href="http://technorati.com/tag/code" target="_blank" rel="tag"&gt;code&lt;/a&gt; &lt;a href="http://technorati.com/tag/programming" target="_blank" rel="tag"&gt;programming&lt;/a&gt;  &lt;/p&gt;&lt;img src="http://kindohm.com/aggbug/1885.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>mike</dc:creator>
            <guid>http://kindohm.com/archive/2007/04/23/a-problem-with-implementing-custom-properties-on-custom-fields-in.aspx</guid>
            <pubDate>Mon, 23 Apr 2007 20:34:44 GMT</pubDate>
            <wfw:comment>http://kindohm.com/comments/1885.aspx</wfw:comment>
            <comments>http://kindohm.com/archive/2007/04/23/a-problem-with-implementing-custom-properties-on-custom-fields-in.aspx#feedback</comments>
            <wfw:commentRss>http://kindohm.com/comments/commentRss/1885.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>