阿甲说得很好,我来补充一点背景情况介绍。
dp2Library的用户权限定义体系中,一般图书馆只是用到了“权限”这个定义。见 dp2circulation 的用户窗。
“权限”定义,是一种基于角色概念的权限定义,基本上是:假如允许一个用户进行某种操作,这种操作如果可以横跨多个书目库进行,那么就允许这个用户这样操作全部的书目库。这是为了概念的简单性,避免系统管理员在特定的数据库范围的权限上操心。实践证明,这种方式可以满足绝大多数场合的需求。
但,当图书馆业务比较复杂的时候,或者是书目中心这样的复杂应用,可能在不同的数据库之间确实需要限定不同的权限,这时候,上述基于角色的权限定义就不敷使用了。
在 dp2Library 诞生的初期,其用户权限定义体系中,就提供了“存取定义”这种补充的方式,来定义比角色方式复杂得多的,按照数据库的维度来定义权限的一套机制。只是,一般图书馆用不到它,平时一个账户的这个参数为空就是表明不使用它。
最开始,存取定义里面只能设定一个数据库整体是允许读、写等权限,还不能细致到为 MARC 字段定义存取权限。最近几个月,我们开始了一系列改造,现在这个存取定义体系里面,已经可以定义到 MARC 字段一级了。
目前最新的 dp2Library 版本就是具有上述能力的。
上面的文字就是阿甲使用相关功能以后的一些体会感想。
这中间还有一件事情也相关,就是红泥巴数字平台中心的 OPAC 界面,提倡普通读者用评注的方式向中心提交自己感兴趣的书目记录的关键词,而最近 dp2Circulation 前端在评注窗和种册窗“评注”属性页提供了具有一定权限的人将评注记录中的关键词合并到 (UNI)MARC 记录 610 字段的功能,为了允许一些普通读者作为审核者来帮助中心完成审核和合并关键词的工作,需要限定他们的操作权限,所以上面阿甲列出的权限代码中,限定 610 字段才能写,是从这个需求而来的。