Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: MrT am 14.12.11 - 08:52:14
-
Hallo Zusammen,
ich kenne mich in Sachen Designer und Lotus Script nicht aus, wollte aber eine Datenbank für das auslesen der aktuellen Notes Clients im Unternehmen haben.
Über folgenden Link habe ich eine Möglichkeite dazu gefunden:
http://www-01.ibm.com/support/docview.wss?uid=swg21574792&myns=swglotus&mynp=OCSSKTMJ&mync=E
Ich soll einen Code in das Mailfile unter Database Script / PostOpen einfügen.
Wenn ich das mache, bekomme ich eine Fehlermeldung im Designer:
Dim cvsess As New NotesSession
Da steht dann: Illegal executable Code at the Module Level
Mache ich was falsch beim einfügen des Codes ?
Danke & Gruss
Hakan
-
Hallo Hakan,
Das Postopen der Datenbank ist ja nicht leer. An welcher Stelle hast du es denn eingefügt?
Chris
-
Hi,
ich bekomme gerade Gänsehaut.
Du hast keine Ahnung vom Designer und Script, sollst aber in der Mailschablone rumwerkeln?
Einfache Antwort: Vergiss es.
-
Es gibt doch in der names.nsf eine Ansicht "Nach Client-Version".....
-
Hallo,
@klauss: Person document does track client versions but it tracks all client versions for a user in no particular order.
- mich hat es bislang nicht gestört...
1. Code am Ende vom PostOpen der Datenbankscripts wirft keinen Fehler (8er und 8.5.3er Schablone)
2. Bist Du Herzchirurg? Wenn Du Dich mit Design nicht auskennst, dann lass es !!! Man braucht einen genauen Überblick, was bei Euch schon alles evtl. angepasst wurde. Und beim nächsten Update, kannst Du den Code wieder prüfen und einbauen.
3. Vergiss es lieber
4. Finga wech
Grüsse
-
Es gibt doch in der names.nsf eine Ansicht "Nach Client-Version".....
Die müsste man dann aber noch etwas tunen. Hier werden auch "nicht aktuelle" Daten angezeigt, wenn sich z.B. der PC-Name geändert hat.
Gruss
-
Ich wollte dem "Herzchirugen" nur einen vllt. einfachen Weg aufzeigen.
-
Übrigens steht
Dim cvsess as New Notessession
mit Sicherheit in den Declarations, und da gehört es so nicht hin.
Wenn dann ohne New und der Constructior wird dann im Postopen aufgerufen,
oder alles ins Postopen.
-
Ich finde, wir sollten warten bis er sich wieder zu Wort meldet ;)
Chris
-
André, die Declaration soll auch ins PostOpen, wie der ganze Code(Anhang)
aber wie gesagt: Ohne gute Kenntnisse an die names oder mail gehen - brrr...
-
Genau da liegt das Problem, brrr und Gänsehaut.
Die Fehlermeldung besagt das ausführbarer Code in den Declarations steht und das geht nun mal nicht.
Da wir nicht wissen, was er gemacht hat warten wir jetzt einfach mal.
-
dann melde ich mich mal wieder zu Wort.
Ich verstehe eure Argumentationen und bin auch kein Herzchirurg ( eher ein kleiner Artzhelfer ) :-)
Jedoch sollten doch solche kleinen Änderungen , zumal ja im Tech-Artikel genau beschrieben wird, was man machen soll, keine grössen Auswirkungen haben.
Ausserdem habe ich den Code erstmal nur in eine Test-Mailfile gemacht und nicht an der Schablone. ( zumal läuft der Designer Task nicht bei uns, somit wäre es erstmal kein Problem gewesen, auch wenn ich da was falsch reinkopiert hätte.Ohne Testen rolle ich sowas sowieso nicht aus )
Zur Problematik und Lösung:
ich soll den Code am Ende von PostOpen einfügen, nachdem ich das mache, werden die DIM Codes in die Declarations verschoben.
Dort wird dann auch die Zeile mit dem Fehler angezeigt.
Ich habe es aber mittlerweile rausgefunden. Den Code muss man vor dem End Sub einfügen, dann funktioniert das auch.
Wieder was dazugelernt .... ( Wenn ich Kenntnisse in LotusScript gehabt hätte, würde ich das wissen, gell ? )
PS: nicht immer gleich hauen ....
Der Hintergrund dieser Aktion war, das ich letzte Woche den 8.5.3 ausgerollt habe und ich gerne wissen wollte, wer noch eine ältere Version im Einsatz hat. Deshalb habe ich nach einer Lösung gesucht, um darüber eine Übsericht zu haben.
Trotzdem Danke
Gruss
Hakan
-
Ich habe es aber mittlerweile rausgefunden. Den Code muss man vor dem End Sub einfügen, dann funktioniert das auch.
Wieder was dazugelernt .... ( Wenn ich Kenntnisse in LotusScript gehabt hätte, würde ich das wissen, gell ? )
Richtig. Das ist als würdest du nach dem Fernsehen den Fernseher ausschalten und dich dann wundern, warum du jetzt nicht mehr den Videotext siehst,
End Sub ist das Ende ;)
-
Hakan, hier haut Dich keiner - bei bestimmten Aktionen sind viele hier vorsichtig, weil gebranntes Kind oder man durfte Feuerwehr spielen!
Deine Clients werden hoffentlich auch die neue Datenbank finden. Denk' da mal an Offline-User. Die öffnen das Mailfile und dann will Dein Code auf die Datenbank am Server zugreifen...
"Kleine Änderung" - ich weiss nicht
-
Der Hintergrund dieser Aktion war, das ich letzte Woche den 8.5.3 ausgerollt habe und ich gerne wissen wollte, wer noch eine ältere Version im Einsatz hat. Deshalb habe ich nach einer Lösung gesucht, um darüber eine Übsericht zu haben.
Das hättest du auch einfacher haben können. Wenn man die Einträge für die, für diese Ansicht, relevanten Daten in den Personendokumenten der Names.nsf haben nämlich löscht, was man ohne irgendein Problem zu bekommen tun kann, dann baut sich diese Liste von ganz alleine wieder auf.
-
Sorry das ich das jetzt mal so sage,
aber dann doch lieber Code in die Mailschablone der u.U. nicht funktioniert, als das er unbedarft, auch wenn für Programmierer ungefährlich, im DD irgendwelche Felder löscht.
-
Skylla und Charybdis!
Hakan fragt wenigstens und ist auch so umsichtig, nicht am lebenden Objekt zu testen. Das Felder-Löschen ist ja nun auch nicht wirklich schwer und Beispiele sin en mass zu finden. Wenn's halt, wird er sich melden.
-
Ohne jetzt alles genau gelesen zu haben; was haltet ihr den hiervon?
http://www.eknori.de/2008-02-02/domino-directory-people-by-client-version/ (http://www.eknori.de/2008-02-02/domino-directory-people-by-client-version/)
-
Hallo Ulrich, den Artikel von dir hatte ich jetzt auch gerade im Blickfeld. Zusätzlich dazu noch das hier (http://www.cmjackson.net/2010/01/20/clearing-the-client-version-from-the-lotus-notes-directory/), das einen Agenten zeigt der genau die Felder in der Names.nsf wegwirft die relevant sind. Und damit und wenn man sich die Kommentare (speziell den zweiten) durchliest, sollte das Problem nach einem Rollout über eine komplette Firma relativ einfach zu lösen sein.
-
Ohne jetzt alles genau gelesen zu haben; was haltet ihr den hiervon?
http://www.eknori.de/2008-02-02/domino-directory-people-by-client-version/ (http://www.eknori.de/2008-02-02/domino-directory-people-by-client-version/)
Hallo Ulrich, danke für den Hinweis ...
jedoch ist das wieder ein Eingriff in Dimensionen, für den mich einige hier im Forum abgeraten haben ( Änderung an Datenbanken/Views ohne gute Kenntnisse ). Da mich aber die vorherigen Versionen eigendlich nicht mehr Interessieren, wollte ich nur eine Übersicht von den aktuellen Client-Versionen haben.
@Diesen Absatz hatte ich geschrieben, bevor Ulrich geantwortet hatte, deshalb hänge ich den einfach mal so an ;-)
Wenn ich mir das so überlege und anschaue, scheint mir der Tipp vom Thomas ganz nützlich zu sein.
Die View mit dem "by Client Version" in der names.nsf würde mir auch weiterhelfen.
Die hatte ich schon vorher gesehen, jedoch sind dort alle Versionen drin, die je eine Person genutzt hat, angefangen mit 5.08 ;-)
Da ich aber die Felder im Personendokument nicht ändern/löschen konnte, habe ich nach einer alternative gesucht und wurde dann bei IBM mit dem im Anfangsthread angegeben Tech-Hinweis fündig.
Ich war mal so frei und hab jetzt einen Agenten erstellt, der das Feld löscht, damit die Daten neu geschrieben werden.
Laut meinen recherchen würde das "Neu Beschreiben" dieses Feldes manchmal 1-2 Tage dauern, dann warte ich halt solange.
Somit hat sich der Eingriff in der Mailschablone erstmal erledigt und ihr könnt wieder aufatmen ::)
Danke für die hilfreichen Tipps ...
Gruss
Hakan
-
Uff ;D
-
jedoch ist das wieder ein Eingriff in Dimensionen
Es ist lediglich eine zusätzliche Ansicht, An den bestehenden Designelementen muss nichts geändert werden.
Da mich aber die vorherigen Versionen eigendlich nicht mehr Interessieren, wollte ich nur eine Übersicht von den aktuellen Client-Versionen haben.
Hast du ja, in der ersten Spalte
-
Das ist schon interessant, was IBM da als Lösung veröffentlicht. Einerseits verliert man angeblich das Anrecht auf Support, wenn man am Mailfile "rumfummelt" (zumindest kenne ich das so als Gerücht, man mag mir gerne widersprechen, falls das nicht (mehr) zutrifft), andererseits ist der Code so geschrieben, dass, wenn er hier im Forum von irgend jemandem veröffentlicht worden wäre, sofort die Ermahnung käme, dass das Fehlerhandling fehlt.
Konkret: Da wird eine Datenbank auf dem Server geöffnet. Ohne Prüfung, ob die Datenbank geöffnet werden konnte, wird eine Ansicht geöffnet. Da knallt es dann evtl. das erste Mal. Danach wird nach einem Dokument in der Ansicht gesucht. Fehlt die Ansicht, kracht es auch. Zwei m.E. dicke Fehler in 20 Zeilen Code. Der arme Admin, der solch eine "Hilfe" übernimmt, ohne zu verstehen, was da passiert.
Neulich las ich einen Beitrag, in dem jemand schrieb, dass ein veröffentlichtes Script wohl nicht von IBM kommen könne, weil es schlecht sei. Nun, dieses ist es definitiv auch ...
-
Einerseits verliert man angeblich das Anrecht auf Support, wenn man am Mailfile "rumfummelt" (zumindest kenne ich das so als Gerücht, man mag mir gerne widersprechen, falls das nicht (mehr) zutrifft)
Das stimmt so nicht, Peter. Du hast sehr wohl Support auf eine modifizierte Datenbank. Allerdings schert sich IBM nicht darum, wenn es einen Fehler gibt, der durch deinen Modifikationen entstanden ist. Dafür gibt es keinen Support.
Wenn ein Fehler in einer modifizierte DB auftritt, dann gibt es nur Support, wenn dieser Fehler auch in einer Originalversion der Datenbank auftaucht.
-
Danke Ulrich, für die Klarstellung. Für mich sind Mailfile und Adressbuch trotzdem heilige Kühe, die nicht anzufassen sind. Das ist natürlich schwierig zu argumentieren, wenn IBM selbst Anregung gibt, es zu tun.