Workshop SIP2-Modul: Einrichtung eines lokalen Edge-SIP2-Moduls zu Testzwecken

Workshop SIP2-Modul: Einrichtung eines lokalen Edge-SIP2-Moduls zu Testzwecken

 

1. Einrichten des lokalen SIP2-Containers in einer Dockerumgebung mit Docker Compose

Richten Sie sich zunächst eine lokale Dockerumgebung ein:
Offizielle Docker-auf-Windows Anleitung

a) Erstellen und Anpassen der Konfigurationsdateien des Moduls

Hier finden Sie die Modul-Dokumentation auf Github

Erstellen Sie ein Verzeichnis “sip2test” und legen darin folgende Struktur bzw, Dateien an:

(für die Aktivierung der Verschlüsselung mit Stunnel erstellen Sie einen privaten als auch öffentlichen Schlüssel mit openssl → sip2-test.crt , sip2-test.key )

 

  • sip2test

    • conf

      • sip2.conf

      • sip2-tenants.conf

      • sip2-test.crt

      • sip2-test.key

    • docker-compose.yml

 

sip2.conf

{ "port": 6443, "okapiUrl": "<https://folio.url.com/okapi>", "//1_comment": "start stunnel config", "netServerOptions":{ "ssl":true, "pemKeyCertOptions":{ "certPaths":["/sip2conf/sip2-test.crt"], "keyPaths":["/sip2conf/sip2-test.key"] } }, "//2_comment": "end stunnel config", "tenantConfigRetrieverOptions": { "scanPeriod": 300000, "stores": [{ "type": "file", "format": "json", "config": { "path": "/sip2conf/sip2-tenants.conf" }, "optional": false }] } }

 

sip2-tenants.conf

{ "scTenants": [ { "scSubnet": "172.16.0.0/12", "tenant": "<tenant-id>", "errorDetectionEnabled": true, "charset": "UTF-8" } ] }

Ggfs. muss hier der IP-Bereich der Dockerumgebung angepasst werden.

 

b) Bauen und starten des SIP2-Containers

Nun wird in der Datei docker-compose.yml die Bauanleitung des Moduls definiert.

Verfügbare Image-Versionen des Modules finden wir auf:

Offizielle Releases auf Dockerhub

Snapshot Releases auf Dockerhub

docker-compose.yml:

version: '2' services:   edge-sip2-folio:     container_name: edge-sip2     image: folioci/edge-sip2:latest     restart: unless-stopped     ports:       - "6443:6443"     volumes:       - ./conf:/sip2conf     command: -conf /sip2conf/sip2.conf

Bauen und starten des Containers mit:

docker compose up -d

 

2. SIP2-Konfigurationen in FOLIO

Sollten Sie das SIP2-Modul nicht an eine lokale FOLIO-Installation anbinden wollen, klären Sie bitte die nächsten Schritte im Vorfeld mit Ihren Systemadministratoren ab. Gffs. können diese die Konfiguration Schritte für Sie umsetzen.

Es wird ein Adminnutzer und ggfs, eine OKAPI-CLI benötigt.

Als OKAPI-CLI bietet sich zB. das Tool der LRZ-Kollegen an: https://gitlab.lrz.de/bib-public/okapiclient

a) Anlegen eines Systemnutzers

Das Modul benötigt einen Systemnutzer in FOLIO, der über die entsprechenden Rechte verfügt.

In unserem Bespiel “sip2systemuser” und nicht das Setzen des Passwortes vergessen.

b) Anlegen der generellen SIP2-Konfiguration

Nun wird die generelle SIP2-Konfiguration angelegt. (Modul-Dokumentation auf Github )

echo '{ "module": "edge-sip2", "configName": "acsTenantConfig", "enabled": true, "value": "{\"supportedMessages\": [{\"messageName\": \"PATRON_STATUS_REQUEST\",\"isSupported\": \"Y\"},{\"messageName\": \"CHECKOUT\",\"isSupported\": \"Y\"},{\"messageName\": \"CHECKIN\",\"isSupported\": \"Y\"},{\"messageName\": \"BLOCK_PATRON\",\"isSupported\": \"N\"},{\"messageName\": \"SC_ACS_STATUS\",\"isSupported\": \"Y\"},{\"messageName\": \"LOGIN\",\"isSupported\": \"Y\"},{\"messageName\": \"PATRON_INFORMATION\",\"isSupported\": \"Y\"},{\"messageName\": \"END_PATRON_SESSION\",\"isSupported\": \"Y\"},{\"messageName\": \"FEE_PAID\",\"isSupported\": \"Y\"},{\"messageName\": \"ITEM_INFORMATION\",\"isSupported\": \"Y\"},{\"messageName\": \"ITEM_STATUS_UPDATE\",\"isSupported\": \"Y\"},{\"messageName\": \"PATRON_ENABLE\",\"isSupported\": \"N\"},{\"messageName\": \"HOLD\",\"isSupported\": \"N\"},{\"messageName\": \"RENEW\",\"isSupported\": \"Y\"},{\"messageName\": \"RENEW_ALL\",\"isSupported\": \"Y\"}, {\"messageName\": \"REQUEST_SC_ACS_RESEND\",\"isSupported\": \"Y\"}],\"statusUpdateOk\": false,\"offlineOk\": false,\"patronPasswordVerificationRequired\": true}" }' | ./OkapiCLI.py -v -u https://folio.url.com/okapi -U admin -p passwd -t tenant-id -i raw -r "/configurations/entries" -m post

 

c) Anlegen einer individuellen Servicestellen-Konfiguration

Detailierte Modul-Dokumentation auf Github

echo '{ "module": "edge-sip2", "configName": "selfCheckoutConfig.<UUID-servicepoint>", "enabled": true, "value": "{\"timeoutPeriod\": 5,\"retriesAllowed\": 3,\"checkinOk\": true,\"checkoutOk\": true,\"acsRenewalPolicy\": false,\"libraryName\": \"UB Mainz\",\"terminalLocation\": \"<UUID-servicepoint>\"}" }' | ./OkapiCLI.py -v -u https://folio.url.com/okapi -U admin -p passwd -t tenant-id -i raw -r "/configurations/entries" -m post

 

3. Einrichtung von SIP2-Test-Clients

Folgend Beispiele zur Einrichtung eines SIP2-Test-Clients:

a) RDBTest

 

Screenshot-sip2-RDbtest.png

b) SIP-Testing-Tool

Homepage: https://clcohio.org/sip-testing-tool/

Screenshot-sip2-testing-tool.png

 

Hinweis:

Der Location identifier muss im Namen einer Servicestellen-Konfiguration enthalten sein, damit wird beim Login Request (CP=Location identifier) die jeweilige Konfiguration geladen. Sonst schlägt bspw. ein SC Status Request direkt fehl, da keine Konfiguration geladen werden kann.

Alternativ kann eine “Fallback”-Konfiguration (selfCheckoutConfig.) angelegt werden.

Related content