Upload
keiran
View
35
Download
0
Tags:
Embed Size (px)
DESCRIPTION
The Ribbon UI and Custom Actions in SharePoint 2010. Geoff Varosky December 11, 2012. About me. Geoff Varosky Jornata Managing Consultant, Senior Architect, Senior Developer, Director of Evangelism Co-Founder Boston Area SharePoint Users Group Co-Organizer SharePoint Saturday Boston - PowerPoint PPT Presentation
Citation preview
The Ribbon UI and Custom Actions in SharePoint 2010Geoff VaroskyDecember 11, 2012
ABOUT ME
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Geoff Varosky Jornata
Managing Consultant, Senior Architect, Senior Developer, Director of Evangelism
Co-Founder Boston Area SharePoint Users Group Co-Organizer SharePoint Saturday Boston
Blog – www.SharePointYankee.com Email – [email protected] Twitter – @gvaro LinkedIn & Facebook
AGENDA
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Introducing the Ribbon UI Demo
What are Custom Actions? Demo
Resources Q&A
INTRODUCING THE RIBBON UI
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
WHAT ARE CUSTOM ACTIONS?
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
WHAT ARE CUSTOM ACTIONS? Anything that can be put into an HREF anchor tag
or “link”
<a href=“CUSTOMACTION”>linky linky</a>
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
WHAT ARE CUSTOM ACTIONS? Bits of XML
<CustomActionId=“MyCustomAction”Location=“Microsoft.SharePoint.SiteSettings… />
Links<CustomAction …>
<UrlAction Url=“http://www.foo.com” /></CustomAction>
JavaScript<CustomAction …>
<UrlAction Url=“javascript:DoSomething();” /></CustomAction>
Code Behind<CustomAction
…ControlAssembly=“MyCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=63316a326e123aec"ControlClass=“MyCode.Class“ />
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
WHAT ARE CUSTOM ACTIONS?
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Can be bound to… Lists
Tasks, Document Libraries, Custom, etc.
WHAT ARE CUSTOM ACTIONS?
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Can be bound to… File Types
By Extension - .docx, .pl, .foo, .bar
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)
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
BUILDING CUSTOM ACTIONS SharePoint Designer 2010
Build Custom Actions List Item Menu (Context Menu) List View, Edit, Display Forms
Visual Studio 2010 Import from WSP file Add functionality Package Deploy
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
URLACTION TOKENS ~site
Site (Web) ~sitecollection
Site Collection {ItemId}
GUID representation of the current item {ItemUrl}
URL of the current item {ListId} {ListURL} {RecurrenceId}
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
(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>
(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
(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
(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
(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).
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
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
RESOURCES Custom Actions Articles on my blog
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) And more! http://go.gvaro.net/dZS9NJ
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
RESOURCES MSDN
Custom Action Definition Schema CommandUI Defintions, Extensions, Handlers CustomAction, CustomActionGroup, HideCustomAction Default Locations and IDs http://go.gvaro.net/9q0QV2
Eric Kraus Listing all Custom Actions in the Farm with PowerShell http://go.gvaro.net/bD7OHm
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
RESOURCES Wictor Wilé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
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
QUESTIONS?
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
BOSTON AREA SHAREPOINT UG Meets 2nd Wednesday/month 6-8PM Microsoft N.E.R.D. (Cambridge) BostonSharePointUG.org Twitter: @BASPUG / #BASPUG
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
QUESTIONS?
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
ABOUT ME
[email protected] | @gvaro | www.sharepointyankee.com | www.jornata.com | @JornataLLC
Geoff Varosky Jornata
Managing Consultant, Senior Architect, Senior Developer, Director of Evangelism
Co-Founder Boston Area SharePoint Users Group Co-Organizer SharePoint Saturday Boston
Blog – www.SharePointYankee.com Email – [email protected] Twitter – @gvaro LinkedIn & Facebook