About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

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 revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
building_an_ils_driver [2012/05/21 14:27] demiankatzlegacy:vufind_1.x_developer_manual:building_an_ils_driver [2018/04/18 12:45] – [getTrendingBibs] 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: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 236: 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 277: 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 339: Line 355:
  
   * [[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