SlideShare a Scribd company logo
Creating Custom Actionswithin SharePointGeoff Varosky
About MeGeoff Varosky MCP, MCTSSenior Solutions Developer for Grace-Hunt, LLC.Blog: http://www.geoffvarosky.comEmail: gvarosky@grace-hunt.comTwitter: @gvaro
About Grace-HuntFounded in 2004Based in Hudson, MAPresence in North East, Mid Atlantic, and South East RegionsSenior Level Consulting and Sales StaffMicrosoft Gold PartnerSpecializing in SharePoint and Dynamics (CRM, SL, GP, NAV)Web: http://www.grace-hunt.comTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
AgendaWhat are Custom Actions?DemonstrationsCreating a Simple Custom ActionAnatomy of a Custom ActionCreating a Slightly More Complex Custom ActionHiding Custom ActionsCustom Action GroupsReferencesQ&ATwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
ExamplesToolbarsTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
ExamplesSite Actions MenuTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
ExamplesSite SettingsTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
ExamplesSite Settings (Custom Action Group)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
ExamplesEdit Control Block (ECB)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
ExamplesCentral Administration PagesTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Just What Are Custom Actions?Per Microsoft –“A custom action represents a link, toolbar button, menu item, or any control that can be added to a toolbar or menu that a user sees. Custom actions can be bound to list type, content type, file type, or programmatic identifier (ProgID).”Source: http://snipurl.com/d8y70Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Just What Are Custom Actions?What does that mean?Bits of XMLDeployed via FeaturesCreate a Link within SharePointSpecific LocationJavaScript, AJAX, URLs, etc.Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Just What Are Custom Actions?What does that mean?Custom Actions can be bound to List TypesA Custom Action can be bound to a Document Library, but, may not be bound to a Task ListExample: Check In/Check OutTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Just What Are Custom Actions?What does that mean?Custom Actions can be bound to File TypesExample: ‘Edit in Microsoft Word’ bound to Word (.doc, .docx) document typesTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Just What Are Custom Actions?What does that mean?Custom Actions can be bound to Content TypesExample: Folders, Document Content Types, List Content Types, etc.Programmatic IdentifiersExample: Task List Identifier (107)http://snipurl.com/ntd5gTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
What Can Custom Actions Do?But wait, there’s more!Create links to pages that really should be there…Example: There is a link to the Site Collection Recycle Bin on the Site Settings page, however, there is no link to the current site Recycle Bin. (Demo #1)Custom Actions can pass along information to act uponExample:  Add a “Complete Task” action to an Edit Control Block, which calls an ASPX page, taking the parameters of the List ID and Item ID, and updating the task item within a list. (Demo #2)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
What Can Custom Actions Do?…and moreCustom Actions can also be hiddenExample: You do not want site administrators to be able to delete their sites by using the Delete This Site link on the Site Settings page so, we can remove it by using  HideCustomAction (Demo #3)Create Groupings of Custom Actions by using CustomActionGroupExample: Create a grouping of your Custom Actions on the Site Settings page for all of your Custom Actions… (Demo #4)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
What Tools Are Needed?NotepadWhat do I use?Visual StudioAndrew Connell’s SharePoint Project Utility for Visual Studiohttp://snipurl.com/d8yv9Requires DevExpress DX Core to be installed (free)WSPBuilder (CodePlex)http://snipurl.com/d8yxvSharePoint Solution Installer (CodePlex)http://snipurl.com/nt6uxTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
DemoCreating a Simple Custom ActionView Demo: http://www.screencast.com/t/YjlhZTU0Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Anatomy of a Custom ActionFeature Definition (feature.xml)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Anatomy of a Custom ActionScope Web
 A “sub-site”
 Only activates the feature on the specific web
 Site
 Site Collection
 Applies to all webs within the site collection
 Web Application
 Applies to all site collections and webs within a web application
 Farm
 Applies to all web applications, site collections, etc.....Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Anatomy of a Custom ActionElement Manifest (manifest.xml)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Anatomy of a Custom Action<CustomActionContentTypeId = "Text" ControlAssembly = "Text" ControlClass = "Text" ControlSrc = "Text" Description = "Text" GroupId = "Text" Id = "Text" ImageUrl = "Text" Location = "Text" RegistrationId = "Text" RegistrationType = "Text" RequireSiteAdministrator = "TRUE" | "FALSE" Rights = "Text" Sequence = "Integer" ShowInLists = "TRUE" | "FALSE" ShowInReadOnlyContentTypes = "TRUE" | "FALSE" ShowInSealedContentTypes = "TRUE" | "FALSE" Title = "Text"> </CustomAction>Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Anatomy of a Custom ActionId (optional)Specifies a unique identifier for custom action
May be a GUID or a unique term
Example:DeleteWebGroupID(optional)Identifies the unique group that this element is contained in
Example:SiteAdministrationTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
Anatomy of a Custom ActionLocation (optional)Specifies the location for this custom action
Example:Microsoft.SharePoint.SiteSettingsRegistrationType(optional)Specifies the list, item content type, file type, or programmatic identifier that this action is associated with

More Related Content

PPTX
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...
PPTX
Planning and Configuring Extranets in SharePoint 2010
PPTX
SharePoint Saturday Boston 2/27/10 - Whats New For Developers In SharePoint 2010
PPTX
SharePoint Saturday Hartford - 01/29/11 - Creating Custom Actions in SharePoi...
PPTX
Introduction To Developing Custom Actions Within SharePoint
PDF
Automating Your Enterprise Application Deployments with PowerShell
PPTX
SharePoint Saturday NYC 1/30/10 - Whats New For Developers In Share Point 2010
PDF
The Ribbon UI and Custom Actions in SharePoint 2010
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...
Planning and Configuring Extranets in SharePoint 2010
SharePoint Saturday Boston 2/27/10 - Whats New For Developers In SharePoint 2010
SharePoint Saturday Hartford - 01/29/11 - Creating Custom Actions in SharePoi...
Introduction To Developing Custom Actions Within SharePoint
Automating Your Enterprise Application Deployments with PowerShell
SharePoint Saturday NYC 1/30/10 - Whats New For Developers In Share Point 2010
The Ribbon UI and Custom Actions in SharePoint 2010

What's hot (20)

PPTX
Creating Custom Actions in SharePoint 2010
PPTX
What's New for Developers in SharePoint 2010
PPTX
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...
PPTX
SharePoint for Project Management (2016)
PPTX
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
PPTX
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
PDF
SharePoint Power User (Site Owner) Training
PPTX
Office 365 Groups Deep Dive
PDF
"Leveraging SharePoint for Project Management" for SPTech Conference SFO
PDF
Utilizing SharePoint for Project Management
PDF
SEO dataLayer 2: Entity Wars
PDF
Kick-Ass Project Collaboration with Office 365 Groups
PDF
HTML5 Introduction
PPTX
From Event Receivers to SharePoint Webhooks
PDF
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...
PDF
Introduction to SharePoint Information Architecture
PPTX
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
PDF
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
PDF
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
PPTX
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)
Creating Custom Actions in SharePoint 2010
What's New for Developers in SharePoint 2010
How to (remote) control Office 365 with Azure (SharePoint Konferenz ppEDV Erd...
SharePoint for Project Management (2016)
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SharePoint Power User (Site Owner) Training
Office 365 Groups Deep Dive
"Leveraging SharePoint for Project Management" for SPTech Conference SFO
Utilizing SharePoint for Project Management
SEO dataLayer 2: Entity Wars
Kick-Ass Project Collaboration with Office 365 Groups
HTML5 Introduction
From Event Receivers to SharePoint Webhooks
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...
Introduction to SharePoint Information Architecture
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)
Ad

Viewers also liked (20)

PPTX
Weight Management & Body Image Week 8
DOCX
Crónicas de un zombie =)
PPTX
Energia eléctrica.
PDF
Portafolio 2013
PDF
San Clemente News 2-3-2012 edition
PPS
El Teléfono Móvil como Herramienta educativa
PPTX
Writing articles 011014
PPT
Alitara dossier v final
PDF
CEE 2014 Executive Briefing - Learn@lunch Series - 2 April 2014
DOC
Sistema de motivación por puntos
PDF
Ingles diversificada
PDF
SHA-ProjectsLibrary_FOM-ZenicaBlock
PDF
Seguridad: Backtrack1
PDF
Total-Retail-Global-Report 2016
DOC
Texto instructivo la tortilla francesa
PPTX
Los Verdiales
PDF
Directorio nacional de asociaciones de ayuda
PDF
Pertinencia de los estudios de cata y degustación para la definición de la ca...
PDF
ENX Magazine_Difference Makers 16 May
Weight Management & Body Image Week 8
Crónicas de un zombie =)
Energia eléctrica.
Portafolio 2013
San Clemente News 2-3-2012 edition
El Teléfono Móvil como Herramienta educativa
Writing articles 011014
Alitara dossier v final
CEE 2014 Executive Briefing - Learn@lunch Series - 2 April 2014
Sistema de motivación por puntos
Ingles diversificada
SHA-ProjectsLibrary_FOM-ZenicaBlock
Seguridad: Backtrack1
Total-Retail-Global-Report 2016
Texto instructivo la tortilla francesa
Los Verdiales
Directorio nacional de asociaciones de ayuda
Pertinencia de los estudios de cata y degustación para la definición de la ca...
ENX Magazine_Difference Makers 16 May
Ad

Similar to Global SharePoint Users Group 1/5/10 - Creating Custom Actions Within SharePoint (20)

PPTX
Creating Custom Actions within SharePoint
PPTX
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Act...
PPTX
Geoff Varosky: Creating Custom Actions in SharePoint 2010
PPTX
Creating Custom Actions in SharePoint 2010
PPTX
SharePoint Saturday EMEA - The Ribbon UI and Custom Actions in SharePoint 2010
PPTX
KWizCom SharePoint list custom actions feature product overview
PPTX
SharePoint Mobile Extensions - improving efficiency of mobile workforce
PPT
Schaeflein Dev409 Enterprise Branding Using Site Definitions
PDF
SharePoint 2010 Customization Poster
PPTX
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
PDF
Developing an intranet on office 365
PDF
Custom workflow in sharepoint
PPTX
Defining business process and workflows
PPTX
KWizCom SharePoint Mobile solution
PPTX
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
DOC
WSS MOSS Portfolio
DOC
Sharepoint 2010 content
PPTX
From SharePoint Designer to Visual Studio - Prototyping and Deploying Solutio...
PPTX
Code Free or Die
PDF
Alfresco tech talk live share extensibility metadata and actions for 4.1
Creating Custom Actions within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Act...
Geoff Varosky: Creating Custom Actions in SharePoint 2010
Creating Custom Actions in SharePoint 2010
SharePoint Saturday EMEA - The Ribbon UI and Custom Actions in SharePoint 2010
KWizCom SharePoint list custom actions feature product overview
SharePoint Mobile Extensions - improving efficiency of mobile workforce
Schaeflein Dev409 Enterprise Branding Using Site Definitions
SharePoint 2010 Customization Poster
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
Developing an intranet on office 365
Custom workflow in sharepoint
Defining business process and workflows
KWizCom SharePoint Mobile solution
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
WSS MOSS Portfolio
Sharepoint 2010 content
From SharePoint Designer to Visual Studio - Prototyping and Deploying Solutio...
Code Free or Die
Alfresco tech talk live share extensibility metadata and actions for 4.1

More from Geoff Varosky (17)

PPTX
Using Azure Runbooks and Microsoft Flow to Automate SharePoint Tasks
PPTX
Automating Enterprise Application Deployments with PowerShell
PDF
Planning and Configuring Extranets in SharePoint 2010
PPTX
Planning and Configuring Extranets in SharePoint 2010
PPTX
Planning and Configuring Extranets in SharePoint 2010
PPTX
Planning and Configuring Extranets in SharePoint 2010
PPTX
Planning and Configuring Extranets in SharePoint 2010
PPTX
The Ribbon UI and Custom Actions in SharePoint 2010
PPTX
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
PDF
Planning and Configuring Extranets in SharePoint 2010
PPTX
Who? What? Where? Searching in SharePoint
PPTX
Planning and Configuring Extranets in SharePoint 2010 @ SharePoint Saturday N...
PPTX
Spsnh geoff varosky - jornata - planning and configuring extranets in share...
PPTX
Planning and Configuring Extranets in SharePoint 2010
PPTX
Planning and Configuring Extranets in SharePoint 2010
PDF
Creating Custom Actions in SharePoint 2010
PDF
Just Freakin' Work - Overcoming Hurdles and Avoiding Pain
Using Azure Runbooks and Microsoft Flow to Automate SharePoint Tasks
Automating Enterprise Application Deployments with PowerShell
Planning and Configuring Extranets in SharePoint 2010
Planning and Configuring Extranets in SharePoint 2010
Planning and Configuring Extranets in SharePoint 2010
Planning and Configuring Extranets in SharePoint 2010
Planning and Configuring Extranets in SharePoint 2010
The Ribbon UI and Custom Actions in SharePoint 2010
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Planning and Configuring Extranets in SharePoint 2010
Who? What? Where? Searching in SharePoint
Planning and Configuring Extranets in SharePoint 2010 @ SharePoint Saturday N...
Spsnh geoff varosky - jornata - planning and configuring extranets in share...
Planning and Configuring Extranets in SharePoint 2010
Planning and Configuring Extranets in SharePoint 2010
Creating Custom Actions in SharePoint 2010
Just Freakin' Work - Overcoming Hurdles and Avoiding Pain

Recently uploaded (20)

PPTX
Spectroscopy.pptx food analysis technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Cloud computing and distributed systems.
PDF
Machine learning based COVID-19 study performance prediction
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPT
Teaching material agriculture food technology
PDF
cuic standard and advanced reporting.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectroscopy.pptx food analysis technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Cloud computing and distributed systems.
Machine learning based COVID-19 study performance prediction
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25-Week II
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

Global SharePoint Users Group 1/5/10 - Creating Custom Actions Within SharePoint

  • 1. Creating Custom Actionswithin SharePointGeoff Varosky
  • 2. About MeGeoff Varosky MCP, MCTSSenior Solutions Developer for Grace-Hunt, LLC.Blog: http://www.geoffvarosky.comEmail: gvarosky@grace-hunt.comTwitter: @gvaro
  • 3. About Grace-HuntFounded in 2004Based in Hudson, MAPresence in North East, Mid Atlantic, and South East RegionsSenior Level Consulting and Sales StaffMicrosoft Gold PartnerSpecializing in SharePoint and Dynamics (CRM, SL, GP, NAV)Web: http://www.grace-hunt.comTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 4. AgendaWhat are Custom Actions?DemonstrationsCreating a Simple Custom ActionAnatomy of a Custom ActionCreating a Slightly More Complex Custom ActionHiding Custom ActionsCustom Action GroupsReferencesQ&ATwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 5. ExamplesToolbarsTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 6. ExamplesSite Actions MenuTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 7. ExamplesSite SettingsTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 8. ExamplesSite Settings (Custom Action Group)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 9. ExamplesEdit Control Block (ECB)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 10. ExamplesCentral Administration PagesTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 11. Just What Are Custom Actions?Per Microsoft –“A custom action represents a link, toolbar button, menu item, or any control that can be added to a toolbar or menu that a user sees. Custom actions can be bound to list type, content type, file type, or programmatic identifier (ProgID).”Source: http://snipurl.com/d8y70Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 12. Just What Are Custom Actions?What does that mean?Bits of XMLDeployed via FeaturesCreate a Link within SharePointSpecific LocationJavaScript, AJAX, URLs, etc.Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 13. Just What Are Custom Actions?What does that mean?Custom Actions can be bound to List TypesA Custom Action can be bound to a Document Library, but, may not be bound to a Task ListExample: Check In/Check OutTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 14. Just What Are Custom Actions?What does that mean?Custom Actions can be bound to File TypesExample: ‘Edit in Microsoft Word’ bound to Word (.doc, .docx) document typesTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 15. Just What Are Custom Actions?What does that mean?Custom Actions can be bound to Content TypesExample: Folders, Document Content Types, List Content Types, etc.Programmatic IdentifiersExample: Task List Identifier (107)http://snipurl.com/ntd5gTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 16. What Can Custom Actions Do?But wait, there’s more!Create links to pages that really should be there…Example: There is a link to the Site Collection Recycle Bin on the Site Settings page, however, there is no link to the current site Recycle Bin. (Demo #1)Custom Actions can pass along information to act uponExample: Add a “Complete Task” action to an Edit Control Block, which calls an ASPX page, taking the parameters of the List ID and Item ID, and updating the task item within a list. (Demo #2)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 17. What Can Custom Actions Do?…and moreCustom Actions can also be hiddenExample: You do not want site administrators to be able to delete their sites by using the Delete This Site link on the Site Settings page so, we can remove it by using HideCustomAction (Demo #3)Create Groupings of Custom Actions by using CustomActionGroupExample: Create a grouping of your Custom Actions on the Site Settings page for all of your Custom Actions… (Demo #4)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 18. What Tools Are Needed?NotepadWhat do I use?Visual StudioAndrew Connell’s SharePoint Project Utility for Visual Studiohttp://snipurl.com/d8yv9Requires DevExpress DX Core to be installed (free)WSPBuilder (CodePlex)http://snipurl.com/d8yxvSharePoint Solution Installer (CodePlex)http://snipurl.com/nt6uxTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 19. DemoCreating a Simple Custom ActionView Demo: http://www.screencast.com/t/YjlhZTU0Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 20. Anatomy of a Custom ActionFeature Definition (feature.xml)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 21. Anatomy of a Custom ActionScope Web
  • 23. Only activates the feature on the specific web
  • 26. Applies to all webs within the site collection
  • 28. Applies to all site collections and webs within a web application
  • 30. Applies to all web applications, site collections, etc.....Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 31. Anatomy of a Custom ActionElement Manifest (manifest.xml)Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 32. Anatomy of a Custom Action<CustomActionContentTypeId = "Text" ControlAssembly = "Text" ControlClass = "Text" ControlSrc = "Text" Description = "Text" GroupId = "Text" Id = "Text" ImageUrl = "Text" Location = "Text" RegistrationId = "Text" RegistrationType = "Text" RequireSiteAdministrator = "TRUE" | "FALSE" Rights = "Text" Sequence = "Integer" ShowInLists = "TRUE" | "FALSE" ShowInReadOnlyContentTypes = "TRUE" | "FALSE" ShowInSealedContentTypes = "TRUE" | "FALSE" Title = "Text"> </CustomAction>Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 33. Anatomy of a Custom ActionId (optional)Specifies a unique identifier for custom action
  • 34. May be a GUID or a unique term
  • 35. Example:DeleteWebGroupID(optional)Identifies the unique group that this element is contained in
  • 37. Anatomy of a Custom ActionLocation (optional)Specifies the location for this custom action
  • 38. Example:Microsoft.SharePoint.SiteSettingsRegistrationType(optional)Specifies the list, item content type, file type, or programmatic identifier that this action is associated with
  • 39. Example: ListTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 40. Anatomy of a Custom ActionRegistrationId(optional)Specifies the registration attachment for a per-item action
  • 41. Example (List Identifier – Task List): 107 (http://snipurl.com/ntd5g)Title (required)Specifies the name of your action
  • 42. Example: DeleteWebDescription (optional)Longer description for action which is shown as a tooltip or sub-description (where applicable) for the actionTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 43. Anatomy of a Custom ActionSequence (optional)The order in which your action will appear.
  • 44. If not specified, displayed in the order it is read by SharePoint by Feature and by order in element listing (XML).Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 45. Anatomy of a Custom ActionPermissionsRequireSiteAdministrator (optional)
  • 47. Cannot be used on ECB menu list items
  • 49. Specify rights needed for this Custom Action to be visible
  • 51. Possible Values http://snipurl.com/ntcz5Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 52. Anatomy of a Custom ActionUrlAction Tokens~site
  • 53. References the current SPWeb context
  • 55. References the current SPSite context
  • 57. GUID of the item action is called from
  • 59. URL of the item the action is called fromTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 60. Anatomy of a Custom ActionUrlAction Tokens{ListId}
  • 63. References the URL of the SPWeb context the action is called from
  • 65. Unsupported in context menus (http://snipurl.com/ntcjc)
  • 67. This token is not available, but there is a way to get it via JavaScript, which we will see in Demo #2
  • 69. DemoCreating a Slightly More Complex Custom ActionView Demo: http://www.screencast.com/t/ZDRhOTFkZmItTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 70. DemoHiding Custom ActionsView Demo: http://www.screencast.com/t/YmQwNWI1Twitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 71. DemoCustom Action GroupsView Demo: http://www.screencast.com/t/YjM2YzAzZmITwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 72. ResourcesMy Bloghttp://www.geoffvarosky.comClick on SharePoint Saturday category on left side of pageGraceHunt.SharePointCodePlex Projectshttp://codeplex.com/GraceHuntJohn Holliday’s Custom Action ResourcesHiding Custom Actions, and a Utility to get all custom action identifiers http://snipurl.com/d8zeaTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 73. ResourcesMSDNCustom Action Definitions http://snipurl.com/d8zi7Default Custom Action Locations and IDs http://snipurl.com/d8zkaHow to: Add Custom Actions to the User Interfacehttp://snipurl.com/d8zq2CustomAction Element http://snipurl.com/d9jd4CustomActionGroup Element http://snipurl.com/d9jfxHideCustomAction Elementhttp://snipurl.com/d9jhsTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 74. ResourcesCustom Actions in SharePoint 2010Adding Custom Button to the SharePoint 2010 Ribbonhttp://snipurl.com/tz3vq by Jonathon Frost @ MSDNAdding Custom Actions to the List Item Menu in SharePoint 2010 Using SharePoint Designer 2010 http://snipurl.com/tr0t3 by Geoff VaroskyHow to Add a Tab to the Ribbon in SharePoint Foundation http://snipurl.com/tz3wi by Andrew May @ SP Dev Doc TeamTwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 75. Q&ATwitter: @gvaroEmail: gvarosky@grace-hunt.comBlog: www.geoffvarosky.comCompany: www.grace-hunt.com
  • 76. About MeGeoff Varosky MCP, MCTSSenior Solutions Developer for Grace-Hunt, LLC.Company: http://www.grace-hunt.comBlog: http://www.geoffvarosky.comEmail: gvarosky@grace-hunt.comTwitter: @gvaro

Editor's Notes

  • #33: stsadm -o activatefeature -name SPS.HideCustomAction -url http://spsaturday.litwareinc.com