This project is a custom site column for SharePoint that “freeze dries” .NET data structures and stores them in a column. Except for what is surfaced to the column rendering in the view, the data is “opaque” to the SharePoint API. By that I mean you can stuff just about anything you want into the column and get it back. So other than it being a cool demonstration of how to build a Site column, why would you want to use it, or help me make it better. I don’t know about you, but almost every project I have done needs to track data associated with items, that is not really SharePoint typed data, but needs to be associated with an item. Usually I end up creating an external table, linked on the item Guid, and it serves as a place to store things like workflow state, collections of other things to do, links to other systems, configuration data, audit information ,etc. Well I got tired of writing little SQL tables and procedures and started storing this type of stuff in XML in a Note field in SharePoint. Well that worked fine, except it was almost as cumbersome writing specific parsers to populate data structures as it was to put it in SQL. And, end users sometimes ended up seeing the data (by monkeying with views). So I set about to build a small framework for storing binary serialized data in a SharePoint field, that would render acceptably in list views, and on forms. What I ended up with was this project, called the FreezeDriedDataSiteColumn. Its current codebase lets you store just about anything (I even uploaded a 20 meg file as a byte array) and get it back in your code simply by casting the field to your type. It has a custom field definition, a pretty basic property configuration page and a few cute tricks for getting the custom properties to work in list views.
These details are provided for information only. No information here is legal advice and should not be used as such.