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. 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, as well as provide resources for additional information.
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 Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: 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 Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
11. 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 Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
12. 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 Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
13. 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) document types Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
14. 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) http://snipurl.com/ntd5g Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
15. 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) Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
16. 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) Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
17. 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 Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
29. Applies to all web applications, site collections, etc.....Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
30. Anatomy of a Custom Action Element Manifest (manifest.xml) Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
43. If not specified, displayed in the order it is read by SharePoint by Feature and by order in element listing (XML).Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
71. 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 Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com
72. 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 Twitter: @gvaro Email: gvarosky@grace-hunt.com Blog: www.geoffvarosky.com Company: www.grace-hunt.com