SlideShare a Scribd company logo
1 of 41
Custom Field Controls and SharePoint Web Content Management Chakkaradeep Chandran  Robert Stewart
Session Overview ,[object Object]
Intergen – “powered by Microsoft Office SharePoint” Demo
Role of Content Types, Site Columns in a Publishing Site
Custom Field Types
Web Parts Vs Field Controls as content regions
Custom field type development topics,[object Object]
WCM features are provided primarily by the Publishing Site feature
Several standard SharePoint components work together to provide WCM functionality
Key Components of a Publishing Site
Site Columns
Content Types
Field Controls
Page Layouts
Document Libraries
Lists,[object Object]
Page Layouts, Content Types, Site Columns GeneralPage Content Type Title Title Description Page Content Page Image Vincent van Gogh Gogh was a Dutch Post-Impressionist artist who live in the 1800s. Van Gogh spent his early adult life working for a firm of art dealers. After a brief spell as a teacher, he became a missionary worker in a very poor mining region. He did not embark upon a career as an artist until 1880.  Vincent van Gogh Gogh was a Dutch Post-Impressionist artist who live in the 1800s. Van Gogh spent his early adult life working for a firm of art dealers. After a brief spell as a teacher, he became a missionary worker in a very poor mining region. He did not embark upon a career as an artist until 1880.  Description Page Content Page Image GeneralPageLayout.aspx
Custom Field Types ,[object Object]
Text
Choice Fields
Hyperlink or Picture
Publishing HTML
Create custom field types to satisfy requirements not met by out of the box field types
Field Type == Data Type
Field type provide field rendering facilities
Field controls are tightly coupled with the type of the field
Field controls deliver or capture the content in a Publishing Page,[object Object]
Rule of thumb:
Use field controls for content and Web Parts for functionality
Since a field control is bound to a specific field of an item, it offers complete versioning/history
Web Parts do not offer complete versioning/history,[object Object]
Development Components Demo {.......} {....}
Demo Field Control – Rendering Template & Rendering Control
Field Control – Rendering Template Demo Rendering Template Edit Mode Display Mode
Field Control – Rendering Control Demo Edit Mode Display Mode ,[object Object]
 A RenderingTemplate object is defined as a RenderingTemplate element in an .ascx file
 The rendering template is referenced by its ID value in the rendering control object's TemplateName property,[object Object]
Rendering Control – CreateChildControls Demo Edit Mode Display Mode
Demo InPagePod Field – Rendering Template & Rendering Control
Field Control – Summary Demo Rendering Template Rendering Control Naming Convention - field_type_nameFieldControl Edit Mode Display Mode The Rendering Template is referenced by its ID value in the Rendering Control object's TemplateName property BaseFieldControl-derived rendering control handles interaction with users Its plain simple HTML/ASCX code
Demo Field Class

More Related Content

More from Chakkaradeep Chandran

Build client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointBuild client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointChakkaradeep Chandran
 
Getting started with Office 365 APIs
Getting started with Office 365 APIsGetting started with Office 365 APIs
Getting started with Office 365 APIsChakkaradeep Chandran
 
Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365Chakkaradeep Chandran
 
Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)Chakkaradeep Chandran
 
Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Chakkaradeep Chandran
 
Practical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture PlanningPractical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture PlanningChakkaradeep Chandran
 
Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Chakkaradeep Chandran
 
Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers Chakkaradeep Chandran
 
Building Solutions With Business Connectivity Services
Building Solutions With Business Connectivity ServicesBuilding Solutions With Business Connectivity Services
Building Solutions With Business Connectivity ServicesChakkaradeep Chandran
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint DevelopmentChakkaradeep Chandran
 
Visual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointVisual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointChakkaradeep Chandran
 

More from Chakkaradeep Chandran (14)

Build client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointBuild client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePoint
 
Getting started with Office 365 APIs
Getting started with Office 365 APIsGetting started with Office 365 APIs
Getting started with Office 365 APIs
 
Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365
 
Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)
 
Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...
 
Practical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture PlanningPractical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture Planning
 
Building Custom BCS .NET Connectors
Building Custom BCS .NET ConnectorsBuilding Custom BCS .NET Connectors
Building Custom BCS .NET Connectors
 
Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online
 
Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers
 
Building Solutions With Business Connectivity Services
Building Solutions With Business Connectivity ServicesBuilding Solutions With Business Connectivity Services
Building Solutions With Business Connectivity Services
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint Development
 
Visual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointVisual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share Point
 
Developing With Data Technologies
Developing With Data TechnologiesDeveloping With Data Technologies
Developing With Data Technologies
 
SharePoint And WCM
SharePoint And WCMSharePoint And WCM
SharePoint And WCM
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

SharePoint Custom Field Controls

  • 1. Custom Field Controls and SharePoint Web Content Management Chakkaradeep Chandran Robert Stewart
  • 2.
  • 3. Intergen – “powered by Microsoft Office SharePoint” Demo
  • 4. Role of Content Types, Site Columns in a Publishing Site
  • 6. Web Parts Vs Field Controls as content regions
  • 7.
  • 8. WCM features are provided primarily by the Publishing Site feature
  • 9. Several standard SharePoint components work together to provide WCM functionality
  • 10. Key Components of a Publishing Site
  • 16.
  • 17. Page Layouts, Content Types, Site Columns GeneralPage Content Type Title Title Description Page Content Page Image Vincent van Gogh Gogh was a Dutch Post-Impressionist artist who live in the 1800s. Van Gogh spent his early adult life working for a firm of art dealers. After a brief spell as a teacher, he became a missionary worker in a very poor mining region. He did not embark upon a career as an artist until 1880. Vincent van Gogh Gogh was a Dutch Post-Impressionist artist who live in the 1800s. Van Gogh spent his early adult life working for a firm of art dealers. After a brief spell as a teacher, he became a missionary worker in a very poor mining region. He did not embark upon a career as an artist until 1880. Description Page Content Page Image GeneralPageLayout.aspx
  • 18.
  • 19. Text
  • 23. Create custom field types to satisfy requirements not met by out of the box field types
  • 24. Field Type == Data Type
  • 25. Field type provide field rendering facilities
  • 26. Field controls are tightly coupled with the type of the field
  • 27.
  • 29. Use field controls for content and Web Parts for functionality
  • 30. Since a field control is bound to a specific field of an item, it offers complete versioning/history
  • 31.
  • 32. Development Components Demo {.......} {....}
  • 33. Demo Field Control – Rendering Template & Rendering Control
  • 34. Field Control – Rendering Template Demo Rendering Template Edit Mode Display Mode
  • 35.
  • 36. A RenderingTemplate object is defined as a RenderingTemplate element in an .ascx file
  • 37.
  • 38. Rendering Control – CreateChildControls Demo Edit Mode Display Mode
  • 39. Demo InPagePod Field – Rendering Template & Rendering Control
  • 40. Field Control – Summary Demo Rendering Template Rendering Control Naming Convention - field_type_nameFieldControl Edit Mode Display Mode The Rendering Template is referenced by its ID value in the Rendering Control object's TemplateName property BaseFieldControl-derived rendering control handles interaction with users Its plain simple HTML/ASCX code
  • 42.
  • 43.
  • 44. Field Class – Summary Demo Naming Convention - field_type_nameField Field class should inherit either SPField or one of the various other SPField classes InPagePod inherits from SPFieldMultiColumn Override the FieldRenderingControlproperty which returns the control that can be used to render the field in Edit and Display mode Field Class object handles interactions with the content database
  • 46. Field Value Demo String Value (Or) titleImgUrl;podContent;contentImageUrl Custom Value Class SPFieldMultiColumnSPFieldMultiColumnValue SPFieldUrl SPFieldUrlValue ;#TitleImage;#PodContent;#ContentImage;#
  • 47. Field Value – Saving Field Values Demo
  • 48. Demo InPagePod Field – Field Value
  • 49. Field Value– Summary Demo Naming Convention - field_type_nameFieldValue String Value Custom Value Class A custom field value class must implement at least two constructors, and usually only two SharePoint delimiter - ;#
  • 51. Field Validation Demo (when the Publishing Page is validated) (before committing to the content database)
  • 52. Validate When Saving Field Values Demo
  • 53. Overriding Validate Method Demo ;#TitleImage;#PodContent;#ContentImage;#
  • 54. Overriding GetValidatedString Method Demo ;#TitleImage;#PodContent;#ContentImage;#
  • 55. Demo InPagePod Field – Field Validation
  • 56. Field Validation – Summary Demo Validate the control values before setting the field values in the Field Control class Set the IsValidto false Set the ErrorMessageto an appropriate error message Override the Validate method in the Field Control class Set the IsValidto false Set the ErrorMessageto an appropriate error message Override the GetValidatedString in the Field class Throw SPFieldValidationException as an error
  • 57. Demo Field Type Definition
  • 58. Field Type Definition Demo fldtypes_spconf.xml fldtypes*.xml
  • 59. Demo InPagePod Field – Field Type Definition
  • 60. Demo Custom Field Type Deployment
  • 61. Custom Field – Deployment Demo *.ascx Rendering Template 12EMPLATEONTROLTEMPLATESbr />Rendering Control Class *.cs (.dll) Field Control Class fldtypes*.xml GAC Field Class Field Value Class Field Type Definition 12EMPLATEMLbr />*.WSP
  • 62. Custom Field – Usage Demo
  • 64. Resources Demo Web Content Management Resource Center for SharePoint Server http://bit.ly/moss-wcm SharePoint Server Developer Center http://bit.ly/moss-dev MSDN: How to Create a Custom Field Control http://bit.ly/custom-field-control Chaks’ Blog http://bit.ly/chaks Robert Stewart’s Blog http://bit.ly/robert-stewart
  • 65. Thank You chaks@intergen.co.nz robs@intergen.co.nz