About Features Downloads Getting Started Documentation Events Support GitHub

Site Tools


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.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
legacy:vufind_1.x_developer_manual:building_an_ils_driver [2012/04/27 12:49]
demiankatz
legacy:vufind_1.x_developer_manual:building_an_ils_driver [2018/04/18 12:45]
demiankatz [getTrendingBibs]
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:plugins:ils_drivers|ILS Drivers]] page. //
  
 This page contains details on writing a custom driver for an integrated library system not already supported by VuFind.  VuFind supports many platforms, so check to see if it already has support before you try to write your own! This page contains details on writing a custom driver for an integrated library system not already supported by VuFind.  VuFind supports many platforms, so check to see if it already has support before you try to write your own!
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:files:config.ini]].
   * The name of the class defined in the PHP file should match the filename, and the class must implement the DriverInterface (found in web/Drivers/Interface.php).   * The name of the class defined in the PHP file should match the filename, and the class must implement the DriverInterface (found in web/Drivers/Interface.php).
   * 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.  Each associative array contains these keys:   * Output: Returns an array of associative arrays, one for each item attached to the specified bibliographic record.  Each associative array contains these keys:
     * 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 (optional).
     * 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).  In VuFind 1.2, this should correspond with a locationID value from getPickUpLocations.  In VuFind 1.3 and later, it may be either a locationID value or a raw ready-to-display string.     * location - A string describing the pickup location for the held item (optional).  In VuFind 1.2, this should correspond with a locationID value from getPickUpLocations.  In VuFind 1.3 and later, it may be either a locationID value or a raw ready-to-display string.
Line 219: Line 221:
  
 //IMPORTANT: The fundID parameter changed behavior in r2184.  In VuFind 1.0RC2 and earlier versions, it receives one of the VALUES returned by getFunds(); in more recent code, it receives one of the KEYS from getFunds().  See getFunds for additional notes.// //IMPORTANT: The fundID parameter changed behavior in r2184.  In VuFind 1.0RC2 and earlier versions, it receives one of the VALUES returned by getFunds(); in more recent code, it receives one of the KEYS from getFunds().  See getFunds for additional notes.//
 +
 +==== getOfflineMode ====
 +This optional method (introduced in VuFind 1.4) gets the online status of the ILS -- "ils-offline" for systems where the main ILS is offline, "ils-none" for systems which do not use an ILS, false for systems that are fully online.  If not implemented, the value defaults to false -- most drivers will not need to worry about this method, which is primarily used by the special NoILS driver.
 +
 +  * 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: Bibliogrpahic record ID+  * Input: Bibliographic record ID
   * 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.  It is only necessary to implement this in more detail if you want to populate the "Most Recent Received Issues" section of the record holdings tab. Currently, most drivers do not implement this method, instead always returning an empty array.  It is only necessary to implement this in more detail if you want to populate the "Most Recent Received Issues" section of the record holdings tab.
 +
 +==== getRecentlyReturnedBibs ====
 +This method returns information on bibliographic records for which items have been recently returned. // Introduced in VuFind 5.0. //
 +
 +  * 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). // Introduced in VuFind 5.0. //
 +
 +  * Input: Limit (max bibs to return), Maximum age (in days -- defining the period in which activity is considered significant), Patron array (optional)
 +  * 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://blog.library.villanova.edu/libtech/2011/06/02/expanded-ils-functionality-in-vufind/|Expanded ILS Functionality in VuFind]] -- Blog post providing an overview of how the driver's hold/recall/renewal functionality works.   * [[http://blog.library.villanova.edu/libtech/2011/06/02/expanded-ils-functionality-in-vufind/|Expanded ILS Functionality in VuFind]] -- Blog post providing an overview of how the driver's hold/recall/renewal functionality works.
-  * [[ILS Driver Troubleshooting]]+  * [[configuration:ils:troubleshooting|ILS Driver Troubleshooting]]
 ---- struct data ---- ---- struct data ----
 ---- ----
  
legacy/vufind_1.x_developer_manual/building_an_ils_driver.txt · Last modified: 2018/12/19 14:15 by demiankatz