Zugrifssrechte auf docs ohne autoren felder

  • Hallo,


    hier was zum nachdenken.


    Wir haben eine aplikation die eine HRM(Human resources managment) benutzt.


    In der Aplikation haben wir die Struktur der Firma, also irgenwelche Abteilungen und ihnen untergeordnete Abteilungen, also die ganze Struktur/Hierarchie. Das sieht so aus das ein Dokument die oberste Abteilung ist ihr Response ist die Abteilung darunter usw. In jeden Dokument steht wer der Abteilungsleiter ist. Und HRM macht in der Aplikation Vertraege, Reports usw.


    Jetzt soll ich folgendes machen,
    nur der Abteilungsleiter und Abteilungsleiter der Abteilungen die in der Struktur ueber ihn sind sollen die Docs der Abteilung lesen koennen.


    Ich hoffe ihr versteht was ich meine.


    Ich will das so machen, wenn ein Doc kreiert wird speichere ich die Zugangsrechte fuer den der es erstelt hat. Wenn ein user das Doc oeffnen will suche ich(auf jeden Doc steht die nummer der abteilung) die Abteilung und Vergleiche seinen Namen mit dem Namen des Abteilungsleiter und wenn es True ist dan lass ich ihn das Doc lesen wenn nicht schliesse ich das Doc. Genau so mache ich es fuer die ueber ihn liegenden Abteilungen.


    Es gibt etwa 200 abteilungen und 700 angestellte. Abteilungsleiter und angestellte koennen oft die abteilungen wechseln.


    Das will ich mit LS machen. Geht das ueberhaupt?
    Geht das einfacher?

  • Was mir noch gestern auf dem Weg nach Hause einfiel, wenn ich es so mache wie ich es mir gedacht hab dan kann der User die Docs immer noch im View sehen aber halt nicht oeffnen. Das ist dan nicht so gut weill er sie nicht sehen soll.


    Wie soll ich das mit den Groups und/oder Rollen anstellen?


    Muss ich dan jedes mal wenn ein Abteilungsleiter gewechselt wird all die docs updaten in denen er Reader war oder wen ein Angestelter die Abteilung wechselt all seine Docs updaten?


    Wie gesagt es gibt etwa 200 Abteiungen und 700 Angestelte. Muss ich dan Fuer jede Abteilung eine Group erstellen?


    Dsa scheint mir ziemlich viel aufwand. Wobei meine Loesung wiel weniger Aufwand benoetigt auser das ich dan halt die Docs im View immer noch sehen kann.


    Danke

  • Hier hast du nur die Möglichkeit entweder oder.


    Entweder du arbeitest sauber mit Leserfeldern, dann siehst du sie auch nicht in den Views.


    Hier könntest du z.B. für jede Abteilung eine Gruppe erstellen und in diese Gruppe dann die berechtigten Abteilungsleiter, Stellvertreter ,... eintragen und diese dann abhängig vom Ersteller in ein Leserfeld verpacken.


    Dann musst du nur wenn sich die Abteilung des Mitarbeiters ändert die Dokumente anpassen, allerdings auch nur dann wenn das tatsächlich so gewollt ist, denn wenn das z.B. Anträge betrifft, dann interessieren die ja meistens nur die Abteilungsleiter, in der der Mitarbeiter zum Zeitpunkt der Erstellung war. Gibt natürlich Ausnahmen, aber die sollten eher wenig und beherrschbar sein.


    Oder du machst es mit deiner Variante, aber dann sieht die Docs eben jeder im View und kann auch auf die Inhalte per Eigenschaftsbox zugreifen

  • Also wen es keine andere loesung gibt, dan wuerde ich eher mit meiner variante gehen, aber ich muss erts checken ob der kunde es so will.


    Wenn ich dan Hide design mache kann der User nicht per properties die felder des docs sehen, habe ich recht?


    Danke


    Edit


    Es ist doch unheimlich viel arbeit wenn ich eure Variante waehle, auch spaeter bei wechseln der Abteilungsleiter usw.

  • Ja aber es gibt 200 abteilungen und ich muss 200 grupen eintragen. Aussserdem muss ich beim Abteilungsleiterwechsel all seine docs updaten. Und da kann es zu allerlei zustanden kommen, ich muss ne procedur dafuer schreiben. Ermitteln welche docs ein update brauchen usw.

  • Wieso musst du bei der Gruppenvariante bei einem Abteilungsleiterwechsel alle Dokumente aktualisieren ?


    Das ist doch Quatsch, deswegen hast du ja die Gruppe, in der der Abteilungsleiter und die anderen Berechtigten für diese Abteilung drin sind.


    Aktualisieren musst du die Docs nur wenn sich die Zugehörigkeit des Mitarbeiters ändern und die neue Abteilung Zugriff auf die alten Dokumente braucht, was ich, außer in Ausnahmefällen, doch sehr bezweifele.


    Ich hab eher so das Gefühl, daß da noch nicht wirklich ein Konzept dahintersteht, was genau eigentlich gewünscht ist

  • Zitat

    Ich hab eher so das Gefühl, daß da noch nicht wirklich ein Konzept dahintersteht, was genau eigentlich gewünscht ist


    Ich habe doch klar gesagt was benoetigt wird?


    Deine Variante scheint mit einfacher aber es ist ne menge Arbeit 200 Grupen zu erstellen. Und jeder Grupe die Abteilungsleiter hinzufuegen.


    Ich vetraue mal auf dein Wissen un deine Erfahrung und versuche es so wie du es sagst.


    Danke euch


    MFG

  • Wie soll ich beim erstellen neuer Documente berechnen welche Grupen Leserechte haben?


    Den essind nicht die Abteilungsleiter die die docs erstellen.


    Danke

  • Na irgendwo muss ja festgelegt sein, wer in welcher Abteilung ist und durch entsprechende Benennung der Gruppen kann man diese den Abteilungen eindeutig zuordnen.


    Wenn z.B. im Abteilungsfeld im Domino Directory die Info steht kannst du die Gruppen ja z.b. so nennen:


    Anwendungsname_Abteilungsname_Reader


    Und dann lässt sich das leicht berechnen.


    Denn irgendwie brauchst du ja selbst bei deiner Variante diese Zuordnung.

  • Ich habe es mir bei meiner Variante so vorgestellt:



    Ich erstelle ein Doc und in dem Doc speichere ich die Nummer der Abteilung von dem Doc -
    wenn ein User das Doc oeffnen will dann nehme ich
    seinen Namen
    die nummer der Abteilung von meinem Doc



    und finde das Dokument Abteilung das die selbe nummer hat.



    Wenn der User nicht der Abteilungsleiter der Abteilung ist dan prueffe ich die Abteilung darueber mit GetParentDocument bis ich ganz oben bin. Natuerlich prueffe ich zuvor ob er im Readers Feld ist.


    Dan muss ich nicht die Gruppe/n ins Doc schreiben.


    Ich bin jetzt ziemlich durcheinander. Irgendwie scheint mir meine loesung leichter und flexibler aber ich weiss das ihr mehr erfahrung damit habt.

  • Im Endeffekt geben sich die beiden Lösungen nur in einem Punkt etwas:


    Mit Gruppen sehen User nur die Dokumente, welche sie auch sehen sollen, bei deiner sehen sie alle.


    Alles andere ist eine reine Frage des technischen Konzepts, wenn das vernünftig gemacht hast, dann funktioniert auch die Gruppenvariante recht einfach.


    Die Frage ist halt nur, wo du die Prüfung machst: Beim Speichern um den Gruppennamen zu ermitteln oder bei jedem öffnen um ein Abteilungsdokument zu ermitteln

  • spricht denn irgendwas dagegen,wenn du folgendes probierst:


    - Du Speicherst den Abteilungsnamen im Dok.


    - Ein Agent läuft nachts über die Dokumente und überprüft, ob der dazugehörige Abteilungsleiter und seine Vorgesetzten dem entsprechen, was bereits im Leserfeld ist.


    - Wenn das nicht der Fall ist, dann werden die Berechtigten Personen entsprechend neu eingetragen.


    Das heißt, dass du dann tagesaktuelle Leserfelder hast, Was ja kein Problem darstellen würde, Denn die Abteilungsleiter wechseln ja nicht stündlich.


    Wenn Du das ganze dann noch mit Zeiträumen aufbaust, hättest Du dann sogar die Möglichkeit Abteilungsleiter terminiert zu verändern.


    Gruß, Patri

    Ärgerlich wenn am Ende des Geldes noch soviel Monat übrig ist...

  • Hallo, jetzt habe ich den ganzen topic durchgelesen und versuche was draus zu machen.


    Taurecs idee gefaelt mir immer mehr. Ich werde wohl diesen weg gehen.


    Patri , so werde ich es wohl machen nur weiss ich nicht ob ich den agenten scheduled mache oder den admin beauftrage ihn zu triggern.


    Danke euch

  • Kann ich die gruppen die ich benoetige mit LS erstellen,


    ich habe alle abteilungen und die abteilungsleiter, in einer hiearhichen structur als dokumente.


    Kann ich durch die struktur gehen und in der ACL gruppen erstellen und in sie user aus der ACL insertieren.


    Also das was ich eigentlich per hand machen musste.


    Wenn ja wie schwer wird das?


    Ein paar tips waeren auch gut.


    Danke

  • Hallo,


    Jetzt habe ich fuer jede abteilung ne gruppe gemacht.


    Hab ein Authoren feld auf ner form, soll ich das feld computed oder computedWhenComposed machen(kann ich es dan spaeter updaten?).


    Ins feld schreibe ich dan den namen der gruppe. Wie schreibt man den namen, ohne klammern und sonstiges?



    Danke

  • Na sinnvollerweise ComputedWhenComposed, denn sonst ändert es sich jedes Mal wenn einer das Dokument bearbeitet.
    Per Code kannst du das Feld problemlos ändern.


    Na eben den Gruppennamen so wie er auch im Gruppendokument drinsteht, wie bei Usern eben auch