Download the PHP package qcovery/availability-plus without Composer
On this page you can find all versions of the php package qcovery/availability-plus. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download qcovery/availability-plus
More information about qcovery/availability-plus
Files in qcovery/availability-plus
Package availability-plus
Short Description Display of availability information for VuFind
License
Informations about the package availability-plus
AvailabilityPlus - Module Description
This module tries to address the complex issue of checking and displaying availability information. The order and mode of availability checks can be configured for different Backends (Solr and Search2 have been confirmed to work) providing MARC-Data and for different media formats. It also provides a TestCase-Tool for displaying the availability information for a configured set of Index-Ids in on spot. Lastly, it provides a Debug-Tool which displays details on which checks were performed and their result. It was also an aim to be able to easily integrate different resolvers into this process and adjust their results based on configurable rules.
The module works in VuFind 5 and 8, only a dependency, the RecordDriver module, has some small differences between these VuFind versions:
- For VuFind 5 use module in this branch: https://github.com/qcovery/core/blob/develop-5-aplus/module/AvailabilityPlus/
- For VuFind 8 use module in this branch: https://github.com/qcovery/core/tree/develop-8-availability-plus/module/AvailabilityPlus
Installation (manual steps)
Currently only a manual installation is possible. The module will be made available as a Composer module in the future.
- [ ] This branch needs to be cloned into a separate folder and then the files copied or linked in the vufind folder of the system in which AvailabilityPlus is to be integrated.
- [ ] Required Module: RecordDriver from this branch
- [ ] Besides the Module Package these files are required:
- [ ] AvailabilityPlus-Configuration ../../config/vufind all files starting with availabilityplus
- [ ] AvailabilityPlus-Theme ../../themes/availabilityplus
- [ ] AvailabilityPlus-Translations languages need to be added to the respective language files
- [ ] Changes to PluginManager.php-files might be required: References to GetItemStatuses and GetItemStatuses Factory need to be changed to the AvailabilityPlus Namespace
- [ ] Changes to Theme config: the availabilityplus theme needs to be added as a mixin
- [ ] The modules RecordDriver and AvailabilityPlus need to be added to the modules used by VuFind in the Apache configuration. AvailabilityPlus needs to be specified after RecordDriver as it depends on it.
- [ ] If a custom js/check_item_statuses.js is in the Theme used, then it needs to be removed.
- [ ] Add rendering of availabilityplus-Templates
- [ ] in lists: availabilityplus-result-list.phtml
- [ ] in record view (preferably on the right hand side): availabilityplus-view.phtml
- [ ] If your system does not use
/vufind
as root in the URL path, then it might be necessary to remove `/vufind´ in some configuration, template and module files. In some case the path is still hard-coded. An alternative could be to add a rewrite rule in your web server configuration. Example for rendering:
Module configuration
Configuration files in this module:
- Order and mode of availability checks: availabilityplus.ini
- MARC-Data used for availability checks and as parameter for resolvers: availabilityplus.yaml
- TestCases: availabilityplus-testcases.yaml
- Resolver:
- Basic configuration, such as base url, parameters and, for DAIA only, grouping: availabilityplus-resolver.ini
- Rules for adjusting resolver results, one file per resolver, with the name pattern availabilityplus-resolver-{name of resolver}.yaml, e.g. availabilityplus-resolver-DAIA.yaml
TestCase-Tool
The TestCase-Tool was developed to provide one page which displays the availability information for a set of configured Index-IDs. The configuration can also included a description or an expected result in HTML against which the actual result is being checked. An example how the TestCase-Tool works, can be found [here] (https://hilkat.uni-hildesheim.de/vufind/AvailabilityPlus/).
The TestCase-Tool can be configured here. The yaml-File provides comments on how to structure the configuration and an example.
The TestCase-Tool also provides links to the Debug-Tool.
It might be necessary to remove /vufind
in URL paths set in testcases.phtml, if your system is set up without using /vufind
.
Debug-Tool
The Debug-Tool was developed to display detailed information about which availability checks were performed and about their results. It can be accessed via the TestCase-Tool, by adding debug_ap=true
as URL-parameter or by using /vufind/AvailabilityPlus/Debug/{id}
(or /AvailabilityPlus/Debug/{id}
). An example can be found here.
It might be necessary to remove /vufind
in URL paths set in debug.phtml, if your system is set up without using /vufind
.
ToDos
- Create Composer module
- remove hard-coded references to
/vufind/...
, so URLs are generated independently of whether/vufind
is used with URL path - rework MARC configuration in K10plus-Zentral
- Rework DAIA configuration and move grouping from templates to DAIA-Resolver
- Change Resolver interface to allow for providing MARC-Data for configuration or rules based on MARC-Data
- Add A+ parsing for SFX-Resolver
- Add CrossRef to get DOIs to pass on to Unpaywall
- rework availabilityplus-result-list.phtml and availabilityplus-result-list.phtml, only one Template might be necessary, potentially they might not be needed if parameter values can be obtained directly in GetItemStatuses.php
- rework backend/source/driver handling to make sure it can be used with different backends, although at this point, the module will not work with backends not providing MARC-Data