Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: DonPromillo am 06.05.04 - 12:29:14
-
Hallo zusammen, bin ein Notes-Newbie und habe folgendes Problem:
Ich benutze eine Maske, in der mehrere Personen Eintragungen machen können.
Nun will ich eine Ansicht erzeugen, in der jede Person nur die von ihm/ihr gemachten Eintragungen sieht!
Habe es probiert mit:
SELECT ((Form = "myform") & (@Name([CN];@UserName)=@Name([CN];Name)))
Name ist dabei der Name des Felds in dem der Autor des jew. Eintrags steht!
Sobald ich an Stelle von Username den Namen hardcode, funxt es, ... aber wie kriege ich das dynamisch hin???
Vielen Dank schon mal
-dp
-
Das Ganze ist mit Vorsicht zu genießen... Arbeite lieber mit einem Leserfeld, wo du den Autoren des Dokuments per @Username reinschreibst. Zusätzlich würde ich noch in der ACL der Datenbank eine Rolle "Admin" einfügen was du als zweites in das Leserfeld schreibst.
Wenn du eine solche Ansicht bastelst birgt das viele Probleme, musste ich auch schon lernen.
-
eha...
vielen Dank, ich denke ich verstehe halbwegs worauf du hinauswillst...
Aber wie kriege ich es dann hin, dass User X nur die Dokumente, die er erstellt hat, sieht, und nicht die von User Y und umgekehrt...
mein Problem ist leider die praktische Umsetzung des ganzen :-[
Einfach den View "UserName-gebunden" zu machen ist nicht irgendwie drinn????
Thx
-dp
-
@username ist ganz ausdrücklich in Views verboten gemäss Designer-Hilfe .....
Aber guggst Du hier (http://www.atnotes.de/index.php?board=26;action=display;threadid=13534)
-
Wenn du dich an meine Vorschläge hälst, dann kannst du dir das @Username in der Ansichtsauswahl sparen, da jeder nur sieht, wo er im Leserfeld steht.
-
Naja, verboten ist es nicht, aber im genannten Kontext bringt es einfach nix: Auf dem Server bildet eben dieser mit SEINER ID die Ansichten, so das @Username sich dabei auf den Server selbst bezieht.
Mögliche Auswege:
- Ansicht "gemeinsam, privat nach Erstbenutzung" (Nachteil: Gestaltungsänderungen sind später nur noch mit Aufwand zu übertragen)
- Einbau einer (verborgenen) Spalte, die einen Zeitbezug beinhaltet und dabei bei jedem Öffnen eine Neuerzeugung des Ansichtsindexes erzwingt (Nachteil: Bei vielen Dokumenten in der DB Performanceeinbrauch)
- Eingebettete Ansicht (passt nicht immer zur Aufgabenstellung).
Leserfelder helfen nur, wenn es tatsächlich so sein soll, da der User IMMER nur seine eigenen Docs sehen soll (und z.B. nicht im Kontext "Manager soll in Ansicht A nur seine Docs sehen, in Ansicht B aber die aller Mitglieder seiner Abteilung").
Für weitere Infos unbedingt die DesignerHelp bemühen.
Bernhard
-
Hmm...
genau was koehlerbv beschrieben hat, wird ja das nächste Problem sein, wollte nur erst einmal die "einfachen" Fälle zusammenbasteln.
(Wenn die nur einfach wären...)
Nachdem ich jetzt nun doch leicht verwirrt bin: Welche Lösung ist denn nun am einfachsten?
@Semeaphoros: Mir ist halt dummerweise kein anderer Weg eingefallen :-\
Danke an alle
-dp
-
Das einfachste wäre vermutlich die eingebettete Ansicht, die Bernhard schon angesprochen hat.
Du kannst ja in der Maske ein berechnetes Feld mit dem Usernamen einbauen, und dies mit der Kategorie der eingebetteten Ansicht verknüpfen.
-
Naja, wir müssten den Zweck und die zu erwartende Grösse der DB kennen. Sonst ist es Negerkampf im Tunnel ...
Bernhard
-
größe = klein
Zweck = Zeiterfassung
D.h. die Mitarbeiter sollen halt nur Ihre Einträge sehen und die Projektleiter und die GF alles...
"Alles" ist ja kein Problem,
den Namen von der Person, die die Einträge gemacht hat wird ja in einem Feld der Maske mit gespeichert, ist also kein Problem!
Mein Problem ist es, einen "Match" zw. dem "Namen" und dem User für den View herzustellen!
-
Mit 1000 Promill Ueberzeugung: genau dafür sind Leserfelder gedacht
-
Na dann werde ich mal versuchen die Dinger zum laufen zu kriegen!
Vielen Dank an alle für eure Hilfe!!!
-dp
-
Allerdings lässt sich darüber dann keine Ansicht nur für die Einträge eines Projektleiters erstellen - das müsste dann doch über eine der anderen vorgeschlagenen Varianten geschehen.
Bernhard
-
Für den Projektleiter reicht dann aber evtl. auch eine kategorisierte Ansicht aus.
-
Ja klar - daran hätte ich auch denken können. Diese Ansicht können dann alle benutzen - die "Minderbemittelten" sehen dann eben nur ihren Namen als Überschrift.
Bernhard
-
Jo, kommt dann nur auf die User an. Solche Views erzeugen potentiell viele Rückfragen von Usern, daher evtl. besser für den Normal-User verbergen ;)
-
Hört sich ja gut an!
Könnte mir bitte jemand einen Tip geben wo's eine Newbie-Erklärung zum Anlegen eines entsprechenden Views gibt?
(Das Namensfeld habe ich inzw. auf Leser umgestellt)
Noch genialer wäre natürlich eine direkte Anleitung wie ich diesen View basteln muss!!! ;D
-dp
-
Verstehe ich jetzt nicht: Du hattest doch Deine Ansicht schon, nur die Auswahlformel funktionierte nicht ... Wo liegt denn jetzt Dein Problem ?
Bernhard
-
Naja, genau eben in der Ansichtsformel!
Was muss denn da rein? Muss ich da noch irgendwelche Rollen in der ACL vergeben?
SELECT ((Form = "zeiterfassung") & ??????? oder so...
thx
-dp
-
Das SELECT Form="xyz" sollte bei Leserfeldern dann ausreichen, außer Du willst noch was anderes einschränken.
Wenn Du in den Leserfeldern die Usernamen eintragen läßt, dann sieht der entsprechende User auch nur die Dokumente, in denen er im Leserfeld steht.
In der angesprochenen kategorisierten Ansicht würde er dann allerdings die Kategorien sehen, wenn man die leeren Kategorien nicht ausblendet. (siehe Anhang)
-
cool:
ES GEEEEEHHHHTTTTTTT!!!
Vielen Dank noch mal an alle Helfer!
Bis demnächst! (soll keine Drohung sein ;) )
-dp
-
Hast Du auch daran gedacht, das Leserfeld
- berechnet beim Anlegen zu setzen
und
- die Projektleiter und
- eine Rolle [Admins] (für ebendiese und die Server)
hinzuzufügen ?
Bevor es dann später Ärger gibt ...
HTH,
Bernhard
-
ups, wusste dass da noch was war!
Wie muss das dann im Leserfeld ausschauen?:
@UserName;
"[Admin]" ?
(Die Admin Rolle ist bereits angelegt und den Personen zugewiesen!)
-dp
-
Du musst dem Feld eine Liste zuweisen. Die Elemente der Liste trennt man mit einem Doppelpunkt. Sollte ungefähr so aussehen:
@Username : "[Admin]"
Deine Lösung war nur fast richtig... kein Semikolon zwischen die Elemente.
-
Oder Du legst mehrere Leserfelder an, z.B. eins für den Username und eins für die [Admin]-Rolle.
-
OK, das klappt soweit, thx!
aber... (wäre doch sonst zu einfach)
wenn ich als User dp [Admin] nun auch Einträge mache, zeigt mir der persönliche View von dp auch die Einträge der anderen beschränkten User (...logischerweise)! Wie kriege ich die da raus? Irgendein Filter wäre die Lösung, oder?
-dp
-
Wenn es einen Grund hierfür gibt: Warum nicht. Ansonsten: Weniger ist mehr ;-)
Bernhard
-
@Bernhard: schön wäre es, wäre aber keine Herausforderung für euch, oder? :P
Wie müsste ich denn filtern? (DAU Anleitungen immer willkommen...)
-
Wie schon erwähnt: Für die Leute mit mehr Rechten (Projektleiter, Admins) eine eigene Ansicht, die nach Usernamen kategorisiert ist.
Oder doch eine SPOFU-Ansicht. Wörterbuch siehe hier:
http://www.atnotes.de/index.php?board=12;action=display;threadid=12535 (http://www.atnotes.de/index.php?board=12;action=display;threadid=12535)
Bernhard
-
Wenn bei Notes Version bis 4.6 die von @Diri vorgeschlagene leere Kategorie verbergen (leider) nicht möglich ist und wenn die von @Bernhard vorgeschlagene SPOFU-Ansicht nicht eingesetzt werden soll, dann bleibt eigentlich nur, ein weiteres Textfeld (verborgen) mit dem Usernamen anzulegen und die Inhalte der Ansicht dann auf dieses Feld zu filtern...
lthanee
-
...
dann bleibt eigentlich nur, ein weiteres Textfeld (verborgen) mit dem Usernamen anzulegen und die Inhalte der Ansicht dann auf dieses Feld zu filtern...
lthanee
Äh, das versteh ich jetzt nicht ganz. Genau das funktioniert ja gerade nicht. SELECT Feldname = @username ist nicht, oder wie war das gemeint ?
-
SELECT Form ="NN" & ( @Name([CN]; @UserName) = FELDNAME ) funktioniert natürlich, wenn im Feld FELDNAME der User mit seinem NotesNamen(Vorname Nachname) eingestellt ist. Ergänzend sollte in der Ansicht der Schalter 'Ansicht verwerfen' auf 'Nach jeder Verwendung' eingestellt sein.
Aber, wenn (mögliche) Gestaltungswechsel kein Problem bereiten, sollte, wie schon betont, doch lieber die Ansicht auf 'privat on first use' gestellt werden.
-
Dann lies mal auf der ersten Seite die Postings von koehlerbv uns Semeaphoros.
Das deckt sich auch mit meinen Erfahrungen, was die Verwendung von @UserName in Views betrifft.
-
Aaaah ja....
wie nicht anders zu erwarten habe ich das nicht hingekriegt, dass die Admins "saubere" Views kriegen!
(...und nachdem momentan wieder irgendwelche SELECT ... @username Vorschläge gepostet werden)
Was ist nun die richtige Lösung?
...und vor allem: Wie kriege ich das hin? :o
thx im voraus
-dp
-
Es wurden nicht "Vorschläge", sondern ein einziger (nichtzielführender) gepostet.
Hast Du Dich in der DesignerHelp oder in einem guten Buch mal über "Persönliche Ansichten" (SPOFU) schlau gemacht ?
Bernhard
-
Yup, ist halt die Frage, ob das Buch "gut" ist...
(Anwendungsentwicklung unter Lotus Notes / Domino 5, Addison-Wesley Verlag)
Habe eine private Ansicht erstellt, die auf der Ansicht der beschränkten Nutzer basiert... funxt allerdings auch nicht,... die beschränkten Einträge sind immer noch in dem privaten View des [Admin]s!
Was habe ich verkehrt gemacht / vergessen ???
-dp
-
In SPOFU views kannst Du natürlich auf @UserName abprüfen.
Bernhard
-
Yuhuu,
es funktioniert alles!
:D
Vielen Dank!
Grüße
-dp