14.05.2009

Notes 8.5 – Skript speichern und NotesViewNavigator

>>Author:  Manuel Nientit
>>Ort:     Kiel
        
URL: http://www.assono.de/blog/d6plinks/Notes-8.5-Saving-Scripts-and-NotesViewNavigator

Category: Lotus Notes, Lotus Domino, Entwicklung


Ich bin weiß Gott enthusiastisch im Bezug auf die Änderungen und Neuerungen in der IBM-Produktpalette, besonders im Bezug auf IBM Lotus Notes/Domino. Deswegen konnte ich es kaum erwarten, den 8.5er Client auf meinem Rechner zu installieren, obwohl wir da eigentlich noch keine Notwendigkeit haben.

Leider hatte ich noch keine Gelegenheit die neuen Features auszuprobieren (XPages – Yeah!), so dass sich meine Erfahrungen nur auf die „klassische“ Notes-Entwicklung beziehen. Und die birgt einige Tücken. Hier zwei Beispiele:

In Einzelfällen kommt es vor, dass Skriptbibliotheken nicht gespeichert werden: Man drückt seine gewohnte Tastenkombination Strg + S und es passiert nichts. Da Letzteres auch der Fall ist, wenn man erfolgreich gespeichert hat, arbeitet man nun weiter und führt schließlich seinen Code aus, nur um dann festzustellen, dass er sich nicht im Entferntesten verhält, wie erwartet. Ein Blick in den Debugger offenbart, dass hier noch alter Code ausgeführt wird. Oder der Client stürzt ab (was leider auch häufiger passiert) und man stellt dann später fest, dass die Bibliothek nicht mehr auf dem Stand ist, den man eigentlich schon gespeichert hat.
Hier hilft nur, die Bibliothek regelmäßig zu schließen. Wenn man dann gefragt wird, ob man speichern will und der Klick auf „Ja“ mit Untätigkeit quittiert wird, ist es an der Zeit - nach einem kurzen Moment der Panik ;) - die Bibliothek komplett zu exportieren und sie dann zu reimportieren.


Ein ebenfalls neues „Feature“ ist seltsames Verhalten im NotesViewNavigator. Die folgende Folge soll eigentlich den zweiten Eintrag in einer Ansicht zurück liefern:

Set viewNav = view.CreateNavigator
Set viewentry = viewNav.GetFirst
Set viewentry = viewNav.GetNext(viewentry)

Sie liefert jedoch – Nothing. Nein, das liegt nicht daran, dass es das zweite Dokument nicht gibt, denn DIESE Folge liefert den korrekten Eintrag:

Set viewNav = view.CreateNavigator
Set viewentry = viewNav.GetFirst
Set viewentry = viewNav.GetNext(viewentry) ' Ist doch Nothing?
position = viewentry.GetPosition(Separator) ' hol die Position des Dokumentes in der Ansicht
Set viewentry = viewNav.GetPos(position) ' hole das Dokument anhand der Position

Mit anderen Worten: man kann aus Nichts einen Eintrag machen, wenn man weiß, wo das Nichts ist – hübscher Trick, nicht? (Paradox ist - wenn sich jemand im Handumdrehen den Fuß bricht ;) )

Natürlich ist das Problem bekannt – und zwar nicht erst seit gestern:
http://www-10.lotus.com/ldd/nd85forum.nsf/5f27803bba85d8e285256bf10054620d/f30ab19043084832852575520050c96f?OpenDocument
Erfasst als SPR #  PRUN7NZRBR

Post A Comment

Comments

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Tags

Deutsche RSS-Feeds (German)

Custom Button Custom Button

English RSS feeds

Custom Button Custom Button