je4.github.io

gocfl / ocfl / extensions

View My GitHub Profile

English

OCFL Objekt-Erweiterungen (Extensions)

In diesem Kapitel betrachten wir die Erweiterungen, die direkt auf Ebene des OCFL-Objekts im extensions/-Verzeichnis definiert sind. Diese steuern, wie Inhalte innerhalb des Objekts abgelegt werden und welche zusätzlichen Metadaten oder Funktionen (wie Indexierung oder Thumbnails) für dieses spezifische Objekt aktiv sind.

1. Übersicht der verwendeten Erweiterungen

Das Beispielobjekt test42 verwendet die folgenden Erweiterungen:

  1. 0009-digest-algorithms: Registriert zusätzliche Hash-Algorithmen.
  2. 0011-direct-clean-path-layout: Bereinigt Dateipfade für die Speicherung.
  3. initial: Verweist auf den initialen Extension Manager.
  4. NNNN-content-subpath: Unterteilt das Objekt in verschiedene Bereiche (Areas).
  5. NNNN-filesystem: Speichert Dateisystem-Attribute (z.B. Zeitstempel).
  6. NNNN-gocfl-extension-manager: Verwaltet die Reihenfolge und Ausführung der Erweiterungen.
  7. NNNN-indexer: Erstellt technische Metadaten via Siegfried, Tika, ffprobe etc.
  8. NNNN-metafile: Erzeugt eine zentrale info.json mit Objektmetadaten.
  9. NNNN-thumbnail: Generiert Vorschaubilder für visuelle Medien.

2. Details der Konfigurationen

Hier sind die spezifischen Konfigurationen der wichtigsten Erweiterungen:

NNNN-content-subpath

Diese Erweiterung definiert, in welchen Unterverzeichnissen die verschiedenen Datentypen innerhalb des Objekts abgelegt werden.

{
   "extensionName": "NNNN-content-subpath",
   "subPath": {
      "content": {
         "path": "data",
         "description": "Payload of archival object"
      },
      "documentation": {
         "path": "documentation",
         "description": "documentation of the archival object"
      },
      "metadata": {
         "path": "metadata",
         "description": "additional semantic metadata"
      }
   }
}

0011-direct-clean-path-layout

Verantwortlich für die Abbildung der logischen Dateipfade auf die physischen Pfade im Speicher. Sie bereinigt Sonderzeichen und stellt die Kompatibilität mit verschiedenen Dateisystemen sicher.

{
   "extensionName": "0011-direct-clean-path-layout",
   "maxPathnameLen": 32000,
   "maxPathSegmentLen": 127,
   "replacementString": "_",
   "whitespaceReplacementString": " ",
   "utfEncode": true,
   "fallbackDigestAlgorithm": "sha512",
   "fallbackFolder": "fallback",
   "numberOfFallbackTuples": 0,
   "fallbackTupleSize": 0
}

NNNN-indexer

Diese Erweiterung führt während des Ingest-Prozesses verschiedene Werkzeuge aus, um technische Metadaten zu extrahieren.

{
   "extensionName": "NNNN-indexer",
   "StorageType": "area",
   "StorageName": "metadata",
   "Actions": [
      "siegfried",
      "xml",
      "tika",
      "ffprobe",
      "identify"
   ],
   "Compress": "gzip"
}

NNNN-metafile

Erstellt eine info.json im metadata-Bereich, welche die grundlegenden OCFL-Informationen zusammenfasst.

{
   "extensionName": "NNNN-metafile",
   "storageType": "area",
   "storageName": "metadata",
   "name": "info.json",
   "schema": "gocfl-info-1.0.json",
   "schemaUrl": "https://raw.githubusercontent.com/ocfl-archive/gocfl/main/gocfl-info-1.0.json"
}

3. Extension Manager (NNNN-gocfl-extension-manager)

Der Manager steuert die Ausführungsreihenfolge (Hooks). Dies ist wichtig, da z.B. das Layout (0011) angewendet werden muss, bevor der Pfad durch content-subpath weiter unterteilt wird.

{
   "extensionName": "NNNN-gocfl-extension-manager",
   "sort": {
      "ObjectChange": [
         "NNNN-indexer",
         "NNNN-metafile"
      ],
      "ObjectContentPath": [
         "NNNN-direct-clean-path-layout",
         "NNNN-content-subpath"
      ]
   },
   "exclusion": {
      "ObjectContentPath": [
         [
            "NNNN-direct-clean-path-layout",
            "NNNN-direct-path-layout"
         ]
      ]
   }
}

Zurück zur Übersicht: Erweiterungen Zurück zum Inhaltsverzeichnis