The opac module enables libraries to integrate their catalog into Drupal allowing importing records, make advanced searches with faceted results, circulation task etc ... This module is intended to work with any ILS by using connectors. Everyone can make its own by creating a php file.

Modules included:

  • OPAC: The main module. Allows to create ILS backends, define mapping, rules and harvest records
  • Opac items: Get items informations
  • Opac users: Allows library borrwers to make operation on items and views account informations
  • Opac authorities: Import your authorities in drupal and link them to nodes
  • Opac MARC: Provides a Marc view of bibliographics record for compliant systems

How this module works

In order to be "multi-ILS compliant" OPAC works with connectors. Connectors are php classes responsible of communicating with ILS backends. So, regardless of the protocol, data formats, web-services, the OPAC module is able to get records and insert them as node in Drupal.

See connector specifications for more details on how to make your own.

Only, bibliographics records and authorities are harvested and saved in Drupal. This can be done by using drush command (opac-harvest and opac-auth-harvest).
Because status or availability changes all the time, items are not harvested. So, information about items are retrieved on the fly when displaying record.

Known connectors

  • Koha connector: This connector allows integrating koha with opac module. It uses both ILSDI standard interfaces of koha and a RESTFUL web service.


  • Import bibliographics records as nodes and authorities as entities into Drupal,
  • create one or more ILS server to connect them with drupal,
  • define your own mapping and rules for getting records,
  • use existing mapping plugins or create your owns. Mapping plugins are pieces of PHP code that transform incoming biblio data to an appropriate format for your drupal opac.
  • make incoming biblio data some taxonomy terms or urls (mapping plugins),
  • defining which fields to display about items or patron accounts
  • getting covers based on ISBN checking
  • showing items availability for a given record,
  • borrowers can renew a loan, hold an item, cancel holds
  • viewing marc data (for compliant ILS)
  • Import/export the opac configuration with Features module (ILS server and content types related to, mapping of biblio, items or patron etc ... are exportable).


  • PHP 5
  • An Integrated Library System as back-end

Recommended modules

Similar projects

  • SOPAC: Provides integration of various library catalog system. SOPAC records are not stored in drupal as node but in a separate database by using Locum, an external php library, as an abstraction layer between ILS and Drupal. SOPAC use its own data search engine (Sphinx). SOPAC also use Insurge, an other external php library, to store social data such as rating, comments etc...
  • eXtensible Catalog: eXtensible Catalog (XC) provides a Drupal Toolkit which enables library systems to work with drupal.

Project information