Introduction To Developing Custom Actions Within SharePoint

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Thank you for your time today.

    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

    5 Favorites

    Introduction To Developing Custom Actions Within SharePoint - Presentation Transcript

    1. Geoff Varosky
    2. – Geoff Varosky MCP, MCTS – Senior Solutions Developer for Grace-Hunt, LLC. – Company: http://www.grace-hunt.com – Blog: http://gvaro.spaces.live.com – Email: gvarosky@grace-hunt.com – Twitter: @gvaro
    3. – What are Custom Actions? – Demonstrations • Creating a Simple Custom Action • Creating a Slightly More Complex Custom Action • Hiding Custom Actions • Custom Action Groups – References – Q&A
    4. 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
    5. 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
    6. What does that mean? – Custom Actions can be bound to File Types • Example: ‘Edit in Microsoft Word’ bound to Word (.doc, .docx, etc.) Document Content Types
    7. 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)
    8. Examples of Custom Actions • Edit Control Block (ECB Menu)
    9. Examples of Custom Actions • Edit Control Block (ECB Menu) • Toolbars
    10. Examples of Custom Actions • Edit Control Block (ECB Menu) • Toolbars • Site Actions Menu
    11. Examples of Custom Actions • Edit Control Block (ECB Menu) • Toolbars • Site Actions Menu • Site Settings Page
    12. Examples of Custom Actions • Edit Control Block (ECB Menu) • Toolbars • Site Actions Menu • Site Settings Page • Central Administration Pages – Operations, Application Management
    13. 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
    14. 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…
    15. 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?)
    16. 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. …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. – Notepad! – What do I use? • Visual Studio 2005/2008 • Andrew Connell’s SharePoint Project Utility for Visual Studio – http://snipurl.com/d8yv9 • WSPBuilder – http://snipurl.com/d8yxv
    19. Creating a Simple Custom Action
    20. Feature Definition (feature.xml)
    21. Scope – 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.....
    22. Element Manifest (manifest.xml)
    23. <CustomAction ContentTypeId = \"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>
    24. Id (optional) – Specifies a unique identifier for custom action – May be a GUID or a unique term – Example: DeleteWeb GroupID (optional) – Identifies the unique group that this element is contained in – Example: SiteAdministration
    25. Location (optional) – Specifies the location for this custom action – Example: Microsoft.SharePoint.SiteSettings RegistrationType (optional) – Specifies the list, item content type, file type, or programmatic identifier that this action is associated with – Example: List
    26. RegistrationId (optional) – Specifies the registration attachment for a per-item action – Example (List Identifier – Task List): 107 Title (required) – Specifies the name of your action – Example: DeleteWeb Description (optional) – Longer description for action which is shown as a tooltip or sub- description (where applicable) for the action
    27. Sequence (optional) – The order in which your action will appear. – If not specified, displayed in the order it is read by SharePoint by Feature and by order in element listing (XML).
    28. Permissions – RequireSiteAdministrator (optional) – Boolean (True or False) – Cannot be used on ECB menu list items – Rights – Specify rights needed for this Custom Action to be visible – Example: “ApproveItems,DeleteListItems” – Possible Values http://snipurl.com/d8z2l
    29. UrlAction Tokens – ~site – References the current SPWeb context – ~sitecollection – References the current SPSite context – {ItemId} – GUID of the item action is called from – {ItemUrl} – URL of the item the action is called from
    30. UrlAction Tokens – {ListId} – GUID representation of the list – {SiteUrl} – References the URL of the SPWeb context the action is called from – {RecurrenceId} – Unsupported in context menus – Source URL – This token is not available, but there is a way to get it via JavaScript, which we will see in Demo #2 – http://snipurl.com/d8zb6
    31. Creating a Slightly More Complex Custom Action
    32. Hiding Custom Actions
    33. Custom Action Groups
    34. – My Blog • http://gvaro.spaces.live.com – GraceHunt.SharePoint CodePlex 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
    35. – 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
    36. Q&A
    37. – Geoff Varosky MCP, MCTS – Senior Solutions Developer for Grace-Hunt, LLC. – Company: http://www.grace-hunt.com – Blog: http://gvaro.spaces.live.com – Email: gvarosky@grace-hunt.com – Twitter: @gvaro

    + Geoff VaroskyGeoff Varosky, 8 months ago

    custom

    3751 views, 5 favs, 0 embeds more stats

    Presentation delivered at SharePoint Saturday in Bo more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 3751
      • 3751 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 5
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories