docuteam box
docuteam box ist sowohl eine API als auch eine End-User Anwendung, die auf einem Fedora Repository Stack basiert. Als solche bietet sie high-level Zugrifffunktionalitäten auf Objekte im Repository. Zum Beispiel ist es möglich DIPs (Dissemination Information Packages) in verschiedenen Formen (einzelne Objekte oder ganze Depositionen) zu generieren, Vorschauen und Thumbnails für spezifische binäre Objekte zu produzieren oder nur die Metadaten von Objekten abzufragen.
Übersicht
Die Anwendung stellt ein einfaches Webinterface und eine API für automatisierte Abfragen zur Verfügung.
- Das Interface beinhaltet ein Cockpit für das Repository mit Statistiken zum Inhalt des Repositorys, eine einfache Suchoberfläche, ein SPARQL Suchinterface und ein Admin-Menu zur Konfiguration des Systems.
- Die API unterstützt die gleichen Abläufe für den Zugriff auf Repository-Objekte und -Informationen wie die Vorgängeranwendung docuteam rservices mit einigen Unterschieden:
- Die Authentifizierung passiert mittels
X-Auth-tokenheaders - Die Erstellung von DIPs auf Basis einer bereitgestellten EAD-Datei oder generischen XML-Datei erfolgt nicht mehr im asynchronen Modus, sondern als synchrone Aufrufe, d.h. Sie erhalten als Antwort den DIP und nicht nur den erwarteten Dateinamen.
- Zusätzlicher Vorgang zum Herunterladen einer
mets.xml-Datei ohne die eigentlichen Binärdateien eines DIP
- Die Authentifizierung passiert mittels
- Darüber hinaus unterstützt die API auch Operationen zum Einlesen oder Ändern von Daten in Fedora 6. Die Binärdateien und die entsprechenden RDF-Metadaten müssen in einem shared Ordner gespeichert werden, auf den box zugreifen kann.
| Operation | |
|---|---|
POST an object/insert | Ingestiert ein SIPs, indem der Pfad zum Ordner, der das SIP enthält gesendet wird. |
PUT an object/append | Ingestiert ein SIP und hängt es and eine bestehende Fedora Resource an (definiert durch den append_position_pid Parameter). |
PUT an object/replace | Ersetzt eine existierende Datei in Fedora 6, indem der Pfad zu einem Ordner mit der Binärdatei und zugehörigen RDF Metadaten gesendet wird. |
DELETE an object/delete | Löscht eine existierende Resource und alle ihre Kinder. |
PUT an record_resources | Modifiziert eine existierende Record Resource. |
Die technische API Dokumentation ist als OpenAPI Spezifizierung verfügbar, entweder in der Applikation selber unter ./docs/v1 oder hier
Authentifizierung
Es gibt zwei Authentifizierungsmethoden für docuteam box:
- Die UI verwendet eine Keycloak Instanz (die mit einem anderen Authentifizierungsservice wie AzureAD oder OpenID oder SAML verlinkt werden kann)
- Die API verwendet token, die in der UI verwaltet werden können.