Das Notes Forum
Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: LordMonster am 29.03.17 - 15:54:43
-
Hallo zusammen,
ich habe mich gefragt, ob man bei den Ansichten auch eine ganz bestimmte Einstellung vornehmen kann.
Ich habe vor Jahren eine DB erstellt und nur einzelnen Mitarbeitern den Zugriff auf die Ansichten freigeschaltet. Die sehen dann aber alle Dokumente!!! :(
Kann man in einer Ansicht auch sagen, dass nur der Ersteller des Dokumentes seine Einträge sehen kann? Ach ja, ich möchte natürlich alle sehen bzw. die von mir erstellte Rolle???
MFG
-
Moin
Das Thema heisst Leser und Autorenfelder siehe http://atnotes.de/index.php/topic,51224.0.html (http://atnotes.de/index.php/topic,51224.0.html)
-
Sorry das verstehe ich nicht ganz.
Ich muss ein "AdminReaders" Feld erstellen und weiter?
Ich glaube das ist mir zu hoch. Ich dachte man kann einfach sagen
!@IsMember([Ersteller])+[Rolle]";@UserRoles)
oder so was in der Richtung
-
Moin
Als Kurzfassung:
Ein oder mehrere Reader Felder definieren wer das Dokument sehen kann.
Falls das Reader Feld Mehrfachwerte zulässt, kannst Du das Feld mit den Werten "[Admin]":@UserName:"[WCRolle]" füllen. (z.B. via Agent oder einem Computed Feld)
Sobald dies erledigt ist, kann das Dokument nur noch vom Ersteller, und den Rollen [Admin] oder [WCRolle] gesehen werden.
-
Leserfelder würden aber bedeuten, dass der Anwender generell nur noch "seine" Dokumente sieht. Ging die Frage denn in die Richtung oder soll das nur für eine Ansicht gelten ?
-
Hallo Driri,
ja es geht wirklich nur um eine Ansicht.
Eigentlich eine ganz einfache DB zur Anmeldung zum Wandertag.
Für Änderungen der Tour, soll der Ersteller eben nur seine Anmeldung sehen und nicht alle!
Die Maske hat auch nur drei Felder. :)
-
Ich würde eine Ansicht, kategorisiert nach Ersteller, anlegen.
Dann in einer Maske diese als eingebettet Ansicht hinzufügen, kategorisiert nach @Username.
Das sollte für euren Fall reichen.
-
Das wäre auch mein Lösungsansatz. Alternative Wege, wie @Username und Konsorten in der Selectionsformel der Ansicht zu verwenden, sollten aus Performancegründen nicht genutzt werden.
Eine kleine Ergänzung/Korrektur zu Eriks Post:
Dann in einer Maske diese als eingebettet Ansicht hinzufügen, kategorisiert nach @Username.
Was Erik meint, ist in den Eigenschaften der eingebetteten Ansicht unter "Show single category" die Formel @Username hinterlegen.
-
Hallo,
danke das ist eine super Idee.
Ich bin gerade an der letzten Stelle "Show single category".
bei @all <<<< sehe ich alles
bei @Author oder @username <<< sehe ich nichts
Denke ich hier falsch oder muss ich da noch mehr angeben?
Danke für eure Hilfe
-
Du musst auf jeden Fall darauf achten, dass die Werte in der Kategoriespalte identisch sind mit denen in der Auswahl für die Einzelkategorie.
@Username liefert den Namen i.d.R. als Canonical zurück (d.h. CN=User/OU=Irgendwas/O=Firma). Die Werte in der Kategoriespalte müssen dann identisch aufgebaut sein, sonst gibt es logischerweise keine Übereinstimmung und Du bekommst keine Dokumente angezeigt.
-
So nach ein paar Test habe ich glaube meinen Fehler gefunden aber leider keine Lösung.
Ich benutze die Formel:
SELECT (@Contains (@V3UserName;ersteller))
Hier vergleicht ich ja Username und Ersteller!!
Ich möchte aber nicht den Username der im Dokument hinterlegt ist sonden den aktuell angemeldeten User????
Wie lautet denn der Befehl für eine Abfrage des aktuellen users???
Sorry wenn die Frage so einfach ist aber ich lege in Notes nur selten DB an :)
Danke!
-
@V3UserName ist der Name des aktuellen Benutzers! Allerdings im abbreviated Format. Wie ist der Name in Ersteller abgelegt? Canonical,, abbreviated oder common oder gar was perverses?
-
Du bist an einer völlig anderen Stelle.
Spätestens seit #6 wird von einer eingebetteten kategorisierten Ansicht gesprochen, die über SingleCategory gefiltert werden soll (also alle Dokumente in der ersten Kategorie werden angezeigt, bei denen der Wert der Kategorie mit dem in SingleCategory übereinstimmt).
Dort kommt ein Select nicht vor.
@V3Username oder @Username sind die Formeln für den aktuell angemeldeten User, aber was willst Du damit in einer Selektionsformel? Falls die Ansicht vom Server gerechnet wird, und das ist bei üblichen Ansichten der Fall, welchen User soll der Server denn zum Aufbau der Ansicht nehmen? Falls die Ansicht für den angemeldeten User berechnet werden soll (Selektionsformel mit @Username), muss es eine persönliche Ansicht sein, und keine vom Server bereitgestellte. Davon war bisher aber nirgendwo die Rede. Und ich glaube auch nicht, dass Du Dir das antun willst...
Vergiss also die Selektionsformel.
Zusammengefasst ab #6:
Erstelle eine Ansicht mit einer Kategorie. Der Inhalt der Kategorie ist der Ersteller, sieht grob so aus
User1/Organisation
Dokument 1
Dokument 2
User2/Organisation
Dokument 3
Dokument 4
Diese Ansicht bettest Du in eine Maske ein, Formel für die SingleCategory ist @Username (wenn die User im Format CN=User/O=Organisation in der Kategorie dargestellt werden) oder @V3Username oder auch @Name ([Abbreviate]; @Username) (das ist dann das gleiche wie @V3Username), wenn sie wie im Beispiel angezeigt werden.
Wenn @V3Username dann User1/Organisation ist, sieht der Dokumente 1 und 2, ist es User2/Organisation, sieht er Dokumente 3 und 4. Alle anderen sehen in diesem Beispiel nichts.
Und nochmals: Diese Filterung hat NICHTS mit der Selektionsformel zu tun