qcovery / availability-plus
显示VuFind的可用信息
Requires
- php: >=7.3
- qcovery/vufind-composer-installer-plugin: ^1.0.0
This package is auto-updated.
Last update: 2024-09-03 15:11:13 UTC
README
本模块试图解决检查和显示可用信息的复杂问题。可以配置不同后端(已确认Solr和Search2可以工作)的可用性检查顺序和模式,为MARC-Data和不同媒体格式提供支持。它还提供了一个TestCase-Tool,用于即时显示配置的索引ID集的可用信息。最后,它提供了一个Debug-Tool,可以显示执行了哪些检查及其结果。目标也是能够轻松地将不同的解析器集成到该过程中,并根据可配置的规则调整其结果。
该模块在VuFind 5和8上工作,仅有一个依赖项,即RecordDriver模块,在这两个VuFind版本之间有一些小的差异。
- 对于VuFind 5,请使用此分支中的模块:https://github.com/qcovery/core/blob/develop-5-aplus/module/AvailabilityPlus/
- 对于VuFind 8,请使用此分支中的模块:https://github.com/qcovery/core/tree/develop-8-availability-plus/module/AvailabilityPlus
安装(手动步骤)
目前只能手动安装。未来将作为Composer模块提供。
- 需要将此分支克隆到单独的文件夹中,然后将文件复制或链接到要集成AvailabilityPlus的系统中的vufind文件夹。
- 所需模块:从此分支的RecordDriver
- 除了模块包外,还需要以下文件
- AvailabilityPlus-Configuration ../../config/vufind 所有以availabilityplus开头的文件
- AvailabilityPlus-Theme ../../themes/availabilityplus
- AvailabilityPlus-Translations languages 需要添加到相应的语言文件
- 可能需要修改PluginManager.php文件:将GetItemStatuses和GetItemStatuses Factory的引用更改为AvailabilityPlus命名空间
- 修改主题配置:需要将availabilityplus主题添加为mixin
- 需要在Apache配置中添加VuFind使用的模块,RecordDriver和AvailabilityPlus需要添加。由于它依赖于RecordDriver,因此需要在RecordDriver之后指定AvailabilityPlus。
- 如果主题中使用了自定义的js/check_item_statuses.js,则需要将其删除。
- 添加availabilityplus模板的渲染
- 在列表中:availabilityplus-result-list.phtml
- 在记录视图中(最好在右侧):availabilityplus-view.phtml
- 如果您的系统在URL路径中不使用根目录的
/vufind
,那么可能需要在某些配置、模板和模块文件中删除/vufind
。在某些情况下,路径仍然是硬编码的。另一种选择是在您的Web服务器配置中添加重写规则。以下是渲染示例:
<!--Module AvailabilityPlus-->
<?=$this->render('RecordDriver/SolrDefault/availabilityplus-result-list.phtml', ['driver' => $this->driver]) ?>
<!--Module AvailabilityPlus-->
模块配置
此模块中的配置文件
- 可用性检查的顺序和模式:请参阅availabilityplus.ini
- 用于可用性检查和作为解析器参数的MARC数据:请参阅availabilityplus.yaml
- 测试用例:请参阅availabilityplus-testcases.yaml
- 解析器
- 基本配置,例如基础URL、参数以及仅针对DAIA的分组:请参阅availabilityplus-resolver.ini
- 调整解析器结果的规则,每个解析器一个文件,文件名模式为availabilityplus-resolver-{解析器名称}.yaml,例如:availabilityplus-resolver-DAIA.yaml
测试用例工具
测试用例工具是为了提供一页显示一组配置的索引ID的可用性信息而开发的。配置还可以包括HTML中的描述或预期结果,以检查实际结果。如何使用测试用例工具的示例,请参阅[这里](https://hilkat.uni-hildesheim.de/vufind/AvailabilityPlus/)。
测试用例工具的配置请参阅这里。yaml文件提供了配置结构的注释和示例。
测试用例工具还提供了到调试工具的链接。
如果您的系统配置未使用/vufind
,则可能需要在testcases.phtml
中设置的URL路径中删除/vufind
,请参阅testcases.phtml。
调试工具
调试工具是为了显示关于哪些可用性检查已执行及其结果的详细信息而开发的。它可以通过测试用例工具访问,通过添加URL参数debug_ap=true
或使用/vufind/AvailabilityPlus/Debug/{id}
(或/AvailabilityPlus/Debug/{id}
)。示例请参阅这里。
如果您的系统配置未使用/vufind
,则可能需要在debug.phtml
中设置的URL路径中删除/vufind
,请参阅debug.phtml。
待办事项
- 创建Composer模块
- 删除硬编码的
/vufind/...
引用,以便URL独立于是否使用URL路径中的/vufind
生成 - 在../../config/vufind/availabilityplus.yaml中对MARC配置进行重构以使其更通用,目前它是基于K10plus-Zentral使用的MARC结构
- 重构DAIA配置并将分组从模板移动到DAIA-Resolver
- 更改解析器接口以允许根据MARC数据提供MARC数据或基于MARC数据的规则
- 为SFX-Resolver添加A+解析
- 添加CrossRef以获取DOI并将其传递给Unpaywall
- 重构 availabilityplus-result-list.phtml 和 availabilityplus-result-list.phtml,可能只需要一个模板,如果参数值可以直接在 GetItemStatuses.php 中获取,则可能不需要这些模板
- 重构后端/source/driver 处理,确保其可以与不同的后端一起使用,尽管目前该模块不会与不提供 MARC-Data 的后端一起工作