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:
- 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. - 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.
- 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
97gesendet? - Werden unbekannte Feldkennungen überlesen statt als Fehler behandelt?
- Wird
BXaus dem Systemstatus ausgewertet, statt nicht unterstützte Kommandos auf Verdacht zu senden? - Wird
AFunverändert angezeigt, statt eigene Meldungen zu formulieren? - Wird bei der Ausleihe erst auf
1im Erfolgskennzeichen hin die Sicherung deaktiviert? - Wird die eigene Uhr nach dem Zeitabgleich aus der Antwort 98 gestellt?