Ingest
Die Sammlung von Operationen ingest enthält Schritte für den Ingest-Prozess.
Paket von Pre-Ingest-Komponente herunterladen (kundenspezifische Action/2188)
Diese Operation verwendet eine API, um ein Paket von einer Pre-Ingest-Komponente herunterzuladen.
Basierend auf den Verbindungsdetails in config.json wird eine API-Anfrage zu
preIngestComponent.baseUrl/api/sips/package_id/download ausgeführt, das Paket (im ZIP-Format) heruntergeladen und an der Stelle entpackt, die mit dem --path Parameter definiert ist.
docuteam-actions downloadPackageFromPreIngestComponent -c [/path/to/]config.json
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-p, --path Path where to store the extracted zip file [string] [required]
-i, --packageId ID of the package to download [string] [required]
Identifikatoren aus OAI-PMH harvesten
Diese Action entnimmt OAI-PMH-Identifikatoren aus dem angegebenen Endpoint, dem angegebenen Set und dem als Parameter übergebenen Datumsbereich.
Optional kann auch der Typ der Metadaten als Parameter (Default: oai_dc) mitgegeben werden.
Für jeden entnommenen Identifikator wird ein feeder event generiert, der auch dazu gebraucht werden kann, einen Folgeworkflow für jeden Identifikator zu starten.
Der Endpoint-Parameter sollte sowohl eine Base URL (z.B. https://docuteam.ch) als auch einen Pfad (oai/request) enthalten.
Das verb-Statement (?verb=ListIdentifiers) wird automatisch zur Action hinzugefügt.
fromDate und toDate sollen im ISO Format als UTC (z.B. 2000-01-01T00:00:00Z ) mitgegeben werden.
Mit dem optionalen Parameter delayInDays ist es möglich, eine Anzahl Tage zu spezifizieren, welche von fromDate und toDate abgezogen werden, um zeitverschobene Entnahmen zu erlauben.
Der erstellte Event hat den event_type harvestOaiPmhDate und enthält den Endpoint, das Set und den Identifikator des entnommenen Records.
Falls der lokale Identifikator-Teil des OAI-PMH Identifikator fehlt (z.B. wenn er auf einen Doppelpunkt endet), werden keine Events zu feeder gesendet.
docuteam-actions harvestOaiPmhData -c [/path/to/]config.json
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-e, --endpoint OAI-PMH endpoint used to harvest [string] [required]
-s, --set OAI-PMH set to harvest [string] [required]
-m, --prefix OAI-PMH metadata format [string]
-f, --fromDate From date time in ISO format [string] [required]
-t, --toDate To date time in ISO format [string] [required]
--delayInDays Number of days to subtract [number]
Records aus OAI-PMH harvesten
Diese Operation harvestet von einem spezifizierten Endpoint einen OAI-PMH Record.
Identifikator und Metadatenpräfix werden als Parameter angegeben.
Der Record ist dann als Datei mit dem Namen oai.xml in dem Ordner gespeichert, der vom path-Parameter spezifiziert wird.
Der path-Parameter kann ein absoluter oder relativer Pfad (relativ zum Ordner, wo die Operation gestartet wird) sein.
Falls der spezifizierte Pfad nicht existiert, wird er erstellt.
Der Endpoint-Parameter sollte sowohl die Base URL (e.g. https://docuteam.ch) als auch den Pfad (oai/request) enthalten.
Das verb-Statement (?verb=GetRecord) wird automatisch zur action hinzugefügt.
docuteam-actions harvestOaiPmhRecord -c [/path/to/]config.json
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-e, --endpoint OAI-PMH endpoint used to harvest [string] [required]
-i, --identifier OAI-PMH identifier [string] [required]
-m, --prefix OAI-PMH metadata format [string] [required]
-p, --path Path where to store the oai.xml response [string] [required]
Verfügbare Pakete aus einer Pre-Ingest-Komponente auflisten (Kundenspezifische action / 2118)
Diese Operation verwendet eine API um Pakete aufzulisten, welche von einer Pre-Ingest-Komponente bereitgestellt worden sind für den Ingest.
Basierend auf Verbindungsdetails in config.json wird eine API-Anfrage zu preIngestComponent.baseUrl/api/sips ausgeführt. Diese Anfrage liefert JSON-Data über die Pakete zurück, die bereit für den Ingest sind.
Für jedes Paket erstellt die Action einen feeder event mit Ereignis-Typ NewPreIngestPackage und dem Pakettyp, Paket-ID und der Paket-Channel-ID.
Mit dem optionalen Parameter channeld ist es möglich, nur Ereignisse für einen spezifischen Channel zu erstellen.
docuteam-actions listAvailablePackagesFromPreIngestComponent -c [/path/to/]config.json
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
--channelId Channel ID to harvest [string]
URN bei der Deutschen Nationalbibliothek registrieren
Diese Operation registriert eine URN und assoziierte URLs bei der Deutschen Nationalbibliothek.
Sowohl URN (accessor URN) als auch URL (accessor registrationURL) müssen schon in der mets.xml Datei vorhanden sein (gespeichert im Root-Knoten des SIPs).
Die URN, die registriert werden soll, darf nur einmal im Root-Knoten vorhanden sein.
Hingegen können zu einer URN eine oder mehrere URL registriert werden.
Die Operation überprüft erst, ob die URN schon registriert ist.
Falls ja, wird versucht, die URLs der schon registrierten URN hinzuzufügen, mit URL-Priorität 2.
Falls die URN noch nicht registriert ist, wird die Operation die URN und die assoziierten URLs registrieren.
Die erste URL wird die primäre URL (mit Priorität 1).
Alle anderen URLs erhalten Priorität 2.
Die Operation liest den URN-Namespace aus der in der Datei mets.xml angegebenen URN aus und versucht, die entsprechenden Anmeldedaten in der Datei config.json (zusammen mit der Basis-URL der API) zu finden.
Wenn die Anmeldedaten nicht gefunden werden, wird der mit dem Parameter namespace angegebene Namespace verwendet.
docuteam-actions registerDnbUrnForRootNode -c [/path/to/]config.json
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-n, --namespace URN namespace [string] [required]
-d, --data Data file path [string] [required]
Datei oder Ordner umbenennen
Mit dieser Operation können Dateien oder Ordner in der feeder-Workbench umbenannt werden, indem man den alten und den neuen Pfad zu einer Datei oder einem Ordner angibt.
Zu beachten ist, dass das Umbenennen von Dateien oder Ordnern innerhalb eines Matterhorn METS SIP zwar möglich ist, das jedoch das SIP beschädigt, weil die Änderungen am SIP nicht in den strukturellen Metadaten des SIP (innerhalb der Datei mets.xml) registriert werden.
docuteam-actions renameFileOrFolder -c [/path/to/]config.json -o /path/to/old/folder -n /path/to/new/folder
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-o, --oldPath Source file or folder [string] [required]
-n, --newPath New file or folder [string] [required]
Paketstatus an Pre-Ingest-Komponente zurückmelden (kundenspezifische action / 2118)
Diese Operation verwendet eine API, um den Status eines Pakets zu aktualisieren, das von einer Pre-Ingest-Komponente heruntergeladen wurde.
Basierend auf den Verbindungsdetails in config.json wird eine API-Anfrage mit PATCH an preIngestComponent.baseUrl/api/sips/package_id ausgeführt, um den Status des Pakets zu aktualisieren.
Die folgenden Status-Werte können mit dieser Action gesetzt werden:
transmittederror: Bei Verwendung dieses Status ist es erforderlich, eine Fehlermeldung mit dem ParametererrorMessagehinzuzufügen.archived: In diesem Zustand werden die WertePID,refCodeundrefCodeAdminaus dem Root-Knoten des durch den Parameterpathdefinierten Pakets ausgelesen und an die Pre-Ingest-Komponente zurückgesendet. WennrefCodeAdminnicht vorhanden ist, wird stattdessenfilePlanPositionausgelesen.
docuteam-actions reportPackageStatusToPreIngestComponent -c [/path/to/]config.json
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-p, --path Path pointing to a folder containing a package [string] [required]
-i, --packageId ID of the package whose status will be updated [string] [required]
-s, --packageStatus New package status [string] [required]
-e, --errorMessage Optional error message [string]
Ingests zur Access-Komponente schicken (kundenspezifische Action / 2118)
Diese Operation erstellt ein DIP und sendet es an eine Access-Komponente.
Basierend auf einem in der Workbench gespeicherten Matterhorn METS SIP (Parameter inputData ) wird das METS analysiert und anhand des Metadatenelements accessPolicy entschieden, ob ein DIP zusammengestellt werden muss.
Wenn der Root-Ordner des Pakets die accessPolicy 01, 02 oder 03 hat, wird das DIP zusammengestellt und an die Access-Komponente gesendet.
Datei- oder Ordnerknoten, die eine andere Policy als 01, 02 oder 03 haben, werden jedoch nicht in den temporären Ordner kopiert, in dem das SIP zusammengestellt wird (definiert mit dem Parameter data).
Datei- und Ordnerknoten ohne Policy erben die Policy ihrer Vorgänger.
Knoten mit einer ungültigen Policy gelten als blockiert.
Das zusammengestellte DIP (einschliesslich der vollständigen Datei mets.xml) wird dann gezippt und in einen in config.json definierten S3-Speicher hochgeladen.
Zusätzlich wird eine addDip-Nachricht an die Nachrichtenwarteschlange der in config.json definierten Access-Komponente gesendet.
Die Datei mets.xml ist an die Nachricht angehängt.
Wenn der Root-Ordner des Pakets die Richtlinie 06, 07 oder 08 (blockiert) hat, wird kein Paket in den S3-Speicher hochgeladen, jedoch wird weiterhin eine Nachricht vom Typ deleteDip gesendet.
docuteam-actions sendIngestsToNbAccessComponent -c [/path/to/]config.json -i /path/to/workbench/folder -d /path/to/temporary/folder
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-i, --inputData Path to folder with Matterhorn METS SIP [string] [required]
-d, --data Path to folder where the DIP will be assembled [string] [required]
Aktualisierungen an Access-Komponente senden (kundenspezifische Action/2118)
Diese Operation lädt Daten aus box herunter und sendet ein DIP an eine Access-Komponente.
Im Vergleich zur Action sendIngestsToNbAccessComponent ist hierfür kein Matterhorn METS SIP erforderlich.
Stattdessen wird zunächst die Datei mets.xml heruntergeladen und anschliessend werden die Dateien, die an die Access-Komponente geliefert werden müssen, aus box heruntergeladen (mit Ausnahme von blockierten Dateien und Ordnern sowie Dateien und Ordnern, bei denen nur Metadaten ausgeliefert werden dürfen.).
Es unterstützt auch das Senden von Nachrichten für Daten- und Metadatenaktualisierungen aus box (die durch Webhooks ausgelöst werden können).
Das genaue Verhalten der Action wird durch den Parameter operation definiert.
Es unterstützt die folgenden Werte:insert, replace, append, changeMetadata.
Die Operation insert dupliziert das Verhalten der Aktion sendIngestsToNbAccessComponent.
Es muss mit der PID des Root-Ordners des Pakets aufgerufen werden.
Der Befehl replace muss mit der PID einer Datei aufgerufen werden, die in box ersetzt wurde.
Basierend auf dieser PID liest es die Root-Ordner-PID aus box aus und verwendet diese, um das vollständige Paket zusammenzustellen (mit Ausnahme von blockierten und nur Metadaten enthaltenden Knoten).
Beim Senden der Nachricht an die Access-Komponente verwendet diese die Typen update_file oder delete_dip und sendet sowohl die Root-PID als auch die PID der ersetzten Datei.
Die Operation append muss mit der PID einer Datei oder eines Ordners aufgerufen werden, die bzw. der an ein vorhandenes AIP angehängt wurde.
Basierend auf dieser PID liest es die Root-Ordner-PID aus box aus und verwendet diese, um das vollständige Paket zusammenzustellen (mit Ausnahme von blockierten und nur Metadaten enthaltenden Knoten).
Beim Senden der Nachricht an die Access-Komponente werden die Typen append_file, append_folder oder delete_dip verwendet und sowohl die Root-PID als auch die PID der angehängten Datei oder des angehängten Ordners gesendet.
Die Operation changeMetadata muss mit der PID eines Root-Ordners, Ordners oder einer Datei aufgerufen werden, deren Metadaten in der Box geändert wurden.
Bei Verwendung dieser Operation muss der Parameter oldAccessPolicy verwendet werden, um der Aktion die alte Zugriffsrichtlinie des betreffenden Knotens (vor der Änderung der Daten) mitzuteilen.
Wenn sich die Policy geändert hat und von einer der drei Gruppen (zulässig, nur Metadaten oder blockiert) zu einer anderen gewechselt wurde, wird ein DIP zusammengestellt und eine Nachricht vom Typ change_access_rights_dip_new, change_access_rights_folder_new, change_access_rights_file_new oder delete_dip gesendet.
Wenn sich die Policy nicht geändert hat (oder nur innerhalb derselben Gruppe), wird kein Paket zusammengestellt und eine Meldung vom Typ change_ead_meta_dip, change_ead_meta_folder oder change_ead_meta_file gesendet.
docuteam-actions sendUpdatesToNbAccessComponent -c [/path/to/]config.json -pid PID -d /path/to/temporary/folder --operation insert
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
--pid PID for which a DIP will be assembled [string] [required]
-d, --data Path to folder where the DIP will be assembled [string] [required]
--operation PID for which a DIP will be assembled [string] [required]
--oldAccessPolicy PID for which a DIP will be assembled [string] [required]
CMI eCH-0160-Paket umwandeln
Diese Operation verändert ein eCH-0160-SIP-Paket, das aus CMI exportiert wurde.
In CMI ist es möglich, verschachtelte Ordner innerhalb von Dossiers zu erstellen und Dokumente in diesen Ordnern zu speichern.
Diese Dossier-Unterstruktur geht verloren, wenn das eCH-0160-Paket in ein Matterhorn-METS-SIP konvertiert wird.
Diese action verändert die Datei metadata.xml des eCH-0160-Pakets, so dass verschachtelte Dossiers innerhalb der bestehenden Dossiers (basierend auf der Ordnerstruktur) erstellt werden, die bei der Konvertierung in Matterhorn METS beibehalten werden.
Die Dokumente werden dann den neu erstellten Dossiers zugeordnet.
Mit dem optionalen Parameter renameExistingDossierAndDocuments (Default: false) kann die Datei metadata.xml so geändert werden, dass die Titel der Dossiers und Dokumente anstelle der CMI-IDs für die Benennung der Matterhorn-METS-Knoten verwendet werden, wodurch das Paket für Menschen besser lesbar wird.
Zusätzlich kann der optionale Parameter maximumFolderNameLength verwendet werden, um neu erstellte oder umbenannte Metadatenelemente, die später zur Erstellung der Ordnerstruktur im Matterhorn-METS-Paket verwendet werden, zu kürzen.
docuteam-actions transformCMIECH0160Package -c [/path/to/]config.json
Options:
--version Show version number [boolean]
--debug Set log level to debug [boolean]
-c, --config Configuration file path [string] [required]
--help Show help [boolean]
-d, --data Data file path, pointing to a zipped eCH-0160 package [string] [required]
--renameExistingDossiersAndDocuments Rename existing dossiers and documents (default: false) [boolean]
--maximumFolderNameLength Shorten metadata elements used to create folder (default: NaN) [integer]