Nextcloud Workflow Script: Automatisierung und Integration in der Cloud

Nextcloud Workflow Script: Automatisierung und Integration in der Cloud

Einführung

Nextcloud ist eine vielseitige Cloud-Lösung, die es Benutzern ermöglicht, ihre Daten sicher zu speichern und zu verwalten. Neben der traditionellen Speicherfunktion bietet Nextcloud eine Vielzahl von Anwendungen und Erweiterungen, die die Nutzererfahrung erheblich verbessern. Eines dieser Erweiterungen ist das Workflow Script, das es ermöglicht, Dateien basierend auf vorgegebenen Regeln an externe Skripte weiterzuleiten.

Was ist das Nextcloud Workflow Script?

Das Nextcloud Workflow Script ist eine Erweiterung, die es ermöglicht, Dateien und Ordner automatisch an externe Skripte weiterzuleiten, sobald sie erstellt, geändert oder umbenannt werden. Dies geschieht durch die Nutzung eines Workflow-Engines, der es Administratoren ermöglicht, Regeln zu definieren, die auf bestimmte Dateien angewendet werden sollen. Die Regeln können basierend auf verschiedenen Ereignistypen wie „Datei erstellt“, „Datei umbenannt“ oder „Datei gelöscht“ definiert werden.

Regeln und Platzhalter

Wenn das Workflow Script aktiviert wird, können Regeln in den Administrations-Einstellungen im Bereich „Außen-Skripte“ definiert werden. Bei der Definition des Skripts können verschiedene Platzhalter verwendet werden, die durch die entsprechenden Werte ersetzt werden:

Platzhalter Beschreibung Beispielwert
%e Ereignistyp \OCP\Files::postCreate, \OCP\Files::postWrite oder \OCP\Files::postRename
%i Datei-ID 142430
%a Benutzer-ID des Akteurs bob
%o Benutzer-ID des Eigentümers alice
%n Nextcloud-Relative Pfad alice/files/Pictures/Wonderland/20180717_192103.jpg
%f Lokal verfügbarer Dateipfad /tmp/oc_tmp_m6E6OO-.jpg
%x Alte Nextcloud-Relative Dateipfad (nur bei Umbenennung und Kopieren) alice/files/Workbench/20180717_192103.jpg

Beispiele und Anwendung

Beispiel 1: Statistiken sammeln und analysieren

Ein Beispiel für die Anwendung des Workflow Scripts könnte sein, dass alle Textdateien an ein Tool weitergeleitet werden, das Statistiken über den Schreibstil eines Dokuments erstellt und diese dann in einem spezifischen Verzeichnis des Hosts speichert.

style -L de %f > /Lektorat/%a/$(basename %n).style

Nach dem Ausführen des Cron-Jobs finden Sie die Ergebnisse im erwarteten Ort:

$ cat /Lektorat/bob/Sanin\ -\ Artsybashev.txt.style
readability grades:
Kincaid: 10.2
ARI: 10.4
Coleman-Liau: 10.6
Flesch Index: 55.7/100
Fog Index: 12.5
Lix: 39.0 = school year 6
sentence info:
684404 characters
143798 words, average length 4.76 characters = 1.56 syllables
7606 sentences, average length 18.9 words
47% (3591) short sentences (at most 14 words)
18% (1390) long sentences (at least 29 words)
1 paragraphs, average length 7606.0 sentences
4% (378) questions
24% (1849) passive sentences
longest sent 164 wds at sent 339; shortest sent 1 wds at sent 4
word usage:
verb types:
to be (2154) auxiliary (1581)
types as % of total:
conjunctions 7% (10560) pronouns 9% (12733) prepositions 8% (10894)
nominalizations 1% (1638)
sentence beginnings:
pronoun (1209) interrogative pronoun (306) article (795)
subordinating conjunction (275) conjunction (701) preposition (529)

Beispiel 2: Bildverarbeitung

Ein weiteres Beispiel könnte sein, dass JPG-Dateien automatisch an eine Bildbearbeitungssuite weitergeleitet werden, sobald sie hochgeladen werden.

/var/www/nextcloud/onjpgexec.sh %n

Hinweise und Einschränkungen

  • Keine Unterstützung für Verschlüsselung: Das Workflow Script funktioniert nicht mit Verschlüsselungsmethoden.
  • Kein dediziertes Logfile: Es gibt kein spezielles Logfile für dieses App, außer dem Nextcloud-Logfile. Um den Befehlsausführung innerhalb des Skripts zu überwachen, können die folgenden zwei Zeilen des Batch-Skripts hinzugefügt werden:
#!/bin/sh
exec 2>/tmp/workflow_script-trace-$$.txt
set -x
  • Relative Pfad: Der Platzhalter %n enthält nur den relativen Dateipfad vom Nextcloud-Datennetzwerk, z.B. /user/files/YourDirectory/20191111_184052.jpg. Um einen vollständigen Pfad zu erhalten, muss der relative Pfad mit dem Pfad des Datennetzwerks vorangestellt werden.

Integration und Anwendung in der Praxis

Integration in Nextcloud

Das Workflow Script ist eine leistungsstarke Erweiterung, die in der Praxis oft eingesetzt wird. Es kann in verschiedene Anwendungen integriert werden, um die Effizienz und Automatisierung zu erhöhen. Eine der häufigsten Anwendungen ist die Automatisierung von Datei- und Ordneroperationen, wie z.B. das Ausführen von Skripten bei der Erstellung, Umbenennung oder Löschung von Dateien.

Beispiele für Anwendungen

  • Bildbearbeitung: Automatisches Weiterleiten von Bildern an eine Bildbearbeitungssuite.
  • Statistiken: Sammeln und Analysieren von Schreibstil-Statistiken für Textdateien.
  • Automatische Klassifikation: Klassifizieren von Dateien basierend auf bestimmten Regeln und Weiterleiten an entsprechende Skripte.

Fazit

Das Nextcloud Workflow Script ist eine vielseitige Erweiterung, die es ermöglicht, Dateien und Ordner basierend auf vorgegebenen Regeln an externe Skripte weiterzuleiten. Es ist ein nützliches Werkzeug für Administratoren, um die Effizienz und Automatisierung in der Cloud zu erhöhen. Mit seiner flexiblen Regeln-Engine und den verschiedenen Platzhaltern bietet es eine hohe Anwendungsmöglichkeit in verschiedenen Szenarien.

Quellen

  1. Contribute to the Text app: the hidden gem – Nextcloud
  2. nextcloud/workflow_script: Rule based processing of files … – GitHub
  3. Need help with workflow_script – Nextcloud community
  4. Nextcloud One, a fully managed service hosted in Germany
  5. Nextcloud Office – Self-hosted online office suite