- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dialog einblenden bei Auftrag
Guten Tag zusammen,
gibt es eine Mรถglichkeit aus einem Auftrag heraus Dialoge, sei es den undokumentierten CMSDialog oder die JOptionPane, zu erzeugen?
Wenn ich das Ganze als Skript in den Vorlagen anlegen und ausfรผhre funktioniert es einwandfrei, aber im ScheduleContext scheint das Skript keine Rรผckschlรผsse auf die GUI ziehen zu kรถnne und es kommt zu Fehlern. Generell ist das Verhalten auch nachvollziehbar, da die Auftrรคge ja in erster Linie GUI-unabhรคngig ablaufen. Besteht aber dennoch die Mรถglichkeit solche einen Dialog, im Falle einer bestehenden GUI, anzuzeigen?
Schรถne Grรผรe,
Florian Bรคtz
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?
Korrekt, an dieser Stelle besteht keine Mรถglichkeit, sich einzuklinken.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
Welche FirstSpirit-Vesion wird genutzt und wie sieht der/die StackTrace(s) aus?
generell kann mit GraphicsEnvironment#isHeadless getestet werden ob eine MOuse,Keyboard, Grafikarte angesprochen werden kann.
gruss
andre
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Genutzt wird 4.2.432.
Und der StackTrace sieht im Falle des CMSDialogs folgendermaรen aus (der Import ist drin):
ERROR 05.04.2011 12:09:51.208 {seID=427417} (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : de.espirit.firstspirit.access.script.ExecutionException: Attempt to resolve method: showInfoDialog() on undefined variable or class name: CMSDialog at line 21
de.espirit.firstspirit.access.script.ExecutionException: Attempt to resolve method: showInfoDialog() on undefined variable or class name: CMSDialog at line 21
at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:122)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:88)
at de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor.run(ScriptTaskExecutor.java:93)
[...]
Im Falle der JOptionPane:
ERROR 05.04.2011 12:12:30.830 {seID=427417} (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : de.espirit.firstspirit.access.script.ExecutionException: Method Invocation JOptionPane.showMessageDialog at line 21
de.espirit.firstspirit.access.script.ExecutionException: Method Invocation JOptionPane.showMessageDialog at line 21
at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:120)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:88)
at de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor.run(ScriptTaskExecutor.java:93)
[...]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Auftrรคge werden auf dem FirstSpirit-Server ausgefรผhrt. Daher macht es keinen Sinn, dort Dialoge anzuzeigen.
Wenn der Redakteur Parameter des Auftrages beeinflussen soll, mรผssen die Werte vor dem Start abgefragt werden.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Generell mag das stimmen, aber in diesem Fall kann der Auftrag eben auch manuell ausgefรผhrt werden und es soll am Ende eine spezielle Rรผckmeldung an den Benutzer geliefert werden.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
prinzipiell sollte CMSDialog nicht verwendet werden und auf dem FsServer ist CMDDialog natuerlich nicht bekannt. Also mรผsste man wohl Headless testen und JOptionPane nutzen o.รค.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nicht "generell" sondern immer
Der Ablauf fรผr deinen Anwendungsfall ist dann:
- Parameter abfragen
- Auftrag starten
- (Auftrag lรคuft auf dem Server)
- Ergebnis des Auftrages dem Benutzer prรคsentieren
Schritt 1,2 und 4 kรถnnen auf dem Client laufen, Schritt 3 nicht.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ja, stimmt - laufen wird der Auftrag immer auf dem Server
Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?
Korrekt, an dieser Stelle besteht keine Mรถglichkeit, sich einzuklinken.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
pjodeleit schrieb:
Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?Korrekt, an dieser Stelle besteht keine Mรถglichkeit, sich einzuklinken.
Kรถnnte nicht von einer Auftragsaktion ein Workflow gestartet werden, der wiederum in einer automatischen Aktion nach dem Start ein Skript aufruft, welches die gewรผnschten Ergebnisse einblendet? [Der Workflow mรผsste sich danach natรผrlich auch direkt wieder beenden.]
Oder bekomme ich die Informationen aus dem Auftrag nicht in den Client kommuniziert?
Anstatt diesen [hรครlichen und fragilen] Umweg zu nehmen, wรคre es aber besser direkt einen Workflow zu starten und in diesem den Auftrag per Skript auszufรผhren und dann dort die Rรผckmeldung des Auftrags auszuwerten.
Viele Grรผsse aus Dortmund,
Holger

