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.
development:architecture:real_time_availability_status

Real-Time Availability Status

By default, VuFind's index only contains basic bibliographic information. To obtain information on item availability, VuFind makes real-time AJAX calls to its ILS driver. This information may be rendered differently depending on a variety of settings in the [Item_Status] section of config.ini.

Availability status behavior falls into two major categories, controlled by whether the show_full_status setting is true (“Full Status Display”) or false (“Summary Status Display”).

Full Status Display

In this mode, VuFind will display detailed line-by-line information on items attached to a particular bibliographic record. The rendering of these line items may be customized by modifying the ajax/status-full.phtml template in your chosen theme.

Summary Status Display

In this mode, VuFind attempts to reduce the information provided by the ILS driver down to simple call number, location and status fields. The exact behavior of this reduction is controlled by the multiple_call_nos, multiple_locations and preferred_service settings, which are documented in comments in config.ini.

Services

VuFind 3.0 introduces a new ILS driver feature: the 'services' key of the getStatus() response. When this data is provided, VuFind's boolean availability display is extended to include more detailed information.

The concept of available services was based on how services were defined in the Document Availability Information API (DAIA): “a service is something that an item is currently accessible or unaccessible for” (e.g. presentation, loan, interloan). Services are explicit, i.e. there should be no “assumed implications between service types (for instance most times an item is available for loan it is also available for presentation)”.

Supported services right now are presentation and loan. Other services can be added by modifying the ILS-driver (right now only the DAIA driver supports this feature) and its return values for the services key of getStatus() response. As translations-tokens and styling-classes for services are generated during runtime you will also need to add a translation-token service_available_{service} to the TextDomain HoldingStatus and styling for class service_{service} for proper display of additional services. The enclosing span for the services my also be styled via the class services-{-delimited services}.

Please refer also to the respective template vufind/themes/bootstrap3/templates/ajax/status-available-services.phtml.

development/architecture/real_time_availability_status.txt · Last modified: 2020/09/22 14:29 by demiankatz