Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: luna am 28.01.03 - 17:26:22
-
hallo,
ich hab eine DB, in der es 15 user gibt, und einen manager. die user duerfen nur ihre eigenen dokumente sehen, der manager aber alles. ich hab das mit einem feld geloest (dank eurer hilfe), das "sanyo_reader" heisst, dort steht drin: "[owner]":AltFrom. dem manager hab ich die rolle owner gegeben, somit sieht er alles, die user nur sich selber. soweit klappt das und ein bisschen versteh ich das auch.
aber nun hab ich eine DB, in der es 25 manager und 170 user gibt. dass die user nach wie vor ihre eigenen dokumente sehen sollen, waere ja nicht schwer. aber die manager sollen immer die dokumente sehen aller ihrer user, also alle dokumente, wo sie in dem feld "manager" drin stehen.
wiederum die personalabteilung soll alle dokumente sehen duerfen.
wie geh ich sowas am einfachsten und besten an? ich finde keinen anfang. kenn mich mit diesen leserfeldern ueberhaupt nicht aus und moechte es so einfach wie moeglich gestalten, um es jederzeit wieder aendern zu koennen, bei bedarf.
danke und gruss,
daniela
-
- wenn du es einfach haben willst, würde ich eine Manageransicht generieren - in der die Kostenstellen kategorisiert sind.
Im Endeffekt heisst das das ein Manager auch die doks von seinem Kollegen sieht - sollte aber unter den Managern kein Problem sein ;D
- also die alte db jetzt für 25 Manager
cu
-
Hi,
dass mit den Leserfeldern ist eigentlich ganz einfach. Sobald es in einer Maske ein Leserfeld gibt, kann nur derjenige das Dokument
"sehen", der in dem Leserfeld drin steht oder wenn eine Rolle drin steht, diese auch in der ACL zugeordnet bekommen hat. Alle anderen "schauen in die Röhre".
Ich würde das Ganze so aufziehen:
für jede Abteilung eine Rolle in der ACL anlegen und die dem Manager der Abteilung zuordnen. Kannst auch noch für jede Abteilung eine Gruppe anlegen und der die Rolle zuweisen. Ist später bei personellen Änderungen (so was solls ja geben) einfacher. Eine weitere Rolle ist für die Personalabteilung.
In das Leserfeld werden dann drei Werte eingetragen.
Erstens die Rolle der Personalabteilung, dann die entsprechende Rolle für den Manager und dann der Name des Users.
Du brauchst dann nur eine Ansicht. Jeder sieht nur das, was er auch sehen darf.
Ich hoffe ich hab's einigermaßen verständlich beschrieben.
Axel
-
ich würds auch so wie alex lösen, die personalabteilung bekommt eine rolle, allerdings würd ichs bei den managern viellleicht mit einer ansicht und einem lookup lösen. gut, da musst zwar für alle ein dokument anlegen, aber so eine aufgabe kann man doch an die einzelnen abteilungen abtreten. vorteil sehe ich darin, dass du mit personaländerungen (abteilungswechsel von personen) flexibler bist.
lg
roo
-
..... und immer schön daran denken: bei ca 75 rollen in der acl ist schluss, danach knallts ;D
-
hallo @all,
vielen herzlichen dank fuer eure nette und schnelle hilfe.
@axel,
ich denke, deine loesung gefaellt mir am besten. wenn wir das "projekt" fertig haben, versteh ich dann vielleicht mal endgueltig diese reader geschichten. ich hab's schon alleine probiert, aber so ganz haut's noch ned hin.
ich habe ein readers feld "readers", das defaultmaessig in notes schon drin ist. als value steht "readers" in diesem feld.
ich hab das feld "sanyo_readers", in dem steht als value:
"[personal]":AltFrom
hab's getestet. wenn ich die rolle nicht hab, sehe ich nur meine eigenen dokumente, wenn ich die rolle hab, dann seh ich alle dokumente. soweit so gut.
dann hab ich ein feld angelegt "sanyo_manager", dort hab ich als value eingegeben:
"[manager]":"manager"
ist wahrscheinlich falsch, kenn mich aber nicht aus. habs auch ohne anfuehrungsstriche im feldnamen probiert, geht auch nicht.
ich will, dass jeder, der im feld manager erwaehnt wird, diese dokumente auch sehen kann, aber alle anderen dokumente eben nicht. hier mach ich sicherlich was falsch. weil, wenn ich mir die rolle manager gebe, dann sehe ich wieder alle dokumente, und nicht nur die, wo ich der manager bin.
ohne rolle sehe ich also gar nix, mit rolle personal sehe ich alles, mit rolle manager alleine aber leider auch.
was mach ich falsch?
vielen dank und gruss,
daniela
-
Hi,
wenn du das dritte Feld "sanyo_manager" in deine Maske eingefügt hast und dort fest die Rolle [manager] eingetragen hast siehst du mit der Role auch alle Dokumente. In dieses Feld muß die Rolle des Abteilungsleiters und die darf nicht in alle Dokumente, sondern nur in die, die er sehen darf.
Axel
-
hi daniela,
vielleicht mal was grundsätzliches zu leser-feldern:
mehrere leser-felder wirken additiv.
wenn leser-felder leer sind, dann ist da so, als ob es keine gibt.
wer nicht in einem leser-feld drinne steht, darf auch nicht lesen, bzw. sieht diese docs auch nicht in einer ansicht.
-
Hi,
wenn du das dritte Feld "sanyo_manager" in deine Maske eingefügt hast und dort fest die Rolle [manager] eingetragen hast siehst du mit der Role auch alle Dokumente. In dieses Feld muß die Rolle des Abteilungsleiters und die darf nicht in alle Dokumente, sondern nur in die, die er sehen darf.
Axel
hallo axel,
genau das versteh ich eben nicht. ich muss ja ein leserfeld in die maske der schablone einpflegen, aber in dem moment steht es ja in jedem dokument drin. wie mach ich denn das?
gruss,
daniela :-[ ???
-
ich habe ein readers feld "readers", das defaultmaessig in notes schon drin ist. als value steht "readers" in diesem feld.
... könnte nur ein Tipfehler im Posting sein, aber der Eintrag "readers" sollte "[readers]" heißen, wenn damit eine Rolle gemeint sein soll...
ata
-
hi daniela,
vielleicht mal was grundsätzliches zu leser-feldern:
mehrere leser-felder wirken additiv.
wenn leser-felder leer sind, dann ist da so, als ob es keine gibt.
wer nicht in einem leser-feld drinne steht, darf auch nicht lesen, bzw. sieht diese docs auch nicht in einer ansicht.
hallo klaus,
das ist ja eben das alles, was ich noch verstehen lernen muss. mit der rolle "personal" im leserfeld "sanyo_readers" hat's ja schon ganz gut geklappt. nur versteh ich eben diesen zusatz nicht, dass der manager nur die dokumente sehen darf, in denen er im feld "manager" auch namentlich erwaehnt ist.
hoffe, ich kapier das noch alles jemals.
gruss,
daniela ::)
-
hallo daniela,
wer entscheidet denn, wer welche docs lesen darf ?
vielleicht solltest du das vorher abklären und dann mal über gruppen/rollen nachdenken.
-
ich habe ein readers feld "readers", das defaultmaessig in notes schon drin ist. als value steht "readers" in diesem feld.
... könnte nur ein Tipfehler im Posting sein, aber der Eintrag "readers" sollte "[readers]" heißen, wenn damit eine Rolle gemeint sein soll...
ata
hallo ata,
kann natuerlich passieren, das mit den tipfehlern, obwohl ich immer so darauf achten tu. aber in diesem fall nicht.
in dem feld "readers", das von notes defaultmaessig in jeder maske im hidden bereich steht, hast als value
readers
ohne anfuehrungszeichen, ohne eckige klammern, ohne gar nix.
ist dann wohl bloss so ein dummy feld, das nix bewirkt, oder?
gruss,
daniela
-
hallo daniela,
wer entscheidet denn, wer welche docs lesen darf ?
vielleicht solltest du das vorher abklären und dann mal über gruppen/rollen nachdenken.
hi klaus,
entscheiden tu das eigentlich ich jetzt einmal, und dann bleibt das so. grundsaetzlich soll jeder user nur seine eigenen dokumente sehen, und die manager bzw. direktoren sollen nur die dokumente sehen (und editieren, zum genehmigen), bei denen sie manager sind. in jeder maske ist ein feld "manager" drin, in dem steht der manager. ausgelesen wird er aus dem nab, dort pflege ich die manager immer sehr gewissenhaft. und die personalabteilung (und wahrscheinlich auch der praesident) und die rezeption sollen alle dokumente sehen duerfen, aber nicht bearbeiten. hab ich mit authoren rechten mit der rolle personal geregelt.
also wird da nix einzeln von fall zu fall entschieden, sondern einmal vor ausliefern der datenbank (was uebrigens am freitag passieren muss).
:-X
daniela
-
hi daniela,
also 1. leserfeld = name des benutzers
2. leserfeld = name(n) des(r) der manager (liste)
oder
hier eine rolle rein [rollenname] und die manager in eine gruppe und der gruppe die rolle geben.
acl default = leser (alle dürfen lesen)
manager = editoren (?)
vielleicht hilfts dir weiter
-
Hi Daniela,
das Manager - Feld darfst du nicht fest mit einem Wert füllen, sondern beim anlegen eines Dokumentes. Da mußt du, ganz einfach gesagt, prüfen wer der Abteilungsleiter des entsprechenden Users, der gerade das Dok anlegt ist.
Evt. kann man die Gruppenmitgliedschaft abfragen und in Abhängigkeit davon die entsprechende Mangerrolle dazu in das Leserfeld setzen.
Axel
-
hi daniela,
also 1. leserfeld = name des benutzers
2. leserfeld = name(n) des(r) der manager (liste)
oder
hier eine rolle rein [rollenname] und die manager in eine gruppe und der gruppe die rolle geben.
acl default = leser (alle dürfen lesen)
manager = editoren (?)
vielleicht hilfts dir weiter
hallo klaus,
aber, ich haette gedacht, dass ich genau das gemacht hab. nur geht es leider nicht.
ich hab ein leserfeld, mit der formel:
"[manager]":manager
wenn ich das feld im dokument anzeigen lasse, dann steht auch genau der manager drin, der im feld "manager" im dokument aus dem nab ausgelesen wird. der steht da namentlich drin.
in der ACL hab ich eine rolle, die "manager" heisst. wenn ich mir diese rolle nehme, dann seh ich nur meine eigenen dokumente, wenn ich mir diese rolle aber gebe, dann seh ich alle dokumente, auch die, wo ich kein manager bin. obwohl ich nicht in dem feld manager drin stehe.
und genau das kapiere ich wohl nicht.
in der ACL hat der manager sowieso editoren rechte, mit dieser rolle. aber dann sieht er ja wieder alle doks.
entweder ich mach da was ganz falsch, oder was ich will geht so nicht.
ich verzweifel gleich.
gruss,
daniela
-
Hi Daniela,
in der ACL hab ich eine rolle, die "manager" heisst. wenn ich mir diese rolle nehme, dann seh ich nur meine eigenen dokumente, wenn ich mir diese rolle aber gebe, dann seh ich alle dokumente, auch die, wo ich kein manager bin. obwohl ich nicht in dem feld manager drin stehe.
und genau das kapiere ich wohl nicht.
du darfst die Managerrolle nicht fest eintragen, sondern beim Anlegen die entsprechende Role setzen -> siehe mein voriges Posting.
Axel
-
Hi Daniela,
das Manager - Feld darfst du nicht fest mit einem Wert füllen, sondern beim anlegen eines Dokumentes. Da mußt du, ganz einfach gesagt, prüfen wer der Abteilungsleiter des entsprechenden Users, der gerade das Dok anlegt ist.
Evt. kann man die Gruppenmitgliedschaft abfragen und in Abhängigkeit davon die entsprechende Mangerrolle dazu in das Leserfeld setzen.
Axel
hallo axel,
aber das tu ich doch. wenn der user ein dokument anlegt, dann wird ins feld "manager" sein manager eingetragen, den wert holt er sich aus dem nab. der steht dann da fest drin. brauch ich ja, um per postsave die email an den manager zu schicken. steht ja auch der richtige drin.
und im feld sanyo_manager, leserfeld, steht dann drin:
"[manager]":manager
jetzt denke ich, dass dann nur der user, der zusaetzlich die rolle "manager" bekommt, die dokumente lesen kann, wo er auch ueberall im feld "sanyo_manager" drin steht.
er steht ja dort auch drin, trotzdem kann er alles lesen.
also, jetzt nochmal eine zusammenfassung:
1.) ein feld namens readers, leserfeld, defaultmaessig in jeder notes datenbank vorhanden, mit dem value:
readers
- keine ahnung, was dieses feld macht
2.) ein feld namens sanyo_readers, leserfeld, hab ich angelegt, mit dem value:
"[personal]":AltFrom
- nur der user, der die rolle personal zugeteilt bekommt, kann alle dokumente in der datenbank lesen, und alle user, die diese rolle nicht haben, koennen nur ihre eigenen dokumente sehen. soweit klappt das ja noch alles.
3.) ein feld namens sanyo_manager, leserfeld, value:
"[manager]":manager
- nur der user, der die rolle manager hat, soll alle dokumente lesen koennen, in denen er namentlich im feld manager drin steht.
und das klappt nicht, weil im prinzip darf der, der die rolle manager bekommt, genaus das gleiche wie der, der die rolle personal bekommt.
und irgendwie liegt da noch der hund begraben.
bitte habt noch etwas geduld mit mir :-[ :-[ :-[ :'(
gruss,
daniela
-
du darfst die Managerrolle nicht fest eintragen, sondern beim Anlegen die entsprechende Role setzen -> siehe mein voriges Posting.
Axel
ja schon, axel, aber wie mach ich das? soll ich das feld sanyo_manager statt computed auf computed when composed setzen? aber wie sage ich dem feld, dass er die rolle eintragen soll, wenn der manager der manager von diesem user ist? genau da fehlt mir noch das komplette verstaendnis.
daniela
-
jungs,
jetzt hats geschnackelt !!!!!!!!!!!!!!!!!!!!!! ;D ;D ;D ;D
ich habs kapiert, glaub ich.
ich brauch ja die bloede rolle manager ueberhaupt nicht. ich brauch ja bloss den wert aus dem feld manager einlesen, und dann kanns nur der lesen, der in dem feld drin steht.
und der, der alles lesen koennen soll, braucht die rolle personal. und der user sieht sowieso seine eigenen dokumente, weil er in dem oberen feld neben der rolle personal drinsteht.
ich koennte ja auch alles in ein feld packen, da stehen dann alle namen drin, die lesen duerfen.
ICH HABS KAPIERT !!! endlich mal.
vielen lieben herzlichen dank fuer all eure muehe, vor allem fuer eure geduld !!!!! es hat sich aber (wenigstens fuer mich) voll gelohnt !!! :-* :-* :-*
gruss,
daniela
-
Auman was ist den da für ein Licht aufgegangen ;D ;)
-
GLÜCKWUNSCH :-* :-* :-* :-* :-* :-* :-* :-* :-*
-
Auman was ist den da für ein Licht aufgegangen ;D ;)
ein flutlicht !