欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 808

点击:37958[回复顶层] [树状] [详细]
[回复留言] [回复(需要先登录)] [引用(需要先登录)]精品第 1 楼
文章id: 791
测试发帖:使用用户权限设置新方法的体会

作者: 阿甲


在更新的dp2circulation中,尝试为一个用户新增setbiblioinfo权限,并在其存取定义中写入:

------------------------------------------------------------------
外文图书:setbiblioinfo=change(653,906)|getbiblioinfo=*;
图书总库:setbiblioinfo=change(610,905)|getbiblioinfo=*;
临时编目:setbiblioinfo=new,change,delete|getbiblioinfo=*;
期刊:getbiblioinfo=*;图书采编:getbiblioinfo=*;读者荐购目录:getbiblioinfo=*;
------------------------------------------------------------------

我的体会是:

1)一旦在存取定义中写入了内容,该用户访问所有现有书目库的权限都会受到影响,如果不具体写明权限,该用户对于特定书目库将完全没有setbiblioinfo和getbiblioinfo权限;所以要么都不写,要么就得都写;

2)如果希望该用户能查看所有书目库,必须给所有书目库添加getbiblioinfo=*;

3)上面权限设置希望实现:
外文图书库有修改653、906字段权限;
图书总库有修改610、905字段权限;
临时编目有新增、修改和删除权限,即所有权限;
其他书目库只有查看书目的权限;

在讨论的基础上我重新调整了一下,下面这个应该是更简洁,也能防止遗漏了哪个书目库不能查看的状况:

------------------------------------------------------------------
外文图书:setbiblioinfo=change(653)|getbiblioinfo=*;
图书总库:setbiblioinfo=change(610,905)|getbiblioinfo=*;
临时编目:setbiblioinfo=new,change,delete|getbiblioinfo=*;
*:getbiblioinfo=*;
------------------------------------------------------------------
 
新增一个体会:这样的设置实际上实现了一个很特殊的功能,就是可以开放一个书目库给非编目人员练习,或提供给志愿者来制作临时的书目,再经过专门编目人员的查重和审核导入真正流通的书目库。
 
这是一个让我们非常欣喜的更新,我们可能马上会启动志愿者的培训,先尝试做一个小范围的家庭共享图书馆模型。
 
在苹果和安卓应用中,有一个晒书房的软件,对于整理一般家庭的藏书的确蛮方便的。只需对着ISBN条形码拍照,就能获得图书信息,然后发布到朋友圈共享,很可能读取的是豆瓣的图书信息。一群朋友就在这个软件的基础上,相互晒书借书,这是我们红泥巴研读会的一群朋友正在做的事情。
 
但这种非专业软件很快遇到瓶颈:无法显示流通信息!所以的七八个朋友相互借过一两次书之后,发现就有点乱套了,主要是很难准确地记得哪本书到了哪里,到底还了没有?假如更多人参与借更多书,一定会完全糊涂的。
 
最理想的状态应该是,在最专业的底层技术上,搭建最傻瓜的应用平台。十分憧憬。我们准备把这群完全外行的书友拉到数字平台中来体验,后续再交流,也许会有些很傻的问题冒出来,多多包涵:)



发表时间: 2013-03-26 10:34:38



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 2 楼
文章id: 792
补充一点背景情况介绍

作者: xietao


阿甲说得很好,我来补充一点背景情况介绍。

dp2Library的用户权限定义体系中,一般图书馆只是用到了“权限”这个定义。见 dp2circulation 的用户窗。

“权限”定义,是一种基于角色概念的权限定义,基本上是:假如允许一个用户进行某种操作,这种操作如果可以横跨多个书目库进行,那么就允许这个用户这样操作全部的书目库。这是为了概念的简单性,避免系统管理员在特定的数据库范围的权限上操心。实践证明,这种方式可以满足绝大多数场合的需求。

但,当图书馆业务比较复杂的时候,或者是书目中心这样的复杂应用,可能在不同的数据库之间确实需要限定不同的权限,这时候,上述基于角色的权限定义就不敷使用了。

在 dp2Library 诞生的初期,其用户权限定义体系中,就提供了“存取定义”这种补充的方式,来定义比角色方式复杂得多的,按照数据库的维度来定义权限的一套机制。只是,一般图书馆用不到它,平时一个账户的这个参数为空就是表明不使用它。

最开始,存取定义里面只能设定一个数据库整体是允许读、写等权限,还不能细致到为 MARC 字段定义存取权限。最近几个月,我们开始了一系列改造,现在这个存取定义体系里面,已经可以定义到 MARC 字段一级了。

目前最新的 dp2Library 版本就是具有上述能力的。

上面的文字就是阿甲使用相关功能以后的一些体会感想。

这中间还有一件事情也相关,就是红泥巴数字平台中心的 OPAC 界面,提倡普通读者用评注的方式向中心提交自己感兴趣的书目记录的关键词,而最近 dp2Circulation 前端在评注窗和种册窗“评注”属性页提供了具有一定权限的人将评注记录中的关键词合并到 (UNI)MARC 记录 610 字段的功能,为了允许一些普通读者作为审核者来帮助中心完成审核和合并关键词的工作,需要限定他们的操作权限,所以上面阿甲列出的权限代码中,限定 610 字段才能写,是从这个需求而来的。


发表时间: 2013-03-26 12:18:51
最后修改时间: 2013-03-26 12:19:19



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 3 楼
文章id: 793
905?

作者: xietao


看了阿甲配置的存取定义代码:

------------------------------------------------------------------
外文图书:setbiblioinfo=change(653)|getbiblioinfo=*;
图书总库:setbiblioinfo=change(610,905)|getbiblioinfo=*;
临时编目:setbiblioinfo=new,change,delete|getbiblioinfo=*;
*:getbiblioinfo=*;
------------------------------------------------------------------

其中允许所配置权限的用户修改图书总库的 905 字段是何用意呢?难道是从我提供的例子那里复制沿用过来的?

如果是那样,我当时随手写了一个(610,905),主要是怕只定义一个610字段显得太孤单、不像一个例子的样子,本意不是特意要允许905。如果是正规的应用,905似乎不应该允许参与审核 610 的用户修改。



发表时间: 2013-03-26 12:28:17



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 4 楼
文章id: 794
临时编目库

作者: xietao


如果临时编目库的用意是让中心的馆员用户提交待编书目记录,似乎可以不要赋予他们 delete 的子操作权限。

如果赋予了这个权限,意味着,假如出现了一个喜欢捣乱的用户,他就可以把这个库中的记录一条一条给删除了。虽然这个库中的记录不是最重要,但其他用户刚放进去的记录被删除了也是很麻烦的。

可以改进为给他们赋予 ownerdelete 权限。就是说,一个人只能删除他创建的书目记录,不能删除别人创建的书目记录。

但,如果修改的权限 change 赋予了用户,他如果存心要捣乱的话,依然可以利用这个权限修改记录后保存,把一条记录修改成很短的几乎没有内容的状态,也变相实现了类似删除的效果。要防范这种情况、再严格一点的话,可以用 ownerchange 来替代 change 权限,这样,只有这个用户自己创建的记录才能修改了,他修改不了其他人创建的记录。

不过,任何事情都是有正反两面性的。本来,在正常情况下,如果馆员之间互相帮助,你可以修改我的记录,我可以修改你的记录,其乐融融是很不错的。有时候出现了错别字,别人发现了,就随手改了。或者,帮助别人删除发现重复的记录(当然前提是这条记录下面还没有登记册记录),也本是一种好事。

一旦失去了相互的信任,或者处在“半信任”状态,势必要求软件严格限制权限。如上所述,简单可以分为两个级别:第一个是卡住删除权限;第二个就还要卡住修改权限。越来越严和细致。

这里我只能说,软件提供了这些设施,用户单位需要根据自己的实际情况加以选择,并没有一种标准的应用模式。

在权限受限的情况下,如果馆员本来要直接修改书目记录,但权限不允许了,他们可以改为用添加评注记录提出意见,因为评注记录跟随在书目记录之下,也算是一种方便的注释和反馈意见的措施。那么有权限的管理员就需要频繁观看最新的评注记录,亲自进行必要的数据维护操作了。


发表时间: 2013-03-26 12:41:09
最后修改时间: 2013-03-26 12:44:02



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 5 楼
文章id: 798
多谢多谢:)

作者: 阿甲


上面的用户设置还在测试阶段,没有真正启用,启用时我会考虑先尽可能少开放,不够了再新增。

delete的确不是必要的,加上去是体验完全的权限:)

905字段我不太能理解其具体的应用,名为馆藏信息,是否可以开放给分馆做相关的记录?不理解先关闭。



发表时间: 2013-03-28 10:38:50



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 6 楼
文章id: 800
回复: 多谢多谢:)

作者: xietao


以下是引用 阿甲 于 2013/3/28 10:38:50 发表的文字:

上面的用户设置还在测试阶段,没有真正启用,启用时我会考虑先尽可能少开放,不够了再新增。

delete的确不是必要的,加上去是体验完全的权限:)

905字段我不太能理解其具体的应用,名为馆藏信息,是否可以开放给分馆做相关的记录?不理解先关闭。

 
关于较高的权限和自由的操作,可以专门设定一个练习库,反正在里面大家可以随便创建记录,删除了也不要紧。
 
905字段我这里介绍一下。美国最早出现了 USMARC 格式,其实是 USMARC 第二版的时候才得到图书馆界的认可。欧洲觉得很好,搞了个 UNIMARC,但字段名重新设计了,和 USMARC 不一样、不兼容。我国台湾制定了一个大约叫做 CMARC 的格式,基本是 UNIMARC 翻译过来的;大陆制定了一个 CNMARC,也是从 UNIMARC 翻译过来的,增加了少量字段,其中 690 等是增加的,905 是增加的。
 
在 UNIMARC 的结构惯例中,什么什么 9 字段就是用于国际不同地区扩展的。
 
但 905 字段有个致命伤,就是它居然没有弄清书目的一种和图书的实体册之间的关系。所以 905 无法描述一种图书里面的各种册的复杂情况,例如不同的册价格(上中下),不同的索取号(因为卷册不同的缘故),还有期刊有各期的年代也不同。所以 905 字段是个怪物。
 
我从 1992年左右开始设计第一代图书馆软件,最早试图用 905 满足图书馆的借还等业务需求,发现根本不能用。较早的一两代产品,试图在 MARC 里面扩充字段描述册特有的信息,核心是重复子字段并且这些子字段内在有一种成组的关系。这就是 906/986 等扩充字段的来历。2006年开始设计的 dp2 系统,则完全在 MARC 书目数据库以外单独存放册记录信息。总之 905 字段是在系统中废掉了,基本等于无用。
 
纵观国内的图书馆系统,在我的印象里,没有哪家是用 905 实现借还等功能的。
 
但为了维护 CNMARC 标准这个局部的“规定”,许多系统依然在转出为 ISO2709 记录也就是 MARC 格式的时候,可以把系统内部的格式转换为 905 字段输出。当然,限于 905 字段结构的先天缺陷,转出的时候也是削脚适履,比如,假如一种图书里面的各个册的索取号不一样,那么大抵只能取第一册的索取号来聊以安放,蒙混过去。
 
CNMARC 格式的主要制定者,当时北京图书馆的朱岩老师,我和他还有几面之缘,从时代的角度,他从事了这么了不起的开创的事情,我表示敬仰;但这个 905 字段的败笔,似乎也要算到他头上。当然,这是后面评价历史了,不一定公平。后期代表北图参加各种国际活动的周升恒老师,我们也有过密切的交流,总体来说,后面参与的人对国际标准的理解力在增强(简单可以认为后来的人英文能力更强一些),也得到不少老外的反馈,站的角度和层次比第一代参与者更有利,当然这也是某种不太公平的比较因素吧,念及此,更应该理解第一代参与者的不易。
 
我有过直接听取老外意见的机会,他们一般看见CNMARC中 200 等字段的 $A 字段都会很吃惊,听完我们说这是拼音字段,都会连连摇头。后来,这里被修改为 $9,当然这里有不少国内人士呼吁的原因, CALIS 等机构的应用和促进,也是很重要的原因。
 
总结一下,对于红泥巴数字平台中心来说,书目库中的 905 字段基本无用。如果导出的 ISO2709 记录中因为上述某些原因需要具备 905 字段,可以在输出的时候由软件添加。或者直接说,把 905 字段删除都是可以的。
 
为什么现在很多单位的书目库里面都有 905 字段呢?大抵是因为我们的系统很宽容,能让它呆在里面,但不起作用,也无害。但也可能成为“垃圾”,影响视线。这个“呆在”里面,曾经是一个很重要的系统设计思路,因为 MARC 字段数量很多,很多不一定对系统的业务流程发生什么直接作用,但存储它们是完全应该的,因为不清楚要存储它们的用户单位是什么意图,并且,在我们的系统中,可以随时为书目库增添新的检索点,这些暂时不是检索点的字段将来可能变成检索点。鉴于早年一些图书馆系统只能让规定的字段进入系统(存储上就设计死了),从我看来这简直就是假的支持 MARC 的系统,所以我们自己的系统就格外强调,让字段们进去吧,不要妨碍它们先进去,只是进去。
 
但现在观念早已成熟,反过来把一些不要的字段清理干净也许更重要...。我的意见,仅供参考。实在不行还是留着这些字段吧?


发表时间: 2013-03-28 22:25:07



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 7 楼
文章id: 807
感谢谢老师的精彩讲解

作者: 精灵


感谢,谢涛老师对905字段的精彩讲解,对于我这个刚刚入门不久的新人来说,真是太长知识了。我刚刚入行图书馆不久,对于MARC总是感觉既熟悉,又陌生。呵呵。。对于里面各个字段仅仅是能在字段表中查到定义,但是对于各个字段的来龙去脉完全不了解。所以,以后真心希望谢涛老师在有空的时候,能多发表一些这方面的帖子。多多讲解一些这方面的基础知识。




以下是引用 xietao 于 2013/3/28 22:25:07 发表的文字:

以下是引用 阿甲 于 2013/3/28 10:38:50 发表的文字:

上面的用户设置还在测试阶段,没有真正启用,启用时我会考虑先尽可能少开放,不够了再新增。

delete的确不是必要的,加上去是体验完全的权限:)

905字段我不太能理解其具体的应用,名为馆藏信息,是否可以开放给分馆做相关的记录?不理解先关闭。

 
关于较高的权限和自由的操作,可以专门设定一个练习库,反正在里面大家可以随便创建记录,删除了也不要紧。
 
905字段我这里介绍一下。美国最早出现了 USMARC 格式,其实是 USMARC 第二版的时候才得到图书馆界的认可。欧洲觉得很好,搞了个 UNIMARC,但字段名重新设计了,和 USMARC 不一样、不兼容。我国台湾制定了一个大约叫做 CMARC 的格式,基本是 UNIMARC 翻译过来的;大陆制定了一个 CNMARC,也是从 UNIMARC 翻译过来的,增加了少量字段,其中 690 等是增加的,905 是增加的。
 
在 UNIMARC 的结构惯例中,什么什么 9 字段就是用于国际不同地区扩展的。
 
但 905 字段有个致命伤,就是它居然没有弄清书目的一种和图书的实体册之间的关系。所以 905 无法描述一种图书里面的各种册的复杂情况,例如不同的册价格(上中下),不同的索取号(因为卷册不同的缘故),还有期刊有各期的年代也不同。所以 905 字段是个怪物。
 
我从 1992年左右开始设计第一代图书馆软件,最早试图用 905 满足图书馆的借还等业务需求,发现根本不能用。较早的一两代产品,试图在 MARC 里面扩充字段描述册特有的信息,核心是重复子字段并且这些子字段内在有一种成组的关系。这就是 906/986 等扩充字段的来历。2006年开始设计的 dp2 系统,则完全在 MARC 书目数据库以外单独存放册记录信息。总之 905 字段是在系统中废掉了,基本等于无用。
 
纵观国内的图书馆系统,在我的印象里,没有哪家是用 905 实现借还等功能的。
 
但为了维护 CNMARC 标准这个局部的“规定”,许多系统依然在转出为 ISO2709 记录也就是 MARC 格式的时候,可以把系统内部的格式转换为 905 字段输出。当然,限于 905 字段结构的先天缺陷,转出的时候也是削脚适履,比如,假如一种图书里面的各个册的索取号不一样,那么大抵只能取第一册的索取号来聊以安放,蒙混过去。
 
CNMARC 格式的主要制定者,当时北京图书馆的朱岩老师,我和他还有几面之缘,从时代的角度,他从事了这么了不起的开创的事情,我表示敬仰;但这个 905 字段的败笔,似乎也要算到他头上。当然,这是后面评价历史了,不一定公平。后期代表北图参加各种国际活动的周升恒老师,我们也有过密切的交流,总体来说,后面参与的人对国际标准的理解力在增强(简单可以认为后来的人英文能力更强一些),也得到不少老外的反馈,站的角度和层次比第一代参与者更有利,当然这也是某种不太公平的比较因素吧,念及此,更应该理解第一代参与者的不易。
 
我有过直接听取老外意见的机会,他们一般看见CNMARC中 200 等字段的 $A 字段都会很吃惊,听完我们说这是拼音字段,都会连连摇头。后来,这里被修改为 $9,当然这里有不少国内人士呼吁的原因, CALIS 等机构的应用和促进,也是很重要的原因。
 
总结一下,对于红泥巴数字平台中心来说,书目库中的 905 字段基本无用。如果导出的 ISO2709 记录中因为上述某些原因需要具备 905 字段,可以在输出的时候由软件添加。或者直接说,把 905 字段删除都是可以的。
 
为什么现在很多单位的书目库里面都有 905 字段呢?大抵是因为我们的系统很宽容,能让它呆在里面,但不起作用,也无害。但也可能成为“垃圾”,影响视线。这个“呆在”里面,曾经是一个很重要的系统设计思路,因为 MARC 字段数量很多,很多不一定对系统的业务流程发生什么直接作用,但存储它们是完全应该的,因为不清楚要存储它们的用户单位是什么意图,并且,在我们的系统中,可以随时为书目库增添新的检索点,这些暂时不是检索点的字段将来可能变成检索点。鉴于早年一些图书馆系统只能让规定的字段进入系统(存储上就设计死了),从我看来这简直就是假的支持 MARC 的系统,所以我们自己的系统就格外强调,让字段们进去吧,不要妨碍它们先进去,只是进去。
 
但现在观念早已成熟,反过来把一些不要的字段清理干净也许更重要...。我的意见,仅供参考。实在不行还是留着这些字段吧?


发表时间: 2013-04-02 16:17:31
最后修改时间: 2013-04-02 16:19:13
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 8 楼
文章id: 808
回复: 感谢谢老师的精彩讲解

作者: xietao


以下是引用 精灵 于 2013/4/2 16:17:31 发表的文字:

感谢,谢涛老师对905字段的精彩讲解,对于我这个刚刚入门不久的新人来说,真是太长知识了。我刚刚入行图书馆不久,对于MARC总是感觉既熟悉,又陌生。呵呵。。对于里面各个字段仅仅是能在字段表中查到定义,但是对于各个字段的来龙去脉完全不了解。所以,以后真心希望谢涛老师在有空的时候,能多发表一些这方面的帖子。多多讲解一些这方面的基础知识。

 
其实很多人关注 CNMARC 的 905 字段,主要是需要通过 MARC 数据交换馆藏信息。这个需求是非常普遍和正当的。
 
USMARC(MARC21) 和 UNIMARC 都有其专门的馆藏格式。其概念就是通过一条一条的独立的 MARC 记录,来描述每个独立的馆藏物件。在这里,一种书不是描述的记录单位了,一册一册的图书,或者更细的划分,才是记录的基本单位。举例来说,假如一个图书馆收藏了某种图书的3册,分别存储在不同的地点,借阅政策也不同,甚至经过一定时间后部分册有所损坏,这些都决定了每册图书的具体信息都是不同的,需要在完全独立的3条记录中得到描述。
 
从 dp2 系统来看,馆藏信息主要存储在实体库中,里面的记录是一册一个单位的。从 MARC 馆藏格式的角度来看,dp2系统中还有一些和馆藏有关的信息存储在订购库和期库中。为什么馆藏信息在 dp2 系统中要存储在三处?这是因为系统实现的需要,能够比较好的平衡存储的经济性、使用的方便性等几个因素。从 MARC 馆藏格式的角度,这种馆藏格式无非是一种数据交换格式,并不是规定了系统的机内格式。也好比 MARC 书目格式,软件开发者可能把属于一种书目记录的信息分开在很多 SQL 库表中存放,这毫不奇怪。只要系统能输出和接纳标准的 MARC 格式,就是可以的。
 
dp2 系统目前还不能输出和直接接纳 UNIMARC 或 MARC21 的馆藏格式,后面会逐渐增加相关的功能。目前用户可以直接将订购库、期库和实体库的记录导出为 XML 格式,这种格式的数据更直接和轻便。毕竟 MARC 的馆藏格式是从上个世纪就开始开发的,和 MARC 书目格式一样,有比较繁琐的问题,目前国外也正在酝酿用更新的数据格式替代 MARC 格式。
 
UNIMARC 的馆藏格式在这里:
 
MARC21 的馆藏格式在这里:
 
在 google 上用 UNIMARC MARC21 馆藏格式,可以搜索到很多中文的资料。
 
MARC21 馆藏数据格式及其对 CNMARC 的启示
 
北图出版过一本书也可以看看:
图书馆馆藏组织与管理研究
ISBN: 9787501340767
 

 


发表时间: 2013-04-04 15:49:43
最后修改时间: 2013-04-04 19:57:28



页 1 / 1
 

在线用户
(无) 
当前栏目在线用户数 0, 总在线用户数 0