设为首页 收藏本站
查看: 726|回复: 0

[经验分享] 在SharePoint 2010上给用户操作菜单增加一个操作

[复制链接]

尚未签到

发表于 2015-9-25 10:38:09 | 显示全部楼层 |阅读模式
  由于业务的需要,需要在用户操作菜单的位置增加一个操作菜单,具体做法如下:
  首先我建立一个名为“LeoPersonalAction.xml”的XML文档,这个文档用于定义操作菜单,代码如下:



1 <?xml version="1.0" encoding="utf-8" ?>
2 <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
3 <!-- Document Library Toolbar New Menu Dropdown -->
4   <CustomAction Id="UserCustomAction"
5     GroupId="PersonalActions"
6     Location="Microsoft.SharePoint.StandardMenu"
7     Sequence="1000"
8     Title="Leo's Blog">
9     <UrlAction Url="http://leolis.cnblogs.com"/>
10   </CustomAction>
11 </Elements>
  关于用户操作CustomAction的属性定义如下:


DSC0000.gif DSC0001.gif View Code


1 <CustomAction
2 RequiredAdmin = "Delegated | Farm | Machine"
3   ControlAssembly = "Text"
4   ControlClass = "Text"
5   ControlSrc = "Text"
6   Description = "Text"
7   FeatureId = "Text"
8   GroupId = "Text"
9   Id = "Text"
10   ImageUrl = "Text"
11   Location = "Text"
12   RegistrationId = "Text"
13   RegistrationType = "Text"
14   RequireSiteAdministrator = "TRUE" | "FALSE"
15   Rights = "Text"
16   RootWebOnly = "TRUE" | "FALSE"
17   ScriptSrc = "Text"
18   ScriptBlock = "Text"
19   Sequence = "Integer"
20   ShowInLists = "TRUE" | "FALSE"
21   ShowInReadOnlyContentTypes = "TRUE" | "FALSE"
22   ShowInSealedContentTypes = "TRUE" | "FALSE"
23   Title = "Text"
24   UIVersion = "Integer">
25 </CustomAction>
  具体属性说明参照下表:

  属性

  说明



  RequiredAdmin


  可选属性,类型为 Text。指定应用自定义操作所需的管理权限。此值用于调整管理中心中的链接。可能的值为:


  •   Delegated

  •   Farm

  •   Machine





  ControlAssembly


  可选属性,类型为 Text。指定支持自定义操作的控件的程序集。




  ControlClass


  可选属性,类型为 Text。指定支持自定义操作的控件类。




  ControlSrc


  可选属性,类型为 Text。指定用作自定义操作的源的 .ascx 文件的相对 URL,例如,"~/_controltemplates/myCustomAction.ascx"。




  Description


  可选属性,类型为 Text。将已公开操作的较长描述指定为工具提示或该操作的子描述。




  FeatureId


  可选属性,类型为 Text。标识与自定义操作相关联的功能。




  GroupId


  可选属性,类型为 Text。标识包含该操作的操作组(例如,"SiteManagement")。如果包含在自定义操作组中,则 GroupId 属性的值必须等于 CustomActionGroup 元素的组 ID。
  有关 Microsoft SharePoint Foundation 中使用的默认自定义操作组 ID 的列表,请参阅默认自定义操作位置和 ID。




  Id


  可选属性,类型为 Text。指定自定义操作的唯一标识符。ID 可能是 GUID,也可能是一个特定词语(如 "HtmlViewer")。




  ImageUrl


  可选属性,类型为 Text。指定虚拟服务器的相对链接,该链接指向表示项的图标的图像。




  Location


  可选属性,类型为 Text。指定此自定义操作的位置,例如,"Microsoft.SharePoint.SiteSettings"。
  如果 CustomAction 元素包含 CommandUIExtension 子元素,则 Location 必须以“CommandUI.Ribbon”开头。有关用于服务器功能区的默认位置的列表,请参阅默认服务器功能区自定义位置。
  如果自定义操作是一个菜单项或工具栏按钮,则可能的选项包括 EditControlBlock、NewFormToolbar、DisplayFormToolbar 和 EditFormToolbar。
  如果包含在一个自定义操作组中,则 Location 属性的值必须与 CustomActionGroup 元素的位置相同。
  有关 SharePoint Foundation 中使用的默认自定义操作位置的列表,请参阅默认自定义操作位置和 ID。




  RegistrationId


  可选属性,类型为 Text。指定与此操作关联的列表或项内容类型的标识符,或文件类型或编程标识符 (ProgID)。




  RegistrationType


  可选属性,类型为 Text。为每项操作指定注册附件。可能的值包括:


  •   None

  •   List

  •   ContentType

  •   ProgId

  •   FileType





  RequireSiteAdministrator


  可选属性,类型为 Boolean。如果为 TRUE,则指定仅在用户为网站管理员时才显示项;否则为 FALSE。不支持使用与此列表项关联的 SharePoint Foundation 命令的下拉菜单的 RequireSiteAdministrator 属性。




  Rights


  可选属性,类型为 Text。为使链接可见,需指定一组用户必须具有的权限(例如,"ViewListItems,ManageAlerts")。如果未指定,则操作始终显示在操作列表中。若要指定多个权限,请用逗号分隔各个值。将根据 AND 逻辑对这组权限进行逻辑分组,这表示用户必须具有指定的所有权限才能看到操作。有关可能的值的列表,请参阅 Microsoft.SharePoint.SPBasePermissions。




  RootWebOnly


  可选属性,类型为 Boolean。如果为 TRUE,则仅在根网站上部署自定义操作。此属性适用于沙盒解决方案中的自定义操作。




  ScriptSrc


  可选属性,类型为 Text。指定包含要执行的脚本的文件。仅在 Location 属性设置为 ScriptLink 时,此属性才适用。




  ScriptBlock


  可选属性,类型为 Text。指定要执行的脚本块。仅在 Location 属性设置为 ScriptLink 时,此属性才适用。




  Sequence


  可选属性,类型为 Integer。指定操作的排序优先级。




  ShowInLists


  此属性已弃用,不应该再使用。
  可选属性,类型为 Boolean。如果仅在用于管理内容类型的页上显示针对列表的自定义操作,则为 TRUE。默认值为 FALSE。




  ShowInReadOnlyContentTypes


  可选属性,类型为 Boolean。如果仅在用于管理内容类型的页上显示针对只读内容类型的自定义操作,则为 TRUE;默认值为 FALSE。




  ShowInSealedContentTypes


  可选属性,类型为 Boolean。如果仅在用于管理内容类型的页上显示针对密封内容类型的自定义操作,则为 TRUE。默认值为 FALSE。




  Title


  必需属性,类型为 Text。为此操作指定最终用户描述。




  UIVersion


  可选属性,类型为 Integer。指定应该列出此自定义操作的用户界面的版本。


  关于Location和GroupId所定义的位置可参照下面一个表:

  位置

  自定义操作组 ID

  组说明

  默认自定义操作 ID



  CommandUI.Ribbon.ListView


  不适用


  Location 对应于列表视图。





  CommandUI.Ribbon.NewForm


  不适用


  Location 对应于列表的新建表单。





  CommandUI.Ribbon.EditForm


  不适用


  Location 对应于列表的编辑表单。





  CommandUI.Ribbon.DisplayForm


  不适用


  Location 对应于列表的显示表单。





  CommandUI.Ribbon


  不适用


  Location 对应于列表视图以及列表的编辑、新建和显示表单。





  DisplayFormToolbar


  不适用


  Location 对应于列表的显示表单工具栏。


  ExportEventToolbarButton(日历)
  ExportContactToolbarButton(联系人)




  EditControlBlock


  不适用


  Location 对应于每项编辑控件块 (ECB) 菜单。





  EditFormToolbar


  不适用


  Location 对应于列表的编辑表单工具栏。





  Microsoft.SharePoint.Administration.ApplicationCreated


  链接


  “已创建应用程序”页。


  CreateSite
  HomePage




  Microsoft.SharePoint.Administration.ApplicationManagement


  ApplicationSecurity


  管理中心的“应用程序管理”页面上的“应用程序安全性”部分。




  •   WebPartSecurity

  •   SelfService

  •   WebApplicationSecurity

  •   ManagePolicy

  •   ManageAuthenticationProviders

  




  Microsoft.SharePoint.Administration.ApplicationManagement


  ExternalService


  管理中心的“应用程序管理”页面上的“外部服务连接”部分。




  •   OfficialFile

  •   HtmlViewer

  •   DocConversion

  




  Microsoft.SharePoint.Administration.ApplicationManagement


  SiteManagement


  管理中心的“应用程序管理”页面上的“SharePoint 网站管理”部分。




  •   CreateSite

  •   DeleteSite

  •   SiteUse

  •   QuotaDefinition

  •   SiteQuota

  •   SiteOwners

  •   ListSiteCollections

  




  Microsoft.SharePoint.Administration.ApplicationManagement


  WebApplicationConfiguration


  管理中心的“应用程序管理”页面上的“SharePoint Web 应用程序管理”部分。




  •   Extend

  •   Unextend

  •   Delete

  •   ManagedPaths

  •   EmailSettings

  •   GeneralSettings

  •   ManageContentDatabases

  •   ManageWebAppFeatures

  •   ListWebApplications

  




  Microsoft.SharePoint.Administration.ApplicationManagement


  WorkflowManagement


  管理中心的“应用程序管理”页面上的“工作流管理”部分。


  WorkflowManagement




  Microsoft.SharePoint.Administration.Operations


  BackupRestore


  管理中心的“操作”页面上的“备份和还原”部分。




  •   Backup

  •   BackupHistory

  •   Restore

  •   BackupStatus

  




  Microsoft.SharePoint.Administration.Operations


  DataConfiguration


  管理中心的“操作”页面上的“数据配置”部分。




  •   DefaultDatabase

  •   DataRetrieval

  




  Microsoft.SharePoint.Administration.Operations


  GlobalConfiguration


  管理中心的“操作”页面上的“全局配置”部分。




  •   RunningJobs

  •   JobDefinitions

  •   AlternateAccessMappings

  •   ManageFarmFeatures

  •   Solutions

  




  Microsoft.SharePoint.Administration.Operations


  LoggingAndReporting


  管理中心的“操作”页面上的“日志记录和报告”部分。




  •   DiagnosticLogging

  •   UsageAnalysis

  




  Microsoft.SharePoint.Administration.Operations


  Security


  管理中心的“操作”页面上的“安全性配置”部分。




  •   ServiceAccount

  •   Irm

  •   Antivirus

  •   BlockedFileTypes

  •   AdministrationRoles

  




  Microsoft.SharePoint.Administration.Operations


  Topology


  管理中心的“操作”页面上的“拓扑结构和服务”部分。




  •   FarmServers

  •   TopologyServices

  •   IncomingEmailServer

  •   ApproveDGs

  •   EmailConfiguration

  




  Microsoft.SharePoint.Administration.Operations


  Upgrade


  管理中心的“操作”页面。




  •   SiteUpgradeStatus

  •   FinalizeUpgrade

  




  Microsoft.SharePoint.ContentTypeSettings


  Fields


  网站集的“内容类型”页面上的“列”部分。




  •   AddField

  •   ReorderFields





  Microsoft.SharePoint.ContentTypeSettings


  General


  网站集的“内容类型”页面上的“设置”部分。




  •   ChangeNameDescription

  •   ChangeOptionalSettings

  •   ChangeWorkflowSettings

  •   RemoveContentType





  Microsoft.SharePoint.ContentTypeTemplateSettings


  Fields


  列表的“内容类型”页面上的“列”部分。




  •   AddField

  •   ReorderFields





  Microsoft.SharePoint.ContentTypeTemplateSettings


  General


  列表的“内容类型”页面上的“设置”部分。




  •   ChangeNameDescriptionGroup

  •   ChangeOptionalSettings

  •   ChangeWorkflowSettings

  •   RemoveContentType

  




  Microsoft.SharePoint.Create


  WebPages


  “创建”页面上的“网页”部分。





  Microsoft.SharePoint.GroupsPage


  NewMenu


  网站集的“人员和组”页面上的“新建”菜单。





  Microsoft.SharePoint.GroupsPage


  SettingsMenu


  网站集的“人员和组”页面上的“设置”菜单。





  Microsoft.SharePoint.ListEdit


  Communications


  列表或文档库的“自定义”页面上的“通信”部分。





  Microsoft.SharePoint.ListEdit


  GeneralSettings


  列表的“自定义”页面上的“常规设置”部分。





  Microsoft.SharePoint.ListEdit


  Permissions


  列表或文档库的“自定义”页面上的“权限和管理”部分。





  Microsoft.SharePoint.ListEdit.DocumentLibrary


  GeneralSettings


  文档库的“自定义”页面上的“常规设置”部分。





  Microsoft.SharePoint.PeoplePage


  ActionsMenu


  网站集的“人员和组”页面上的“操作”菜单。





  Microsoft.SharePoint.PeoplePage


  NewMenu


  网站集的“人员和组”页面上的“新建”菜单。





  Microsoft.SharePoint.PeoplePage


  SettingsMenu


  网站集的“人员和组”页面上的“设置”菜单。





  Microsoft.SharePoint.SiteSettings


  Customization


  “网站设置”页面上的“外观”部分。




  •   ProjectSettings

  •   NavOptions

  •   Theme

  •   TopNav

  •   QuickLaunch

  •   SaveAsTemplate

  •   ReGhost





  Microsoft.SharePoint.SiteSettings


  Galleries


  “网站设置”页面上的“库”部分。




  •   MasterPageCatalog

  •   ManageCType

  •   ManageField

  •   SiteTemplates

  •   ListTemplates

  •   WebParts

  •   Workflows





  Microsoft.SharePoint.SiteSettings


  SiteAdministration


  “网站设置”页面上的“网站管理”部分。




  •   RegionalSettings

  •   LibrariesAndLists

  •   WebUsage

  •   UserAlerts

  •   RSS

  •   SrchVis

  •   ManageSubWebs

  •   ManageSiteFeatures

  •   DeleteWeb





  Microsoft.SharePoint.SiteSettings


  SiteCollectionAdmin


  “网站设置”页面上的“网站集管理”部分。




  •   DeletedItems

  •   SiteCollectionUsage

  •   Storage

  •   ManageSiteCollectionFeatures

  •   Hierarchy

  •   Portal





  Microsoft.SharePoint.SiteSettings


  UsersAndPermissions


  “网站设置”页面上的“用户和权限”部分。




  •   PeopleAndGroups

  •   SiteCollectionAdministrators

  •   User





  Microsoft.SharePoint.StandardMenu


  ActionsMenu


  列表和文档库视图中的“操作”菜单。





  Microsoft.SharePoint.StandardMenu


  ActionsMenuForSurvey


  用于调查的“网站操作”菜单。





  Microsoft.SharePoint.StandardMenu


  NewMenu


  列表和文档库视图中的“新建”菜单。





  Microsoft.SharePoint.StandardMenu


  SettingsMenu


  列表和文档库视图中的“设置”菜单。





  Microsoft.SharePoint.StandardMenu


  SettingsMenuForSurvey


  用于调查的“网站设置”链接。





  Microsoft.SharePoint.StandardMenu


  SiteActions


  “网站操作”菜单。





  Microsoft.SharePoint.StandardMenu


  UploadMenu


  文档库视图中的“上载”菜单。





  Microsoft.SharePoint.StandardMenu


  ViewSelectorMenu


  用于更改功能区的列表编辑选项卡上提供的视图的视图选择菜单。





  Microsoft.SharePoint.User


  ActionsMenu


  网站“权限”页面上的“操作”菜单。





  Microsoft.SharePoint.User


  NewMenu


  网站“权限”页面上的“新建”菜单。





  Microsoft.SharePoint.User


  SettingsMenu


  网站“权限”页面上的“设置”菜单。





  Microsoft.SharePoint.Workflows


  LeftNavBarLinks


  用于管理工作流的页面上的左侧导航区域。





  NewFormToolbar


  不适用


  Location 对应于列表的新建表单工具栏。





  ViewToolbar


  不适用


  Location 对应于列表视图中的工具栏。


  然后我再建立一个名为“Feature.xml”的XML文档,这个文档用于将我刚刚建立的操作注册为SharePoint中的一个Feature,这里的Id属性是一个GUID,可以用VS的GUID生成工具来生成:
DSC0002.png
  XML文档代码如下:



1 <?xml version="1.0" encoding="GBK" ?>
2 <Feature Id="55028EC0-7602-4320-AC03-A1BB0C0F3AFE"
3     Title="用户操作菜单—博客"
4     Description="Leo的个人博客"
5     Version="1.0.0.0"
6     Scope="Site"
7     xmlns="http://schemas.microsoft.com/sharepoint/">
8   <ElementManifests>
9     <ElementManifest Location="LeoPersonalAction.xml" />
10   </ElementManifests>
11 </Feature>
  接下来,我到文件夹C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\下面建立了一个名为“LeoPersonalAction”的文件夹,然后将刚刚建好的两个XML文件放到这个文件夹下面。
  下面就是部署的工作了,我用记事本建立了一个名为“Install.bat”的文件,里面的内容如下:



1 @echo off
2
3 @set path=C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\bin
4
5 stsadm -o installfeature -filename LeoPersonalAction\Feature.xml
6
7 stsadm -o activatefeature -filename LeoPersonalAction\Feature.xml -url http://lishi
8
9 @set path=C:\Windows\system32
10
11 iisreset
12
13 echo Installation completed
14
15 pause
  下面运行一下“Install.bat”,看到出现了如下一个CMD的对话框:
DSC0003.png
  证明部署并激活成功了,好了,现在去测试一下吧,点击用户操作菜单,看到如下的界面:
DSC0004.png
  点击一下“Leo's Blog”,成功的转到我的博客了。
  其实如果我们借助VS 2010的话,就不需要这么麻烦的来部署了。
  首先打开VS 2010,建立一个名为“LeoPersonalAction”的“空白 SharePoint 项目”,在“SharePoint 自定义向导”中,选择“部署为沙盒解决方案”。单击“完成”。
  然后给这个项目添加一个名为“LeoPersonalAction”的“空元素”项目,打开“LeoPersonalAction”下面的“Elements.xml”文件,将其内容替换为“LeoPersonalAction.xml”中的内容,然后保存。
  最后在VS里面直接部署就可以了。
  怎么发现最近老是在做一些前端的东西了。
  参考文档:CustomAction 元素
  默认自定义操作位置和 ID

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118559-1-1.html 上篇帖子: 使用Sharepoint 2007中的webservice操作列表 下篇帖子: 一个SharePoint定时器 (SPJobDefinition)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表