Änderungen von Dokument N8n Workflow Engine

Zuletzt geändert von Daniel Herrmann am 2026/02/22 21:17

Von Version Icon 3.2 Icon
bearbeitet von Daniel Herrmann
am 2026/02/22 14:22
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version Icon 10.1 Icon
bearbeitet von Daniel Herrmann
am 2026/02/22 19:42
Änderungskommentar: Neuen Anhang 1771785764191-239.png hochladen

Zusammenfassung

Details

Icon Seiteneigenschaften
Inhalt
... ... @@ -1,15 +1,98 @@
1 1  n8n ist ein **Open-Source-Tool zur Workflow-Automatisierung**, das man selbst hosten kann. Über eine **visuelle Oberfläche** baut man Workflows per Drag-and-drop aus sogenannten „Nodes“, die verschiedene Dienste und Aktionen miteinander verbinden. Es gibt Hunderte vorgefertigte Integrationen, z. B. für Slack, Mail oder MQTT. Ebenfalls gibt es eine große Auswahl an für uns relevante Community Nodes (Vikunja, Listmonk, und so weiter) sowie die Möglichkeit, eigene Nodes zu schreiben (beispielsweise Paperless oder NATS).
2 2  
3 += Inhaltsverzeichnis =
4 +
5 +{{toc/}}
6 +
3 3  = Workflow Übersicht =
4 4  
5 5  Workflows bestehen grundsätzlich aus einem oder mehreren **Triggern** und einer oder mehreren **Aktionen**. Im Folgenden werden nur die für die Mitgliederverwaltung relevanten Workflows beschrieben, N8n kann aber natürlich auch für andere Automatisierung verwendet werden.
6 6  
7 -asd
11 +== Workflows für Dokumente ==
8 8  
9 -= Community Nodes =
13 +=== Document Consumed Workflow ===
10 10  
15 +ToDO
16 +
17 +=== Paperless Papierkorb ===
18 +
11 11  asd
12 12  
13 -= =
21 +== Cron Jobs - Sync von Daten ==
14 14  
15 -
23 +=== Sync Tags für Einweisungen ===
24 +
25 +ToDo
26 +
27 +=== Sync Document Types ===
28 +
29 +ToDo
30 +
31 +== Backend Event Workflows ==
32 +
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 +
35 +=== mksp.docuseal.signature.completed ===
36 +
37 +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 +
39 +* Bei rein digitalen Signaturen durch einen über Docuseal ausgelösten Webhook
40 +* Bei handschriftlich unterschrieben Signaturen durch Einscan
41 +
42 +=== mksp.backend.user.created ===
43 +
44 +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**.
45 +
46 +[[image:1771784637258-114.png||height="200"]]
47 +
48 +Die folgenden Aktionen werden ausgeführt:
49 +
50 +1. Parallel werden **alle Gruppen und Benutzer **aus Paperless ausgelesen
51 +1. Es wird auf die relevanten Gruppen und Benutzer gefiltert. Ziel ist es, **die ID der entsprechenden Gruppen und Benutzer auszulesen**. Wir sind **interessiert an den Gruppen für die Mitgliederverwaltung und die IT Admins** sowie dem statischen **MV Owner**.
52 +1. Zuletzt wird der Subflow "Create Paperless Correspondent" angelegt. Dieser bekommt als Info:
53 +11. **firstname** - aus NATS Trigger
54 +11. **lastname** - aus NATS Trigger
55 +11. **isGuest** - true wenn membership_number in NATS Trigger = null, false otherwise
56 +11. **membership_number** - aus NATS Trigger
57 +11. **user_id** - aus NATS Trigger
58 +11. **owner_id** - ID des MV Data Owner Benutzers
59 +11. **permissions** - siehe unten
60 +11. **backend_url** - URL des Makerspace Backends
61 +
62 +Der Subflow erzeugt dann den Display-Namen des Korrespondenten und **speichert die Paperless-ID über die Backend-API zurück ins Backend.** Der **Display-Name **setzt sich wie folgt zusammen:
63 +
64 +|=Nutzer-Typ|=Format|=Beispiel
65 +|Mitglied|Vorname Nachname (#Mitgliedsnummer)|Daniel Herrmann (#250)
66 +|Gast|Vorname Nachname (Gast #Nutzer-ID)|Daniel Herrmann (Gast #1)
67 +
68 +Die **Berechtigungen** werden dabei wie folgt gesetzt:
69 +
70 +{{code language="none"}}
71 +{"view":{"users":[],"groups":[{{ $('Static Data').item.json.mv_group_id }}]},"change":{"users":[],"groups":[{{ $('Static Data').item.json.it_admin_group_id }}]}}
72 +{{/code}}
73 +
74 +D.h. Owner (und damit alle Rechte) hat der statische MV Owner Nutzer. Alle Mitglieder der Gruppe "Mitgliederverwaltung" können den Korrespondenten sehen (notwendig für Zuweisung und Filterung), IT-Admins können diese verändern.
75 +
76 +=== mksp.backend.user.converted_to_guest ===
77 +
78 +Dieser Workflow wird dann ausgelöst, wenn ein Mitglied den Verein verlässt und daher zum Gast wird.
79 +
80 +[[image:1771785245954-780.png||height="150"]]
81 +
82 +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.
83 +
84 +=== mksp.backend.user.converted_to_member ===
85 +
86 +Dieser Workflow wird dann ausgelöst, wenn ein neues Mitglied dem Verein beitritt.
87 +
88 +[[image:1771785309574-242.png||height="150"]]
89 +
90 +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.
91 +
92 +== Subflows ==
93 +
94 +ToDo
95 +
96 += Community Nodes =
97 +
98 +asd
Icon 1771784637258-114.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.dherrman
Größe
... ... @@ -1,0 +1,1 @@
1 +201.1 KB
Inhalt Icon
Icon 1771785245954-780.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.dherrman
Größe
... ... @@ -1,0 +1,1 @@
1 +63.2 KB
Inhalt Icon
Icon 1771785309574-242.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.dherrman
Größe
... ... @@ -1,0 +1,1 @@
1 +63.0 KB
Inhalt Icon
Icon 1771785764191-239.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.dherrman
Größe
... ... @@ -1,0 +1,1 @@
1 +92.9 KB
Inhalt Icon