这个菜单是用Feature部署上去的功能,先提一下Feature的作用:

微软在MOSS中利用Feature的特性,可以将Feature.xml中以特定格式描述的功能部署到MOSS中,这些功能包括工作流,菜单项,网站栏、内容类型...等等。然后可以在MOSS中配置启用或者停用这些功能,由于这个特性不需要进行代码开发,只需要配置Feature.xml和其中指定的另一个xml,方法简单可行。

Feature.xml如下:

<?xml version="1.0" encoding="utf-8" ?> 

<Feature Id="6098EC11-8128-409A-8D2C-414E93F67DD4" 

            Title="add my menu" 

            Description="this is a custom menu" 

            Version="1.0.0.0" 

            Scope="Site" 

            Hidden="FALSE" 

            DefaultResourceFile="customDocumentLibrary" 

            xmlns="http://schemas.microsoft.com/sharepoint/">

            <ElementManifests>

                <ElementManifest Location="elements.xml" /> 

            </ElementManifests>

</Feature>

解释一下其中的内容,

Id是GUID类型标示的唯一值,可以由VS自带的GUID Generator来生成,

Tiltle是功能标题,Version是版本号,Description:对description的描述,

Scope:其值可以是Web或Site,它指明了这个Feature是应用于整个的Site Collection还是仅仅用于单独的一个子站点。

Hidden:值可以是True或False.该设置指定了这个Feature是否在Site Feature页面上显示。DefaultResourceFile:资源文件名字,Feature依赖它提供其它附加的配置信息。

AlwaysForceInstall:这个属性设置为true 可以在重复安装这个feature中自动覆盖原来安装的那个相同的feature.
Feature.xml文件中的<ElementManifests>元素,这个元素包含了另一个XML文件的位置,而这个文件包含的<Elemnets>的内容是Feature要实现的。
<ElementManifest>元素指明了要使用一个名为ProvisionedFiles.xml的文件,以下是该文件的<Elements>元素内容。

下面是Feature.xml中指定的elements.xml内容:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

 <!-- create command link site setting page -->

 <!--第一个 -->

 <CustomAction Id="UserInterfaceLightUp.SiteActionsToolbar"

    GroupId="ActionsMenu"

    Location="Microsoft.SharePoint.StandardMenu"

    Sequence="1000"

ImageUrl="~sitecollection/eip/bbs/imgages/11.PNG"

    Title="匿名开启/关闭的设置">

    <UrlAction Url="~sitecollection/eip/bbs/aspx/BBS_Cryptonym.aspx"/>

 </CustomAction>

 <!--第二个 -->

<CustomAction Id="UserInterfaceLightUp.SiteActionsToolbar1"

    GroupId="SiteActions"

    Location="Microsoft.SharePoint.StandardMenu"

    Sequence="1000"

ImageUrl="~sitecollection/eip/bbs/imgages/11.PNG"

    Title="匿名开启/关闭的设置">

    <UrlAction Url="~sitecollection/eip/bbs/aspx/BBS_Cryptonym.aspx"/>

 </CustomAction>

 <!--第三个 -->

<CustomAction Id="UserInterfaceLightUp.SiteActionsToolbar3"

    GroupId="Customization"

    Location="Microsoft.SharePoint.SiteSettings"

    Sequence="306"

    Title="匿名开启/关闭的设置">

    <UrlAction Url="~sitecollection/eip/bbs/aspx/BBS_Cryptonym.aspx"/>

 </CustomAction>

 <!--第四个 -->

<CustomAction Id="UserInterfaceLightUp.SiteActionsToolbar"

    GroupId="NewMenu"

    Location="Microsoft.SharePoint.StandardMenu"

    Sequence="1000"

ImageUrl="~sitecollection/eip/bbs/imgages/11.PNG"

    Title="匿名开启/关闭的设置">

    <UrlAction Url="~sitecollection/eip/bbs/aspx/BBS_Cryptonym.aspx"/>

 </CustomAction>

 <!—第五个 -->

  <CustomAction Id="ECBItemToolbar"

     
    RegistrationType="List"

   RegistrationId="101"

       Location="EditControlBlock"

    Sequence="106"

       Title="匿名开启/关闭的设置">

<UrlAction Url="~sitecollection/eip/bbs/aspx/BBS_Cryptonym.aspx"/>

       </CustomAction>

</Elements>

其中第一个CustomAction在Action(操作)下拉菜单下创建了一个自定义菜单项.

第二个CustomAction在页面的Site Action(网站操作)菜单下增加了一个用户自定义菜单项.

第三个CustomAction在Site Setting(网站设置)页面中的LOOK AND FEEL标题下创建了一个自定义链接.

第四个CustomAction在文档库的New(新建)下拉菜单下创建了一个自定义菜单项.

第五个CustomAction是在文档库的每个列表项的菜单上增加一个菜单项

RegistrationId: 定义于哪种类型(参照RegistrationId列表)

Locationgroupid两个属性分别指定该feature是定义了哪两个菜单.

Sequence属性指定新增加的菜单项在这个菜单中的排序,设置的大一点该菜单项排列就靠后.

TitleDescription分别是该菜单项的标题和描述.

UrlAction属性指定了该菜单项的连接到的页面,当然了,这个demo连接到的是我们在第一步中建立那个页面.这里有一个相对路径的问题,~site 表示站点的主目录, ~sitecollection  表示站点集的主目录.因为我的demo是做在一个站点集下面的,所以采用~sitecollection后面是连接文件的相对路径..

再做俩个批处理文件来部署和卸载这个Feature

部署批处理文件InstallFeature.bat

@rem======================================================================
@rem
@rem    InstallFeature.bat
@rem
@rem======================================================================

@echo off
setlocal
pushd .

goto InstallFeature

@rem----------------------------------------------------------------------
@rem   InstallFeature
@rem----------------------------------------------------------------------
:InstallFeature
    set SPAdminTool=%CommonProgramFiles%\Microsoft Shared\web server extensions\12\BIN\stsadm.exe
    set TargetUrl=http://huijianming
    set FeaturePath=menu\Feature.xml
  
    echo InstallFeature %FeaturePath%
    "%SPAdminTool%" -o installfeature -filename %FeaturePath% -force

echo Activating feature %FeaturePath%
    "%SPAdminTool%" -o activatefeature -filename %FeaturePath% -url %TargetUrl% -force

echo iisreset
    iisreset

卸载批处理文件UnInstallFeature.bat

@rem======================================================================

@rem

@rem    UnInstallFeature.bat

@rem

@rem======================================================================

@echo off

setlocal

pushd .

goto UnInstallFeature

@rem----------------------------------------------------------------------

@rem   UnInstallFeature

@rem----------------------------------------------------------------------

:UnInstallFeature

set SPAdminTool=%CommonProgramFiles%\Microsoft Shared\web server extensions\12\BIN\stsadm.exe

set TargetUrl=http://eip.brc.com.cn:81/bbs

set FeaturePath=BBSMySiteAction1\Feature.xml

echo InstallFeature %FeaturePath%

"%SPAdminTool%" -o uninstallfeature -filename %FeaturePath% -force

echo iisreset

iisreset

将以上的两个XML放到Menu的文件夹中,然后将文件夹拷贝到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES

RegistrationId列表:

InvalidType = -1

GenericList = 100   //列表

DocumentLibrary = 101   //文档库

Survey = 102

Links = 103

Announcements = 104

Contacts = 105

Events = 106

Tasks = 107

DiscussionBoard = 108 //讨论板

PictureLibrary = 109

DataSources = 110

WebTemplateCatalog = 111

UserInformation = 112

WebPartCatalog = 113

ListTemplateCatalog = 114

XMLForm = 115

MasterPageCatalog = 116

NoCodeWorkflows = 117

WorkflowProcess = 118

WebPageLibrary = 119

CustomGrid = 120

DataConnectionLibrary = 130

WorkflowHistory = 140

GanttTasks = 150

Meetings = 200

Agenda = 201

MeetingUser = 202

Decision = 204

MeetingObjective = 207

TextBox = 210

ThingsToBring = 211

HomePageLibrary = 212

Posts = 301

Comments = 302

Categories = 303

Pages = 850 (thanks to Anders Jacobsen for this one)

IssueTracking = 1100

AdminTasks = 1200

转载于:https://www.cnblogs.com/jlydboy/articles/1437179.html

Moss 自定义Featur相关推荐

  1. 编写MOSS自定义字段类型的小意外

    这段时间手头要做一个KM系统,在发表新知识文章时需要选择一个或多个维度下的知识分类.其实实现方法有很多,例如说再做一个专门用于设置知识分类的页面,让了发表完知识时或者在了表知识前让用户选择:又或者扩展 ...

  2. moss自定义内容查询webpart

    转至virusswb博客 总的步骤如下: 1.添加内容查询部件 2.设置查询范围 3.导出查询部件文件,.webpart文件 4.修改webpart文件中的<property name=&quo ...

  3. Sharepoint2007自定义Feature(2)--使用Sharepoint自定义Featur

    使用Sharepoint自定义Feature直接调用dll,主要是在Feature.xml文件中对我们自己编译出来的dll进行引用. Feature.xml <?xml version=&quo ...

  4. [MOSS 译]如何:在WEB内容查询部件中使用自定义的字段

    译者的话:数据视图可以很方便地来交叉或是使用单独的数据源来显示各种视图,但是对于开发人员来说,数据视图有一个不太方便的功能就是开发或是定制出的数据视图根本没有办法重用,你不能像使用WEB部件一样随意地 ...

  5. MOSS点滴(2):自定义Application Page

    在MOSS中后台管理的页面都是Application Page,比如网站设置的页面(settings.aspx)就是典型的Application Page,它不能被Sharepoint Desiger ...

  6. 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡...

    MSDN Visual系列:MOSS企业级搜索之一--在搜索中心里创建自定义搜索页面和标签选项卡 原文:http://msdn2.microsoft.com/en-us/library/bb42885 ...

  7. Moss/Sharepoint 为特定用户组设置特定视图以及可见视图,自定义列表新建页,修改页和显示页(无代码法)...

    首先介绍一个简单的方法: SharePoint不提供视图权限的直接控制方法. 不过可以采用另一种方式实现: 这里先假设有两种权限的用户组: 首先,在你希望设置权限的Custom List 或 Docu ...

  8. Moss/Sharepoint:自定义 Oracle Membership

    本文记录编写一个简单的基于oracle的membership for sharepoint示例.当项目客户的员工信息在其他的数据库,或者有员工信息遗留表的情况下可以考虑用自定义membership的方 ...

  9. MOSS系列之五母版页和布局页Featur…

    如果一个网站有很多页面,而这些页面需要一致的外观和样式时,可能对于程序设计人员来说,需要重复的一些工作,开发维护都比较麻烦. MOSS2007中引人注目的一项功能就是web内容管理(Web Conte ...

最新文章

  1. 搜索(Search)
  2. 一个用于styleGAN图像处理的编码器
  3. 框架SpringMVC笔记系列 二 传值
  4. CF 976F 递增容量最大流
  5. JAVA——自定义排序(实现Comparable接口)
  6. 卡尔曼滤波算法-简易版
  7. keil4如何将c语言转换成汇编语言_Keil 中关于C语言编译生成汇编代码函数名规则...
  8. Spring Cloud(Greenwich版)-06-Spring Cloud集成Feign
  9. python开发桌面时钟_python+PyQT实现系统桌面时钟
  10. 2021-10-10日 我的第一篇博客
  11. Latex表格/公式在线编译转换器
  12. ODOO 开源 ERP 和 CRM
  13. HUAWEI Mate40Pro解除账号忘记密码ID强制刷机鸿蒙系统激活锁能解开吗
  14. python回复qq_「转」使用python发送qq消息
  15. DirectX11海洋模拟实践
  16. UninstallPKG for Mac(PKG文件卸载)
  17. 深入分析QQ键盘保护技术
  18. 堆排序|minHeapFixDown的递归和迭代形式
  19. php星星符号怎么打,如何用html5写特殊符号五角星
  20. 中国计算机软件行业分析7---软件产业发展建议

热门文章

  1. Vue路由实现SPA
  2. el-badge 标记
  3. php5编译安装常见错误和解决办法集锦
  4. 八大著名IT企业云计算策略(英文版)
  5. java 得到汉字的拼音,Java获取汉字的拼音
  6. 洛谷P1001题解--zhengjun
  7. 移动磁盘已用空间0字节要如何办啊
  8. 什么是自然语言处理,自然语言处理目前的应用有哪些?
  9. 针对文件流转Base64的操作
  10. 流利说 Level 5 全文