This is an old revision of the document!
Table of Contents
Link Resolver Driver
This page refers to VuFind 2.0 functionality; for the 1.x equivalent, see Building a Link Resolver Driver.
This page contains details on writing a custom driver for an OpenURL Link Resolver not already supported by VuFind.
Note that Link Resolver Drivers are only used when the “embed” setting is turned on in the [OpenURL] section of config.ini. This setting allows link resolver results to be directly embedded in the VuFind search page rather than opening in a separate window.
Key Plugin Details
Default Namespace: \VuFind\Resolver\Driver
Interface: \VuFind\Resolver\Driver\DriverInterface
Service Locator Configuration Section in module.config.php: ['vufind']['plugin_managers']['resolver_driver']
Service Manager Name for Service Locator: VuFind\ResolverDriverPluginManager
See the General Plugin Information page for more details on VuFind plugins.
Basic Structure
- The PHP driver class must be registered in the service locator with the value used as the the resolver setting in the [OpenURL] section of web/conf/config.ini. (i.e. “sfx”).
Key Methods
fetchLinks
This method takes an OpenURL as a parameter and retrieves details from the link resolver.
parseLinks
This method takes the output of fetchLinks and parses it into an associative array with the following keys:
- href - the link to access the resource
- title - a text description of the resource
- coverage - coverage range applicable to the resource
- service_type - used to categorize links (getHolding = local print holding, getWebService = special service related to item, getDOI = DOI link, getFullTxt = electronic holding)
- access - used to style links according to their access-status (if supported by the link resolver driver - available status: open, limited, denied, unknown), style classes are named access-{status} in template ajax/resolverLinks.phtml; this feature was added in VuFind2.5