About

The ILS plugin allows for a web service API access to the ILS patron functionality, through a CF-authored ILS automation connector. When enabled, it expects the Torus identity profile record to contain the ILS connector's URL within the 'ilsConnector' record field. Any interfacing with the ILS is then performed using the CF session initialized with the specified connector.

Note to MKII UI users: presence of a non-empty 'ilsConnecor' field will enable the 'Patron Info' link that leads to the edit screen for patron information. Presence of 'placeHolds' field within the target profile record will enable a 'Place hold' link for that particular target.

Protocol

Assuming the plugin has been mapped to the ils chain (see configuration) it is invoked with:

  GET /service-proxy/?command=ils

If mapping is successful you will see an error indicating that mandatory request parameters (specific to the plugin) are missing.

Request parameters

creds

Credentials to access the ILS patron account in the form: username/password. They may be provided with any ILS plugin request, and when present they force an (re)initialization of the backend ILS session. Consequently, not providing the 'creds' parameter on a clean or expired ILS session will result in AUTHENTICATION_ERROR, in which case the request should be repeated with appropriate patron credentials. By default, the TTL of the backend ILS session is about 1 minute, allowing patrons to login once and perform a series of account operation without having to authenticate each of them. Idle sessions are expired after this TTL.

Example:

  GET /service-proxy/?command=ils&action=listholds&creds=Patron/Password

action

Specifies the action performed against the ILS.

Depending on the action(s) specified, additional parameters may be mandatory.

Possible values include:

  • listholds - list current holds on items

    Example:

      GET /service-proxy/?command=ils&action=listholds
  • listloans - list current loans

    Example:

      GET /service-proxy/?command=ils&action=listloans
  • listfines - list fines

    Example:

      GET /service-proxy/?command=ils&action=listfines
  • listblocks - list blocks on the account

    Example:

      GET /service-proxy/?command=ils&action=listblocks
  • listall - list all of the above

    Example:

      GET /service-proxy/?command=ils&action=listall
  • placehold - place a hold on an item, requires a persistent identifier of the item (e.g as returned through Z39.50 search in the 001 marc field

    Example:

      GET /service-proxy/?command=ils&action=placehold&id=SOMEID
  • cancelhold - cancel a hold on an item, requires the hold identifier as returned by the 'listholds' request

    Example:

      GET /service-proxy/?command=ils&action=cancelhold&holdid=1
  • renewloan - renew a loan on an item, requires the loan identifier as returned by the 'listloans' request

    Example:

      GET /service-proxy/?command=ils&action=renewloand&loanid=1

Configuration

Registration

This plug-in is configured in service-proxy.properties or equivalent as follows:

  plugins.ils  = com.indexdata.serviceproxy.plugins.ILSPlugin

Chain mapping

Example:

  chains.ils = ils

Properties

CFWS_URL

The address of the CF web service used to run the ILS automation connector

Mandatory

Example:

  ils.CFWS_URL = http://connect.indexdata.com:9000/connector