SharePoint Custom Field TypesEugene RosenfeldCTO, Black Blade Associates2-time SharePoint MVPerosenfeld@blackbladeinc.comwww.blackbladeinc.comthingsthatshouldbeeasy.blogspot.com
ContentsContentsCustom Field Types Defined
Business Cases
Custom Field Types and Alternate WSS Extensibility
Custom Field Types Implementation
DemoCustom Field Types DefinedOverviewCustom field types are Windows SharePoint Service’s mechanism for allowing developers to:
Define atomic data structures with custom data structures
Custom data validation
Custom rendering
Custom property storage and processing
These items are “what” custom field types can do
Custom field types can be thought of as a merging between fields, custom web parts, validators, and event receiversCustom Field Types DefinedCustom Field Type ScenariosCustom field types allow developers to interact with and extend the way in which Windows SharePoint Services organizes, collects, modifies, stores, and displays list item data:
Add a field that is based on a custom field type to a list
Edit a list field that is based on a custom field type
Show data stored in a custom field type instance in the list item display form
Show data stored in a custom field type instance in the list item edit form
Show data stored in a custom field type instance in the list item new form
Show data stored in a custom field type instance in the list view
These items describe “when” we would resort to custom field types.Custom Field Types DefinedCustom Data Structures Custom field types may define one or more field data components
SharePoint treats all field components as one, indivisible entity
SharePoint saves and loads all components of a custom field type as a single unit
Any custom data structure is fair game, as long as it is serializable as text
Why text, even for booleans, numbers, dates, etc?
All data is stored in SQL. Data is retrieved and modified using SQL statements. SQL statements are text, even for logically binary data.Custom Field Types DefinedCustom RenderingDevelopers can associate web controls to display field data to users
Think of field render controls as custom web parts that are always associated with all instances of the custom field type
Custom rendering controls may include:
Web custom controls
Client controls or HTML
JavaScript
AJAX
Images
Anything else that can render a MIME type that the client browser can interpretCustom Field Types DefinedCustom Field Type PropertiesCustom field types can define custom properties that instances of those field types can set
Custom field type properties are meant to allow users to modify the behavior of a custom field type instance

Eugene Rosenfeld: SharePoint Custom Field Types