[Changelog] Neuer Flow-Testmodus

Hallo zusammen,

mit der letzten Veröffentlichung ist eine neue Funktion als beta-Version live gegangen, der Testmodus mit den Testvariablen.

Was sind Testvariablen?

Testvariablen überschreiben (ersetzen) bei aktiviertem Testmodus die Werte normaler Flow-Variablen z.B. bei Step-Vorschau, Mapper oder manueller Flow-Ausführung. Bei Zeitplanung oder URL-Trigger greifen die normalen Werte der Flow-Variablen. Testvariablen werden für die aktuelle Session gespeichert und beim Entsperren oder Logout wieder gelöscht.

image

image

Wozu braucht man das?

Nachdem ein Flow produktiv im Einsatz ist, kommt man manchmal in die Situation, dass man den Flow mit einer ganz bestimmten Variable ausführen möchte. Entweder um etwas neues auszuprobieren, oder z.B. eine einzelne Bestellung anhand der OrderID abzurufen. Dafür kann man ganz einfach die Flow-Variable ändern.
Wo ist das Problem? Leider vergißt man manchmal, diesen Testwert wieder zu entfernen.
Dieses Problem wird durch den Testmodus und die Testvariablen adressiert. Das Risiko, dass man vergisst einen Wert wieder zurück zu ändern wird minimiert.
Die Testvariablen werden nur temporär in der Session gespeichert und wirken sich nur auf Aktionen aus, die man im Browser macht (z.B. manuelle Flow-Ausführung, Step-Vorschau, Mapper Konfiguration). Der eigentliche Wert der Flow-Variablen bliebt unverändert. Ein per Zeitplanung automatisierter Flow sieht nur die normalen Flow-Variablen, jedoch nicht die Testvariablen.

Zum Handbucheintrag.

Wir würden uns über Feedback freuen.

5 Likes

Grade entdeckt, genial! Sowas habe ich mir schon lange gewünscht, ich war genau der Kandidat der das immer vergessen hat :see_no_evil:

Vielen Dank! Feedback geb ich nach ein wenig testen…

1 Like

Hallo,
ich habe inzwischen getestet und kann nur sagen: Sehr gute Umsetzung!

Gruß Dirk

Dito!

3 Likes

Ja, kann ich unterschreiben, großartig!

Ist auch so gebaut dass es egtl gar nicht viel zu testen gibt: der Toggle ist so platziert dass man ihn kaum übersehen kann. Und wenn man ihn benutzt, bleibt das Vorgehen 1:1 das selbe, kein umlernen, kein nichts. „Fire and forget“ im besten Sinne des Wortes :+1:

Fehler hab ich keine entdeckt.

1 Like

Hätte doch noch ne Anregung: Überschreiben von Projektvariablen. Hab da tatsächlich in einem Projekt das viele verwobene Flows enthält auch das Testing-Zeug in Projektvariablen ausgelagert, und hab jetzt im Testmodus keine Möglichkeit auch die zu ändern.

2 Likes

Vielen Dank für euer Feedback @shopmind & @samenhaus-admin.

@samenhaus-admin: Die Projektvariablen schauen wir uns nochmal an. Vielleicht bekommen wir die auch noch mit rein.

2 Likes

Kleines Detail: wenn ich im Testmodus meine Limit-Variable runtersetze, und den Flow laufen lasse, und dann direkt aus dem Eventlog raus den Flow ein weiteres mal starte, dann wird nicht der Testmodus genutzt, sondern der Flow läuft mit dem normalen Limit durch.

Ah danke für den Hinweis. Das ist eine Sache, die immer schon so war. Ein Klick auf den „Erneut ausführen“ Button im Eventlog ist das gleiche wie ein Klick auf den „Ausführen“ Button im Flow.
Scheinbar entsteht aber jetzt der Eindruck, der Run wird mit identischen Input-Parameter erneut ausgeführt. Das ist nicht so.

Wir sollten hier über

a) eine Umbennung des Buttons nachdenken und / oder
b) über einen neuen Button, der so funktioniert, wie du das gerade erwartest oder
c) den Button so belassen, und die Funktion so abändern, wie du das erwartest - könnte aber zu Verwirrung bei Nutzern führen, die das bisherige Verhalten erwarten.

Wenn du uns gedanklich folgen kannst :wink: und Vorschläge hättest, wie man das mit Buttons bennenen könnte", wäre das hilfreich.

Wir müssen da mal drüber nachdenken. Das von dir erwartete (neue) Verhalten hätte Vorteile, aber auch Konsequenzen, wenn man das ändern würde.

Das Thema ist jetzt in Arbeit und kommt zeitnah. Damit kann man dann auch Projektvariablen im Testmodus überschreiben.

@samenhaus-admin
Wir werden dafür folgende Lösung implementieren:

Es wird direkt bei der Tabelle der Ausführungsparameter einen Button geben, um den Flow mit den exakt gleichen Parametern noch einmal zu starten.

Dem bisherigen Button werden wir noch einen Tooltip-Text hinzufügen zur Erklärung hinzufügen.

1 Like

Danke für die Umsetzung!

Mir ist noch was eingefallen: wenn ich im Testmodus Steps bzw Gruppen deaktiviere, sollte das zurückgesetzt werden wenn ich den Testmodus verlasse. Wäre toll.

Danke für das Feedback. Wir diskutieren das mal.
Im Moment ist der Testmodus nur ein Umschalter für die Flow-Variablen, mit denen man seinen Flow füttert (nimm Test-Wert oder nimm Live-Wert).

Ein Pausieren von Gruppen/Steps ist ja eigentlich eine Veränderung des Flows (quasi eine Änderung des Codes). Das der Testmodus zwischen zwei Code-Ständen hin und her schalten soll… hmm klingt erstmal irgendwie nicht so gut.

Aber man kann ja erstmal mal drüber nachdenken.

Ja, kann ich nachvollziehen, ist schon nicht das selbe.

Im Everyday ist es aber so, dass ich den Testmodus aktiviere, um eben etwas zu testen. Typischerweise setze ich zuerst mal das Limit runter, um alle Abläufe zu beschleunigen.

Wenn ich jetzt aber einige Gruppen habe, die zwar indirekt (abgerufene Daten) aufeinander aufbauen, aber direkt keine Steps haben, die gruppenübergreifend verknüpft sind (üblich: Abruf von Aufträgen am Gruppenanfang, aus einem Status den die Vorgruppe vergeben hat) und ich muss „ganz hinten“ was ändern & testen, dann schalte ich die Gruppen davor eben ab. Und alles läuft schneller.

Ist schon auch offensichtlich genug, dass ich eher nicht vergesse die auch wieder zu aktivieren. Aber im Grunde ist es das selbe wie bei der Limit-Variable: wenn mein Run erfolgreich war, und ich im System das Ergebnis prüfe, und ich dann nicht zurück nach Synesty wechsle und das rückbaue, dann hab ich nen Codezustand live, der egtl nur zum Test war.

Wenn ihr ne elegante Lösung findet wärs cool, kann aber auch verstehen wenn das nicht berücksichtigt wird :pray:

Grüße Daniel

Hier mal ein Versuch sich erstmal mit Bordmitteln ran zu tasten:

a) Step-Vorschau

Evtl. hilft dir unsere verbesserte Step-Vorschau schon dabei. Dies führt nur noch vorherige Steps aus, zu denen eine Abhängigkeit besteht. Dabei wird der gesamte Stepgruppen-Graph rückwärts abgesucht und auch indirekte Abhängigkeiten berücksichtigt.
Mit anderen Worten: wenn dein zu testender Step am Ende des Flows nicht mal indirekt etwas mit den Daten aus dem

macht, dann werden die Aufträge am Gruppenanfang auch nicht ausgeführt.
Bitte gern mal testen.

Ein Test ist z.B. wenn du jetzt mal ans Ende einen TextHTML packst, der z.B. nur „foo“ ausgibt. Dieser wird jetzt blitzschnell ausgeführt, da er quasi gar keine Abhängigkeit zu vorherigen Steps hat. Früher wurde der komplette Flow vorher ausgeführt.

b) Flow-Versionierung

Ist zwar auch noch nicht bulletproof was das Thema „Vergessen“ angeht, aber vielleicht eine Möglichkeit wenigstens nur einen statt vieler Klicks zu machen:

Und zwar könntest du z.B.

  • vor deinem Test sicherstellen, dass der Versions-Punkt grün ist (keine Änderung, Stand ist aktuelle Basisversion).
  • durch die Änderungen wie Pausierung und Testerei wird der Punkt gelb
  • wenn du fertig mit dem Test bist rollst du wieder zurück auf den Anfangszustand durch klick auf „Basisversion wiederherstellen“.

image

Das wären jetzt erstmal 2 technische Dinge, die es schon gibt. Vielleicht hilft dir das schon.

Wir sind offen für Ideen, wie wir diese z.B. Usability-technisch tunen könnten, um es einfacher zu machen.