Workflows

Workflows im Österreichischen Bibliotheksverbund (OBV)

Retrodigitalisierung

Dieser Workflow ist in Domains vom Typ retro aktiv. Zum Beispiel in der Domain ulbtirolihd.

  1. Start: Upload von Zip-Paketen in Domainverzeichnis (config.path.upload/dname)

    • Entpacken in config.path.import/dname (ReleaseZipUploadJob)
    • Import der entpackten Verzeichnisse (ImportJob)
      • Verzeichnisnamen sind AC-Nummern
      • Payload: Images und optionalen Finereader-Output (aus EOD)
      • keine Inhaltsverzeichnisstruktur
    • URN-Erzeugung
    • Metadaten-Synchronisation mit Katalog über SRU-Schnittstelle
  2. Bearbeitung im VLM

    • QS auf Imageeigenschaften (QSJob, manuell, könnte inzwischen automatisiert an den Import gekoppelt werden)
    • Strukturierung
    • Paginierung
  3. Freigabe

    • Setzt metadata-state: upgrade
    • PDF-Erzeugung (PDFJob)
  • Scheduled Job: OBVExport (MAB-Export für Kataloganreicherung)

    • Exportiere Datensätze im metadata-state: insert
    • MAB-Daten
      • 070a: VL-RETRO
      • 078o: RETRODIGITALISAT
      • 552b: URN
      • 655o: urn:nbn:at:at-`BIB:2-XXX Verlinkung in die VL
      • 655i: PDF-Link (bisher nicht ausgeliefert weil OBVExport 17:00 vor PDFJob 03:00)
      • Setzt metadata-state: delivered

Publikationsserver I: VL-Frontend-Upload

Dieser Workflow ist in Domains vom Typ pubserv aktiv. Zum Beispiel in den Domains obvugroa und ulbtiroloa.

  1. Start: Upload von PDFs (und zusätzlichen Dateien) und Eingabe von bibliografischen Daten über Frontent (Modsforms)

    • Absenden (HTML-Form-Submit) der Daten triggert ImportJob (qs-state: in-editing)
    • User bestätigt final: qs-state: upload done
    • E-mail-Bestätigung wird ausgelöst
  2. Bearbeitung über Backend-Seite /state/qs/confirm

    • qs-state: check
    • Zugriffsbeschränkung oder Sperrfrist (Datum, mit Ziel-Zugriffsbeschränkung)
    • Qualitätssicherung: PDF, bibliografische Daten
    • Entscheidung URN: ja/nein (default: ja)
  3. Abnahme

    • Setzt qs-state: approved, release-state: released
    • Erzeugung: AC-Nummer aus Nummernkreis, URN (optional)
    • Setzt metadata-state: insert
  • scheduled Job: OBVExport (MAB-Export für Kataloganreicherung)

    • Exportiere Datensätze im metadata-state: insert
    • Wenn Freigabe entzogen: metadata-state: skipped, sonst:
    • MAB-Export über OAI/mabxml-1
      • 070a: VL-NEW
      • 078o: HS-DISS, OA-MONOGRAPH, …,
      • 001-: AC-Nummer
      • 078e:UBL-INTERN (wenn Zugriffsbeschränkung bzw. Sperrfrist Ziel-Zugriffsbeschränkung)
      • 081q$c: Wenn Sperrfrist, Entsperrmonat YYYY-MM
      • 552b: urn:nbn:at:at-BIB:3- (nicht wenn Sperrfrist)
      • 655o: Verlinkung via urn:nbn:at:at-BIB:3-
      • 655i: PDF-Link (nicht wenn Sperrfrist)
      • 750i, 753i, 756i: Abstracts (multi-lang) (nicht wenn Sperrfrist)
      • Setzt metadata-state: delivered
  • Dokument in Katalog aktualisiert

    1. Upload von Job-Control Datei in Domainverzeichnis (config.path.upload/dname) durch OBVSG
    2. scheduled Job: OBVUpdate
      1. Mapping Input-AC-Nummern auf VLIDs
      2. Katalogsynchronisation auf alle bekannten VLIDs (Job: UpdateMetadataJob, ImportJob)
  • Dokument war gesperrt, Sperrfrist läuft aus (Job: CheckRestrictionDate)

    • Setzt metatada-state: modrestrict
    • MAB-Export für Kataloganreicherung (Job: OBVExport)
      • Exportiere Datensätze im metadata-state: modrestrict
      • 070a: VL-UPDATE
      • 078o: je nach Workflow
      • 078e: UBL-INTERN wenn Zugriffsbeschränkung
      • 081q$c: nicht vorhanden bei Entsperrung
      • 552b: URN
      • 655o: Verlinkung in die VL via URN
      • 655i: PDF-Link
      • 750i, 753i, 756i: Abstracts (multi-lang)
      • Setzt metadata-state: delivered

Publikationsserver II: Quelle Katalog/Opus (Workflow Graz)

Dieser Workflow ist in Domains vom Typ pubserv aktiv. Zum Beispiel in obvugrhs und obvulihs.

  1. Start: Unbekannte AC-Nummern aus Fremdsystem

    1. Upload von Job-Control Datei in Domainverzeichnis (config.path.upload/dname) durch OBVSG
    2. scheduled Job: OBVUpdate
      1. Mapping Input-AC-Nummern auf VLIDs
      2. Lade Katalogdaten von allen unbekannten VLIDs (Job: OBVAutoImport, ImportJob)
        • Auswertung 070a, Mapping auf Domain via: json {'VL-WG-UBG': 'obvugrhs', 'VL-WG-UBL': 'obvulihs'}
        • bisher hardcoded - ableitbar aus Bib-Sigel?
        • Auswertung: mab078e für Zugriffsbeschränkung und mab081q$c für Sperrdatum
        • Mapping 078o (HS-DISS, OA-MONOGRAPH, etc.) zu VL-Doctype (oaDoctoralThesis, oaBook, etc.)
        • Verlinke PDF Resource 655e mit UF:3 = 'Volltext'
        • Lade PDF nicht im ImportJob
        • Setzt resource-state: missing
  2. scheduled Job: LoadRemoteData

    • Download PDF from OPUS
    • Wenn Download erfolgreich: lösche resource-state
      • Datensätze in resource-state missing werden im VLM gelistet
  3. scheduled Job: OBVRelease

    • Wenn resource-state != missing und release-state unreleased
      • Freigabe: Setzt release-state: released
      • URN-Erzeugung
      • Setzt metadata-state: upgrade
  4. scheduled Job: OBVExport (MAB-Export für Kataloganreicherung)

    • Exportiere Datensätze im metadata-state: upgrade
    • Wenn release-state unreleased, setzt metadata-state: skipped, sonst:
    • MAB-Export über OAI/mabxml-1
      • 070a: VL-WG-{BIBSIGLE}
      • 078o: HS-DISS, OA-MONOGRAPH, …,
      • 078e: UBL-INTERN (wenn Zugriffsbeschränkung bzw. Sperrfrist Ziel-Zugriffsbeschränkung)
      • 081q$c: Wenn Sperrfrist, Entsperrmonat YYYY-MM
      • 552b: urn:nbn:at:at-BIB:1- (nicht wenn Sperrfrist)
      • 655o: Verlinkung in die VL via URN
      • 655i: PDF-Link (nicht wenn Sperrfrist)
      • 750i, 753i, 756i: Abstracts (multi-lang) (nicht wenn Sperrfrist)
      • Setzt metadata-state: delivered
  • Wie Publikationsserver I
    1. Dokument in Katalog aktualisiert (Job: OBVUpdate)
    2. Dokument war gesperrt, Sperrfrist läuft aus (Job: CheckRestrictionDate)

Publikationsserver III: Quelle Katalog, PDF-Upload

Dieser Workflow ist in Domains vom Typ pubserv aktiv. Zum Beispiel in ulbtirolhs.

  1. Start: Upload AC-Nummer und PDF via VLM

    • Entscheide Zugriffsbeschränkung
    • Entscheide Sperrfrist (automatisch 5 Jahre)
    • Setzt qs-state: upload done und release-state: unreleased
    • Metadaten-Synchronisation mit Katalog über SRU-Schnittstelle
  2. Abnehmen

    • Setzt qs-state: approved, release-state: released
    • Erzeugung: URN (optional)
    • Setzt metadata-state: upgrade
  3. scheduled Job: OBVExport (MAB-Export für Kataloganreicherung)

    • Exportiere Datensätze im metadata-state: upgrade
    • Wenn release-state unreleased, setzt metadata-state: skipped, sonst:
    • MAB-Export über OAI/mabxml-1
      • 070a: VL-RETRO
      • 078o: HS-DISS, OA-MONOGRAPH, …,
      • 078e: UBL-INTERN (wenn Zugriffsbeschränkung bzw. Sperrfrist Ziel-Zugriffsbeschränkung)
      • 081q$c: Wenn Sperrfrist, Entsperrmonat YYYY-MM
      • 552b: urn:nbn:at:at-BIB:3- (nicht wenn Sperrfrist)
      • 655o: Verlinkung in die VL via URN
      • 655i: PDF-Link (nicht wenn Sperrfrist)
      • 750i, 753i, 756i: Abstracts (multi-lang) (nicht wenn Sperrfrist)
      • Setzt metadata-state: delivered
  4. Wie Publikationsserver I

    1. Dokument in Katalog aktualisiert (Job: OBVUpdate)
    2. Dokument war gesperrt, Sperrfrist läuft aus (Job: CheckRestrictionDate)

Publikationsserver: Entsperrung

  • scheduled Job: CheckRestrictionDate (Periodische Prüfung erkennt abgelaufenes Sperrdatum) oder 081q$c wird bei einer Katalogsynchronisation nicht geliefert

    • Setzt ar-state von restricted auf Ziel-Zugriffsbeschränkungsstufe
    • Setzt metadata-state: modrestrict
  • scheduled Job: OBVExport (MAB-Export über OAI/mabxml-1 für Kataloganreicherung)

    • Verarbeite Datensätze in metadata-state: modrestrict
    • 070a: VL-UPDATE
    • 078o: je nach Workflow
    • 078e: UBL-INTERN wenn Zugriffsbeschränkung
    • 081q$c: nicht vorhanden bei Entsperrung
    • 552b: URN
    • 655o: Verlinkung in die VL via URN
    • 655i: PDF-Link
    • 750i, 753i, 756i: Abstracts (multi-lang)
    • metatada:modrestrict → metadata:delivered

FoDok

In der Forschungsdokumentation (FoDok) werden die Arbeitsergebnisse von WissenschaftlerInnen in einer Datenbank erfasst und der Öffentlichkeit bereitgestellt. Die Inhalte dieser Datenbank werden über eine definierte Schnittstelle in den VL-Publikationsserver eingespielt.

OAI-Harvesting

Als Schnittstelle zu Forschungsdatenbanken wird eine OAI-Schnittstelle auf Seiten des Anbieters vorausgesetzt. Die OAI-Schnittstelle liefert im metadataPrefix mods das bibliografische Format MODS. VLS harvestet die Schnittstelle periodisch über das verb ListIdentifiers und verb=GetRecord oder über verb=ListRecords und reagiert auf neue Datensätze workflowspezifisch. Initial traversiert VLS die gesamte Liste von angebotenen Datensätzen (ListIdentifiers / ListRecords). Um die Listengröße zu kontrollieren empfiehlt sich die Verwendung von resumptionTokens.

Im Produktionsbetrieb selektiert der VLS-Harvester die Datensätze der letzten N Tage durch den Einsatz von from-until-Parametern. Diese enthalten Timestamps in ISO8601 (Zeitzone: UTC). Die Selektion von Datensätzen über OAI Sets ist, falls notwendig, ebenfalls möglich.

Ein Beispiel für eine OAI-Lieferung im MODS-Format ohne weitere Selektion über from oder until. Ein weiteres Beispiel unter Nutzung von from oder until.

Als Authentifizierungsmethode kann der VLS-Harvester HTTP-Basic-Auth auf der angebotenen Schnittstelle verwenden. Der Transport von Auth-Tokens über HTTPS/POST-Parameter wird ebenfalls unterstützt.

Für den Transport von Daten, für die das MODS-Format nativ keinen Support anbietet, ist folgende MODS-Extension Syntax vorgesehen:

<mods:extension>
    <vl:identifier type="local">6</vl:identifier>
    <vl:deferredPublicationDate>2015-07-15</vl:deferredPublicationDate>
    <vl:doctype>oaBook</vl:doctype>
    <vl:cataloging>true</vl:cataloging>
    <vl:resource type="pdf">http://link/to/file</vl:resource>
<mods:extension>
vl:identifier

Lokaler Identifier für den Datensatz im Repository der Forschungsdatenbank (optional).

vl:deferredPublicationDate

Sperrfrist für den Datensatz (optional).

vl:doctype

Dokumenttyp: oaBook, oaArticle, oaBookPart oder oaBdArticle (verpflichtend).

vl:cataloging

Steuerung der Übertragung des Datensatzes in den OBV-Verbundkatalog: default true (optional).

vl:resource

Url zur einer Fileresource eines bestimmten Typs: pdf, epub, zip (verpflichtend).

OAI-Dataproviding

Für die Kommunikation von VL zur Forschungsdatenbank stellt VL als Dataprovider die Titel aus FoDok separiert nach Sets bereit: Im Set “rejected” werden alle Titel gelistet, die in VL abgeleht wurden. Im Set “approved” werden alle Titel gelistet, die in VL angenommen wurden. Dieses Set enthält die URN, die so nach FODOK zurückgespielt wird. Zum Authentifizierungsverfahren siehe Abschnitt „apis“.

Ablauf

Dieser Workflow ist in Domains vom Typ fodok aktiv. Zum Beispiel in obvugrfodok.

  1. Start: scheduled Job: OaiImportJob (OAI-Harvesting, externe Datenquelle)

    • Authentifizierung (optional)
    • Datensätze aus MODS anlegen
    • Auswertung MODS-Extension
    • Setze qs-state: upload done
    • scheduled Job: LoadRemoteDataJob (Lade PDFs, ..)
  2. Bearbeitung über Backend-Seite /state/qs/confirm

    • Zugriffsbeschränkung oder Sperrfrist (Datum, mit Ziel-Zugriffsbeschränkung)
    • Qualitätssicherung: PDF, bibliografische Daten
  3. Abnahme

    • Setzt qs-state: approved, release-state: released
      • Erzeugung: AC-Nummer aus Nummernkreis und URN
      • Setzt metadata-state: insert
    • alternativ setze qs-state: rejected
  4. scheduled Job: OBVExport (MAB-Export für Kataloganreicherung)

    • Verarbeitet Datensätze in metadata-state: insert
    • wie Publikationsserver I
  5. Wie Publikationsserver I

    1. Dokument in Katalog aktualisiert (Job: OBVUpdate)
    2. Dokument war gesperrt, Sperrfrist läuft aus (Job: CheckRestrictionDate)
  6. Rückkanal zum externen System (Oai-Provider)

    • Authentifizierung notwendig
    • Auslieferung URN aller Datensätz in qs-state: approved
      • /oai/qs?verb=ListRecords&metadataPrefix=mods&set=approved
    • Feedback über Datensätz in qs-state: rejected
      • /oai/qs?verb=ListRecords&metadataPrefix=mods&set=rejected

Dokumenttypen

Folgende Dokumenttypen werden in diesem Domaintype unterstützt:

Monographie

Aufsatz in einer Zeitschrift

Aufsatz in einem Sammelwerk

Elektronisches Dokument

Domain-spezifische Jobs

Im Kontext der obvsg Domain werden vier neue Jobs definiert (siehe obv/etc/vls/server.ini und domain/obvsg/jobs/export.py). Der OBVRelease Job ist für die automatische Freigabe von Datensätzen im Workflow Publikationsserver II zuständig.

Der OBVAutoImport Job ist für das Importieren von Datensätzen im Publikationsserver II Workflow zuständig.

Der OBVUpdate Job verarbeitet Job-Control-Dateien mit AC-Nummern. Wenn ein AC-Nummern-Match in der DB gefunden wird, dann wird der UpdateMetadataJob gestartet, wenn die AC-Nummer nicht gefunden wird, dann wird der OBVAutoImport Job gestartet.

Der OBVExport Job ist für das Exportieren von Datensätzen über OAI/mabxml-1 zuständig. Die exportierten XML-Daten werden auf das Filesystem geschrieben.

E-Pflicht HBZ

Dokument

Dieser Workflow ist in Domains vom Typ epflicht aktiv. Aktiv in den Domains ulbdpc, ulbmspc und ulbbnpc. (metadata-state-block: hspc)

  1. Start 1: Upload von PDFs, EPUPs und ZIPs über VLM

    • Auswahl einer Lizenz
    • URN Erzeugung
    • metadata-state: incomplete
  2. Start 2: Upload von PDFs (und zusätzlichen Dateien) und Eingabe von bibliografischen Daten über Frontent (Modsforms)

    • Absenden (HTML-Form-Submit) der Daten triggert ImportJob
    • URN Erzeugung
    • metadata-state: incomplete
    • E-mail-Benachrichtigung an die Bibliothek wird ausgelöst
  3. Bearbeitung im VLM

    • QS auf PDF (und andere Formate)
    • URN aus VLM in der (neuen) Katalog-Titelaufnahme ergänzen
    • Abschließen:
      • Setzt metadata-state: available
      • Katalogsynchronisation auf Datensatz via URN (UpdateMetadataJob)
        • wenn erfolgreich: Setzt metadata-state: complete, release-state: released
        • wenn nicht, bleibt: metadata-state: incomplete
  • scheduled Job: UpdateMetadataJob (Katalogsynchronisation für incomplete)

    • synchronisiere Datensätze im metadata-state: incomplete
      • wenn erfolgreich: Setzt metadata-state: complete, release-state: released
  • Zeitschriften

    • Hefte, Jahrgänge, Aufsätze, Beilagen: kein URN, kein metadata-state
    • Hefte, Jahrgänge, Aufsätze, Beilagen: automatische Freigabe, falls Überordnung freigegeben
  • Mehrbändige Werke

    • Anlegen der Überordnung:

      • URN-Erzeugung
      • URN in Titelaufnahme ergänzen
      • Abschließen
    • Anlegen der Bände: Upload der PDFs (und andere Formate)

      • URN-Erzeugung
      • URN in Titelaufnahme ergänzen
      • Abschließen
    • Automatische hierarchische Verknüpfung der Datensätze über HT-Nummer

  • DNB - Harvester

    • URN-Registrierung über epicur

Verlag/Vertrieb

  1. Start: Registrierung eines Accounts

    • Eingabe von Anmeldename, E-mail-Adresse und Passwort über Frontend
    • Bestätigungsmail (validate token) wird ausgelöst
    • Status Account: unvollständig
    • nach E-Mail-Validation Status Account: ungeprüft
  2. Eingabe von Stammdaten

    • Auswahl, in welcher Rolle der Ablieferer agiert (Verlag/Vertrieb)
    • Eingabe der Stammdaten über Frontend (??forms)
    • new user notification Mail wird ausgelöst
    • Status Account: bestätigt
    • Vertriebsfall: todo

Passwort Reset

Verfügbar über den Link ‘Passwort ändern’ - http://vls.example.com/resetpw - in der Registrierungsinfo eingeloggter Verlage / Vertriebe. Verfahren über E-Mail-Verifikation.