Neues Feld im Item: Source ID - Funktionsanalyse
Auf dieser Seite wird die Funktionsanalyse bezüglich "Neues Feld im Item: Source ID" beschrieben.
Funktionsanalyse
Beschreibung
- In der Instance und im Holdings gibt es Felder, die die Quelle des Datensatzes angeben:
- Instance-Feldname
source
. Ist ein Pflichtfeld vom Typ String. Akzeptiert jeden Text, den man beim Anlegen und Update mitliefert. Nicht wiederholbar. Siehe Instance-Schema. - Holdings-Feldname
sourceId
. Ist momentan kein Pflichtfeld und vom Typ String, wird jedoch auf das Muster einer UUID validiert. Nicht wiederholbar. Die Holdings-Sources können in den Settings konfiguriert werden. Siehe Holdings-Schema.
- Instance-Feldname
- Im Item gibt es bisher kein analoges Feld, in dem man die Quelle des Datensatzes angeben kann. Vermutlich deshalb, weil die US-Bibliotheken immer Items haben, die direkt in FOLIO angelegt wurden. Es gibt keinen MARC-Standard für Items, nur für bibliografische Datensätze und Bestandsdatensätze.
- Randbemerkung: Die Bedeutung der Source ist nicht eindeutig und deshalb ist die Nutzung auch nicht einheitlich. Das Problem habe ich 2020 in diesem Dokument beschrieben. Einerseits wird mit der Instance Source das System beschrieben, in dem die Daten erstellt wurden (wenn source=FOLIO), andererseits das Metadatenformat (wenn source=MARC).
- Im GBV und in Hebis (fachlich vertreten durch die UB Mainz) werden über CBS2FOLIO Instances, Holdings und Items aus dem angebundenen CBS nach FOLIO übertragen und dort aktuell gehalten. Aus einem CBS-Exemplarsatz (EPN) wird in FOLIO i. d. R. ein Holdings und ein Item erzeugt. Abweichungen gibt es bei gereihten Barcodes und in diesen Fällen wird aus einer EPN ein Holdings mit n Items erstellt. In allen Fällen haben Instance und Holdings die Source des Verbundkatalogs, d. h.
K10plus
oderHebis
. In den Items fehlt diese Quellenangabe. - Beide Verbünde wollen den Verbundbibliotheken ermöglichen, auch lokal in FOLIO Items anzulegen. Denkbar ist eine Alternative zu CBS-Bandsätzen (002@ $0 Pos. 2 = v) oder für lokale Dinge wie ausleihbare iPads, Stromkabel etc. Diese Items müssen von Items aus dem Verbundsystem zu unterscheiden sein, damit sie bei Updates von mod-inventory-Update (Teil des CBS2FOLIO-Prozesses) nicht überschrieben und damit gelöscht werden.
Beispiele:
# Instance "source" : "MARC", # Holdings "sourceId": "fa687f33-aab5-4119-b0ad-05afe8de4d92"
Benötigte Felder
- Implementierung des Pflichtfelds
sourceId
im Item. Sollte wie auf Holdingsebene ebenfalls eine UUID enthalten und in den Settings konfigurierbar sein. Nicht wiederholbar. Wenn ein Item direkt in der FOLIO-UI erstellt wird, sollte der Wert FOLIO enthalten sein. Beim Anlegen und Update des Items aus einem Drittsystem sollte man jede UUID mitliefern können, die in den Settings konfiguriert wurde, analog zur Holdings-Source. - Die Einführung eines neuen Pflichtfelds ist ein breaking change und führt dazu, dass bei einem Systemupgrade die bestehenden Datensätze migriert werden müssen. Für Institutionen mit Millionen von Items wird die Migration, das ist inakzeptabel wegen der langen Systemabschaltung (Downtime). Ebenso müssen alle Apps, die Transaktionen (anlegen/aktualisieren) mit Items haben, angepasst werden. Womöglich sollte man das Feld erst als fakultativ einführen und später verpflichtend machen, um eine Übergangszeit zu ermöglichen; das ermöglicht auch eine asynchrone Migration im laufenden Betrieb ohne Systemabschaltung (Downtime).
- Eine Lösung, bei der
sourceId
für immer optional bleiben kann, kann dadurch erreicht werden, dass ein fehlendessourceId
"FOLIO" (in FOLIO UI angelegt) bedeutet.
# Item "sourceId": { "description": "(A reference to) the source of an item record", "type": "string", "$schema": "http://json-schema.org/draft-04/schema#", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$" } ... "required": [ "sourceId", ... ]
Herausforderungen
- Type your task here, using "@" to assign to a user and "//" to select a due date
Weitere Informationen
Anforderungsanalyse
- ...
Relevante vorhandene Jira-Tickets
- UXPROD-4345 GBV. CBS2FOLIO: Overwrite protection of inventory fields. Add Item source field
- MODINV-822 Inventory. Item. BE: Add data property item source id (required, not repeatable)
- UIIN-2213 Inventory. Item. FE: Add data property item source id (required, not repeatable)
Besprechung in einer D-Gruppe/SIG
- ...
Relevante Funktionsanalysen
- ...