Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:plugins:link_resolver_drivers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
vufind2:link_resolver_drivers [2012/09/11 15:00] – demiankatz | development:plugins:link_resolver_drivers [2023/11/27 18:48] (current) – [parseLinks] demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Link Resolver | + | ====== Link Resolver |
- | // This page refers to VuFind 2.0 functionality; | + | This page contains details on writing a custom 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 " |
- | + | ||
- | Note that Link Resolver Drivers are only used when the " | + | |
===== Key Plugin Details ===== | ===== Key Plugin Details ===== | ||
Line 11: | Line 9: | ||
**Default Namespace: | **Default Namespace: | ||
- | **Interface: | + | **Interface: |
- | **Service Locator Configuration Section in module.config.php: | + | **Service Locator Configuration Section in module.config.php: |
- | **Service Manager Name for Service Locator:** ResolverDriverPluginManager | + | **Service Manager Name for Service Locator: |
- | See the [[General Plugin Information]] page for more details on VuFind | + | See the [[development: |
===== Basic Structure ===== | ===== 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. | + | * 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 [[configuration: |
+ | * The driver class must implement the VuFind\Resolver\Driver\DriverInterface. For convenience, | ||
===== Key Methods ===== | ===== Key Methods ===== | ||
Line 28: | Line 27: | ||
This method takes an OpenURL as a parameter and retrieves details from the link resolver. | This method takes an OpenURL as a parameter and retrieves details from the link resolver. | ||
+ | |||
+ | ==== getResolverUrl ==== | ||
+ | |||
+ | :!: Introduced in VuFind® 4.0 | ||
+ | |||
+ | This method takes an OpenURL as a parameter and returns a URL for accessing that item in the link resolver' | ||
==== parseLinks ==== | ==== parseLinks ==== | ||
- | This method takes the output of fetchLinks and parses it into an associative | + | This method takes the output of fetchLinks and parses it into an array of associative arrays |
* href - the link to access the resource | * href - the link to access the resource | ||
Line 37: | Line 42: | ||
* coverage - coverage range applicable to 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) | * 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/ | ||
+ | |||
+ | ==== supportsMoreOptionsLink ==== | ||
+ | |||
+ | :!: Introduced in VuFind® 4.0 | ||
+ | This method returns true when the direct link provided by getResolverUrl offers a human-friendly interface; it should return false if the link resolver offers a data-only interface (for example, in the case of JOP). | ||
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
development/plugins/link_resolver_drivers.txt · Last modified: 2023/11/27 18:48 by demiankatz