Änderungen von Dokument N8n Workflow Engine
Zuletzt geändert von Daniel Herrmann am 2026/02/22 21:17
Von Version
9.1
bearbeitet von Daniel Herrmann
am 2026/02/22 19:36
am 2026/02/22 19:36
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version
18.2
bearbeitet von Daniel Herrmann
am 2026/02/22 21:12
am 2026/02/22 21:12
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -12,22 +12,73 @@ 12 12 13 13 === Document Consumed Workflow === 14 14 15 - ToDO15 +Dieser Workflow wird durch das [[Paperless Post-Consume Script>>doc:PROJ.Digitale Mitgliederverwaltung.Paperless NGX.WebHome]] ausgelöst, immer dann, wenn ein **QR Code mit dem korrekten Inhalt **erkannt wird. Die Idee hier ist, dass **ausgedruckte und handschriftliche Dokumente **automatisch verarbeitet werden können. 16 16 17 +Im Prinzip ersetzt dieser Workflow den Docuseal Webhook, der automatisch dem Backend bescheid gibt, wenn alle Parteien unterschrieben haben. Bei ausgedruckten Dokumenten passiert dies stattdessen hierüber. 18 + 19 +[[image:1771785973968-394.png||height="150"]] 20 + 21 +Der Workflow: 22 + 23 +* wird über ein Webhook vom Post Consume Script ausgelesen. Als Inhalt wird der Inhalt des dekodierten QR Codes übergeben 24 +* nur handschriftlich unterschriebene Dokumente werden verarbeitet 25 +* dem Backend wird signalisiert, dass das Dokument erfolgreich verarbeitet wurde 26 + 27 +Als Konsequenz kann das Backend weitere automatische Aktionen ausführen, beispielsweise vorläufige oder dauerhafte Berechtigungen eintragen. 28 + 17 17 === Paperless Papierkorb === 18 18 19 -asd 31 +**In Paperless kann nur der Owner Dokumente in den Papierkorb verschieben**. Dies lässt sich leider nicht anders konfigurieren, sodass wir uns hier mit einem Workaround behelfen: die Mitgliederverwaltung und/oder der Vorstand können dem Dokument **ein Tag zuweisen**. **Dieses Tag löst einen Workflow in Paperless aus:** 20 20 33 +[[image:1771786279823-587.png||height="250"]] 34 + 35 +Dieser Workflow löst zwei Dinge aus (leider ist Dokument löschen keine verfügbare Aktion): 36 + 37 +* er entfernt das Tag wieder, um Rekursion zu vermeiden 38 +* und löst ein N8n Webhook aus 39 + 40 +**Der N8n Workflow löscht dann das Dokument.** 41 + 42 +[[image:1771786234093-932.png||height="150"]] 43 + 21 21 == Cron Jobs - Sync von Daten == 22 22 23 23 === Sync Tags für Einweisungen === 24 24 25 - ToDo48 +In Paperless unterscheiden wir verschiedene Arten von Dokumente, diese sind [[hier im Wiki beschrieben>>doc:PROJ.Digitale Mitgliederverwaltung.WebHome]]. Es wäre aber nicht zweckmäßig, für jede Einweisung ebenfalls einen eigenen Typ zu erzeugen, daher verwenden wir Tags. **Dieser Workflow liest die verfügbaren Einweisungen vom Backend der Homepage aus und erzeugt die Tags.** 26 26 50 +[[image:1771790486089-157.png||height="150"]] 51 + 52 +Dieser Workflow **regelmäßig als Cronjob ausgeführt**. 53 + 54 +* liest verschiedene Informationen aus Paperless aus 55 +** Alle Gruppe, und findet die ID der Gruppen für Mitgliederverwaltung und IT-Admins 56 +** Alle User, und findet die ID des MV Owner Users 57 +** Alle bestehenden Tags 58 +* Dann werden die verfügbaren Einweisungen aus dem Backend ausgelesen 59 +* Im Merge Node werden Tags herausgefiltert, die noch nicht in Paperless existieren 60 +* Diese werden dann erzeugt. 61 + 27 27 === Sync Document Types === 28 28 29 -ToDo 64 +Die verfügbaren Dokumenten-Typen werden [[in Directus verwaltet>>https://assets.makerspace-darmstadt.de/admin/content/paperless_document_types]], und können dort einfacher verändert werden. Dieser Workflow synchronisiert die Dokumenten-Typen ähnlich der Tags für Einweisungen. 30 30 66 +[[image:1771790995906-398.png||height="150"]] 67 + 68 +Dieser Workflow **regelmäßig als Cronjob ausgeführt**. 69 + 70 +* liest verschiedene Informationen aus Paperless aus 71 +** Alle Gruppe, und findet die ID der Gruppen für Mitgliederverwaltung und IT-Admins 72 +** Alle User, und findet die ID des MV Owner Users 73 +** Alle bestehenden Dokumenten-Typen 74 +* Dann werden die verfügbaren Typen aus Directus ausgelesen 75 +* Im Merge Node werden Typen herausgefiltert, die noch nicht in Paperless existieren 76 +* Diese werden dann erzeugt 77 + 78 +{{info}} 79 +Wir müssen überdenken, ob dies wirklich so sinnvoll ist. Die Dokumenten-Typen werden vom Backend in den QR Code rein kodiert und müssen übereinstimmen, damit das Dokument erfolgreich zugeordnet werden kann. Es macht eventuell mehr Sinn, dass IT-Admins diese direkt in Paperless verwalten. Dann würde die Directus Collection und dieser Workflow wegfallen. 80 +{{/info}} 81 + 31 31 == Backend Event Workflows == 32 32 33 33 Bestimmte Events aus dem Backend werden über NATS als Event gepublished. Details dazu sind auf der [[Seite zu NATS>>doc:PROJ.Digitale Mitgliederverwaltung.Technische Dokumentation.NATS Setup.WebHome]] beschrieben. Hier werden die Events beschrieben, die Paperless betreffen: ... ... @@ -34,8 +34,19 @@ 34 34 35 35 === mksp.docuseal.signature.completed === 36 36 37 - ToDo88 +Dieses Event wird ausgelöst, wenn im Backend ein Signatur-Prozess abgeschlossen ist (d.h. alle Parteien haben unterschrieben und die Unterschrift wurde im Backend erfasst). Dies kann auf zwei Arten passieren: 38 38 90 +* Bei **rein digitalen Signaturen** durch einen über **Docuseal ausgelösten Webhook** 91 +* Bei **handschriftlich** unterschrieben Zetteln durch **Einscannen** und den oben beschrieben **"Document Consumed" N8n Workflow** 92 + 93 +[[image:1771785764191-239.png||height="150"]] 94 + 95 +**Der Workflow löst nur bei digitalen Dokumenten eine Aktion aus**. Bei handschriftlich unterschriebenen Dokumenten ist das Dokument bereits eingescannt. Für digital unterschriebene Signaturen: 96 + 97 +* wird der Status der Submission aus Docuseal ausgelesen 98 +* wird das PDF mit den Unterschriften aller Parteien runtergeladen... 99 +* und anschließend in Docuseal hochgeladen und dort verarbeitet. 100 + 39 39 === mksp.backend.user.created === 40 40 41 41 Dieser Workflow wird immer dann getriggert, wenn im Backend ein **neuer User** angelegt wird. Die Informationen aus der NATS Nachricht werden dann verwendet, um den **Korrespondenten in Paperless anzulegen**. ... ... @@ -86,10 +86,6 @@ 86 86 87 87 Alle notwendigen Daten (inklusive der Paperless Korrespondent-ID) sind im NATS Event vorhanden. Es wird also lediglich ein neuer Display-Name erzeugt (Format: siehe Tabelle oben) und der Korrespondent wird aktualisiert. 88 88 89 -= =Subflows ==151 += N8n Nodes = 90 90 91 -ToDo 92 - 93 -= Community Nodes = 94 - 95 -asd 153 +N8n nodes sind im Prinzip die Schnittstelle zwischen N8n und externen Tools. Einige Funktionalitäten sind Teil des N8n Cores (beispielsweise HTTP Anfragen, MQTT, ...), andere müssen über externe Nodes hinzugefügt werden. Für einige Tools nutzen wir bestehende Community Nodes, für andere haben wir selbst welche entwi
- 1771785764191-239.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dherrman - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +92.9 KB - Inhalt
- 1771785973968-394.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dherrman - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +83.1 KB - Inhalt
- 1771786234093-932.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dherrman - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +56.7 KB - Inhalt
- 1771786279823-587.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dherrman - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +173.8 KB - Inhalt
- 1771790486089-157.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dherrman - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +227.4 KB - Inhalt
- 1771790995906-398.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dherrman - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +280.3 KB - Inhalt