SlideShare a Scribd company logo
Introduction to Developing Custom Actions within 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 StaffMicrosoft Gold PartnerSpecializing in SharePoint and Dynamics (CRM, SL, GP, NAV)Web: http://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&A
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/d8y70
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 Out
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, etc.) document types
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)
What Can Custom Actions Do?Examples of Custom ActionsEdit Control Block (ECB Menu)ToolbarsSite Actions MenuSite Settings PageCentral Administration PagesOperations, Application ManagementShared Service Provider PagesYou get the idea…(hopefully?)
ExamplesToolbars
ExamplesSite Actions Menu
ExamplesSite Settings
ExamplesSite Settings (Custom Action Group)
ExamplesEdit Control Block (ECB)
ExamplesCentral Administration Pages
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. (Why? Who knows…) Never fear though – you can add one easily (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)
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)
What Tools Are Needed?Notepad!What 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/nt6ux
DemoCreating a Simple Custom Action
Anatomy of a Custom ActionFeature Definition (feature.xml)
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.....Anatomy of a Custom ActionElement Manifest (manifest.xml)
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>
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:SiteAdministrationAnatomy 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

DOCX
Working With Sharepoint 2013 Apps Development
PDF
Html server control - ASP. NET with c#
DOC
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
DOCX
Angular js
PPTX
Data Access Options in SharePoint 2010
DOCX
SharePoint 2013 REST API & Remote Authentication
PPTX
Introduction to the SharePoint 2013 REST API
PDF
Gae Meets Django
Working With Sharepoint 2013 Apps Development
Html server control - ASP. NET with c#
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
Angular js
Data Access Options in SharePoint 2010
SharePoint 2013 REST API & Remote Authentication
Introduction to the SharePoint 2013 REST API
Gae Meets Django

What's hot (20)

PDF
AtlasCamp 2015: Web technologies you should be using now
PDF
Django 1.10.3 Getting started
PDF
AtlasCamp 2015: Connect everywhere - Cloud and Server
PPTX
SharePoint Saturday Atlanta 2015
PDF
AtlasCamp 2015: Using add-ons to build add-ons
PPTX
Advanced SharePoint Web Part Development
PDF
Developing an intranet on office 365
PDF
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
PPTX
Introduction to SharePoint 2013 REST API
KEY
Introduction Django
PDF
Integrating Plone with E-Commerce and Relationship Management: A Case Study i...
PDF
In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces
PDF
Course CodeSchool - Shaping up with Angular.js
PPTX
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
PDF
Android search
PDF
Search APIs & Universal Links
PPTX
4. jsp
PPTX
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
PPTX
SharePoint 2010 Client-side Object Model
PDF
AtlasCamp 2015: Web technologies you should be using now
Django 1.10.3 Getting started
AtlasCamp 2015: Connect everywhere - Cloud and Server
SharePoint Saturday Atlanta 2015
AtlasCamp 2015: Using add-ons to build add-ons
Advanced SharePoint Web Part Development
Developing an intranet on office 365
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Introduction to SharePoint 2013 REST API
Introduction Django
Integrating Plone with E-Commerce and Relationship Management: A Case Study i...
In The Brain of Cagatay Civici: Exploring JavaServer Faces 2.0 and PrimeFaces
Course CodeSchool - Shaping up with Angular.js
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Android search
Search APIs & Universal Links
4. jsp
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
SharePoint 2010 Client-side Object Model
Ad

Viewers also liked (6)

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

Similar to SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint (20)

PPTX
Introduction To Developing Custom Actions Within SharePoint
PPTX
Creating Custom Actions within SharePoint
PPTX
Geoff Varosky: Creating Custom Actions in SharePoint 2010
PPTX
Creating Custom Actions in SharePoint 2010
PPTX
Creating Custom Actions in SharePoint 2010
PDF
The Ribbon UI and 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
PDF
SharePoint 2010 Customization Poster
PPT
Schaeflein Dev409 Enterprise Branding Using Site Definitions
PPTX
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
DOC
WSS MOSS Portfolio
PPTX
SharePoint Mobile Extensions - improving efficiency of mobile workforce
PDF
Alfresco tech talk live share extensibility metadata and actions for 4.1
PPTX
Customizing Share Point The Supported Wa 1234869680124198 3
PPTX
Customizing Share Point The Supported Wa
PPTX
Customizing Share Point The Supported Wa 1234869680124198 3
PPTX
Customizing Share Point The Supported Wa
PPTX
Customizing Share Point The Supported Wa
PPTX
Defining business process and workflows
Introduction To Developing Custom Actions Within SharePoint
Creating Custom Actions within SharePoint
Geoff Varosky: Creating Custom Actions in SharePoint 2010
Creating Custom Actions in SharePoint 2010
Creating Custom Actions in SharePoint 2010
The Ribbon UI and 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 2010 Customization Poster
Schaeflein Dev409 Enterprise Branding Using Site Definitions
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
WSS MOSS Portfolio
SharePoint Mobile Extensions - improving efficiency of mobile workforce
Alfresco tech talk live share extensibility metadata and actions for 4.1
Customizing Share Point The Supported Wa 1234869680124198 3
Customizing Share Point The Supported Wa
Customizing Share Point The Supported Wa 1234869680124198 3
Customizing Share Point The Supported Wa
Customizing Share Point The Supported Wa
Defining business process and workflows

More from Geoff Varosky (20)

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
PPTX
From SharePoint Designer to Visual Studio - Prototyping and Deploying Solutio...
PPTX
What's New for Developers in SharePoint 2010
PPTX
SharePoint Saturday NYC 1/30/10 - Whats New For Developers In Share Point 2010
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
From SharePoint Designer to Visual Studio - Prototyping and Deploying Solutio...
What's New for Developers in SharePoint 2010
SharePoint Saturday NYC 1/30/10 - Whats New For Developers In Share Point 2010

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
sap open course for s4hana steps from ECC to s4
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Building Integrated photovoltaic BIPV_UPV.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
Review of recent advances in non-invasive hemoglobin estimation
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
NewMind AI Weekly Chronicles - August'25-Week II
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
sap open course for s4hana steps from ECC to s4

SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint

  • 1. Introduction to Developing Custom Actions within 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 StaffMicrosoft Gold PartnerSpecializing in SharePoint and Dynamics (CRM, SL, GP, NAV)Web: http://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&A
  • 5. 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/d8y70
  • 6. 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 Out
  • 7. 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, etc.) document types
  • 8. 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)
  • 9. What Can Custom Actions Do?Examples of Custom ActionsEdit Control Block (ECB Menu)ToolbarsSite Actions MenuSite Settings PageCentral Administration PagesOperations, Application ManagementShared Service Provider PagesYou get the idea…(hopefully?)
  • 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. (Why? Who knows…) Never fear though – you can add one easily (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)
  • 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)
  • 18. What Tools Are Needed?Notepad!What 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/nt6ux
  • 19. DemoCreating a Simple Custom Action
  • 20. Anatomy of a Custom ActionFeature Definition (feature.xml)
  • 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.....Anatomy of a Custom ActionElement Manifest (manifest.xml)
  • 31. 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>
  • 32. Anatomy of a Custom ActionId (optional)Specifies a unique identifier for custom action
  • 33. May be a GUID or a unique term
  • 34. Example:DeleteWebGroupID(optional)Identifies the unique group that this element is contained in
  • 35. Example:SiteAdministrationAnatomy of a Custom ActionLocation (optional)Specifies the location for this custom action
  • 36. Example:Microsoft.SharePoint.SiteSettingsRegistrationType(optional)Specifies the list, item content type, file type, or programmatic identifier that this action is associated with
  • 37. Example: ListAnatomy of a Custom ActionRegistrationId(optional)Specifies the registration attachment for a per-item action
  • 38. Example (List Identifier – Task List): 107 (http://snipurl.com/ntd5g)Title (required)Specifies the name of your action
  • 39. Example: DeleteWebDescription (optional)Longer description for action which is shown as a tooltip or sub-description (where applicable) for the actionAnatomy of a Custom ActionSequence (optional)The order in which your action will appear.
  • 40. If not specified, displayed in the order it is read by SharePoint by Feature and by order in element listing (XML).Anatomy of a Custom ActionPermissionsRequireSiteAdministrator (optional)
  • 42. Cannot be used on ECB menu list items
  • 44. Specify rights needed for this Custom Action to be visible
  • 46. Possible Values http://snipurl.com/ntcz5Anatomy of a Custom ActionUrlAction Tokens~site
  • 47. References the current SPWeb context
  • 49. References the current SPSite context
  • 51. GUID of the item action is called from
  • 53. URL of the item the action is called fromAnatomy of a Custom ActionUrlAction Tokens{ListId}
  • 56. References the URL of the SPWeb context the action is called from
  • 58. Unsupported in context menus (http://snipurl.com/ntcjc)
  • 60. This token is not available, but there is a way to get it via JavaScript, which we will see in Demo #2
  • 64. 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/d8zea
  • 65. 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/d9jhs
  • 66. Q&A
  • 67. 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

  • #2: Thank you for your time today.<Introductions>
  • #33: Hidden=trueActivate and deactivate via CMD line – why? You do not want site admins, who you are hiding this from, to be able to deactivate the feature to delete the site!stsadm -o activatefeature -name SPS.HideCustomAction -url http://spsaturday.litwareinc.com
  • #37: Record questions – post answers on my blog following SharePoint Saturday