Tags automatisch entfernen mit Ablauf

Hallo erstmal meine Daten als Info,

  • Nextcloud ist auf einem Hyper-V, virtueller Server, Ubuntu 20.04 LTS installiert
  • Nextcloud Version 19.0.2
  • nginx, php 7.4.3, MariaDB
  • Server Updates: Lasse sie täglich laufen (sudo apt-get update, usw.)

ich habe mir einen Ablauf erstellt, indem er folgendes tut.

Wenn der Mitarbeiter in der Gruppe A eine Datei hochlädt egal wo, erhält dieser den Tag 14Tage löschen.
Nach 14Tagen wird er dann mit der Dateiaufbewahrungsapp gelöscht.
Das funktioniert soweit auch gut und so soll es auch sein.

Nun haben wir hier gewisse Regelungen.

Wenn dieser Mitarbeiter in der Gruppe A einen sogenannten Cloud Antrag bei mir stellt, möchte ich das alle Dateien in einem bestimmten Ordner NICHT gelöscht werden.
Am liebsten würde ich das so Regeln, dass der Ordner einen Tag “Nicht löschen” kriegt (manuell dann).
Und dann alle Dateien die von dem Mitarbeiter aus der Gruppe A in diesen Ordner mit dem Tag “Nicht löschen” hochgeladen werden, erhalten diesen Tag 14Tage löschen NICHT.

Wie kann ich das lösen? Es gibt ja keine Funktion “Tag entfernen” (oder doch?)
Weil der Mitarbeiter in der Gruppe A ja automatisch für jede Datei “14Tage löschen” erhält. (Was im normal Fall ja gewollt ist)

Also quasi:
Wenn der Mitarbeiter in der Gruppe A eine Datei in dem Ordner mit dem Tag “Nicht löschen” hochlädt, wird der Tag “14Tage löschen” nicht vergeben oder gelöscht.

So sieht der Ablauf momentan aus, damit diese Gruppe immer den Tag 14Tage kriegt: https://gyazo.com/f11b2f25f34e6aeb10083a6ef60ff331

Vielen Dank im voraus!
Gruß,
Jessi

Das scheint mir eine klassische If-Then-Else -Abfrage zu sein… und ich weiß nicht, ob oder in wieweit die mit den Flows umgesetzt werden kann…

1 Like

Wenn Tag “ Nicht löschen ” eingesetzt, dann kannst du ein external Script ausführen wo du:

  1. muss File ID finden (oder ist schön als paramenter da)
  2. dann Tags prüfen
  3. Tag einsetzen oder löschen

Ähnliche Aufgabe ist hier gelöst https://github.com/GAS85/nextcloud_scripts/blob/master/nextcloud-duplicates-tagger.sh

  1. muss File ID finden (https://github.com/GAS85/nextcloud_scripts/blob/master/nextcloud-duplicates-tagger.sh#L61)
  2. dann Tags prüfen https://github.com/GAS85/nextcloud_scripts/blob/master/nextcloud-duplicates-tagger.sh#L102
  3. Tag einsetzen oder löschen https://github.com/GAS85/nextcloud_scripts/blob/master/nextcloud-duplicates-tagger.sh#L89
1 Like

Okay super, schaue ich mir an danke!
Gibt es irgendwo eine Anleitung / Dokumentation zu externen Scripts bei Nextcloud?
Wäre Interessant sich das auch mal durchzuschauen.

2 Likes

Ich glaube es gibt ein paar:

Und File ID bekommst du als Parameter, muss du nur Tag löschen und Fehler ignorieren, oder Tags prüfen und dann löschen wenn vorhanden ist.

Ich habe das jetzt so umgeändert:

https://gyazo.com/68bf92292ff78de117155c8f5d9ca69d

Aus irgendeinem Grund funktioniert das.
Also, wenn der Admin einen Ordner in dem Gruppenordner erstellt und ihm den Tag “loeschentest” zuweist, dann werden alle Dokumente bzw. Ordner die darunter von dem User angelegt werden nicht mit dem Tag “14 Tage” versehen.

Ich musste kein Script schreiben und konnte so mein Problem lösen.

1 Like