-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
系统配置:dp2 系统中外部电子资源在 856 字段的著录方式改进 #43
Comments
这是指什么配置文件呢? |
这一项是提前设想的功能,目前版本的 dp2 系统中尚未实现。关于电子书系统标识与基础地址(即电子书 URL 中可能会变化的部分)的对照关系 |
新功能做好了。这是一个通用功能了。 应用方法如下: 配置 webui.xml首先要在 webui.xml 的根元素下配置这样一个片段:
item 的 template 属性,定义了 856 的 $u 经过宏替换变换为真正可用的 URL 的模板。模板中的变量用 {} 括住。注意属性值中的符号
'{object_path}' 表示对象的路径,类似 ‘中文图书/1/object/0’ 这样的内容。dp2OPAC 能自动把 ‘$uuri:0’ 这样的对象 URI 变换为上述形态。
上面例子中的配置方法,使得下述几种形态的 $u 都能正确处理:
升级 dp2installer 或者 dp2libraryxe 到最新版,刷新相关书目库的 opac_biblio.fltx 配置文件opac_biblio.fltx 的修改部分如下(升级并刷新配置文件即可,不需要手动修改,这里只是解释一下):
修改后:
以前的用法依然兼容,只是没有新功能的效果而已。 由于用到了 XML 相关库,代码头部要做一定修改增补:
|
又改进了一下,webui.xml 中的 maps_856u/item 元素中,可以定义字符 '_' 开头的属性,这些属性会用到构造 HTML 锚点 a 元素的属性。
上面示范了如何在 HTML 锚点 a 中使用 target 属性。注意 _target 是在 webui.xml 中的定义方式(下划线打头表示这是即将用到 HTML 页面中的特殊属性),在 HTML 页面中会自动变换为 target 属性。 |
dp2library GetBiblioInfo() API 获得 table 格式时自动替换特定 URI最新版本的 dp2library,可以支持 GetBiblioInfo() API 获得 table 格式时,自动替换特定 URI 为 URL。 配置和调用方法如下:
可以看出这是一段 XML 代码。其中 line/@uri 属性内容已经是被替换为 URL 的形态。line/@uriEnv 属性里面是一系列环境参数列表,型态为 |
2018/10/29-ryh: 公众号这边用的内部table格式,外部资源地址处理是使用的libary.xml里的配置。 |
2018/11/2 22:20:30 开发老师留言 新的配置方法1)MARC字段只配一个856字段
2)给library.xml配置maps_856u节点 根据需要,可以配置多个item,一个type值(对应856字段$u中的后缀)如果有多个item,那么会产生多个链接锚点。
3)通过dp2内务的实用工具/书目table格式,检查产生的链接锚点数量和信息是否正确 4)等dp2installer升级后,将相关实例配置好后,可以在公众号检查链接锚点数量和地址是否正确。 切记:要让内部table格式生效,必须要先删除library数据目录cfgs下的table_unimarc.fltx配置文件 |
如何配置各锚点显示不同的标签文字?在配置文件的 maps_856u节点下级item 元素里面扩充了一个anchorText 属性,可以这样配置:
(注:设计时任曾想到在856的标签文字字段使用一个宏,运行时用配置文件里item某个属性替换宏参数,开发老师指导:MARC 数据里面不方便直接用宏。宏一般是用在配置文件中。) |
如何为OPAC配置一个856字段多个锚点链接?(注:先刷新相关书目库的 opac_biblio.fltx 配置文件为最新版本,否则下面map_856u节点的配置不生效。) 1)MARC字段只配一个856字段
2)给OPAC数据目录下webui.xml文件根节点下配置maps_856u节点 根据需要,可以配置多个item,一个type值(对应856字段$u中的后缀)如果有多个item,那么会产生多个链接锚点。
|
模板中宏的用法{object_path} 和 {encoded_object_path}'{object_path}' 表示对象的路径,类似 ‘中文图书/1/object/0’ 这样的内容。dp2OPAC 能自动把 ‘$uuri:0’ 这样的对象 URI 变换为上述形态。 例如: {uri} 和 {encoded_uri}... {getobject_module}{getobject_module} 表示类似 ./getobject.aspx 这样的内容,即 dp2OPAC 的 getobject.aspx 模块名。由于地址和端口号具有不确定性,用宏变量是推荐的做法。不过也可以不用宏变量直接书写普通字符串。 例如: 包裹为了让 dp2OPAC 不再对模板替换以后的结果字符串进行包裹,可以为 item 元素增配一个属性 wrapUrl,这个属性的默认值为 "true",配置为 "false" 则表示不做包裹。 包裹的意思是,dp2OPAC 会为这个字符串外面包一层 getobject.aspx。 包裹本来是为了让外部资源也能被 dp2 系统统计从 dp2OPAC 发出的访问点击次数,而做的一种特殊机制。如果放弃了包裹,那 dp2 系统也没法对这部分外部资源进行计次了。 |
光光(2820725526) 10:31:24 在那个 issue 的后面我增加了一段说明文字,关于包裹的。包裹就是为了让 dp2 系统能对外部 URL 访问计次,而故意增加的一个中转步骤,让原本可以直接使用的 URL,经过 getobject.aspx 重定向。但包裹增加了系统的复杂性。所以,最新版本给 item 元素增加了一个 wrapUrl 属性,让系统管理员可以配置对某个 item 是否使用包裹。 另外,在包裹形态下,原来的 getobject.aspx 对 ./.... 这样形态的 URL 识别不佳,以为是 dp2 系统的对象路径了,所以造成访问错误。最新版本已经改进过来,这样的 ./getobject.aspx?..... 形态的 URL,也可以再次进行包裹,并且不会出错了,需要制造案例测试一下。总共就是以上三处修改 可能有些概念不一定好理解。如果需要,可以启动讨论。争取把这些概念都透彻弄懂。没想到这个环节昨天和今天又增加了不少内容,提高了一步。我们产品的复杂性,适用性,都往往会超过我们自己的预期。 需要跟进测试 |
测试要点测试用例TC-856-1:一个856字段,在library.xml中配置一个锚点链接 |
测试用例TC-856-11一、测试目标为书目的MARC记录配置856字段,在library.xml文件maps_856u节点下配置item节点的时候使用{encoded_uri}宏,测试产生的链接锚点数量和信息是否正确。 二、测试环境[dp2libraryxe] library service 版本: 3.8.6885.27277 三、测试步骤1)登录dp2内务,书目查询窗,进行检索,双击某条书目到种册窗,MARC 记录配置 856$u 子字段,例如: 2)点菜单 功能/系统维护/系统管理窗,给library.xml文件maps_856u节点下配置一个item节点,type为default,并使用{encoded_uri}宏,例如:
3)点菜单 帮助/实用工具/书目table格式,书目记录路径输入,style输入*,object_template,检查产生的链接锚点数量和信息: 四、测试结果20181109-lcy:dp2libraryxe、dp2library测试结果如上。 【问题反馈】{encoded_uri}宏并未起作用。 20181109-lcy: [dp2libraryxe] library service 版本: 3.8.6887.21217和[dp2library] dp2Installer 版本: 3.0.6887.21261验证通过,如下图: |
多个maps_856u时,系统挂起
|
为解决外部 Web 电子图书系统电子图书统一资源地址(URL)发生变化后,原地址访问失效,需更新 MARC 记录的 856$u 子字段内容的问题,可在 dp2 系统中 856$u 子字段中只著录 URL 中的 资源标识 和 电子图书系统标识,即不会发生变化的部分;可能会发生变化部分由 dp2 系统配置文件定义。
以 畅想之星 系统中的一种电子图书为例:
http://www.cxstar.com:5000/Book/Detail?pinst=1ca53a3a0001390bce&ruid=1e2945e0000899XXXX
其中 ruid 值 1e2945e0000899XXXX 为电子书标识,著录入 856$u 子字段中,并加入电子书系统标识。
假如 畅想之星 系统标识定义为cxstar,则录入 856$u 子字段内容为:
$uuri:1e2945e0000899XXXX@cxstar
其中 @ 后是电子书系统标识。
配置文件中可这样定义:
<item id=”cxstar” baseurl=” http://www.cxstar.com:5000/Book/Detail?pinst=1ca53a3a0001390bce&ruid=”/>
The text was updated successfully, but these errors were encountered: