lotus中表单内reader域的有关问题
发布时间:2010-06-13 13:53:41 文章来源:www.iduyao.cn 采编人员:星星草
lotus中表单内reader域的问题
5.0.8版本的domino服务器环境了,想改其中一个表单的reader域,以前的reader域赋值是采用:
FIELD Reader := @Unique(@Trim(Reader:@UserName)来进行的,每当某个操作者点击某些按钮时,按钮内部就写了上面这行代码,这样就能保证该用户能阅读该文档。
这样使用后Reader域的值样式为:
"CN=用户1/OU=部门1/O=公司"
"CN=用户2/OU=部门2/O=公司"
"CN=用户n/OU=部门n/O=公司"
现有一需求:由于用户可能变更部门,即"CN=用户1/OU=部门1/O=公司"会变成"CN=用户1/OU=部门x/O=公司",我希望即使人员的部门发生变动,但他仍然能够阅读历史文档!
我的做法是:
FIELD Reader := @Unique(@Trim(Reader:@UserName)
FIELD Reader := @Unique(@Trim(Reader:"CN="+@Name([CN];@UserName)+"/OU=*/O=公司")))
即多加了一行代码,让最终reader域的值样式为:
"CN=用户1/OU=部门1/O=公司"
"CN=用户1/OU=*/O=公司"
"CN=用户2/OU=部门2/O=公司"
"CN=用户2/OU=*/O=公司"
"CN=用户n/OU=部门n/O=公司"
"CN=用户n/OU=*/O=公司"
但是发现,不能达到想要的效果,我应该如何解决这个问题?
注:不需要人员的部门变更后能查看历史数据,只需考虑增加本功能后新增的数据即使部门变更了也能看到。
------解决方案--------------------
个人意见,在names库中人员信息建议不直接带部门,这样的话,问题就迎刃而解了~
现在你的做法貌似无法实现想要的效果,现在我们项目组的做法是刷新所有文档,不过非常费时费力~~
------解决方案--------------------
我通常是用group来实现的,即:
1.在names库中创建一个group,把要访问文档的人员添加到该group中
2.在表单添加读者域,域的类型为计算。域的公式是用@dblookup以group名称为关键字到names库中查出该group的所有成员。
3.在某一视图中创建一个刷新按钮其命令为@Command([ToolsRefreshAllDocs])
4.当员工信息变动时,只需对group成员进行修改,然后点击刷新按钮即可。
------解决方案--------------------
就用
FIELD Reader := @Unique(@Trim(Reader:@Name([CN];@UserName))
不管你部门怎么变,@Name([CN];@UserName)这个是不会变的。存这个值,用户也能看见文档,不信你试试。
------解决方案--------------------
直接用administrator里面的命令去改OU啊,这样一来,所有数据库的读者域会跟着改的
------解决方案--------------------
是啊,直接在Admin 端做Rename就不用改Reader域,系统自己会做的。
------解决方案--------------------
------解决方案--------------------
而且又是readers和authors,最好用canonicalize格式
------解决方案--------------------
在names中创建group, 同时在DB中应用角色去控制 reader .
------解决方案--------------------
------解决方案--------------------
我只能这样说,一般情况下不建议在Readers和Authors放CN格式。
1#)CN对Readers没有影响,但在Authors里面是不起作用的。尤其是代码写的Authors,一定要写成Cononicalize的格式。
2#)如果两个用户同CN同OU,那肯定是要改CN的,但是这样的概率肯定要比同group同CN的要小。
3#)就楼主的需求来说,最好的方法就是在ADMIN里面Rename这个Account。
4#)在Readers里面放什么格式的名字说到底是代码规范的问题,从我的角度来看,直接放CN的话不是最好方式。
------解决方案--------------------
建议2种做法
1、用户系统名不带部门信息 username/公司
2、添加部门群组,读者域 中添加的是通讯录群组而不是个人
------解决方案--------------------
用户更名以后,名称类型的域会由服务器自动更新啊
------解决方案--------------------
------解决方案--------------------
最快捷的办法就是使用组。不过缺点是会因为不同的要求创建很多组。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
问各位初学lotus notes开发看什么书
问各位初学lotus notes开发看什么书,如果有共享的话就谢谢大家了
------解决方案-----------...
-
简单的语法,请大侠看看!!
我是刚入门的菜鸟,我想添加我在视图中选择多个IP地址,并把它们放到address这个域当中,如果我用@PickList这个...
-
如何屏蔽或隐藏notes文件菜单中的引出按钮?
出于安全考虑,要隐藏引出按钮?
------解决方案--------------------
CS的话可以修...
-
c/s下如何封CTRL+C CTRL+V?
谢谢!
------解决方案--------------------
给数据库acl加权限,禁止复制...
-
domino 可以改变域的容量吗?
domino 可以改变域的容量吗?32kb改成更大一点的
------解决方案--------------------
普通域大小不...
-
Domino用户重复的问题 请大侠们指教~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
各位好 目前遇到如下问题
A服务器是主...
-
用js 怎样截取字符串?
var str="C:\Documents and Settings\dell\桌面\guanxi4.bmp"
我只需要 guanxi4.bmp 用js 怎样...
-
domino 自动编号
设计重1开始编号,依次不重复的,有好的建议吗?
------解决方案--------------------
再看以前发的一个帖子,对你有...
-
请高手进来看看:表单提交报错。
表单提交的时候报错:HTTP Web Server: Item value exceeds maximum allowable size. [/oadata/ccc....
-
Lotus Notes 8.5 发邮件时错误提示 failed to authenticate
如标题。
只有一个账户,点发邮件的时候有这样的错误提示,其他账户都正...