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.
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]
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]
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]
34. URL of the item the action is called fromgeoffvarosky 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]
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]