Hallo,
wie bei meiner Vorstellung bereits angedroht hier die Schilderung meines Problems.
Es existiert bereits ein ähnlicher Thread, der aber mein Problem nicht so richtig beschreibt. Daher hier mein Thread.
Ich möchte meinen alten Lotus Notes Client 6.5.1 auf die Version 8.5.2 updaten. Dazu habe ich erstmal den neuen
Client in einer VMWare installiert, um damit zunächst etwas rumzuspielen. Fixpack 4 ist installiert, der Client läuft
unter WinXP SP3.
Ich habe KEINEN Dominoserver. Der Client soll wie schon der alte als reiner POP3/SMTP-Client laufen. Nun habe
ich festgestellt, dass der neue Client den Eingang einer neuen Mail nur im Systray und in der Statusleiste (You have
1 new Mail) anzeigt. In der Inbox taucht die Mail erst nach Drücken von F9, dem Refresh Button, einem Ansichts-
wechsel usw. auf. Alle relevanten Häkchen sind gesetzt (Check for new mail every "1" minutes, Refresh Inbox automatically).
Der Client ist über ein Transform als Multiuser Client installiert, der Ordner Data liegt also im Profil des Users, nicht
im Programmordner. Das haben wir bei Bayer auch so gemacht und da funtz alles ohne Probleme, nur halt in einer
Umgebung mit Dominoservern.
Dazu gibt es im Web diverse Beiträge, wie das Problem zu beheben sei, die mir aber alle nicht weiterhelfen konnten.
Das Problem tritt in vielen Versionen in den verschiedensten Variationen auf und immer wird seitens IBM versprochen,
dass es in der nächsten Version oder mit dem nächsten Fixpack behoben wird.
Ich habe es sowohl mit meinen alten Daten aus dem 6er Client, als auch mit einem komplett neuen Profil versucht,
aber ohne Erfolg. Auch die ganze Löscherei von CACHE.NDK usw., Schablonenwechsel etc. hat nichts gebracht.
Möglicherweise ist das Problem ja sogar behoben und tritt nicht mehr auf, solange der Client von einem Dominoserver
"betreut" wird. Dies ist aber in meiner Umgebung, wie bereits erwähnt, nicht der Fall.
In der Notes Hilfe habe ich unter "Reading mail and checking for new mail" folgendes Zitat gefunden:
Zitat...Open your mail, if necessary, and then click the Refresh button above the message list or press F9 to update the Inbox with new messages.
Das könnte man ja so verstehen, dass das beschriebene Verhalten normal ist, also works as designed wie man so schön sagt.
Kann das jemand bestätigen?
Dann hab ich mir gedacht, dass man das vielleicht über einen Agent lösen kann. Wollte mich schon immer mal mit LotusScript
usw. beschäftigen, jetzt habe ich endlich einen Grund dazu.
Also habe ich mal etwas in der Designer-Hilfe und im Web gestöbert und das hat mich zu folgendem kleinen Codeschnipsel geführt:
Wohlgemerkt das ist mein gesamtes Script, nicht das jemand denkt, es wäre nur ein Auszug.
Das funktioniert auch, solange ich den Agent manuell im Debugger ausführe. Direkt nach "Call ws.viewRefresh" ist die Mail in
der Inbox zu sehen. Vorher habe ich andere Sachen ausprobiert, ohne Debugger, und die Mail ist auch erschienen. Aber dann
habe ich herausgefunden, dass nicht der Agent, sondern mein rumgeklicke der Auslöser für das Erscheinen der Mail verantwortlich
war.
Soweit so schlecht. Wenn ich den Miniagent nun per Scheduler ausführe, passiert rein garnichts. Das Agent Log behauptet,
der Code wäre ausgeführt worden, aber nichts passiert. Der Haken "Enable scheduled local agents" unter "Basic Notes Client
Configuration" ist übrigens gesetzt!
Ich hab's zuvor mit den Einstellungen "Trigger= On event = Before new mail arrives bzw. After new mail has arrived" versucht,
aber dann habe ich in einem PDF auf "atnotes.de" gelesen, dass ein solcher Agent serverbasierend ist. Das verstehe ich so,
dass ich diese Trigger nicht ohne Dominoserver nutzen kann. Ist das so richtig?
Wie sieht es dann mit einem Scheduler aus? Kann man den Agent ohne Server über den Scheduler starten? Augeführt wird
er laut Agent Log ja, es passiert nur nichts.
Dann habe ich wieder in der Designer-Hilfe unter "NotesUIWorkspace" folgendes gelesen:
ZitatYou cannot use the UI classes in a background agent, an agent called through an API, or an agent called by the NotesAgent Run method. Only workstation users can run scripts that access UI objects.
Ist das der Grund dafür, dass mein Agent nichts tut? Ich bin davon ausgegangen, dass der Agent unter meinem Account
läuft, auch wenn er per Scheduler gestartet wird. Wenn das aber nicht der Fall ist, weiß ich nicht mehr weiter und brauche
eure Hilfe.
Den Agent mit dem Trigger "Action menu selection" zu starten macht keinen Sinn, dann kann ich auch gleich F9 drücken
oder den Refresh Button anklicken. Was ich noch nicht versucht habe ist über die Klasse NotesTimer zu gehen und den
Agent dann einmalig aus dem Menü zu starten. Allerdings habe ich in der Hilfe zu dieser Klasse folgendes gelesen:
ZitatNotesTimer is intended for use in Notes UI objects and not agents.
Womit ich wieder am Anfang stehe.
Ach ja, mit Formula Language habe ich es auch zuerst versucht, aber da steht dann wieder, dass man die Funktion
@Command nicht in einem scheduled Agent verwenden kann, sonst würde ich es mit Reload- bzw. RefreshWindow
machen.
Wäre schön, wenn mir hier jemand mal unter die Arme greifen könnte. Um es nochmal klarzumachen, ich bin absoluter
Neulig was das Scripting unter Notes angeht. Also bitte habt Mitleid.
Ich sag dann schonmal :danke: