Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Myron am 20.11.03 - 11:26:39

Titel: PostSave Script im Web..
Beitrag von: Myron am 20.11.03 - 11:26:39
Hallo Leute


Wieder einmal eine Web Frage....
Wird eigentlich das Script im PostSave Event der Maske im Web beim Speichern aufgerufen? Ich würde gerne beim Speichern der Masken Informations mails webschicken.. Funkt im beim Speichern im Notes aber im Web nicht... die mails sind von den Informationen her ein wenig komplexer so dass die Formelsprache für mich zu kompliziert werden würde um das selbe nachzubilden. Würde Java funktionieren?

grüße
Titel: Re:PostSave Script im Web..
Beitrag von: Semeaphoros am 20.11.03 - 11:30:52
Der PostSave wird nicht verarbeitet, einzig der WebQuerySave.

A-bär, man kann das abfangen mit einem Agenten, der auf geänderte/neue Dokumente getriggert ist (wenn mans nicht über den WebQuerySave machen will) oder indem man zB über $$return den Browser auf eine Seite schickt, in dessen webQueryOpen sowas gemacht wird.
Titel: Re:PostSave Script im Web..
Beitrag von: Axel Janssen temp am 20.11.03 - 11:36:45
Wird eigentlich das Script im PostSave Event der Maske im Web beim Speichern aufgerufen? Ich würde gerne beim Speichern der Masken Informations mails webschicken.. Funkt im beim Speichern im Notes aber im Web nicht... die mails sind von den Informationen her ein wenig komplexer so dass die Formelsprache für mich zu kompliziert werden würde um das selbe nachzubilden. Würde Java funktionieren?

grüße
Fürs web gibt es eigene Event Handler. WebQuerySave und WebQueryOpen.
Ein Äquivalent zu postSave gibt es also nicht. Aus meiner Erfahrung braucht man aber postSave nur höchst selten.

Du kannst dort einen Agenten definieren. Der abgearbeitet wird.
Auf das Dokument selbst kannst du über
Document doc = session.DocumentContext referenzieren (typischste Frage).
Den Agenten kannst du in LotusScript oder Java schreiben. Vorteile bietet Java für diesen Bereich imho nur bei Spezialaufgaben (xml, Integration mit relationalen Datenbanken, Integration mit Dateien, etc.).

Gruß Axel
Titel: Re:PostSave Script im Web..
Beitrag von: Myron am 20.11.03 - 11:43:18
Auf das Dokument selbst kannst du über
Document doc = session.DocumentContext referenzieren (typischste Frage).

Vielen Dank! Das wäre wirklich meine nächtes Frage gewesen  :D Wusste ich nicht!

grüße
Titel: Re:PostSave Script im Web..
Beitrag von: Axel Janssen temp am 20.11.03 - 11:46:01
Ich glaub du kannst den code von dem Postsave einfach in einen Agenten packen und den im Webquerysave eintragen.
Titel: Re:PostSave Script im Web..
Beitrag von: Myron am 20.11.03 - 11:48:24
Werd ich machen!

Ich sag bescheid ob funktioniert hat!

grüße
Titel: Re:PostSave Script im Web..
Beitrag von: Myron am 20.11.03 - 13:10:43
Hallo..

Das hat alles soweit funktioniert .. der Agent wird laut Protokoll vom WebQuerySave aufgerunfen aber er schickt keine mails weg.. Wenn ich den Agent im Notes starte dann schon.. hmm

der Agent beinhaltet folgenden Code...

Code
   Dim doc As NotesDocument
   Dim newdoc As NotesDocument
   Dim ses As New NotesSession
   Dim db As NotesDatabase
   
   Set db = ses.CurrentDatabase
   'Set doc = ses.DocumentContext
   
   Set newDoc = db.CreateDocument
   newDoc.Subject = "Neuer Beitrag"
   newDoc.SendTo = "bubble@non.non"
   Call newDoc.Send( False )

Vieleicht weiß von euch jemand noch etwas.. ? hmm

Grüße
Titel: Re:PostSave Script im Web..
Beitrag von: Axel Janssen temp am 20.11.03 - 13:23:30
Besorg dir eine vernünftige Debug-Strategie.
Unter 6 kann man glaub ich auch Webagenten mit dem Designer debuggen. Ich weiss aber nicht wie genau.

Die quick & dirty Methode wären print-Statements im Querysave.

print "huhu Agent <Agentname>"

Auch errorhandling ist vielleicht keine schlechte idee.
Titel: Re:PostSave Script im Web..
Beitrag von: Myron am 20.11.03 - 17:55:39
ok! jetzt hats funktioniert..

das ganze habe ich in der diskussionsdatenbak gemacht und da haben mir die ganzen dols java sachen in der Maske offensichtlich den agent blockiert.
hab das alles gelöscht und jetzt geht auch der agent  ;D
warum auch immer..

grüße
Titel: Re:PostSave Script im Web..
Beitrag von: Axel Janssen temp am 20.11.03 - 18:31:46
hab das alles gelöscht und jetzt geht auch der agent  ;D
warum auch immer..

Exakt genau das ist mein Problem mit Notes-Programmierung.  ;D
Ich mache momentan das volle Programm aufbauend auf einer bestehenden Anwendung.
seitenlange Validierungsformeln in Formelsprache, notes 4.5 kompatible Tabellen mit "feste breite mit Rändern", die auch mit Notes5.11 Macken haben. und viele hide whens.
Eine Validierungsfunktion mit höchst eigenen Ideen des Programmierers...

Wenn ich das alles gelöscht habe, funktioniert es wieder.

Ich sag ja nicht, dass es für diese Sache ineffizient ist. Freue mich aber schon auf morgen, wenn ich mein gutes, altes Eclipse anschmeisse und mir mein deutsch-russischer Kollege eröffnet:
IK: Ich habe jetzt Idee wie wir aspektorientierte Programmierung für errorhandling nehmen.
A.J:Wofür brauchen wir das?
IK:Ist besser.
AJ: Hört sich ein bisschen an wie Raumstation MIR nehmen, um nach Berlin zu fliegen.
IK: Stimmt. Aber aspektorientierung ist neues Konzept.   :-*