SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

SharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsSharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the Clouds
Shailen Sukul
 
SharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceSharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business Intelligence
Ivan Sanders
 
Introduction to Access Services
Introduction to Access ServicesIntroduction to Access Services
Introduction to Access Services
Matthew Jimison
 
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
Ivan Sanders
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
Shailen Sukul
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
My Experience of Salesforce Project
My Experience of Salesforce ProjectMy Experience of Salesforce Project
My Experience of Salesforce Project
Tejaswini Lambe
 
Become BI Architect with 1KEY Agile BI Suite
Become BI Architect with 1KEY Agile BI SuiteBecome BI Architect with 1KEY Agile BI Suite
Become BI Architect with 1KEY Agile BI Suite
Dhiren Gala
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
crokitta
 
Application integration framework & Adaptor ppt
Application integration framework & Adaptor pptApplication integration framework & Adaptor ppt
Application integration framework & Adaptor ppt
Aditya Negi
 
Deep Dive on the Microsoft Dynamics AX Platform
Deep Dive on the Microsoft Dynamics AX PlatformDeep Dive on the Microsoft Dynamics AX Platform
Deep Dive on the Microsoft Dynamics AX Platform
Juan Fabian
 
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
European Collaboration Summit
 
Ordina SOFTC Presentation - Developing against SharePoint 2010 Lists
Ordina SOFTC Presentation - Developing against SharePoint 2010 ListsOrdina SOFTC Presentation - Developing against SharePoint 2010 Lists
Ordina SOFTC Presentation - Developing against SharePoint 2010 Lists
Ordina Belgium
 
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
Ivan Sanders
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
European Collaboration Summit
 
Nw2004s What Is New
Nw2004s What Is NewNw2004s What Is New
Nw2004s What Is New
Guang Ying Yuan
 
Introduction to sharepoint 2010
Introduction to sharepoint 2010Introduction to sharepoint 2010
Introduction to sharepoint 2010
Sachchin Annam
 
SharePoint 2013 i SharePoint Online
SharePoint 2013i SharePoint OnlineSharePoint 2013i SharePoint Online
SharePoint 2013 i SharePoint Online
Dragan Panjkov
 
Importing data to salesforce
Importing data to salesforceImporting data to salesforce
Importing data to salesforce
NetStronghold
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Nik Patel
 
SharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsSharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the Clouds
Shailen Sukul
 
SharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceSharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business Intelligence
Ivan Sanders
 
Introduction to Access Services
Introduction to Access ServicesIntroduction to Access Services
Introduction to Access Services
Matthew Jimison
 
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
Ivan Sanders
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
Shailen Sukul
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
My Experience of Salesforce Project
My Experience of Salesforce ProjectMy Experience of Salesforce Project
My Experience of Salesforce Project
Tejaswini Lambe
 
Become BI Architect with 1KEY Agile BI Suite
Become BI Architect with 1KEY Agile BI SuiteBecome BI Architect with 1KEY Agile BI Suite
Become BI Architect with 1KEY Agile BI Suite
Dhiren Gala
 
Oracle Apex Technical Introduction
Oracle Apex   Technical IntroductionOracle Apex   Technical Introduction
Oracle Apex Technical Introduction
crokitta
 
Application integration framework & Adaptor ppt
Application integration framework & Adaptor pptApplication integration framework & Adaptor ppt
Application integration framework & Adaptor ppt
Aditya Negi
 
Deep Dive on the Microsoft Dynamics AX Platform
Deep Dive on the Microsoft Dynamics AX PlatformDeep Dive on the Microsoft Dynamics AX Platform
Deep Dive on the Microsoft Dynamics AX Platform
Juan Fabian
 
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
European Collaboration Summit
 
Ordina SOFTC Presentation - Developing against SharePoint 2010 Lists
Ordina SOFTC Presentation - Developing against SharePoint 2010 ListsOrdina SOFTC Presentation - Developing against SharePoint 2010 Lists
Ordina SOFTC Presentation - Developing against SharePoint 2010 Lists
Ordina Belgium
 
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
Ivan Sanders
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
European Collaboration Summit
 
Introduction to sharepoint 2010
Introduction to sharepoint 2010Introduction to sharepoint 2010
Introduction to sharepoint 2010
Sachchin Annam
 
SharePoint 2013 i SharePoint Online
SharePoint 2013i SharePoint OnlineSharePoint 2013i SharePoint Online
SharePoint 2013 i SharePoint Online
Dragan Panjkov
 
Importing data to salesforce
Importing data to salesforceImporting data to salesforce
Importing data to salesforce
NetStronghold
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Nik Patel
 

Viewers also liked (6)

Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicMostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
SharePoint Saturday NY
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
SharePoint Saturday NY
 
Alphonso Scarborough: Share point 101
Alphonso Scarborough: Share point 101Alphonso Scarborough: Share point 101
Alphonso Scarborough: Share point 101
SharePoint Saturday NY
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
SharePoint Saturday NY
 
Alphonso Scarborough: SharePoint 101
Alphonso Scarborough: SharePoint 101Alphonso Scarborough: SharePoint 101
Alphonso Scarborough: SharePoint 101
SharePoint Saturday NY
 
Richard Harbridge: 7 SharePoint Success Factors
Richard Harbridge: 7 SharePoint Success FactorsRichard Harbridge: 7 SharePoint Success Factors
Richard Harbridge: 7 SharePoint Success Factors
SharePoint Saturday NY
 
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicMostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
SharePoint Saturday NY
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
SharePoint Saturday NY
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
SharePoint Saturday NY
 
Richard Harbridge: 7 SharePoint Success Factors
Richard Harbridge: 7 SharePoint Success FactorsRichard Harbridge: 7 SharePoint Success Factors
Richard Harbridge: 7 SharePoint Success Factors
SharePoint Saturday NY
 
Ad

Similar to Eugene Rosenfeld: SharePoint Custom Field Types (20)

Artefactos biz talk 2006
Artefactos biz talk 2006Artefactos biz talk 2006
Artefactos biz talk 2006
Sandro Pereira
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
brendonschwartz
 
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
maddinapudi
 
Sharepoint
SharepointSharepoint
Sharepoint
LiquidHub
 
TSPUG: Content Management in SharePoint 2010
TSPUG: Content Management in SharePoint 2010TSPUG: Content Management in SharePoint 2010
TSPUG: Content Management in SharePoint 2010
Eli Robillard
 
Ax
AxAx
Ax
csrikanthc
 
Scalable web-based workflow platform
Scalable web-based workflow platformScalable web-based workflow platform
Scalable web-based workflow platform
Ashutosh Bijoor
 
Salesforce admin training 1
Salesforce admin training 1Salesforce admin training 1
Salesforce admin training 1
HungPham381
 
Explore SharePoint 2010 Enterprise & Document Management features
Explore SharePoint 2010 Enterprise & Document Management features Explore SharePoint 2010 Enterprise & Document Management features
Explore SharePoint 2010 Enterprise & Document Management features
K.Mohamed Faizal
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Lucas Jellema
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
Igor Moochnick
 
SharePoint and Open XML
SharePoint and Open XMLSharePoint and Open XML
SharePoint and Open XML
Becky Bertram
 
Ssrs 2005 Reporting Services
Ssrs 2005 Reporting ServicesSsrs 2005 Reporting Services
Ssrs 2005 Reporting Services
Bala Subra
 
Moving from webservices to wcf services
Moving from webservices to wcf servicesMoving from webservices to wcf services
Moving from webservices to wcf services
Binu Bhasuran
 
Search overview
Search overviewSearch overview
Search overview
Hiep Luong
 
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesComposite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Mike Walker
 
Ikenstudiolive
IkenstudioliveIkenstudiolive
Ikenstudiolive
iken Solutions - Web Space-
 
Services ax2012
Services ax2012Services ax2012
Services ax2012
Pranav Gupta
 
Best salesforce training Institute in Hyderabad
Best salesforce training Institute in HyderabadBest salesforce training Institute in Hyderabad
Best salesforce training Institute in Hyderabad
N Benchmark IT Solutions
 
Writing Code To Interact With Enterprise Search
Writing Code To Interact With Enterprise SearchWriting Code To Interact With Enterprise Search
Writing Code To Interact With Enterprise Search
Corey Roth
 
Artefactos biz talk 2006
Artefactos biz talk 2006Artefactos biz talk 2006
Artefactos biz talk 2006
Sandro Pereira
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
brendonschwartz
 
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
maddinapudi
 
TSPUG: Content Management in SharePoint 2010
TSPUG: Content Management in SharePoint 2010TSPUG: Content Management in SharePoint 2010
TSPUG: Content Management in SharePoint 2010
Eli Robillard
 
Scalable web-based workflow platform
Scalable web-based workflow platformScalable web-based workflow platform
Scalable web-based workflow platform
Ashutosh Bijoor
 
Salesforce admin training 1
Salesforce admin training 1Salesforce admin training 1
Salesforce admin training 1
HungPham381
 
Explore SharePoint 2010 Enterprise & Document Management features
Explore SharePoint 2010 Enterprise & Document Management features Explore SharePoint 2010 Enterprise & Document Management features
Explore SharePoint 2010 Enterprise & Document Management features
K.Mohamed Faizal
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Lucas Jellema
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
Igor Moochnick
 
SharePoint and Open XML
SharePoint and Open XMLSharePoint and Open XML
SharePoint and Open XML
Becky Bertram
 
Ssrs 2005 Reporting Services
Ssrs 2005 Reporting ServicesSsrs 2005 Reporting Services
Ssrs 2005 Reporting Services
Bala Subra
 
Moving from webservices to wcf services
Moving from webservices to wcf servicesMoving from webservices to wcf services
Moving from webservices to wcf services
Binu Bhasuran
 
Search overview
Search overviewSearch overview
Search overview
Hiep Luong
 
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesComposite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Mike Walker
 
Best salesforce training Institute in Hyderabad
Best salesforce training Institute in HyderabadBest salesforce training Institute in Hyderabad
Best salesforce training Institute in Hyderabad
N Benchmark IT Solutions
 
Writing Code To Interact With Enterprise Search
Writing Code To Interact With Enterprise SearchWriting Code To Interact With Enterprise Search
Writing Code To Interact With Enterprise Search
Corey Roth
 
Ad

More from SharePoint Saturday NY (16)

Sb chatterjee share point workspace 2010 in action
Sb chatterjee   share point workspace 2010 in actionSb chatterjee   share point workspace 2010 in action
Sb chatterjee share point workspace 2010 in action
SharePoint Saturday NY
 
Joel Oleson: SharePoint 2010 Upgrade Drill Down
Joel Oleson: SharePoint 2010 Upgrade Drill DownJoel Oleson: SharePoint 2010 Upgrade Drill Down
Joel Oleson: SharePoint 2010 Upgrade Drill Down
SharePoint Saturday NY
 
Peter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer WorkflowsPeter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer Workflows
SharePoint Saturday NY
 
Chris Geier: Information Management in SharePoint 2010
Chris Geier: Information Management in SharePoint 2010Chris Geier: Information Management in SharePoint 2010
Chris Geier: Information Management in SharePoint 2010
SharePoint Saturday NY
 
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nycJohn Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
SharePoint Saturday NY
 
John Burkholder: Disaster Recovery in SharePoint 2010
John Burkholder: Disaster Recovery in SharePoint 2010John Burkholder: Disaster Recovery in SharePoint 2010
John Burkholder: Disaster Recovery in SharePoint 2010
SharePoint Saturday NY
 
Chris McNulty - Managed Metadata and Taxonomies
Chris McNulty - Managed Metadata and TaxonomiesChris McNulty - Managed Metadata and Taxonomies
Chris McNulty - Managed Metadata and Taxonomies
SharePoint Saturday NY
 
Chris McNulty: ECM/WCM Planning, Implementation and Migration Strategies
Chris McNulty: ECM/WCM Planning, Implementation and Migration StrategiesChris McNulty: ECM/WCM Planning, Implementation and Migration Strategies
Chris McNulty: ECM/WCM Planning, Implementation and Migration Strategies
SharePoint Saturday NY
 
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
SharePoint Saturday NY
 
Jaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social ComputingJaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social Computing
SharePoint Saturday NY
 
Matthew Vignau: Memory Management in SharePoint 2007 Development
Matthew Vignau: Memory Management in SharePoint 2007 DevelopmentMatthew Vignau: Memory Management in SharePoint 2007 Development
Matthew Vignau: Memory Management in SharePoint 2007 Development
SharePoint Saturday NY
 
Geoff Varosky: Creating Custom Actions in SharePoint 2010
Geoff Varosky: Creating Custom Actions in SharePoint 2010Geoff Varosky: Creating Custom Actions in SharePoint 2010
Geoff Varosky: Creating Custom Actions in SharePoint 2010
SharePoint Saturday NY
 
Susan Lennon: Building SharePoint Dashboards
Susan Lennon: Building SharePoint DashboardsSusan Lennon: Building SharePoint Dashboards
Susan Lennon: Building SharePoint Dashboards
SharePoint Saturday NY
 
Scott Lavoie: Best Practices and Pain Points of SharePoint Training
Scott Lavoie: Best Practices and Pain Points of SharePoint TrainingScott Lavoie: Best Practices and Pain Points of SharePoint Training
Scott Lavoie: Best Practices and Pain Points of SharePoint Training
SharePoint Saturday NY
 
Paul Galvin: Introduction to Infopath and Best Practices
Paul Galvin: Introduction to Infopath and Best PracticesPaul Galvin: Introduction to Infopath and Best Practices
Paul Galvin: Introduction to Infopath and Best Practices
SharePoint Saturday NY
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
SharePoint Saturday NY
 
Sb chatterjee share point workspace 2010 in action
Sb chatterjee   share point workspace 2010 in actionSb chatterjee   share point workspace 2010 in action
Sb chatterjee share point workspace 2010 in action
SharePoint Saturday NY
 
Joel Oleson: SharePoint 2010 Upgrade Drill Down
Joel Oleson: SharePoint 2010 Upgrade Drill DownJoel Oleson: SharePoint 2010 Upgrade Drill Down
Joel Oleson: SharePoint 2010 Upgrade Drill Down
SharePoint Saturday NY
 
Peter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer WorkflowsPeter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer Workflows
SharePoint Saturday NY
 
Chris Geier: Information Management in SharePoint 2010
Chris Geier: Information Management in SharePoint 2010Chris Geier: Information Management in SharePoint 2010
Chris Geier: Information Management in SharePoint 2010
SharePoint Saturday NY
 
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nycJohn Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
SharePoint Saturday NY
 
John Burkholder: Disaster Recovery in SharePoint 2010
John Burkholder: Disaster Recovery in SharePoint 2010John Burkholder: Disaster Recovery in SharePoint 2010
John Burkholder: Disaster Recovery in SharePoint 2010
SharePoint Saturday NY
 
Chris McNulty - Managed Metadata and Taxonomies
Chris McNulty - Managed Metadata and TaxonomiesChris McNulty - Managed Metadata and Taxonomies
Chris McNulty - Managed Metadata and Taxonomies
SharePoint Saturday NY
 
Chris McNulty: ECM/WCM Planning, Implementation and Migration Strategies
Chris McNulty: ECM/WCM Planning, Implementation and Migration StrategiesChris McNulty: ECM/WCM Planning, Implementation and Migration Strategies
Chris McNulty: ECM/WCM Planning, Implementation and Migration Strategies
SharePoint Saturday NY
 
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
SharePoint Saturday NY
 
Jaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social ComputingJaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social Computing
SharePoint Saturday NY
 
Matthew Vignau: Memory Management in SharePoint 2007 Development
Matthew Vignau: Memory Management in SharePoint 2007 DevelopmentMatthew Vignau: Memory Management in SharePoint 2007 Development
Matthew Vignau: Memory Management in SharePoint 2007 Development
SharePoint Saturday NY
 
Geoff Varosky: Creating Custom Actions in SharePoint 2010
Geoff Varosky: Creating Custom Actions in SharePoint 2010Geoff Varosky: Creating Custom Actions in SharePoint 2010
Geoff Varosky: Creating Custom Actions in SharePoint 2010
SharePoint Saturday NY
 
Susan Lennon: Building SharePoint Dashboards
Susan Lennon: Building SharePoint DashboardsSusan Lennon: Building SharePoint Dashboards
Susan Lennon: Building SharePoint Dashboards
SharePoint Saturday NY
 
Scott Lavoie: Best Practices and Pain Points of SharePoint Training
Scott Lavoie: Best Practices and Pain Points of SharePoint TrainingScott Lavoie: Best Practices and Pain Points of SharePoint Training
Scott Lavoie: Best Practices and Pain Points of SharePoint Training
SharePoint Saturday NY
 
Paul Galvin: Introduction to Infopath and Best Practices
Paul Galvin: Introduction to Infopath and Best PracticesPaul Galvin: Introduction to Infopath and Best Practices
Paul Galvin: Introduction to Infopath and Best Practices
SharePoint Saturday NY
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
SharePoint Saturday NY
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 

Eugene Rosenfeld: SharePoint Custom Field Types

  • 1. SharePoint Custom Field TypesEugene RosenfeldCTO, Black Blade Associates2-time SharePoint MVPerosenfeld@blackbladeinc.comwww.blackbladeinc.comthingsthatshouldbeeasy.blogspot.com
  • 4. Custom Field Types and Alternate WSS Extensibility
  • 5. Custom Field Types Implementation
  • 6. DemoCustom Field Types DefinedOverviewCustom field types are Windows SharePoint Service’s mechanism for allowing developers to:
  • 7. Define atomic data structures with custom data structures
  • 10. Custom property storage and processing
  • 11. These items are “what” custom field types can do
  • 12. 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:
  • 13. Add a field that is based on a custom field type to a list
  • 14. Edit a list field that is based on a custom field type
  • 15. Show data stored in a custom field type instance in the list item display form
  • 16. Show data stored in a custom field type instance in the list item edit form
  • 17. Show data stored in a custom field type instance in the list item new form
  • 18. Show data stored in a custom field type instance in the list view
  • 19. 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
  • 20. SharePoint treats all field components as one, indivisible entity
  • 21. SharePoint saves and loads all components of a custom field type as a single unit
  • 22. Any custom data structure is fair game, as long as it is serializable as text
  • 23. Why text, even for booleans, numbers, dates, etc?
  • 24. 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
  • 25. Think of field render controls as custom web parts that are always associated with all instances of the custom field type
  • 30. AJAX
  • 32. 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
  • 33. Custom field type properties are meant to allow users to modify the behavior of a custom field type instance
  • 34. These properties can be used to:
  • 35. Set default values for data stored in instance fields
  • 37. Control rendering of field data
  • 38. As with the field data, developers can define custom rendering and validation for custom field type properties
  • 39. Custom field properties are very similar to custom web part propertiesBusiness CasesOverviewCustom Data Storage
  • 42. Custom Behavioral LogicBusiness CasesCustom Data StorageAtomic multicolumn field
  • 44. Full name (first, middle, last)
  • 47. Primary key to an external database table
  • 48. Parameter values to a Web Service call
  • 49. URI to external records management systemBusiness CasesCustom Data ValidationData is in a particular format
  • 50. Email
  • 51. SSN
  • 54. Guid
  • 55. Related data from multiple controls is consistent
  • 57. Full name (first, middle, last)
  • 58. Data is validated against an external entity
  • 61. Web Service – address is an actual valid street addressBusiness CasesCustom Field RenderingGraphic
  • 62. Chart
  • 63. Map
  • 67. Flash
  • 70. AJAX
  • 73. User presence information (name with presence field)Business CasesCustom Behavioral LogicTypically used to control the behavior of the field when it is being populated with data
  • 74. Accessing metadata stored on a system external to SharePoint
  • 77. Trees and other navigation elements
  • 78. Asset picker controlCustom Field Types and Alternate WSS ExtensibilityOverviewCustom Field Types and Content Types
  • 79. Custom Field Types and Custom Web Parts
  • 80. Custom Field Types and Event Receivers
  • 81. Custom Field Types and WorkflowsCustom Field Types and Content TypesSimilarities between Custom Field Types and Content TypesBoth can be used to define a grouping or set of discrete data
  • 82. Both can trigger code execution when data changesCustom Field Types and Content TypesDeciding which One to UseUse custom field types when:
  • 83. Must be created by a developer
  • 84. Must be defined using managed code (C#, VB.Net, etc)
  • 85. Can complicate matters when writing code that consumes list field values that are custom field types
  • 86. May prevent the use of third party tools or applications if these can not deal with custom field types
  • 88. Definable by content manager through the web UI
  • 89. Deployable to SharePoint farm as XML (no code needed)Custom Field Types and Custom Web PartsSimilarities between Custom Field Types and Custom Web PartsBoth can define custom rendering for SharePoint data
  • 90. Both can define custom metadata that alters the rendering of the data
  • 91. Both can perform processing logic on their respective data
  • 92. Both can access data outside of SharePoint Custom Field Types and Custom Web PartsDeciding which One to UseUse a custom field type when:
  • 93. You want the custom defined rendering to always be associated with the field data
  • 94. You want to define custom rendering that will be used in the listview web part when the field data is shown in the listview
  • 95. You want to define custom rendering for field data that will be used in all instances of the display item, new item, and edit item forms for list items that contain the a field instance
  • 96. Use a web part when:
  • 97. You want to define custom rendering for a group of fields
  • 98. You want to create views that aggregate information from multiple list items
  • 99. You want to give users the ability to drag the custom rendering onto a web part page through a web browser
  • 100. You want to participate in web part connectionsCustom Field Types and Event ReceiversSimilarities between Custom Field Types and Event ReceiversBoth can be used to run custom code when data in a list is about to change
  • 101. Both can prevent changing list data from being saved to the content database
  • 102. Both can be used to catch field schema changes on listsCustom Field Types and Event ReceiversDeciding which One to UseUse a custom field type when:
  • 103. You want the field code to run for every item an item is changed or added to every list with an instance of the field type exists
  • 104. Note: Two field instances of a custom field type means the code runs twice!
  • 105. Use an event receiver when:
  • 106. You want to be able to activate or deactivate the code for all lists within a particular site (i.e. feature)
  • 107. You need to work with data from several fields in the current list itemCustom Field Types and WorkflowsSimilarities between Custom Field Types and WorkflowsBoth can execute custom code when list item data is changedCustom Field Types and WorkflowsDeciding which One to UseUse a custom field type when:
  • 108. You want the field code to run for every item an item is changed or added to every list with an instance of the field type exists
  • 109. Note: Two field instances of a custom field type means the code runs twice!
  • 110. You want to execute code that finishes running quickly and stores no long-term state information (other than the actual list item field data)
  • 111. Use a workflow when:
  • 112. You want to allow users to be able to associate the code with specific list instances through a web browser
  • 113. You want to give users the option to execute the code automatically or manually
  • 114. Your code needs to run for a long time, over days, weeks, or months
  • 115. You will need to collect information from users involved in the code execution through the browser
  • 116. You need to work with data from several fields in the current list itemCustom Field Types ImplementationOverviewCustom Field Type Definition
  • 117. Custom Field Type Properties
  • 118. Custom Field Data Validation
  • 120. Custom Field TypeDeploymentCustom Field Types ImplementationCustom Field Type DefinitionA new fldtypes*.xmlfile to hold your field type definition
  • 121. This is the entry point that the WSS runtime uses to start addressing your custom field type
  • 122. Similar in concept to the webtemp*.xml files for site definitions
  • 123. A class the inherits from the SPFieldclass, more commonly, from another class that inherits from SPField, such as SPFieldMultiColumn
  • 124. The type defined by the FieldTypeClassattribute must implement two constructors:      public MyFieldComputed (SPFieldCollection fields, string fieldName)            : base(fields, fieldName){}      public MyFieldComputed (SPFieldCollection fields, string typeName, string displayName)            : base(fields, typeName, displayName){} <FieldType> <Field Name="TypeName">MyComputed</Field> <Field Name="TypeDisplayName">$Resources:core,fldtype_computed;</Field> <Field Name="ParentType"> Computed </Field> <Field Name="FieldTypeClass">MySharePoint.MyFieldComputed</Field> <RenderPattern Name="PreviewDisplayPattern"> <HTML><![CDATA[["]]></HTML><Property Select="DisplayName" HTMLEncode="TRUE"/><HTML>"$Resources:core,fldtypes011;</HTML> </RenderPattern> <RenderPattern Name="PreviewEditPattern"><Property Select="DisplayName" HTMLEncode="TRUE"/></RenderPattern> <RenderPattern Name="PreviewNewPattern"><Property Select="DisplayName" HTMLEncode="TRUE"/></RenderPattern> </FieldType>
  • 125. Custom Field Types ImplementationCustom Field Type PropertiesCustom field properties are defined in a PropertySchema/Fields element
  • 126. Each custom property is defined as a Field element
  • 127. Custom field properties are available in code via the SPField. GetCustomPropertymethodNote: The SPField.Updatemethod is not called when a new instance of a custom field type is added to a list. Only the SPField.OnAddedmethod gets called.Two ways to render the custom properties:
  • 128. Using the PropertySchemaelementNote: There seems to be a bug in the PropertySchema element rendering system. The edit form for the list field does not bind the custom field property values to the form control correctly. Instead of binding the to the property values, the form binds to the property display names. The only known workaround is to use the next option.Using a field editor user control<FieldType> <Field Name="TypeName">USAddress</Field> … <PropertySchema> <Fields> <Field Name="DefaultState" DisplayName="Default State" MaxLength="2" DisplaySize="2" Type="Text"> <Default>WA</Default> </Field> <Field Name="DefaultZip" DisplayName="Default Zip" MaxLength="5" DisplaySize="5" Type="Text"> <Default>98052</Default> </Field> </Fields> </PropertySchema></FieldType>
  • 129. Custom Field Types ImplementationCustom Field Data ValidationCustom field types are validated by overriding the SPField. GetValidatedStringmethod in the field class
  • 130. Throw the SPField.SPFieldValidationExceptionexception when the supplied field value is not for the fieldCustom Field Types ImplementationCustom Field Value ClassesCustom field value classes do two primary tasks:
  • 131. Convert field value as represented by managed types into a string
  • 132. Done by overriding the SPField. GetValidatedStringmethod in the custom field class
  • 133. The default implementation calls the ValueClass.ToStringmethod to get the string
  • 134. Convert a string field valueback to a managed type
  • 135. Done by overriding theSPField. GetFieldValuemethod in the custom field class
  • 136. Value classes must be serializable, implementing the ToStringmethodCustom Field Types ImplementationCustom Field Type DeploymentFldtypes*.xml file must get copied to the "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\XML\“ directory
  • 137. Assemblies that implement the custom field, custom field values, rendering controls must be deployed to the GAC
  • 138. Any assemblies referenced by the custom field assemblies must also reside in the GAC
  • 139. Requires an IIS application pool recycle or an IISRESET in order for changes to take affect.
  • 140. The fldtype*.xml files are reparsed by the IIS worker process
  • 141. The assemblies loaded from the GAC are un-cached and re-cached by the IIS worker processDemoDemoCode walkthrough and demo of Media Field Typehttp://wsswmpcft.codeplex.com
  • 143. Reviewing the business cases that justify creation of custom field types
  • 144. Comparison between custom field types and other WSS extensibility
  • 145. Code walkthrough and demo of several custom field type implementationsCloseoutAdditional ResourcesBlack Blade Associateshttp://www.blackbladeinc.com“Things that should be Easy” by Eugene Rosenfeldhttp://thingsthatshouldbeeasy.blogspot.com/Phone number custom field type by Morgan Everett & Mark Collinshttp://www.sharethispoint.com/archive/2006/08/07/23.aspx#codetwoSharePoint SDK sample: How to create a custom field controlhttp://msdn2.microsoft.com/en-us/library/aa981226.aspxSharePoint Server 2007 Visual How Toshttp://msdn2.microsoft.com/en-us/library/bb530308.aspx
  • 148. CloseoutRemember to fill out evaluations for your chance to win cool prizes!2 ASUS NetbooksAlso Some Books1 Typemock Isolator LicenseA 2-5 Day Course from SetFocus on SharePointTelerik RAD Controls Set1 DeliverPointWFE 2010 license (Worth $1500)1 BCS Meta Man license (Worth $1200)1 Lightning Conductor 2010 WFE license (Worth $800)1 Lightning Storm Forums license. (Worth $600)CloseoutRemember to fill out evaluations for your chance to win cool prizes!3 Apple IPAD 32 GB Wifi