ubtue / vufind-beacon-finder
BEACONfinder integration into VuFind.
Requires
- php: >=8.2
Requires (Dev)
- friendsofphp/php-cs-fixer: 3.89.2
- phing/phing: 3.1.0
- phpmd/phpmd: 2.15.0
- phpstan/phpstan: 2.1.32
- rector/rector: 2.2.7
- squizlabs/php_codesniffer: 4.0.1
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-04 14:39:58 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
-
Add the module to your
composer.local.jsonand runcomposer update -
Load VuFindBEACONFinder module in your
config/application.config.php$modulessection -
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 } } -
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'); ?> -
Customize 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. You can also configure black/whitelists here if necessary.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.