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

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

on

  • 2,353 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,353
Views on SlideShare
1,306
Embed Views
1,047

Actions

Likes
0
Downloads
0
Comments
0

7 Embeds 1,047

http://sharepointyankee.com 982
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 SPTechCon San Francisco 2011 - Geoff Varosky - Creating Custom Actions in SharePoint 2010 Presentation Transcript

    • Creating Custom Actions in SharePoint 2010
      Geoff Varosky
    • 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]
    • 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]
    • 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]
    • What are Custom Actions?
      Site Actions Menu
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • What are Custom Actions?
      Ribbon UI
      Ribbon Tabs
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • What are Custom Actions?
      Site Settings Menu
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • 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]
    • What are Custom Actions?
      Custom Action Group
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • What are Custom Actions?
      Tabs
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • 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]
    • 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]
    • 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]
    • (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]
    • (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]
    • (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]
    • (CustomAction) Anatomy 101
      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
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • (CustomAction) Anatomy 101
      RegistrationId(optional)
      • Specifies the registration attachment for a per-item action
      • Example (List Identifier – Task List): 107
      {$ListId:Lists/Tasks;}
      (http://snipurl.com/ntd5g)
      Title (required)
      • Specifies the name of your action
      • Example: DeleteWeb
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • (CustomAction) Anatomy 101
      Description(optional)
      • Longer description for action which is shown as a tooltip or sub-description (where applicable) for the action
      • 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).
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • (CustomAction) Anatomy 101
      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
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • (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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • 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]
    • Q&A
      geoffvarosky
      gvarosky@gracehunt.com [email]
      www.gracehunt.com [web]
      sharepointyankee.com [blog]
      @gvaro [twitter]
    • 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]