Your SlideShare is downloading. ×
0
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
SharePoint Saturday Baltimore 7/25/09 - Introduction To Developing Custom Actions Within SharePoint
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

1,091

Published on

Updated presentation from my SharePoint Saturday Boston session - "Introduction to Developing Custom Actions within SharePoint"

Updated presentation from my SharePoint Saturday Boston session - "Introduction to Developing Custom Actions within SharePoint"

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,091
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Thank you for your time today.<Introductions>
  • 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
  • Record questions – post answers on my blog following SharePoint Saturday
  • Transcript

    • 1. Introduction to Developing Custom Actions within SharePointGeoff Varosky
    • 2. About Me
      Geoff Varosky MCP, MCTS
      Senior Solutions Developer for Grace-Hunt, LLC.
      Blog: http://www.geoffvarosky.com
      Email: gvarosky@grace-hunt.com
      Twitter: @gvaro
    • 3. About Grace-Hunt
      Founded in 2004
      Based in Hudson, MA
      Presence in North East, Mid Atlantic, and South East Regions
      Senior Level Staff
      Microsoft Gold Partner
      Specializing in SharePoint and Dynamics (CRM, SL, GP, NAV)
      Web: http://www.grace-hunt.com
    • 4. Agenda
      What are Custom Actions?
      Demonstrations
      Creating a Simple Custom Action
      Anatomy of a Custom Action
      Creating a Slightly More Complex Custom Action
      Hiding Custom Actions
      Custom Action Groups
      References
      Q&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 Types
      A Custom Action can be bound to a Document Library, but, may not be bound to a Task List
      Example: Check In/Check Out
    • 7. Just What Are Custom Actions?
      What does that mean?
      Custom Actions can be bound to File Types
      Example: ‘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 Types
      Example: Folders, Document Content Types, List Content Types, etc.
      Programmatic Identifiers
      Example: Task List Identifier (107)
    • 9. What Can Custom Actions Do?
      Examples of Custom Actions
      Edit Control Block (ECB Menu)
      Toolbars
      Site Actions Menu
      Site Settings Page
      Central Administration Pages
      Operations, Application Management
      Shared Service Provider Pages
      You get the idea…
      (hopefully?)
    • 10. Examples
      Toolbars
    • 11. Examples
      Site Actions Menu
    • 12. Examples
      Site Settings
    • 13. Examples
      Site Settings (Custom Action Group)
    • 14. Examples
      Edit Control Block (ECB)
    • 15. Examples
      Central Administration Pages
    • 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 upon
      Example: 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 more
      Custom Actions can also be hidden
      Example: 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 CustomActionGroup
      Example: 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 Studio
      Andrew Connell’s SharePoint Project Utility for Visual Studio
      http://snipurl.com/d8yv9
      Requires DevExpress DX Core to be installed (free)
      WSPBuilder (CodePlex)
      http://snipurl.com/d8yxv
      SharePoint Solution Installer (CodePlex)
      http://snipurl.com/nt6ux
    • 19. Demo
      Creating a Simple
      Custom Action
    • 20. Anatomy of a Custom Action
      Feature Definition (feature.xml)
    • 21. Anatomy of a Custom Action
      Scope
      • Web
      • 22. A “sub-site”
      • 23. Only activates the feature on the specific web
      • 24. Site
      • 25. Site Collection
      • 26. Applies to all webs within the site collection
      • 27. Web Application
      • 28. Applies to all site collections and webs within a web application
      • 29. Farm
      • 30. Applies to all web applications, site collections, etc.....
    • Anatomy of a Custom Action
      Element Manifest (manifest.xml)
    • 31. Anatomy of a Custom Action
      &lt;CustomAction
      ContentTypeId = &quot;Text&quot;
      ControlAssembly = &quot;Text&quot;
      ControlClass = &quot;Text&quot;
      ControlSrc = &quot;Text&quot;
      Description = &quot;Text&quot;
      GroupId = &quot;Text&quot;
      Id = &quot;Text&quot;
      ImageUrl = &quot;Text&quot;
      Location = &quot;Text&quot;
      RegistrationId = &quot;Text&quot;
      RegistrationType = &quot;Text&quot;
      RequireSiteAdministrator = &quot;TRUE&quot; | &quot;FALSE&quot;
      Rights = &quot;Text&quot;
      Sequence = &quot;Integer&quot;
      ShowInLists = &quot;TRUE&quot; | &quot;FALSE&quot;
      ShowInReadOnlyContentTypes = &quot;TRUE&quot; | &quot;FALSE&quot;
      ShowInSealedContentTypes = &quot;TRUE&quot; | &quot;FALSE&quot;
      Title = &quot;Text&quot;&gt;
      &lt;/CustomAction&gt;
    • 32. Anatomy of a Custom Action
      Id (optional)
      • Specifies a unique identifier for custom action
      • 33. May be a GUID or a unique term
      • 34. Example:DeleteWeb
      GroupID(optional)
      • Identifies the unique group that this element is contained in
      • 35. Example:SiteAdministration
    • Anatomy of a Custom Action
      Location (optional)
      • Specifies the location for this custom action
      • 36. Example:Microsoft.SharePoint.SiteSettings
      RegistrationType(optional)
      • Specifies the list, item content type, file type, or programmatic identifier that this action is associated with
      • 37. Example: List
    • Anatomy of a Custom Action
      RegistrationId(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: DeleteWeb
      Description (optional)
      • Longer description for action which is shown as a tooltip or sub-description (where applicable) for the action
    • Anatomy of a Custom Action
      Sequence (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 Action
      Permissions
      • RequireSiteAdministrator (optional)
      • 41. Boolean (True or False)
      • 42. Cannot be used on ECB menu list items
      • 43. Rights
      • 44. Specify rights needed for this Custom Action to be visible
      • 45. Example: “ApproveItems,DeleteListItems”
      • 46. Possible Values http://snipurl.com/ntcz5
    • Anatomy of a Custom Action
      UrlAction Tokens
      • ~site
      • 47. References the current SPWeb context
      • 48. ~sitecollection
      • 49. References the current SPSite context
      • 50. {ItemId}
      • 51. GUID of the item action is called from
      • 52. {ItemUrl}
      • 53. URL of the item the action is called from
    • Anatomy of a Custom Action
      UrlAction Tokens
      • {ListId}
      • 54. GUID representation of the list
      • 55. {SiteUrl}
      • 56. References the URL of the SPWeb context the action is called from
      • 57. {RecurrenceId}
      • 58. Unsupported in context menus (http://snipurl.com/ntcjc)
      • 59. Source URL
      • 60. This token is not available, but there is a way to get it via JavaScript, which we will see in Demo #2
      • 61. http://snipurl.com/d8zb6
    • Demo
      Creating a Slightly More Complex Custom Action
    • 62. Demo
      Hiding Custom Actions
    • 63. Demo
      Custom Action Groups
    • 64. Resources
      My Blog
      http://www.geoffvarosky.com
      Click on SharePoint Saturday category on left side of page
      GraceHunt.SharePointCodePlex Projects
      http://codeplex.com/GraceHunt
      John Holliday’s Custom Action Resources
      Hiding Custom Actions, and a Utility to get all custom action identifiers http://snipurl.com/d8zea
    • 65. Resources
      MSDN
      Custom Action Definitions
      http://snipurl.com/d8zi7
      Default Custom Action Locations and IDs
      http://snipurl.com/d8zka
      How to: Add Custom Actions to the User Interface
      http://snipurl.com/d8zq2
      CustomAction Element
      http://snipurl.com/d9jd4
      CustomActionGroup Element
      http://snipurl.com/d9jfx
      HideCustomAction Element
      http://snipurl.com/d9jhs
    • 66. Q&A
    • 67. About Me
      Geoff Varosky MCP, MCTS
      Senior Solutions Developer for Grace-Hunt, LLC.
      Company: http://www.grace-hunt.com
      Blog: http://www.geoffvarosky.com
      Email: gvarosky@grace-hunt.com
      Twitter: @gvaro

    ×