aVogt
Returning Creator

Pflichteingaben im Workflowdialog

Jump to solution

Hallo bei einem 4-Augen-WF macht es Sinn, im nachfolgenden (automatischen öffnenden) Dialog etas einzugeben:

wf_dialog.jpg

Nun sind manchmal die Redakteure im Stress und klicken auf Anfordern ohne etwas einzugeben. Kann man irgendwo einstellen, dass der Kommentar z.B. eine Pflichteingabe erfordert?

andere Möglichkeit:

Im nächten Schritt (zusätzlichen Schritt), könnte ich in einem Script die Felder abfragen. Wenn die nicht eingegeben sind, könnte ich den Dialog wieder anzeigen lassen?

0 Kudos
1 Solution

Accepted Solutions
gockel
Crownpeak employee

Ich würde eine Aktivität machen, an der ein Skript hängt, das dann den normalen ActionDialog öffnet und prüft ob der Kommentar eingegeben würde.

Auf die Schnelle.

transition = context#showActionDialog()

// check comment

comment = context#getTransitionParameters()#getComment()

if (comment != null && comment.length > 0) {

     context.doTransition(transition);

} else {

     // once again sam

}

View solution in original post

0 Kudos
13 Replies
hoebbel
Crownpeak employee

Die andere Möglichkeit würde ich als Weg der Wahl sehen.

Einfach eine zusätzliche (automatische) Aktivität erzeugen und in dieser prüfen, ob die entsprechenden Pflichtfelder gefüllt sind oder nicht.

Dann in dem Skript ein entsprechendes Popup erscheinen lassen (z.B. über die Skript GUI), in das der Redakteur die entsprechenden Felder "nachpflegen" kann. (oder nur den Hinweis aufpoppen lassen, dass die Pflichtfelder nicht gefüllt sind und deshalb nicht weitergeschaltet wurde)

0 Kudos
aVogt
Returning Creator

So wollte ich es auch machen. Meine zusätzliche Frage lautete, ob man den oben abgebildeten "Arbeitsablauf Aktion (Freigabe anfordern)"  irgendwie automatisch einblenden kann, oder ob der Redakteur den Arbeitsablauf erneut starten muss.

Und da gleich noch eine Frage hinterher:

Ist es möglich die Felder zu füllen?

Bsp.

Der Nutzer hat einen Kommentar eingegeben. und die Prio "sehr hoch" ausgewählt und kein Fälligkeitsdatum angegeben. Nun würde ich die Eingaben überprüfen und nicht weiterschalten, da bei Prio="sehr hoch" das Fälligkeitsdatum mit eingegeben werden muss. Beim erneuten Aufruf des Dialogs (egal ob manuell oder automatisch) sollte auf jeden Fall der Kommentar schon im Dialog stehen. Ist das möglich?

(etwas konstruiert das Bsp. aber ich glaub es verdeutlicht mein Anliegen)

0 Kudos
gockel
Crownpeak employee

Ich würde eine Aktivität machen, an der ein Skript hängt, das dann den normalen ActionDialog öffnet und prüft ob der Kommentar eingegeben würde.

Auf die Schnelle.

transition = context#showActionDialog()

// check comment

comment = context#getTransitionParameters()#getComment()

if (comment != null && comment.length > 0) {

     context.doTransition(transition);

} else {

     // once again sam

}

0 Kudos
aVogt
Returning Creator

vielen Dank!!

nachfolgend meine Umsetzung (falls es jemand braucht) ...

..

transition = context.showActionDialog();
if(transition == null) {
  return;
}
comment = context.getTransitionParameters().getComment();
while (comment == null || comment.length() == 0) {
  CMSDialog.showInfoDialog("Bitte geben Sie einen Kommentar an!.");
  transition = context.showActionDialog();
  comment = context.getTransitionParameters().getComment();
  if(transition == null) {
   return;
  }
}
context.doTransition(transition);

...

Hinweis: transition==null ist der "Abbrechen-Button" sonst kommt man nicht raus wenn man nichts eingeben will..

0 Kudos
gockel
Crownpeak employee

nur ein kurzer Hinweis:

das ist keine API und damit auch nicht stabil. Benutzung auf eigene Gefahr.

CMSDialog.showInfoDialog("Bitte geben Sie einen Kommentar an!.");


0 Kudos
aVogt
Returning Creator

Gibts eine "stabile", also über API?

0 Kudos
aVogt
Returning Creator

Ich muss mich doch noch mal melden.

Das

if(transition == null) {
   return;
  }
(also wenn ich auf abbrechen klicke) innerhalb der while-schleife, führt zum abbruch, aber der Arbeitsablauf wird trotzdem weitergeleitet. Vor der While-Schleife führt die Anweisung zum "stoppen" des Arbeitsablaufes.

Gibt es eine Möglichkeit, ohne einen zusätzlichen Statusübergang (da dieser dann wieder im Dialog angezeigt wird), in der Aktivität zu verbleiben (also in der, wo der Dialog aufgeht und ich einen Kommentar eingeben soll)?

0 Kudos
aVogt
Returning Creator

Habs was durch Zufall in der Doku gefunden, mit

     JOptionPane.showMessageDialog (...)

gehts.

Sollte dann nicht in der Doku auf CMSDialog verzichtet werden? Steht ja nicht überall dabei, dass es nicht verwendet werden soll!

0 Kudos
gockel
Crownpeak employee

Können Sie das Problem bitte noch ein wenig näher beschreiben.

Mir ist an dieser Stelle nicht klar, was Sie mit "wird trotzdem weitergeleitet" meinen und schon gar nicht über welche Transitionskante. Ein kleiner Screenshot des Workflow-Modells mit Beschreibungen wo sie sich in dem Modell befinden und was sie erreichen wollen, würde vielleicht helfen.

0 Kudos