Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: two7 am 02.09.09 - 10:08:24

Titel: [gelöst] Ansicht filter nach Kriterium "notesname = notesname eingeloggter User"
Beitrag von: two7 am 02.09.09 - 10:08:24
Hallo zusammen,

vielleicht kann mir einer von euch helfen.

In meiner Datenbank werden mit dem Speichern eines Dokumentes der Notesname mit abgespeichert.

Eine Ansicht soll mir alle Dokumente gefiltert nach

   => "hinterlegter Notesname aus einem Dokument = Notesname des eingeloggten Users"

anzeigen. Prinzipiell kein Problem. Mein Code sieht in der Ansicht folgendermaßen aus:

Code
SELECT (Form="dokument") & (@Name([CN];dokuser) = @Name([CN];@UserName))

Zwei Konstellationen ergeben sich nun bei der Darstellung der Daten.



Dies lässt mich vermuten, dass @Name([CN];dokuser <> @Name([CN];@UserName)) ist. Zur Kontrollen habe ich mir die Werte in zwei Spalten ausgegeben. Der erste Blick, alles gleich.

Hilfe ???  :-[
Titel: Re: Ansicht gefilter nach Kriterium "notesname = notesname eingeloggter User"
Beitrag von: BigWim am 02.09.09 - 10:23:07
Zitat
When a formula runs on a server, the agent signer is considered the current user. Using @UserName on a local database or in a private view in a server-based database returns the user's name. You should not use @UserName in a public view, doing so produces unpredictable results. Also, if the field that you are referencing changes, you will get unpredictable results because the index has to be rebuilt to accommodate the new information.

Schmeiß mal die Suchmaschine an. Hier im Forum wurde schon oft die Richtigkeit der Designer-Hilfe bestätigt, dass @UserName nicht in Ansichten benutzt werden sollte. Die Ergebnisse sind "unvorhersehbar". Ich wollte es auch nicht glauben. Anfangs sah es recht gut aus, aber die Erfahrung lehrt etwas anderes ....

Markus
Titel: Re: Ansicht gefilter nach Kriterium "notesname = notesname eingeloggter User"
Beitrag von: klaussal am 02.09.09 - 10:23:51
Aus der Designer-Hilfe:

Zitat
@UserName sollte nicht in einer öffentlichen Ansicht verwendet werden, da dies nicht vorhersagbare Resultate ergibt.
Titel: Re: Ansicht gefilter nach Kriterium "notesname = notesname eingeloggter User"
Beitrag von: joan am 02.09.09 - 11:35:18
Das kann aus eigener Erfahrung nur bestätigen  ;D.

Der Server kann den Index nur für einen Usernamen aufbauen und da der Index gecacht wird, gibt das zwangsläufig Probleme, wenn mehrere Anwender auf die gleiche Datenbank zugreifen. Man könnte das zwar lauffähig bekommen, indem man den Server dazu zwingt, den Ansichtsindex jedesmal neu aufzubauen (bspw. durch ein @Now in einer versteckten Spalte), aber das geht natürlich massiv auf die Performance. Die problemloseste Variante ist da noch ein privater Order.
Titel: Re: Ansicht gefilter nach Kriterium "notesname = notesname eingeloggter User"
Beitrag von: two7 am 02.09.09 - 13:05:29
Tja ... wer lesen kann ist klar im Vorteil!

Danke für die prompte Hilfe.
Habe es nun über eine eingebettete Ansicht gelöst.

thx.