随笔 - 79  文章 - 1 评论 - 758 trackbacks - 105
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

camlquery 类库下载:
 http://www.codeplex.com/camlquery
SPCAMLEditor 下载:
 http://www.codeplex.com/SPCAMLEditor

与我联系

搜索

 

留言簿(26)

我参与的团队

随笔分类(69)

My Friends

SilverLight

wss

积分与排名

  • 积分 - 87051
  • 排名 - 461

最新随笔

最新评论

阅读排行榜

评论排行榜

这系列的文章一直没完成,看到有些朋友还是对moss的字段权限控制非常感兴趣的,决定继续写下去。
没看过的朋友可以看一下以前的几篇:
CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案(v1.0)
CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案的实现 -- 概要
MOSS字段编辑权限控制方案的实现(1)-管理页面的开发和配置信息的持久化

上一篇讲了如何实现保存一个列表的字段编辑权限配置信息----通过将数据序列化保存到list中实现。当然这并不是唯一的方式,比如可以保持到数据库中。
(自从事moss开发后,数据库就很少碰了,能用list实现的就用list实现了。)

配置页面开发完了,我们需要将它和moss完美结合起来---在列表的管理页面添加本功能的一个链接:

这个功能自然通过feature实现。
feature的开发不是本系列的重点,园子里有很多文章讲解,采用Feature,几乎可以扩展moss的所有功能,
如管理菜单(网站操作,网站设置,列表设置,列表管理),部署EventHandler(又叫EventReceiver),部署webpart,部署工作流。。。
要详细的了解,查看SDK才是正道。
话归正传,添加“字段权限设置” 管理链接,需要以下两个文件:
 feature.xml
<Feature  Id="E5441FAC-1D99-4ecc-98AA-D76D5BBDCDE9"
          Title
="$Resources:codeArt,FieldRight_Feature_Title;"          
          Description
="$Resources:codeArt,FieldRight_Feature_Des;"      
          Scope
="Site"
          Hidden
="FALSE"
          DefaultResourceFile
="codeArt"
          xmlns
="http://schemas.microsoft.com/sharepoint/" 
>
    
<ElementManifests>
        
<ElementManifest Location="Elements.xml"/>
    
</ElementManifests>     
</Feature>
Elements.xml
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    
<CustomAction 
          
Id="CodeArt.FieldValueEditControl"         
          GroupId
="GeneralSettings"
          Location
="Microsoft.SharePoint.ListEdit"
          Sequence
="106"
          Title
="$Resources:codeArt,FieldRightSetting;">
        
<UrlAction Url="~site/_layouts/CodeArt/FieldEditControl.aspx?ListId={ListId}"/>
    
</CustomAction>
</Elements>

 feature.xml声明了feature的ID,名称,范围(farm,site collection,web)。
Elements.xml采用一个CustomAction元素添加管理链接,Location属性说明添加菜单到列表设置页面,GroupId属性指定菜单添加到常规设置组。
UrlAction制定链接页面地址,注意~site这个字符,~site取得是当前web的路径。{ListId}在系统呈现链接时会自动替换成当前List的Guid,管理页面
可以通过这个Guid获取当前管理的list:
SPList list = SPContext.Current.Web.Lists[new Guid(Request.QueryString["ListId"])];

关于CustomAction可以参考:WSS Feature : CustomAction , 添加站点管理菜单

最新版本就解决了以前发现的bug,并添加了编辑权限控制到组的功能:
http://files.cnblogs.com/jianyi0115/CodeArt_FieldRightSolution.zip

本系列的所有文章:
CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案(v1.0)
CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案的实现 -- 概要
MOSS字段编辑权限控制方案的实现(1)-管理页面的开发和配置信息的持久化
WSS页面定制系列(2)---定制单个列表的表单页面
WSS页面定制系列(3)---重写表单的保存逻辑
MOSS字段编辑权限控制方案(4)-打包解决方案


Tag标签: wss,字段权限,moss
posted on 2008-03-03 21:33 jianyi 阅读(594) 评论(9)  编辑 收藏

FeedBack:
#1楼  2008-03-04 09:18 风中的猪儿      
有兴趣啊~~~博主一定要写下去哈
支持一下
  回复  引用  查看    
#2楼  2008-03-04 09:53 songcan      
支持老大,不过我下载后编辑权限控制到组的功能好像仍然没有,不知道问题出现在哪里
  回复  引用  查看    
#3楼  2008-03-04 10:46 songcan      
老大您好,问一个问题,就是对列表的列希望做到对某些人比方说创建者隐藏或不可编辑,对 编辑者开放修改的功能实现,见过一些帖子说可以修改feature来实现,但我现在已经找不到了,请问去哪里修改可以做到这样的功能?谢谢!
  回复  引用  查看    
#4楼 [楼主] 2008-03-04 10:52 jianyi0115      
@songcan
这一系列文章就是如何解决这个问题吧~具体看这一篇:
http://www.cnblogs.com/jianyi0115/archive/2008/03/03/1089363.html
  回复  引用  查看    
#5楼  2008-03-04 13:42 songcan      
多谢老大,看来我真是马大哈。老大,不过我下载最新版本的CodeArt_FieldRightSolution.后编辑权限控制到组的功能好像仍然没有,不知道问题出现在哪里
  回复  引用  查看    
#6楼 [楼主] 2008-03-04 17:42 jianyi0115      
@songcan
可能打包出问题了,晚上回家看一下。
  回复  引用  查看    
#7楼 [楼主] 2008-03-04 19:49 jianyi0115      
@songcan
问题已更正,打包的时候没有用最新的dll.
http://www.cnblogs.com/Files/jianyi0115/CodeArt_FieldRightSolution.zip
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-16 00:20 编辑过


相关链接: