ubtue / vufind-beacon-finder
BEACONfinder integration into VuFind.
Requires
- php: >=8.1
Requires (Dev)
- friendsofphp/php-cs-fixer: 3.75.0
- phing/phing: 3.0.1
- phpmd/phpmd: 2.15.0
- phpstan/phpstan: 2.1.14
- rector/rector: ^2.0.0
- squizlabs/php_codesniffer: 3.12.2
This package is auto-updated.
Last update: 2026-03-18 10:49:19 UTC
README
VuFindBEACONFinder module for VuFind
This module provides a simple integration for BEACONfinder into VuFind. BEACONfinder is still under development, and so is this module / use at your own risk!
The basic idea behind this integration is to dynamically include the BEACONfinder whenever an authority page is loaded in the frontend, using CachingDownloader for better performance. Since a (potential) external service will be queried, there is also an AJAX endpoint which can be used to avoid delays when loading the page in case the service is under pressure. Another option might be to extend the Solr schema, add the information when importing into Solr, and then get the information from there when rendering the Record, but this is not part of this module.
Enabling the module
-
Include mixin & templates
Create a symlink
themes/beacon_finder_mixintovendor/ubtue/vufind-beacon-finder/res/themeRegister the mixin in your
theme.config.phpreturn [ 'mixins' => [ 'beacon_finder_mixin', ], ];Include one of the following templates at the top of your
authority/record.phtml:<?= // static //$this->render('authority/record/BEACONfinder.phtml'); // ajax //$this->render('authority/record/BEACONfinder-ajax.phtml'); ?> -
Modify RecordDriver
You also need to implement the provided interface in your record driver to provide the authority id:
class SolrAuthMarc implements VuFindBEACONFinder\RecordDriver\Feature\BEACONFinderInterface { public function getAuthorityId() { // return the ID depending on your custom field } } -
adjust configuration
Per default, your BEACONfinder service is running locally on port 8000. If you want to change this, copy the file
res/config/BEACONfinder.inito yourlocal/config/vufinddirectory and change the correspondingbaseUrlsetting.Regarding Cache settings, the BEACONfinder uses its own sub-section. You can influence the cache settings either by changing the global settings in the
config.ini[Cache]section, or by adding a new[Cache_BEACONfinder]section and entering custom settings there.