Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Hans Joachim am 13.04.06 - 09:00:13
-
Hallo,
im Moment zeige ich in einer Ansicht nur die Dokumente an, welche im
Feld "TWEmployee" die Benutzernamen "MisterA", MisterB" oder "MisterC"
stehen haben.
Im Moment lautet meine Filterformel der Ansicht so:
SELECT(@Contains(TWEmployee; "MisterA" : "MisterB" : "MisterC"))
Ich möchte nun im Domino Administrator eine neue Gruppe anlegen (z.B.: Entwickler), in welche ich diese drei Benutzer verschieb.
Wie kann ich nun die Filterbedingung umändern, sodass nur die Dokumente angezeigt werden, die im Feld "TWEmployee" einen Namen stehen haben, der auch in der Benutzergruppe steht???
Kann man das überhaupt mit einer Formel umsetzen???
Ich möchte dies aus dem Grund realisieren, dass wenn ein neuer Benutzer in der Benutzergruppe "Entwickler" hinzugefügt wird, dass dessen Dokumente dann auch automatisch angezeigt werden.
in der Ansicht angezeigt werdd
-
Falls dies in sämtlichen Ansichten so wäre, könntest du mit Readers-Feldern arbeiten.
Ist es so?
-
Nein, leider nur in ein paar Ansichten. In anderen Ansichten werden z.B. nur die Dokumente des gerade unter Lotus Notes angemeldeten Benutzers angezeigt.
-
M'kay.
Ich hab ne andere Idee: Wie wird das Feld "TWEmployee" gefüllt? Gibts da nicht ne Möglichkeit beim Befüllen z.B. mit @UserRoles zu überprüfen ob der Benutzer in der Rolle "Entwickler" ist? Wenn ja, soll das Feld "TWEmployee" den Flag "1" erhalten, sonst "0". Und dann ist die Selection-Formel ja einfach ;D
-
Da gibt es mehrere Möglichkeiten.
Eine wäre z.B. die Selectformel der Ansicht so zu ändern:
SELECT(@Contains(TWEmployee; "Entwickler"))
Du musst aber auch dann alle bestehenden Dokumente entsprechend anpassen. Alternative dazu wäre diese Selectformel:
SELECT(@Contains(TWEmployee; "MisterA" : "MisterB" : "MisterC" : "Entwickler"))
Zusätzlich musst du bei beiden Varianten dafür sorgen, dass in das FEld nicht mehr der Benutzername, sondern die Gruppe eingetragen wird.
Axel
-
Bamm! Natürlich. Meine Lösung ist zu umständlich. Hab gar nicht daran gedacht ::)
-
SELECT(@Contains(TWEmployee; "Entwickler"))
Die Formel prüft ja, ob im Feld TWEmployee der Wert "Entwickler" eingetragen ist.
Ich muss aber irgendwie ermitteln, ob der Benutzer, der im Feld TWEmployee eingetragen ist, auch Mitglied der Gruppe "Entwickler" ist.
Axel, du hast geschrieben, dass ich dafür sorgen soll, das in das Feld nicht mehr der Benutzername, sondern die Gruppe eingetragen wird. Ich kann aber leider von den Anwendern nicht verlangen, dass sie in dieses oder in ein anderes Feld Ihre Benutzergruppe eintragen. Genau das ist mein Problem. Ich muss irgendwie überprüfen, ob der Benutzer Mitglied der Gruppe "Entwickler" ist.
-
Yoo, dann würde ich mit Rollen arbeiten und die Rollenbezeichnung in das Feld eintragen.
Axel