zoukankan      html  css  js  c++  java
  • 在SharePoint 2010上给用户操作菜单增加一个操作

    由于业务的需要,需要在用户操作菜单的位置增加一个操作菜单,具体做法如下:

    首先我建立一个名为“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的属性定义如下:

    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”开头。有关用于服务器功能区的默认位置的列表,请参阅默认服务器功能区自定义位置

    如果自定义操作是一个菜单项或工具栏按钮,则可能的选项包括 EditControlBlockNewFormToolbarDisplayFormToolbarEditFormToolbar

    如果包含在一个自定义操作组中,则 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生成工具来生成:

    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的对话框:

    证明部署并激活成功了,好了,现在去测试一下吧,点击用户操作菜单,看到如下的界面:

    点击一下“Leo's Blog”,成功的转到我的博客了。

    其实如果我们借助VS 2010的话,就不需要这么麻烦的来部署了。

    首先打开VS 2010,建立一个名为“LeoPersonalAction”的“空白 SharePoint 项目”,在“SharePoint 自定义向导”中,选择“部署为沙盒解决方案”。单击“完成”。

    然后给这个项目添加一个名为“LeoPersonalAction”的“空元素”项目,打开“LeoPersonalAction”下面的“Elements.xml”文件,将其内容替换为“LeoPersonalAction.xml”中的内容,然后保存。

    最后在VS里面直接部署就可以了。

    怎么发现最近老是在做一些前端的东西了。

    参考文档:CustomAction 元素

            默认自定义操作位置和 ID

  • 相关阅读:
    增删改查(Statement接口、PreparedStatement接口、DBUtils(QueryRunner类))
    JDBC(获取数据库连接、自定义JDBC工具类)
    Mysql(视图)
    mysql:dml(元组的插入、删除、修改)
    C++ 指针和引用
    C++ 内存管理
    C++ new/malloc、delete/free
    C++ 内存对齐
    图形渲染原理
    C++获取单链表的倒数第k个节点
  • 原文地址:https://www.cnblogs.com/leolis/p/2289221.html
Copyright © 2011-2022 走看看