Durchsuchbare Dokumentation aufrufen

Zurück zur Dokumentationsübersicht

agorum core temporary

Ab welcher Version verfügbar?

agorum core open
agorum core pro

Mit dem Modul agorum core temporary legen Sie temporäre Ordner sowie temporäre Dateien in agorum core an. Der temporäre Ordner wird hierbei mit einem Objekt anhand seiner UUID in agorum core verknüpft. Innerhalb eines frei konfigurierbaren Intervalls prüft das System anschließend immer wieder dieses verknüpfte Objekt auf Vorhandensein im System. Sie können außerdem auch ein Ablaufdatum für den temporären Ordner konfigurieren, das allerdings unabhängig vom verknüpften Objekt ist. Stellt das System bei einer Prüfung fest, dass das verknüpfte Objekt nicht mehr existiert oder das Ablaufdatum erreicht ist, entfernt es den temporären Ordner wieder aus agorum core.

Temporäre Ordner oder temporäre Dateien legen Sie immer an, wenn Sie den finalen Ablageort bisher nicht wissen oder diesen nicht bestimmen können. Haben Sie eine temporäre Datei angelegt, können Sie diese zu jedem Zeitpunkt an den finalen Ablageort verschieben.

Anwendungsbeispiele


Besonders häufig sind temporäre Ordner und Dateien in folgenden Szenarien anzutreffen:

Workflows

Wenn Sie mit Workflows arbeiten und etwa Rechnungsdokumente mit Daten befüllen möchten, verwenden Sie den Knoten Dokument-Vorlage befüllen. Dieser basiert hierbei auf dem Modul agorum core temporary und legt automatisch eine temporäre Datei in einen temporären Ordner an.​​​​​​ Nachdem das Dokument befüllt ist, können Sie es an einen finalen Ablageort verschieben.

Installation


Das Modul ist automatisch in den oben genannten Versionen enthalten.

Ordnerstruktur


Sobald Sie die eingangs erwähnte Version verwenden, legt das System unter folgendem Pfad automatisch einen neuen Ordner namens agorum.temporary an:

/agorum/roi/workspace/agorum.temporary

Unterhalb dieses Ordners befinden sich zukünftig Ihre temporären Ordner und temporäre Dateien im Unterordner temp, die Sie per Skript anlegen (mehr dazu in den folgenden Abschnitten).

Unterhalb des Ordners temp legt das System jedes Mal eine Ordnerstruktur an, wenn das Skript ausgeführt wird. Die Ordnerstruktur ist abhängig davon, in welchem Jahr, Monat und an welchem Tag das Skript ausgeführt wird. Führen Sie das Skript etwa am 12.04.2021 aus, erzeugt das System folgende Ordnerstruktur:

Metadaten

Alle Ordner, die unterhalb von agorum.temporary/temp erzeugt werden, besitzen automatisch folgende Metadaten:

Metadatum Beschreibung
Überprüfungsintervall (sys_ag_tml_cleanup_intervall) Das Intervall, in dem das System den temporären Ordner / die temporäre Datei auf die Löschkriterien (deletionCriteria) prüft.
Nächste Prüfung ab
(sys_ag_tmp_next_cleanup)
Das Datum, wann die nächste Prüfung durch das System stattfindet. Wenn Sie bei der Erstellung ein Ablaufdatum (ExpireDate) für den Ordner angeben, wird das Metadatum sys_ag_tmp_next_cleanup auf dieses Datum gesetzt.

Temporären Ordner / temporäre Datei per Skript anlegen


Um einen temporären Ordner oder eine temporäre Datei anzulegen, gehen Sie folgendermaßen vor:

  1. Erstellen Sie im agorum core explorer in einem beliebigen Ordner ein neues JavaScript-Dokument über das Kontextmenü.
  2. Fügen Sie Folgendes in das Skript ein, um die Temporary-Bibliothek zu verwenden:
    let temp = require('/agorum/roi/customers/agorum.temporary/js/temporary');

Die Temporary-Bibliothek enthält diverse Funktionen und Parameter, die im Folgenden beschrieben werden.

Funktionen der Temporary-Bibliothek


createFolder

Diese Funktion legt einen temporären Ordner mit einer UUID des verknüpften Objekts an.

let temp = require('/agorum/roi/customers/agorum.temporary/js/temporary');

let tempFolder = temp.createFolder(deletionCriteria, prefix, interval);

Die Funktion erwartet die Angabe folgender Parameter:

Parameter Beschreibung Beispiele
deletionCriteria Definiert das Kriterium, anhand dem das System den temporären Ordner prüft und löscht. Sie müssen zwingend ein Kriterium angeben. Folgende Kriterien sind möglich:

UUID des verknüpften Objekts (String)
Der Ordner wird bei der nächsten Prüfung gelöscht, wenn das verknüpfte Objekt, das hier angegeben ist, nicht mehr existiert.




UUID: b0ebce00-9071-11eb-a93b-02420a0a0006
prefix (optional) Definiert ein Präfix, das vor die UUID des temporären Ordners gesetzt wird, damit Sie ihn leichter finden können. MeinOrdner_b0ebce00-9071-11eb-a93b-02420a0a0006
interval (optional) Definiert, in welchen Abständen (Standard: 7 Tage) das System anhand des Parameters deletionCriteria den Ordner prüft. 3

createFile

Diese Funktion legt eine temporäre Datei mit einer UUID in einem temporären Ordner an.

let temp = require('/agorum/roi/customers/agorum.temporary/js/temporary');

let tempFile = temp.createFile(container, fileName, fileExt);

Die Funktion erwartet die Angabe folgender Parameter:

Parameter Beschreibung Beispiele
container Definiert die Objekt-ID oder die Objekt-UUID des temporären Ordners, in dem die temporäre Datei angelegt werden soll. Wenn Sie keinen temporären Ordner, sondern ein anderes Objekt angeben, legt das System automatisch einen temporären Ordner mit der UUID des verknüpften Objekts an.
  • Objekt-ID: 1591696
  • Objekt-UUID: b0ebce00-9071-11eb-a93b-02420a0a0006
fileName (optional) Definiert den Name der temporären Datei (ohne Endung). Wenn Sie keinen Namen angeben, erzeugt das System automatisch eine zufällige UUID. MeineDatei
fileExt (optional) Definiert eine Dateiendung für die temporäre Datei. Wenn Sie keine Dateiendung angeben, setzt das System automatisch die Dateiendung tmp. pdf

clean

Diese Funktion prüft (und bereinigt ggf.) die temporären Ordner anhand des weiter oben beschriebenen Metadatums sys_ag_tmp_next_cleanup. Es werden also nur Ordner geprüft, deren nächstes Cleanup-Datum abgelaufen ist.

let temp = require('/agorum/roi/customers/agorum.temporary/js/temporary');

temp.clean();

Wann die nächste Bereinigung läuft, ist abhängig vom Metadatum sys_ag_tml_cleanup_intervall, das bereits weiter oben beschrieben wurde.

Das Skript zur Bereinigung wird durch einen CronJob in agorum core alle 6 Stunden ausgeführt. Sie können den CronJob individuell anpassen:

  1. Öffnen Sie links in der Seitenleiste Administration und dann MetaDB.
  2. Öffnen Sie den Pfad:
    MAIN_MODULE_MANAGEMENT/cronjob/control/[agorum.temporary]/agorum.temporary
  3. Bearbeiten Sie den Eintrag CronTime, indem Sie den Wert (String) anpassen.