• Save
SPTechCon San Francisco 2011 - Geoff Varosky - Creating Custom Actions in SharePoint 2010
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

SPTechCon San Francisco 2011 - Geoff Varosky - Creating Custom Actions in SharePoint 2010

on

  • 2,415 views

Custom Actions control features in SharePoint, such as the Edit Control Block, the Site Actions menu, toolbars, and the links within the Site Settings page, as well as the Ribbon UI in SharePoint ...

Custom Actions control features in SharePoint, such as the Edit Control Block, the Site Actions menu, toolbars, and the links within the Site Settings page, as well as the Ribbon UI in SharePoint 2010. Learn how to leverage Custom Actions to extend the SharePoint user interface. This session will describe the basics of Custom Actions, a demonstration to build one or more and apply them to a site in SharePoint, describe some of the best practices around creating Custom Actions, and provide resources for additional information. Knowledge of C#, SharePoint, XML and Visual Studio will be helpful.

Statistics

Views

Total Views
2,415
Views on SlideShare
1,344
Embed Views
1,071

Actions

Likes
0
Downloads
0
Comments
0

7 Embeds 1,071

http://sharepointyankee.com 1006
http://gvaro.wordpress.com 58
http://static.slidesharecdn.com 3
url_unknown 1
http://webcache.googleusercontent.com 1
http://translate.googleusercontent.com 1
http://www.slashdocs.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SPTechCon San Francisco 2011 - Geoff Varosky - Creating Custom Actions in SharePoint 2010 Presentation Transcript

  • 1. Creating Custom Actions in SharePoint 2010
    Geoff Varosky
  • 2. About Me
    Geoff Varosky
    Grace Hunt
    SharePoint Solutions Group
    Director, Development & Evangelism
    Blogger, Author, Speaker
    BASPUG Co-Founder
    SPS Boston Co-Organizer
    Blog : www.sharepointyankee.com
    Email: gvarosky@gracehunt.com
    Twitter: @gvaro
    LinkedIn & Facebook
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 3. About Grace Hunt
    Microsoft Gold Partner
    Founded 2004
    Practice Areas
    Microsoft SharePoint Technologies
    Business Process and Planning
    Portals & Collaboration
    Information Worker Solutions
    Dynamics CRM, SL, GP, NAV
    Microsoft Cloud Technologies
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 4. Agenda
    What are Custom Actions?
    Demonstrations
    Using SharePoint Designer
    Importing into Visual Studio
    Finding Custom Actions
    Building & Deployment in Visual Studio
    References
    Q&A
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 5. What are Custom Actions?
    Site Actions Menu
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 6. What are Custom Actions?
    Ribbon UI
    Ribbon Tabs
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 7. What are Custom Actions?
    Site Settings Menu
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 8. What are Custom Actions?
    Edit Control Block (ECB) / List Item Menu
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 9. What are Custom Actions?
    Custom Action Group
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 10. What are Custom Actions?
    Tabs
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 11. What are Custom Actions?
    Tabs
    Organize a set of groups
    Contain one or more controls
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 12. What are Custom Actions?
    Controls
    Button
    Checkbox
    Color Picker
    Combo Box
    Drop Down
    Flyout Anchor
    Insert Table
    Label
    Menu
    Menu Section
    MRU Split Button
    Most Recently Used
    Spinner
    Split Button
    Text Box
    Toggle Button
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 13. What are Custom Actions?
    Bits of XML
    <CustomAction
    Id=“MyCustomAction”
    Location=“Microsoft.SharePoint.SiteSettings
    … />
    Links
    <CustomAction…>
    <UrlActionUrl=“http://www.foo.com” />
    </CustomAction>
    JavaScript (optional)
    <CustomAction …>
    <UrlActionUrl=“javascript:DoSomething();” />
    </CustomAction>
    Code Behind (optional)
    <CustomAction

    ControlAssembly=“MyCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=63316a326e123aec"ControlClass=“MyCode.Class“ />
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 14. (CustomAction) Anatomy 101
    <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">
    <URLAction URL=“” />
    <CommandUI></CommandUI>
    </CustomAction>
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 15. (CustomAction) Anatomy 101
    <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">
    <URLAction URL=“” />
    <CommandUI></CommandUI>
    </CustomAction>
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 16. (CustomAction) Anatomy 101
    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: SiteTasks
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 17. (CustomAction) Anatomy 101
    Location (optional)
    • Specifies the location for this custom action
    • 18. Example: Microsoft.SharePoint.SiteSettings
    RegistrationType(optional)
    • Specifies the list, item content type, file type, or programmatic identifier that this action is associated with
    • 19. Example: List
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 20. (CustomAction) Anatomy 101
    RegistrationId(optional)
    • Specifies the registration attachment for a per-item action
    • 21. Example (List Identifier – Task List): 107
    {$ListId:Lists/Tasks;}
    (http://snipurl.com/ntd5g)
    Title (required)
    • Specifies the name of your action
    • 22. Example: DeleteWeb
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 23. (CustomAction) Anatomy 101
    Description(optional)
    • Longer description for action which is shown as a tooltip or sub-description (where applicable) for the action
    • 24. Sequence (optional)
    • 25. The order in which your action will appear.
    • 26. If not specified, displayed in the order it is read by SharePoint by Feature and by order in element listing (XML).
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 27. (CustomAction) Anatomy 101
    UrlAction Tokens
    • ~site
    • 28. References the current SPWeb context
    • 29. ~sitecollection
    • 30. References the current SPSite context
    • 31. {ItemId}
    • 32. GUID of the item action is called from
    • 33. {ItemUrl}
    • 34. URL of the item the action is called from
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 35. (CustomAction) Anatomy 101
    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
    http://go.gvaro.net/bHaqaQ
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 36. What are Custom Actions?
    Can be bound to…
    Lists
    Tasks, Document Libraries, Custom, etc.
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 37. What are Custom Actions?
    Can be bound to…
    File Types
    By Extension - .docx, .pl, .foo, .bar
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 38. What are Custom Actions?
    Can be bound to…
    Content Types
    Tasks, Documents, Custom
    All (0x)
    http://go.gvaro.net/bbYxRy
    Programmatic Identifiers
    Tasks List (107)
    Content Types (0x)
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 39. Building Custom Actions
    SharePoint Designer 2010
    Visual Studio 2010
    CKS:DEV
    Adds Custom Action Item Templates
    http://cksdev.codeplex.com
    NotePad?
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 40. Building Custom Actions
    SharePoint Designer 2010
    Build Custom Actions
    List Item Menu
    List View, Edit, Display Forms
    Visual Studio 2010
    Import from WSP file
    Package
    Add Functionality
    Deploy
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 41. DEMOS!
    Building Custom Actions in SharePoint Designer 2010Importing Custom Actions into Visual Studio 2010Listing All Custom ActionsUsing CKS:DEVCustom Action GroupsHiding Custom ActionsMaybe more?
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 42. Bonus Round!
    Referencing JavaScript Files
    Jan Tielens on EUSP
    http://go.gvaro.net/dvCSS6
    Can Add JavaScript into the HEAD of a page using a Custom Action
    Location references “/_layouts/” always
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 43. References
    Eric Kraus
    Listing all Custom Actions in the Farm with PowerShell
    http://go.gvaro.net/bD7OHm
    MSDN
    Custom Action Definition Schema
    CommandUIDefintions, Extensions, Handlers
    CustomAction, CustomActionGroup, HideCustomAction
    Default Locations and IDs
    http://go.gvaro.net/9q0QV2
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 44. References
    WictorWilén
    Creating Custom Ribbon Extensions
    Part 1 - http://go.gvaro.net/aFUwBW
    Part 2 - http://go.gvaro.net/aGlydC
    Using JavaScript + Custom Actions to navigate Document Libraries
    http://go.gvaro.net/h2w8mN
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 45. References
    My Blog
    www.sharepointyankee.com
    Search for “Custom Action”
    Creating Custom Actions with SharePoint Designer
    Default List Type IDs
    Deploying Custom Actions Across All List Types
    Custom Actions in SharePoint 2007
    SPBasePermissions Enumeration (Rights)
    Creating Custom Actions using SharePoint Designer 2010
    “Delete This Site”
    More…
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 46. geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 47. Meets 2nd Wednesday/Month
    6P – 8PM
    Microsoft N.E.R.D. Center
    http://www.bostonsharepointug.org
    Twitter: @BASPUG / #BASPUG
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 48. Q&A
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]
  • 49. About Me
    Geoff Varosky
    Grace Hunt
    SharePoint Solutions Group
    Director, Development & Evangelism
    Blogger, Author, Speaker
    BASPUG Co-Founder
    SPS Boston Co-Organizer
    Blog : www.sharepointyankee.com
    Email: gvarosky@gracehunt.com
    Twitter: @gvaro
    geoffvarosky
    gvarosky@gracehunt.com [email]
    www.gracehunt.com [web]
    sharepointyankee.com [blog]
    @gvaro [twitter]