je4.github.io

gocfl / ocfl / extensions

View My GitHub Profile

English

Verwendung und Konfiguration von gocfl

In diesem Teil des Workshops machen wir uns mit der grundlegenden Bedienung und den Konfigurationsmöglichkeiten des Werkzeugs gocfl vertraut. Wir setzen voraus, dass die Installation erfolgreich abgeschlossen wurde.

1. Grundlegende Befehlsstruktur

gocfl folgt einem typischen Kommandozeilen-Muster mit Unterbefehlen. Die allgemeine Syntax lautet:

gocfl [globale Flags] <Befehl> [Befehls-Flags] <Argumente>

Wichtige globale Flags sind beispielsweise:

2. Hilfe-System

Das Werkzeug bietet eine umfassende integrierte Hilfe. Diese ist der beste Weg, um die verfügbaren Optionen zu erkunden:

Allgemeine Hilfe

Zeigt alle verfügbaren Hauptbefehle (z.B. init, add, update, extract, validate) an:

gocfl --help

Befehlsspezifische Hilfe

Jeder Unterbefehl hat seine eigene Hilfe-Seite, die die spezifischen Flags und Argumente erklärt:

gocfl init --help
gocfl add --help

3. Konfiguration

gocfl bietet flexible Möglichkeiten zur Konfiguration, um sowohl einfache Ad-hoc-Aufrufe als auch komplexe Workflows zu unterstützen.

Konfigurationsdatei

Für wiederkehrende Einstellungen kann eine Konfigurationsdatei (im TOML-Format) verwendet werden. Standardmäßig sucht gocfl seine Konfiguration im Verzeichnis $HOME/gocfl.

Der Pfad $HOME entspricht dabei:

Mit dem globalen Flag --config kann eine spezifische Datei angegeben werden:

gocfl --config myconfig.toml [Befehl]

Die Konfigurationsdatei dient nicht nur der Speicherung einfacher Standardwerte (wie S3-Verbindungen oder Log-Level), sondern ist insbesondere für komplexe Einstellungen von Submodulen essenziell. Viele dieser tiefgreifenden Konfigurationen stehen bewusst nicht als Kommandozeilenparameter zur Verfügung, um die Befehlszeile übersichtlich zu halten.

Beispiele für solche Submodule sind:

Einen detaillierten Überblick über die einzelnen Abschnitte und Möglichkeiten der Konfigurationsdatei finden Sie auf der Seite Detaillierte Konfiguration (gocfl.toml).

Wenn kein Pfad angegeben wird, nutzt gocfl interne Standardwerte (Embedded Config).

Rangfolge der Einstellungen (Precedence)

Falls Einstellungen an mehreren Stellen definiert sind, gilt folgende Priorität:

  1. Kommandozeilen-Parameter (Flags): Haben immer Vorrang.
  2. Umgebungsvariablen: Überschreiben Werte aus der Konfigurationsdatei (z.B. GOCFL_S3_ENDPOINT).
  3. Konfigurationsdatei: Definiert projekt- oder nutzerspezifische Standards.
  4. Standardwerte: Im Programmcode fest hinterlegte Fallbacks (z.B. SHA-512 als Standard-Hash).

4. Versionsprüfung

Um sicherzustellen, dass Sie mit der erwarteten Version arbeiten, nutzen Sie:

gocfl --version

Sollte der Befehl nicht gefunden werden, stellen Sie sicher, dass Ihr GOBIN-Verzeichnis (standardmäßig $HOME/go/bin oder %USERPROFILE%\go\bin) in Ihrer PATH-Umgebungsvariable enthalten ist. Hier sollte eine Zeile mit der gewünschten Version erscheinen, z.B. gocfl version v2.0.6-beta45 (0001-01-01T00:00:00Z) go2.26.2.

5. Autoconfig

gocfl verfügt über einen Mechanismus zur automatischen Erkennung installierter Werkzeuge (wie ImageMagick, Ghostscript, ffmpeg und Tika).

Das globale Flag --autoconfig

Das globale Flag --autoconfig kann bei jedem gocfl-Befehl verwendet werden. Es weist das Programm an, die installierte Software auf dem System zu suchen und die interne Konfiguration für den aktuellen Aufruf automatisch anzupassen. Dabei werden insbesondere die Submodule Indexer (NNNN-indexer) und Thumbnail-Generierung (NNNN-thumbnail) entsprechend der gefundenen Werkzeuge vorkonfiguriert.

gocfl --autoconfig [Befehl] ...

Der Befehl initconfig

Um nicht bei jedem Aufruf --autoconfig angeben zu müssen, kann die automatisch erkannte (und durch weitere Parameter angepasste) Konfiguration dauerhaft gespeichert werden:

gocfl --autoconfig initconfig

Dieser Befehl erstellt eine Standardkonfiguration in $HOME/gocfl, die für die weiteren Schritte im Workshop benötigt wird. Dabei werden die Ergebnisse der automatischen Tool-Erkennung in die Konfigurationsdatei geschrieben.

Optional können Pfade und der Umfang der Konfiguration über Parameter angepasst werden:

Beispiel für eine vollständige Konfiguration:

gocfl --autoconfig initconfig --fullconfig

Beispiel mit angepassten Pfaden:

gocfl --autoconfig initconfig --toml ./myconfig.toml --extension-folder ./extensions --script-folder ./scripts

Zurück zur Installation Zurück zum Inhaltsverzeichnis Nächstes Thema: Initialisierung einer Storage Root