ILS Integration

About ILS Integration

Currently only Koha is implemented, but interactions with other ILSes could be added in the future.

Koha

Features

Vendors can be synchronized between Coral and Koha.

Prerequisites

Koha 18.05 or later is needed to use OAuth authentication. Earlier versions of Koha used cookie-based authentication to access the REST API, which is not suitable in our case.

Installation

In Coral, install Unirest and league/oauth2-client in resources/api_client (composer might be the easiest way to do it)

In Koha, install Net::OAuth2::AuthorizationServer and enable RESTOAuth2ClientCredentials system preference.

Configuration

In Koha, create a user for the REST API, edit this user, click on more -> manage API Keys -> Generate new client id/secret pair.

In Coral, edit the [ils] section in organizations/admin/configuration.ini, and add/edit the following values:

[ils]
ilsConnector=koha
ilsVendorRole="Vendor"
ilsApiUrl="http://mykoha.tld/api/"
ilsAdminUrl="http://pro.mykoha.tld/"
oauthid="<paste Client ID generated in Koha>"
oauthsecret="<paste Secret generated in Koha>"
  • ilsConnector is the name of the ILS you want to connect to.
  • ilsVendorRole is the Coral organization role you want to map with Koha vendors.
  • ilsApiUrl is Koha’s API address.
  • ilsAdminUrl is Koha’s intranet address.
  • oauthid is the client ID generated in Koha.
  • oauthsecret is the secret generated in Koha.

Once enabled, you can search for an existing vendor in Koha when creating an organization in Coral:

Vendor does not exist in koha

If the vendor does not already exist in Koha, it will be added if the vendor role has been selected.

If the vendor already exists in Koha, we can automatically retrieve its informations:

Vendor exists in koha Vendor is retrieved from koha

In both cases, the vendor can no longer be modified in Coral, as the ILS is authoritative.

Once the Coral organization and the Koha vendor are linked, a link to open the vendor in Koha is displayed: Vendor in Coral