Autor Thema: WebqueryOpen-Agent eine URL öffnen  (Gelesen 2797 mal)

Offline Lotuseffekt

  • Frischling
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
WebqueryOpen-Agent eine URL öffnen
« am: 10.10.06 - 15:44:08 »
Hallo Entwickler!

Ich habe eine Frage. Kann man beim Web-Query-Open keine URL öffnen? :-:

Ich möchte folgendes realisieren:
Ich öffne eine url (Bsp. db-replica/ansicht/doc-Id). Im Webquery-Open dieser Maske möchte ich nach bestimmten Werten abfragen. Ist die Bedingung nicht erfüllt, soll eine andere Seite geöffnet werden. Falls alles ok ist, dann soll die Seite angezeigt werden. Im WebQuery-Save-Ereignis funktioniert es tadellos.

Hat jemand eine Idee wie ich es sonst lösen könnte?
Vielen Dank!

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #1 am: 10.10.06 - 16:23:42 »
Wie die Designer-Hilfe so schön schreibt:
Zitat
A WebQueryOpen event runs the agent before Domino converts a document to HTML and sends it to the browser. Domino ignores any output produced by the agent in this context.

Wenn, dann musst Du Dich bei der Aktion einhängen, die ausgeführt wird, bevor das Dokument geladen wird.
Oder dann im Dokument einen redirect mir Javascript/Meta-Tags einbauen. Ist aber beides nicht schön/elegant/sicher.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Lotuseffekt

  • Frischling
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #2 am: 10.10.06 - 16:44:44 »
Hallo m3!

Vielen Dank für den Hinweis. Jetzt habe ich auch gesehen, dass Domino jegliche Ausgaben in diesem  Ereignis ignoriert. Schade. Es hilft auch nicht wenn man einen weiteren Agenten startet, der dann für mich diese Url öffnet.

Bzgl Redirect... ich stimme Dir zu, dass das nur eine 'Krücke' ist, aber wenn nichts anderes hilft, dann muss es wohl hin...

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #3 am: 11.10.06 - 07:54:17 »
Du könntest eine Seite öffnen und dann nach dem Laden mit AJAX Inhalte ändern/nachladen etc.
sagt Mark.



slowfood.de

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #4 am: 11.10.06 - 08:12:16 »
Lotuseffekt - wie wird denn die Seite aufgerufen. Ev. kannst Du Dich ja dort "reinhängen" mit Deiner Überprüfung.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #5 am: 11.10.06 - 08:26:26 »
Grundsätzlich brauchst du für eine Client-initiierte, durch bestimmte Werte in den Feldern bedingte Umleitung nur  ein bischen JavaScript code dynamisch erzeugen und das per PassThru html auf die Seite zu tun (s.u.)
Ich bin mir ziemlich sicher, dass das anders besser gelöst werden kann. Das hängt aber von den spezifischen Details in der Anwendung ab.


Code
<script language="JavaScript">

<!--
if (bedingung==true) {

window.location.href = "http://www.ibm.com";
}
//-->
</script>
Das (bedingung==true) kannst du ja auch mit Notes Bordmitteln (Formelsprache) dynamisch generieren.
So die Art: Als Feldformel:
Code
nl:= @newLine();
"<script language=\"JavaScript\">" + nl +
"<!--" + nl +
"if (" + @if(meinFeld="wertDerZurUmleitungFührt"; "true"; "false") + ") {" + nl +
"window.location.href = \"http://www.ibm.com\"";" + nl +
"}" + nl +
"//-->" + nl +
"</script>" 

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #6 am: 11.10.06 - 08:32:58 »
du kannst auch anstelle des Öffnens eines Dokumentes gleich einen Agenten per URL ansteuern der dann Logik ausführt und als Ergebnis eine Webseite präsentiert.
Anregungen zu solchen Sachen findest du z.B. in den Domino.Doc-Templates, falls du da irgendwie rankommst.

sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #7 am: 11.10.06 - 08:44:39 »
Per Script wird aus einem Agenten (falls ich mich noch recht erinnere) irgendwie so die URL angestossen.

Code
print "[http://www.atnotes.de]";
So könnte man in einem Agenten Verzweigung einbauen
Code
if (doc.wert(0) = "ibm" then
print "[http://www.ibm.com]"
else 
print "[http://www.atnotes.de]"
end if
Afaik sind diese eckigen Klammern unbedingt notwendig. Und es muß runtime das erste print statement im Agenten sein (im if-else können runtime beide prints das erste sein).
Die Syntax kann aber leicht anders sein.

Gruß Axel

« Letzte Änderung: 11.10.06 - 08:55:10 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Lotuseffekt

  • Frischling
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #8 am: 11.10.06 - 08:53:57 »
Vielen Dank für eure Einträge. Ich werde das eine oder andere heute ausprobieren.
 
Grundsätzlich wollte ich verhindern, dass ein Benutzer eine Seite aus der Chronik-Liste (History) direkt öffnet, falls er diese Seite zuvor besucht hat. Beim Öffnen der Seite überprüfe ich bestimmte Parameter (Zeitstempel, etc.) und falls das Dokument 'veraltet' ist, soll er auf eine bestimmte Seite geroutet werden.

@Axel: genau dieses Statement habe ich im Web-Query-Open-Agenten (print "[www.ibm.de]") eingegeben. Leider funktioniert es nur im WebQuerySave-Ereignis. Wie auch schon m3 zietiert hat, ist es in der Hilfe beschrieben, dass jegliche Ausgaben im Query-Open-Agenten von Domino ignoriert werden.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #9 am: 11.10.06 - 09:17:38 »
Du kannst die Anwendung vielleicht irgendwie so organisieren, dass die Dokumente nicht direkt sondern eben über einen Agenten aufgerufen werden. So ein bischen in Anlehnung an Modell2/MVC in Servlet/JSP.
In zahlreichen Java Frameworks gehen ja alle Client Requests zunächst über ein zentrales Controller-Servlet.
Es ist aber zugegenermassen fraglich, ob eine solche Architektur für Domino überhaupt Sinn macht.
WebQueryOpen wird glaub ich insgesamt sehr wenig benutzt.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Glombi

  • Gast
Re: WebqueryOpen-Agent eine URL öffnen
« Antwort #10 am: 11.10.06 - 09:27:53 »
Warum machst Du nicht einfach eine Maskenformel in der Ansicht "ansicht" ?
Dort wertest Du in Formelsprache die Bedingung aus und gibst den Namen der Maske zurück, die geöffnet werden soll.

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz