Warning: This page has not been updated in over over a year and may be outdated or deprecated.
legacy:vufind_1.x_developer_manual:building_an_ils_driver
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
building_an_ils_driver [2012/04/27 12:49] – demiankatz | legacy:vufind_1.x_developer_manual:building_an_ils_driver [2018/04/18 12:44] – demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== ILS Driver | + | ====== ILS Drivers (VuFind 1.x) ====== |
+ | |||
+ | // This page refers to VuFind 1.x; for information on newer versions, see the current [[development: | ||
This page contains details on writing a custom driver for an integrated library system not already supported by VuFind. | This page contains details on writing a custom driver for an integrated library system not already supported by VuFind. | ||
Line 7: | Line 9: | ||
* ILS Drivers are found in the web/Drivers folder of the VuFind installation. | * ILS Drivers are found in the web/Drivers folder of the VuFind installation. | ||
- | * The PHP file containing the driver must be named for the value used as the driver setting in the [Catalog] section of web/conf/config.ini. | + | * The PHP file containing the driver must be named for the value used as the driver setting in the [Catalog] section of [[configuration: |
* The name of the class defined in the PHP file should match the filename, and the class must implement the DriverInterface (found in web/ | * The name of the class defined in the PHP file should match the filename, and the class must implement the DriverInterface (found in web/ | ||
* You may wish to define a catalog-specific .ini file in the /web/conf/ directory for your ILS -- you can look at other existing drivers to see how this can be loaded in the constructor. | * You may wish to define a catalog-specific .ini file in the /web/conf/ directory for your ILS -- you can look at other existing drivers to see how this can be loaded in the constructor. | ||
Line 107: | Line 109: | ||
This method queries the ILS for holding information. | This method queries the ILS for holding information. | ||
- | * Input: RecordID | + | * Input: RecordID, logged-in patron data (optional) |
* Output: Returns an array of associative arrays, one for each item attached to the specified bibliographic record. | * Output: Returns an array of associative arrays, one for each item attached to the specified bibliographic record. | ||
* id - the RecordID that was passed in | * id - the RecordID that was passed in | ||
Line 166: | Line 168: | ||
* Input: Patron array returned by patronLogin method | * Input: Patron array returned by patronLogin method | ||
* Output: Returns an array of associative arrays, one for each hold associated with the specified account. Each associative array contains these keys: | * Output: Returns an array of associative arrays, one for each hold associated with the specified account. Each associative array contains these keys: | ||
- | * type - A string describing the type of hold (optional). | + | * type - A string describing the type of hold -- i.e. hold vs. recall |
* id - The bibliographic record ID associated with the hold (optional). | * id - The bibliographic record ID associated with the hold (optional). | ||
* location - A string describing the pickup location for the held item (optional). | * location - A string describing the pickup location for the held item (optional). | ||
Line 219: | Line 221: | ||
// | // | ||
+ | |||
+ | ==== getOfflineMode ==== | ||
+ | This optional method (introduced in VuFind 1.4) gets the online status of the ILS -- " | ||
+ | |||
+ | * Output: string or false, as described above | ||
==== getPickUpLocations ==== | ==== getPickUpLocations ==== | ||
Line 231: | Line 238: | ||
This method returns information on recently received issues of a serial. | This method returns information on recently received issues of a serial. | ||
- | * Input: | + | * Input: |
* Output: Array of associative arrays, each with a single key: | * Output: Array of associative arrays, each with a single key: | ||
* issue - String describing the issue | * issue - String describing the issue | ||
Currently, most drivers do not implement this method, instead always returning an empty array. | Currently, most drivers do not implement this method, instead always returning an empty array. | ||
+ | |||
+ | ==== getRecentlyReturnedBibs ==== | ||
+ | This method returns information on bibliographic records for which items have been recently returned. | ||
+ | |||
+ | * Input: Limit (max bibs to return), Maximum age (in days), Patron array (optional) | ||
+ | * Output: Array of associative arrays, each with a single key: | ||
+ | * id - Bibliographic ID | ||
==== getRenewDetails ==== | ==== getRenewDetails ==== | ||
Line 242: | Line 256: | ||
* Input: checkOutDetails - One of the individual item arrays returned by the getMyTransactions method | * Input: checkOutDetails - One of the individual item arrays returned by the getMyTransactions method | ||
* Output: A string to use as the input form value for renewing each item; you can pass any data that is needed by your ILS to identify the transaction to renew -- the output of this method will be used as part of the input to the renewMyItems method. | * Output: A string to use as the input form value for renewing each item; you can pass any data that is needed by your ILS to identify the transaction to renew -- the output of this method will be used as part of the input to the renewMyItems method. | ||
- | |||
- | ==== getRenewLink ==== | ||
- | This method returns a URL to use as a link to a native OPAC for renewing each item. (optional, and should not be implemented unless your ILS is unable to support implementation of the renewMyItems method). // Not supported prior to VuFind 1.2 // | ||
- | |||
- | * Input: checkOutDetails - One of the individual item arrays returned by the getMyTransactions method | ||
- | * Output: A URL to a native OPAC for renewing each item | ||
==== getStatus ==== | ==== getStatus ==== | ||
Line 278: | Line 286: | ||
* Output: An array of bibliographic record IDs. | * Output: An array of bibliographic record IDs. | ||
+ | |||
+ | ==== getTrendingBibs ==== | ||
+ | This method returns information on bibliographic records which have been subject to recent activity; the exact mechanism for determining this may vary from ILS to ILS (it could, for example, be based on highest circulation within a time window). | ||
+ | |||
+ | * Input: Limit (max bibs to return), Maximum age (in days -- defining the period in which activity is considered significant), | ||
+ | * Output: Array of associative arrays, each with a single key: | ||
+ | * id - Bibliographic ID | ||
==== hasHoldings ==== | ==== hasHoldings ==== | ||
Line 330: | Line 345: | ||
* item_id – The item id of the renewed item | * item_id – The item id of the renewed item | ||
* sysMessage – A system supplied renewal message (optional) | * sysMessage – A system supplied renewal message (optional) | ||
+ | |||
+ | ==== renewMyItemsLink ==== | ||
+ | This method returns a URL to use as a link to a native OPAC for renewing each item. (optional, and should not be implemented unless your ILS is unable to support implementation of the renewMyItems method). // Not supported prior to VuFind 1.2 // | ||
+ | |||
+ | * Input: checkOutDetails - One of the individual item arrays returned by the getMyTransactions method | ||
+ | * Output: A URL to a native OPAC for renewing each item | ||
===== Further Reading ===== | ===== Further Reading ===== | ||
* [[http:// | * [[http:// | ||
- | * [[ILS Driver Troubleshooting]] | + | * [[configuration: |
---- struct data ---- | ---- struct data ---- | ||
---- | ---- | ||
legacy/vufind_1.x_developer_manual/building_an_ils_driver.txt · Last modified: 2018/12/19 14:15 by demiankatz