koelnmesse
Occasional Observer

BasicWorkflow 1.2.2

Jump to solution

Hallo zusammen,

wir benutzen den BasicWorkflow 1.2.2 mit den BasicWorkflow delete und release.

Unsere Frage ist jetzt kann man bei der Überprüfung der Objekte und dem daraus ggf. folgenden Konflikt-Status (siehe Anlage) auch Schaltflächen einrichten, wo man direkt auf das entsprechende Objekt springen und somit die Konflikte sofort bereinigen kann. Es sollte dann natürlich möglich sein, dass der Workflow ohne weiteren Klick weitergeführt wird.

Gruß

Claudia Fischbach

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Claudia,

um hier etwas zu machen, müsste der Code der BasicWorkflows angepasst werden. Das ist aber nicht ganz trivial, insb. weil das "Ermitteln" der Abhängigkeiten und das "Anzeigen" an getrennten Stellen erfolgt (was grundsätzlich total sinnvoll ist). Damit das geht, werden die "Konfliktelemente" in der Workflow-Session gespeichert - aber leider nur mit ihrer Bezeichnung (also dem Text, der im Popup erscheint). Dadurch sind sie dort wo sie angezeigt werden (und man die Sprungfunktion haben wollen würde) aber nicht mehr "identifizierbar", d.h. den Teil müsste man ergänzen - und das ist einiger Aufwand.

Insbesondere weil man ja nicht einfach die Objekte selbst in der Session speichern will sondern "leichtgewichtige" Identifier. Dafür sollte man aber keine eigenen Klassen nehmen, weil das eine (De)Serialisierung bedeutet, die beim Import des Projektes Probleme machen kann. D.h. man muss hier auch noch eine "Übersetzung" in eine Struktur mit Standard-Datentypen bauen wie List<Map<String,String>> wobei die innere Map quasi eine Liste von Key-Value-Paaren beinhaltet anhand derer man jeweils ein FS-Objekt dann wieder findet. Das braucht man, weil man für unterschiedliche Elemente unterschiedliche Arten der Identifikation hat (insb. was Datensätze und "den Rest" betrifft). Diese einfache Struktur kann man dann in der WF-Session speichern.

Was dann die Anzeige angeht:

Hier kann man mit dem FormsAgent arbeiten und sich zur Laufzeit ein Formular mit FS_BUTTONs bauen, die beim Klick dann eine DisplayElementOperation ausführen.

Eine schönere Variante - die aber leider nur im CC geht - wäre aber das Triggern der eingebauten Suche mit einem zusammengebauten Query-String, der alle diese Objekte auflistet.

Das Triggern der Suche (mit passender Query) ist übrigens allgemein eine schöne Möglichkeit, eine Liste von FS-Objekten anzuzeigen, ohne sich gleich immer ein passendes DataAccessPlugin bauen zu müssen - außerdem braucht man dafür dann auch keinen AppCenter-Slot 😉 Nutze ich auch gerne für andere Dinge wie "Anzeige von 'abgelaufenen' Medien" usw.

Viele Grüße

Michael

View solution in original post

0 Kudos
4 Replies
mbergmann
Crownpeak employee

Hallo Claudia,

um hier etwas zu machen, müsste der Code der BasicWorkflows angepasst werden. Das ist aber nicht ganz trivial, insb. weil das "Ermitteln" der Abhängigkeiten und das "Anzeigen" an getrennten Stellen erfolgt (was grundsätzlich total sinnvoll ist). Damit das geht, werden die "Konfliktelemente" in der Workflow-Session gespeichert - aber leider nur mit ihrer Bezeichnung (also dem Text, der im Popup erscheint). Dadurch sind sie dort wo sie angezeigt werden (und man die Sprungfunktion haben wollen würde) aber nicht mehr "identifizierbar", d.h. den Teil müsste man ergänzen - und das ist einiger Aufwand.

Insbesondere weil man ja nicht einfach die Objekte selbst in der Session speichern will sondern "leichtgewichtige" Identifier. Dafür sollte man aber keine eigenen Klassen nehmen, weil das eine (De)Serialisierung bedeutet, die beim Import des Projektes Probleme machen kann. D.h. man muss hier auch noch eine "Übersetzung" in eine Struktur mit Standard-Datentypen bauen wie List<Map<String,String>> wobei die innere Map quasi eine Liste von Key-Value-Paaren beinhaltet anhand derer man jeweils ein FS-Objekt dann wieder findet. Das braucht man, weil man für unterschiedliche Elemente unterschiedliche Arten der Identifikation hat (insb. was Datensätze und "den Rest" betrifft). Diese einfache Struktur kann man dann in der WF-Session speichern.

Was dann die Anzeige angeht:

Hier kann man mit dem FormsAgent arbeiten und sich zur Laufzeit ein Formular mit FS_BUTTONs bauen, die beim Klick dann eine DisplayElementOperation ausführen.

Eine schönere Variante - die aber leider nur im CC geht - wäre aber das Triggern der eingebauten Suche mit einem zusammengebauten Query-String, der alle diese Objekte auflistet.

Das Triggern der Suche (mit passender Query) ist übrigens allgemein eine schöne Möglichkeit, eine Liste von FS-Objekten anzuzeigen, ohne sich gleich immer ein passendes DataAccessPlugin bauen zu müssen - außerdem braucht man dafür dann auch keinen AppCenter-Slot 😉 Nutze ich auch gerne für andere Dinge wie "Anzeige von 'abgelaufenen' Medien" usw.

Viele Grüße

Michael

0 Kudos
MichaelaReydt
Community Manager

Hallo Claudia,

Michael hat quasi bereits die richtige Antwort gegeben. Ist deine Frage damit beantwortet oder benötigst du noch weitere Hilfe?

Viele Grüße

Michaela

0 Kudos

Hallo Michaela, Hallo Michael,

danke für die Antworten. Ich schaue mir dies mal im Detail an und würde mich ggf. nochmal melden, wenn ich weitere Fragen diesbezüglich habe.

Gruß

Claudia

0 Kudos

Hi Claudia,

wenn ihr da Hilfe braucht, könnt ihr mich auch nochmal ansprechen.

Viele Grüße

Carsten

0 Kudos