2019.06 2020.06

MyCoRe-SWORD-Schnittstelle

Auf dieser Seite wird die SWORDv2-Schnittstelle von MyCoRe beschrieben.

Allgemein

Der „Simple Webservice Offering Repository Deposit“-Service ist eine Schnittstelle, über die Dateien mit komplexen Datenstrukturen, wie z.B. zip-Dateien, übermittelt werden können. In MyCoRe sind Hilfsklassen implementiert, über die eine solche Übertragung durchgeführt werden kann.

Derzeit unterstützt MyCoRe die SWORD-Version v2. Die Designer der Schnittstelle haben auf Ihrer Webseite eine Profilbeschreibung veröffentlicht.

SWORD kann beispielsweise genutzt werden um MyCoRe an verschiedene Workflow-Systeme (z.B. OJS, Goobi-Workflow) oder auch die Datendrehscheibe DeepGreen anzubinden. Ein Beispiel dafür ist die Ablieferung digitalisierter Objekte aus dem Goobi-Workflow, der in dem Video Goobi ingest into MyCore using the Sword interface gezeigt wird.

Konfiguration der SWORD2-Schnittstelle

Das Konfigurieren der MyCoRe-Sword2-Schnittstelle erfolgt über ein MyCoRe-Property.

1
      MCR.sword.collection.WorkspaceName.CollectionName = org.mycore.application.CollectionImpl

WorkspaceName und Collection sind durch einen beliebigen Namen des Workspaces bzw. der enthaltenen Collection zu ersetzen. Der Wert des Properties legt fest welche Klasse die genaue Konfiguration zur Verfügung stellt. Siehe dazu die Klasse MCRSword2CollectionProvider.

Nach erfolgreicher Konfiguration erreicht man das Sword-Service-Dokument über den Pfad /sword2/sd/. Ein Beispiel dafür kann in der Demo-MIR-Anwendung aufgerufen werden: http://mycore.de/mir/sword2/sd/ (Nutzer: administrator, Passwort: alleswirdgut).

Implementation eines MCRSword2CollectionProvider

Folgend eine Erklärung der zu implementierenden Methoden.

getSupportedPagacking() generiert eine Liste der unterstützten Paket-Formate. (Siehe dazu http://swordapp.github.io/SWORDv2-Profile/SWORDProfile.html#packaging)

getIDSupplier() liefert einen MCRSword2ObjectIDSupplier zurück. Dieser Supplier teilt der MyCoRe-Sword2-Implementierung mit, welche Objekte aus der Anwendung in der Collection aufgelistet werden sollen. Die MyCoRe-Sword2-Implementierung bietet hierfür den MCRSword2SolrObjectIDSupplier, welcher die Liste anhand eines Solr-Query erzeugt.

getAuthHandler() legt den MCRSword2AuthHandler, welcher die Authentifizierung in der MyCoRe-Anwendung vornimmt. Für eine einfache Benutzer- und Password-Authentifizierung bietet die MyCoRe-Sword2-Implementierung den MCRSword2DefaultAuthHandler.

getMetadataProvider() bestimmt den MCRSword2MetadataProvider, der benutzt wird um Metadaten eines Objektes im Dublin-Core-Format zur verfügung zu stellen.

getIngester() legt den MCRSword2Ingester fest. Der MCRSword2Ingester ist für die Aufnahme von Metadaten und Dateien (Packages) zuständig.

getMediaHandler() gibt den MCRSword2MediaHandler zurück. In Sword ist es möglich Dateien nachträglich zu bearbeiten oder zu löschen. Der MCRSword2MediaHandler ermöglicht es einfache Binär- sowie ZIP-Dateien in einem MyCoRe-Derivat abzulegen und das Löschen von Ordnern, Dateien und Derivaten (dabei werden Lösch-, Lese- und Schreibrechte des angemeldeten Benutzers beachtet).