Zum Inhalt springen
SBC-Standard Der Standard für Büchereien

Erweiterungen

SIP2 sieht Erweiterungen ausdrücklich vor: Unbekannte Feldkennungen sind zu überlesen, nicht als Fehler zu behandeln. Genau darauf beruht alles, was hier beschrieben ist.

Dieses Profil hält sich an drei Regeln:

  1. Alle eigenen Felder beginnen mit X. SIP2 vergibt keine Kennungen mit diesem Anfangsbuchstaben. Eine Kollision mit dem Protokoll ist damit ausgeschlossen – heute und später.
  2. Kein festes Feld wird verändert. Länge, Reihenfolge und Bedeutung der Felder ohne Kennung bleiben, wie SIP2 sie beschreibt. Wer daran rührt, verschiebt jedem fremden Gerät die gesamte Nachricht.
  3. Jedes eigene Feld ist entbehrlich. Ein Gerät, das keine der Erweiterungen kennt, arbeitet vollständig – es bekommt weniger Auskunft, aber nie eine falsche.

Die Erweiterungsfelder#

XK und XL – Art der Kennung#

Feld in Werte
XK 09, 11, 17 BAR, ACC, UID
XL 11, 23, 63 BAR, ACC, UID

Der SBC-Standard kennt für ein Medium drei Kennungen nebeneinander: die Barcodezahl, die Zugangsnummer und – seit RFID – die Seriennummer des Transponders. Für den Leserausweis gilt dasselbe.

SIP2 hat dafür genau ein Feld: AB für das Medium, AA für den Leser. Welche der drei Kennungen darin steht, ist der Nachricht nicht anzusehen. Solange ein Haus nur eine Art verwendet, genügt eine Einstellung im Bibliothekssystem. Sobald aber ein Gerät im Mischbetrieb arbeitet – Barcodescanner und RFID-Leser – schlägt dieses Verfahren fehl: Eine zwölfstellige Transponder-UID kann als Barcodezahl formal gültig sein und trifft dann ein anderes Medium.

XK und XL beseitigen das Raten. Fehlt die Angabe, gilt weiterhin die Einstellung im Bibliothekssystem – alte Geräte laufen unverändert.

XP – Geheimzahl#

Feld in Inhalt
XP 23, 63 Geheimzahl des Lesers

SIP2 kennt für die Prüfung nur AD, das Kennwort des Lesers. In der Praxis sind das zwei verschiedene Dinge: ein Kennwort, mit dem sich der Leser im Online-Katalog anmeldet, und eine kurze Geheimzahl, die er an der Zifferntastatur des Automaten eingibt.

Beide über dasselbe Feld zu führen, zwingt das Bibliothekssystem zu einer Entweder-oder-Einstellung. Mit XP kann ein Haus beides anbieten.

XZ – Buchungsnummer#

Feld in Inhalt
XZ 12, 18 Buchungsnummer des Vorgangs

Die Buchungsnummer ist der Schlüssel, unter dem eine Ausleihe im Bibliothekssystem geführt wird. Ein Gerät braucht sie nicht, um zu arbeiten – aber wer eine strittige Buchung klären will, findet den Vorgang damit sofort. Sie gehört deshalb auf den Beleg und ins Protokoll des Geräts.

XH und XD – Kontoauskunft in Kurzform#

Feld in Inhalt
XH 64 Zahl der heute bereits entliehenen Medien
XD 64 Datum der nächsten fälligen Rückgabe

Beide Angaben ließen sich aus der Medienliste errechnen – dafür müsste ein Gerät aber die vollständige Liste anfordern und auswerten. Für zwei Zahlen, die auf jedem Kontobildschirm stehen, ist das viel Aufwand; auf einem Konto mit sechzig Medien ist es spürbar viel.

XE – Zeichensatz#

Feld in Werte
XE 99, 98 w, u

SIP2 nennt als Zeichensatz die Codepage 850 und fügt an, alles andere müssten Gerät und Bibliothekssystem „untereinander festlegen" – einen Weg, das im Betrieb zu tun, kennt das Protokoll nicht. In der Praxis heißt das: zwei Einstellungen an zwei Stellen, und wehe, sie stimmen nicht überein. Falsch eingestellt bemerkt man es an zerlegten Umlauten in Titeln und Lesernamen.

XE macht daraus eine Frage und eine Antwort. Das Gerät nennt beim Systemstatus, was es kann, das Bibliothekssystem antwortet mit dem, was gilt. Fehlt das Feld, gilt Windows-1252 – deshalb verstehen sich auch zwei Systeme weiterhin, die beide nichts davon wissen.

Zwei Festlegungen machen UTF-8 überhaupt erst gefahrlos, und beide stehen im Nachrichtenaufbau: Feste Felder bleiben ASCII, und die Prüfsumme läuft über Bytes. Damit ändert UTF-8 nichts an der Zählweise – ein Umlaut wiegt dort zwei Bytes, und genau die gehen in die Summe ein.

XM – Betriebsmodus#

Feld in Werte
XM 98 NORMAL, MAINT

Ein Bibliothekssystem im Tagesabschluss ist erreichbar, aber nicht buchungsbereit. SIP2 kennt für diesen Zwischenzustand keine Angabe: Man kann ihn nur nachbilden, indem man Ausleihe und Rückgabe einzeln auf N setzt – dann steht das Gerät aber vor derselben Lage wie bei einem Haus, das gar keine Selbstverbuchung anbietet.

XM unterscheidet beides. Bei MAINT weiß das Gerät, dass es später erneut fragen darf, und kann dem Leser sagen, dass es gleich wieder geht.

XS, XU und XF – Kennung des Bibliothekssystems#

Feld in Inhalt
XS alle Antworten Kennung und Fassung des Bibliothekssystems
XU alle Antworten Mindestfassung, die ein Gerät haben muss
XF alle Antworten Liste der angebotenen Funktionen

Diese drei Felder hängen an jeder Antwort und sagen dem Gerät, mit wem es spricht. Das ist zunächst eine Erleichterung bei der Fehlersuche: Im Mitschnitt steht, welche Fassung geantwortet hat. XU erlaubt darüber hinaus, ein zu altes Gerät zu erkennen, bevor es Nachrichten sendet, die die Gegenstelle nicht versteht.

XSbvssip/3.0.541|XUX3.0.400|XFcheckout,returns|

Prüfliste für Hersteller#

Wer ein Gerät gegen dieses Profil entwickelt, sollte diese Punkte durchgehen:

  • Kommt die Sequenznummer der Antwort mit der gesendeten überein? Antworten mit abweichender Nummer sind zu verwerfen, nicht auszuwerten.
  • Wird die Prüfsumme geprüft und bei Fehler 97 gesendet?
  • Werden unbekannte Feldkennungen überlesen statt als Fehler behandelt?
  • Wird BX aus dem Systemstatus ausgewertet, statt nicht unterstützte Kommandos auf Verdacht zu senden?
  • Wird AF unverändert angezeigt, statt eigene Meldungen zu formulieren?
  • Wird bei der Ausleihe erst auf 1 im Erfolgskennzeichen hin die Sicherung deaktiviert?
  • Wird die eigene Uhr nach dem Zeitabgleich aus der Antwort 98 gestellt?