Ich habe mich gerade damit beschäftigt, wie man PlentyONE Flows am besten dokumentieren könnte - denn die Infos im Editor selbst sind ein wenig unübersichtlich (mehrere Klicks nötig, um alle Infos in einem Flow sehen zu können).
Brilliante Idee: Die Export-Dateien (.tpl) nutzen, und von KI lesen und dokumentieren lassen.
Problem: Sie sind verschlüsselt. Und zwar nicht so wie bei den Datenbank-Backups, wo einfach die Tabellen-Header weggelassen wurden (aber die Daten an sich lesbar sind). Sondern offenbar richtig verschlüsselt, damit man die Exporte nicht (außerhalb eines Plenty Systems) lesen kann.
Claude erklärt es so:
Ich hab die Datei dekodiert und komme zu einem eindeutigen Ergebnis.
Was ich gefunden habe:
Die
.tpl-Datei ist einmal Base64-kodiert. Nach dem Dekodieren kommt sauberes JSON raus mit genau dieser Struktur:json
{ "iv": "05aKQghrJgvE0CryR0jqTQ==", "value": "SWdjOmcGykJir5rik7BMXdyjo14w...", "mac": "4d1399b6928e78692265703b9c167e98a719b8cbf58c4f6d10839b50ff717c5e", "tag": "" }Das ist kein proprietäres PlentyONE-Format, sondern exakt das Standard-Format von Laravels
Crypt::encryptString()(Laravel Framework, PHP):
iv= Initialisierungsvektor für AES-256-CBCvalue= der eigentliche verschlüsselte Payload (die Flow-Konfiguration)mac= HMAC-SHA256 zur Integritätsprüfungtag= leer, weil CBC verwendet wird, nicht ein AEAD-Modus wie GCMDas Problem: Diese Verschlüsselung ist mit dem
APP_KEYder PlentyONE-Flow-Anwendung durchgeführt worden. Ohne diesen Schlüssel ist der Inhalt nicht entschlüsselbar – das ist kryptografisch so gewollt (AES-256 + HMAC-Verifizierung), keine Verschleierung, die sich mit typischen Tricks (ROT13, einfaches XOR, mehrfaches Base64 etc.) knacken lässt.Was das heißt:
- Die Datei selbst enthält keine für dich lesbaren Klartext-Infos zum Flow (keine Bedingungen, Aktionen, Trigger-Namen o.ä.)
- Ein Import dieser
.tpl-Datei funktioniert vermutlich nur wieder in derselben PlentyONE-Instanz (bzw. einer Instanz mit demselben APP_KEY) – das ist wahrscheinlich genau der Zweck: Flows exportieren/importieren, aber nicht außerhalb des Systems lesbar machen- Wenn du wissen willst, was der Flow tut, hilft dir nur ein Blick direkt im PlentyONE-Flow-Editor, nicht die Export-Datei
Hier hat sich also jemand wirklich Gedanken gemacht, wie man Flows möglichst propritär halten kann, und wie man den einfachen Export von Business-Logik verhindern kann. Und die Dokumentation der Business-Logik.
Ich werde wohl beginnen, das in einfachen .md Dateien oder in Tabellen zu dokumentieren (weitgehend manuell), damit man auch wenn man mal 50+ Flows hat noch eine Übersicht hat, was hier eigentlich passiert.
Ideen dazu gerne posten, ich möchte das Rad ja nicht neu erfinden.