数字资源权限管理 - DigitalPlatform/dp2 GitHub Wiki
dp2系统可以对数字资源设置不同的权限,以实现对不同级别的用户的预览或者下载管理。一般情况下,该项功能由图书馆系统管理员来配置。
以下是配置步骤。
在根元素下,增加一个object元素,其属性writeGetResOperLog值为”true”。这个参数是为了启用获取对象时写入操作日志的功能,这样便于统计相关的访问量,和便于系统管理员对访问操作进行审计监控。
(注:如果配置了上述object元素的writeGetResOperLog属性,而没有配置mongoDB元素的话,访问日志是写入dp2library传统的日志文件。在配置了mongoDB元素的情况下,访问日志会改为写入mongoDB的特定数据库。可参见本文档末尾的介绍。)
3)刷新书目库的opac_biblio.fltx配置文件 利用dp2ciculation的系统管理窗,对每个书目库的配置文件进行刷新。 如果系统管理员先前对书目库的配置文件进行过定制,请注意在刷新前备份定制过的配置文件,然后在刷新后重新进行定制修改。 最新的opac_biblio.fltx配置文件中对书目详细显示格式中数字对象的显示方式进行了优化。
4)在种册窗中管理对象权限
在dp2circulation前端的种册窗,可以看到书目记录下属的数字对象。任何账户都可以看到书目下的数字资源对象。
在种册窗的“对象”属性页,可以看到当前书目记录下属的数字资源对象。每行显示一个对象。
双击打开窗口,权限字段是新增的字段。在这里可以输入对象的权限字符串。
5)什么用户能导出,修改和删除对象?
而对对象进行修改的权限,是由dp2library账户的权限writeres或writeobject值定义的。只要当前账户具有这两个权限之一,就可以在dp2circulatoin的种册窗中导出、修改、删除对象,包括修改这个对象的权限字段内容。
除了上述两个权限值以外,还可以自定义给对象设置权限,只有高于此自定义权限或者等于此权限的时候,才可以导出,修改和删除对象。 例如,可以输入“level-5,group”。 “level-5”表示对象具有第五级访问权限。当访问者的权限级别高于或者等于这个级别的时候,就可以导出、修改或者删除这个对象,否则就不行(没有上述提到的writeres或writeobject权限的前提下)。
“group”表示当访问者具有这个相同字符权限的时候,才能获取这个对象。权限字符串最好具有某种字面含义,它是可以自由定义的,但主要不要和以前其他的权限字符串冲突就行。(比如goldmember)
上述例子中两个字符串,“level-5”和“group”,只是举例。只需要具备一个以上就可以。如果具有多个,表示这个对象可以分别被多种权限的访问者导出,修改或者删除。可以根据实际需要决定使用多少个权限值。
对象的权限值,是存储在书目记录的元素的rights属性中的。如果一个对象的权限值为空,则表示它不限制任何访问者的修改和删除。
6)用856字段描述对象资源
在UNIMARC和MARC21格式,都采用了856字段作为数字资源描述用途。 对象资源要通过MARC记录的856字段进行描述,才能在OPAC界面中显示出来,发挥其特定的功用。
在种册窗的“对象”属性页,在一个对象行上点右鼠标键,会出现上下文菜单,使用“创建维护856字段”,将出现一个对话框:
如果书目记录中对应的856字段已经存在,则该对话框是修改此856字段;如果书目记录中尚不存在对应的856字段,则该对话框是创建一个新的856字段。 856字段和对象之间建立联系,是依靠对象的ID。在856字段中,$u子字段存储了对象的ID。 但需注意856字段是多用途的,如果不和书目记录下属的对象对应,则$u子字段存储的是一个URL,通常为“http://”开头。这时,856字段所关联的资源通常不属于dp2系统管辖了。 856字段的$x子字段用来定义对象的各种属性。 在上述对话框,这里是$x显示和编辑的位置:
可以用文字上方的“类型”下拉列表来设定预定义的类型值。 dp2系统的各个环节,会用到856字段的$x中的type属性来获知哪些是封面图像,并自动选择合适的分辨率的图像。 856字段也可以在MARC编辑器中直接用键盘修改和创建。但不如在对话框中那么直观。 还可以用固定面板区“创建数据”属性页里的“创建维护856字段”,在MARC编辑器中创建和修改856字段:
在使用这个功能前,需要在MARC编辑器中把插入符定位到适当位置。如果将插入符先定位在一个现有的856字段上,然后使用上述功能可以修改这个856字段;如果将插入符先定位在一个非856字段上,然后使用上述功能可以创建一个新的856字段。这种方法对于增加链接到外部URL(而不是存储在dp2系统内的对象)的856字段特别方便。
856字段的$x字段,其内部格式是由分号分隔的若干段属性值: $xtype:FrontCover.LargeImage;size:350X500px;source:Amazon:[email protected] 比如上面这一段内容,就表示了type、size和source三种属性。
为了管理856字段的权限,可以在$x子字段中使用rights属性,例如: $xtype:FrontCover.LargeImage;size:350X500px;source:Amazon:[email protected];rights=level-1,group_a 上面的rights属性内容是level-1和group_a两个值组合起来。表示这个856字段,具有此二种权限的访问者可以获取。反之,如果不具备这样权限的访问者,在登录使用dp2circulation的种册窗查看这条书目记录的时候,是看不到这个856字段的。
同样,dp2OPAC的书目详细页面,856字段的$x子字段的rights属性也在发挥作用,权限不够的读者在查看详细页面的时候,是看不到相关856字段内容的。
如果856字段没有$x子字段,或者$x子字段中没有rights属性,或者rights属性为空,则这个856字段对任何(具有访问书目权限也就是getbiblioinfo权限的)访问者都是可见的。
856字段的权限和对象权限 856字段里通过$x的rights属性定义了856字段的访问权限;对象通过其rights属性定义了对象的权限,这两个权限值之间是什么关系呢? 首先,对象的权限是较为底层的概念。无论是dp2circulation要在种册窗的“对象”属性页中下载对象,还是dp2OPAC在书目详细画面中下载对象,都服从这个权限的控制。当然,对象是指dp2系统管理的,存储在dp2library书目库里面的数字对象。
所以,完全可能出现一种情况,当前用户具有足够的856字段权限可以访问书目记录中的856字段,可以看到856字段(这里会显示一些关于对象的元数据信息,例如文件大小,媒体类型等),但没有足够的对象权限可以下载对象本身。
也可能出现另外一种情况,对象权限足够当前用户获取了,但856字段的权限限制了当前用户看到856字段。此种情况,表现在dp2circulation的种册窗中,“对象”属性页内可以下载对象,但MARC编辑器中看不到对应的856字段;表现在dp2OPAC中就是书目详细页面的对象表格中看不到对应的856字段信息。
一般情况下,可以让此二种权限的值保持完全一致。856字段对话框中提供了编辑此二种权限的界面,可以方便进行同步设置的操作。
特殊情况下,例如让所有访问者都可以在OPAC界面中看到对象的锚点,但部分访问者才被允许下载对象,编目员可以通过设置两种权限不同的值来实现这个效果。
以上说的是dp2系统内存储对象并被书目记录856关联的情况。
856字段也可以关联dp2系统外的资源,用URL来实现关联。这时,856字段的权限就是用来决定856字段本身在dp2circulation和dp2OPAC能否被看到了。需要提醒的是,如果访问者自己知道了这个资源的URL,那谁也阻止不了他用这个URL打开浏览器去访问这个资源,因为这个URL指向的Internet上的服务器并不是dp2系统能管辖的。856字段的权限只能控制dp2系统内模块的显示效果。
创建封面图像 封面图像是一种非常常见的856应用场景,为了便于用户创建封面图像,种册窗提供了专门的功能用于创建封面图像:
该功能可以一次性创建三个不同分辨率的封面图像,插入到种册窗的“对象”属性页,并自动创建相关的856字段,非常方便。注意这种方式下,封面图像是存储在dp2系统中,书目记录名下,作为对象资源存在(通过种册窗的“对象”属性页可看到这些对象)。
固定面板区的“创建数据”功能列表中,有一个“加入封面图片URL”的功能:
该功能是用当前书目记录的ISBN从亚马逊检索书目记录,把亚马逊的封面图像URL创建为856字段。注意,在这种方式下,封面图像本身并未存储在dp2系统中,而是存储在亚马逊的服务器上,书目记录的856字段里面只是存储了封面图像的URL地址字符串。 856字段查询窗 为了便于批处理修改书目记录中的856字段,dp2circulation提供了一种“856字段查询窗”。 将856字段装入856字段查询窗 为了将856字段装入856字段查询窗,需要先打开书目查询窗,然后检索装入一批书目记录。 在浏览列表上,用鼠标结合Ctrl或Shift键选择若干需要装入856字段查询窗的书目记录。或用上下文菜单的全选命令选择全部浏览行。 然后在浏览列表上,点右鼠标键出现上下文菜单,使用其中的命令“装入其它查询窗/856字段查询窗”。这时会打开一个856字段查询窗,刚才选定的书目记录内含的全部856字段都会装入这个856字段查询窗:
用鼠标左键点某个浏览行,右方固定面板区的“属性”属性页会显示出该856字段的详细内容:
其中,$x子字段比较特殊,是拆分为不同的参数来显示的。 快速修改856字段 在856字段查询窗的浏览列表中,选择要进行修改的若干行。 用右鼠标键点出上下文菜单,使用“快速修改856字段”命令:
在“指定动作参数”对话框中,使用“新增”按钮添加一个修改动作:
在“一个修改动作”对话框中设定好字段名和字段值。 例如,我们希望修改权限值:
图中示范了,想为权限值中增加一个“level-4”的权限值的用法。然后点确定按钮:
可以看到动作参数对话框中,已经准备好了一个动作。如果需要其他动作,可以再次使用“新增”按钮来增加。当动作都设置好以后,按“确定”按钮,修改就开始进行了。