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
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
5. 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
6. 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
7. 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, etc.) document types
8. 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)
9. What Can Custom Actions Do? 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. 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)
17. 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)
18. 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
64. 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
65. 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
67. About Me Geoff Varosky MCP, MCTS Senior Solutions Developer for Grace-Hunt, LLC. Company: http://www.grace-hunt.com Blog: http://www.geoffvarosky.com Email: gvarosky@grace-hunt.com Twitter: @gvaro
Editor's Notes
Thank you for your time today.<Introductions>
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