Quality Assurance
Das Package "qualityassurance" beinhaltet Schritte, die der Qualitätsprüfung von SIPs dienen.
Quality Assurance: extract SIP into workfolder
Extrahiert ein gezipptes SIP nach actions.workbench.work
. Ein optionaler zweiter Parameter kann verwendet werden, um einen anderen Zielordner anzugeben.
java ch.docuteam.actions.qualityassurance.SIPExtractor \
[path/to/]SIP [targetdir]
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.inbox property |
[targetdir] | target directory; absolute path of the directory where to unzip the SIP to. Optional, defaults to actions.workbench.work |
Quality Assurance: check fixity of SIP
Überprüft die Dateien in einem SIP auf Konformität mit den hinterlegten Checksummen in der METS-Datei. Die Resultate der Prüfung werden in Form von PREMIS-Events in das METS-File geschrieben.
java ch.docuteam.actions.qualityassurance.SIPFixityCheck \
[path/to/]SIP
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
Quality Assurance: check file path length
Prüft, ob die Länge von absoluten Pfade eines SIPs über einem anzugebenden Wert liegen.
java ch.docuteam.actions.qualityassurance.FilePathLengthCheck \
/absolute/path/to/folder maxAllowedFilePathLength
Parameter | Beschreibung |
---|---|
/absolute/path/to/folder | absolute path of the folder that should be checked |
maxAllowedFilePathLength | the max allowed number of characters of the canonical file path |
Quality Assurance: check sip path length
Prüft die Dateipfadlängen innerhalb eines SIPs gegen einen anzugebenden Grenzwert.
java ch.docuteam.actions.qualityassurance.SIPPathLengthCheck \
[path/to/]SIP maxAllowedFilePathLength
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP; if not path is given, it will be expected to be in the location defined by the actions.workbench.work property |
maxAllowedFilePathLength | the max allowed number of characters of the canonical file path |
Quality Assurance: get PID
Verbindet sich mit dem Fedora Repository und holt eine einzelne PID, um das SIP zu identifizieren. Diese PID wird später zur Grundlage für die Einlagerung ins Repository. Der Wert wird im Element <mets:OBJID/>
gespeichert.
java ch.docuteam.actions.qualityassurance.SIPConfirmation \
[path/to/]SIP [PIDNamespace[:###]]
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP. If no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
[PID namespace[:###]] | namespace for new PID or complete PID to use for the object; if omitted, the standard namespace from the submission agreement will be used; if the submission agreement cannot be found, the default namespace of the Fedora repository will be used. |
Quality Assurance: convert to safe filenames
Benennt Dateien mit Spezialzeichen um. Sichere Dateinamen beinhalten nur Zeichen aus A-Z, a-z, 0-9, und "_.-".
java ch.docuteam.actions.qualityassurance.SIPConvertToSafeFileNames \
[path/to/]SIP
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
Quality Assurance: check file extensions
Vergleicht die Endungen von Dateinamen in einem SIP anhand der zuvor ermittelten PRONOM unique identifiers (PUID). Dieser Schritt benutzt vorhandene PUIDs und macht keine erneute Format-Identifikation.
- Wenn eine Datei über keine Endung verfügt, wird diese gemäss PUID hinzugefügt.
- Wenn eine Datei eine falsche Endung hat, wird dies entweder angezeigt und der Schritt schlägt fehl, oder die Endung wird korrigiert (mit dem Parameter
--replaceExistingExtensions=true
). - Wenn eine Datei über keinen PUID verfügt (also nicht identifiziert werden konnte), wird dies entweder als Fehler gemeldet und der Schritt schlägt fehl, oder die Datei wird ignoriert (mit dem Parameter
--ignoreUnidentifiedFiles=true
).
java ch.docuteam.actions.qualityassurance.SIPFileExtensionCheck \
--sip=[path/to/]SIP [--replaceExistingExtensions=true|false] [--ignoreUnidentifiedFiles=true|false]
Parameter | Beschreibung |
---|---|
--sip | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
--replaceExistingExtensions | optional, `true |
--ignoreUnidentifiedFiles | optional, `true |
Quality Assurance: delete backup files
Löscht Dateien aus dem SIP, die einem bestimmten Namensmuster entsprechen.
java ch.docuteam.actions.qualityassurance.SIPDeleteBackupFiles \
[path/to/]SIP [filenamePattern filenamePattern ...]
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
[filenamePattern filenamePattern ...] | a list of filename patterns (not case-sensitive, '*' is wildcard, but is only allowed at the beginning or end of the pattern). Files matching any one of this patterns will be deleted |
Quality Assurance: delete empty files
Löscht leere Dateien (mit Dateigrösse 0 Bytes) aus dem SIP.
java ch.docuteam.actions.qualityassurance.SIPDeleteEmptyFiles \
--sip=[path/to/]SIP
Parameter | Beschreibung |
---|---|
--sip=[path/to/]SIP | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
Quality Assurance: check SIP against submission agreement
Prüft ob die Dateiformate mit den Vorgaben aus dem Submission Agreement übereinstimmen. Es gibt zwei Modi: im ersten Modus (removeBadFiles
= false), wird jede Datei, welche über keine Übereinstimmung mit dem Submission Agreement hat, aufgelistet (verwendet werden hierzu die WARN log-Einträge) und zudem wird ein Fehlercode ausgegeben. Beim zweiten Modus (removeBadFiles
= true), wird jede Datei, welche über keine Übereinstimmung mit dem Submission Agreement aufweist, aus dem SIP gelöscht. Das modifizierte mets.xml
wird gespeichert (das originale SIP bleibt unverändert als Backup bestehen).
java ch.docuteam.actions.qualityassurance.SIPSubmissionAgreementCheck \
[path/to/]SIP [removeBadFiles] [operationSA] [operationDSS]
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
[removeBadFiles] | optional, `true |
[operationSA] | optional, ID of an external submission agreement to be used for this action (instead of the agreement which is part of the SIP) |
[operationDSS] | optional, ID of an external data submission section to be used for this action (instead of the agreement which is part of the SIP) |
Quality Assurance: SIP virus check
Jede im SIP vorhandene Datei wird auf Viren überprüft. Für die Virenprüfung wird der Virenscanner von ClamAV (www.clamav.net) verwendet.
Voraussetzung für diese Prüfung ist ein gestarteter ClamAV Dienst. Abhängig vom zweiten Argument werden infizierte Dateien verworfen oder automatisch gelöscht. Mit dem optionalen dritten Argument kann eine maximale Dateigrösse mitgegeben werden. Nur Dateien, die kleiner als dieses Limit sind, werden gescannt werden. Das Limit kann in einem der folgenden Formate angegeben werden: (1B, 1KB, 1MB, 1GB, 1TB). Erlaubt sind nur Ganzzahlen, keine Brüche (1.5GB funktioniert nicht).
java ch.docuteam.actions.qualityassurance.SIPVirusCheck \
[path/to/]SIP deleteInfected [maxSize]
Parameter | Beschreibung |
---|---|
[path/to/]SIP | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
deleteInfected | if true , the operation automatically removes infected files from the SIP |
[maxSize] | maxSize in B, KB, MB, GB or TB, only files smaller than this limit will be scanned |
Quality Assurance: remove by level of description
Entfernt bestimmte Verzeichnungsstufe aus einem SIP.
java ch.docuteam.actions.qualityassurance.RemoveByLevelOfDescription \
[/path/to/]folder levelOfDescription
Parameter | Beschreibung |
---|---|
[path/to/]folder | path of the folder to rename; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
levelOfDescription | name of the level of description to be removed from the SIP |
Quality Assurance: add/update file format information
Für alle Dateien des SIPs wird die Format-Identifikation erneut ausgeführt und im SIP hinzugefügt/aktualisiert.
Über einen Parameter kann definiert werden, ob bestehende Informationen überschrieben werden sollen (default: false).
java ch.docuteam.actions.qualityassurance.SIPFormatIdentificationCheck \
--sip=[path/to/]SIP [--replaceExistingFormatInfo=true|false]
Parameter | Beschreibung |
---|---|
--sip | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
--replaceExistingFormatInfo | optional, `true |
Quality Assurance: remove files by format (PUID or MIME type)
Entfernt alle Dateien eines SIPs, die einem der angegebenen Dateiformate entsprechen. Dateiformate können entweder in Form eines MIME types oder eines Pronom Unique IDentifiers (PUID) angegeben werden.
java ch.docuteam.actions.qualityassurance.SIPDeleteFilesByFormat \
--sip=[path/to/]SIP [--mimetype=...] [--puid=...]
Parameter | Beschreibung |
---|---|
--sip | name of the SIP; if no path is given, it will be expected to be in the location defined by the actions.workbench.work property |
--mimetype | optional; comma separated list of MIME types to be deleted from this package |
--puid | optional; comma separated list of PRONOM identifiers (PUID) to be deleted from this package |