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:54] – demiankatz | legacy:vufind_1.x_developer_manual:building_an_ils_driver [2015/12/21 17:47] – ↷ Links adapted because of a move operation 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 247: | Line 249: | ||
* 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 335: | Line 331: | ||
* 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