Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: StanPete am 12.09.02 - 08:51:08
-
Hallo,
folgendes Problem : Ich muss in einer DB schreib bzw. Lese berechtigungen für Ordner vergeben. Wie mache ich das ?
Ich habe versucht es über die Eigenschaften der Ordner zu machen aber das funzt irgendwie nicht richtig denn da kann ich nur einstellen wer Vollzugriff auf den Ordner hat und wer Ansichten Aktualisieren darf . ??? ???
Gibt es eine Möglichkeit das einfach und schnell über Script zu lösen oder vielleicht sogar eine noch einfacher Möglichkeit ?
Denn es sind ziemlich viele Ordner die ich anpassen muss.
Gruß
Achim
-
Hi,
vielleicht ist dieser Thread für Dich hilfreich,
les mal das was eknori mit "fnLockView" beschrieben
hat.
http://217.160.137.156/html/cgi-bin/yabb/YaBB.pl?board=002-1;action=display;num=1018521490;start=9
Gruß
Don pasquale
-
Kenne die Umgebung/Struktur deiner DB nicht, aber wären Folder "share,private on first use" nicht ein Loesungsvorschlag ?
Gruss / till
-
Mit "Share,Private on First Use" Foldern würde es nicht gehen da Die Datenbank von ca 50 Leuten genutzt wird die alle auf verschiedene Ordner lesend bzw. Schreibend zugreifen müssen. Auf den Ordner "Vorschläge" z.B. muss der Chef Schreibzugriff haben, sein Vertreter Lesezugriff und der Rest keinen Zugriff.
..
-
der logische Denkansatz erscheint mir nicht ganz richtig.
Es ist doch sicher nicht der Ordner, der "gesperrt" werden soll, sondern die darin sichtbaren Dokumente, oder?
Wenn das der Fall ist (anders könnte ich es mir eigentlich nicht vorstellen), mußt Du im Notesdokument Einstellungen vornehmen.
Globale Einstellungen nimmt man hierzu - wenn zB alle User aufgrund der ACL Einstellungen Edit Rechte haben - in der QueryModeChange, PostModechange (zuständig für Übergang eines Dokumentes von Lese nach Edit Modus) und im QuerySave (wenn es darum geht, das Doc zu speichern). Im QueryModeChange besteht die Möglichkeit, den nicht auf das Dokument schreibberechtigten User abzufangen, indem man den Bearbeitungswunsch (zB STRG+B) über ein continue=false verhindert. Damit nicht alle User davon betroffen sind, müssen die User unterschieden werden. Hierzu erhalten Sie Rollen in der ACL. Diese Rolle des USers wird im QueryModeChange angefragt und je nachdem läuft der User eben in den Abbruch oder kommt in den Edit Mode des Docs hinein.
Hierzu solltest Du Dich fragen, ob Du tatsächlich über Ordner solch eine Kontrollstruktur aufbauen möchtest (da dies schlichtweg in Notes so nicht steuerbar ist..bzw schon, nur über eklige Umwege) oder nicht Stati in den Feldern der Dokumente vergibst, die die Editierungsberechtigung bestimmter User feinsteuern.
Natürlich kannst Du auch folgendes tun:
in Dokumenten selbst kann man über Kontrollabschnitte festlegen, wer welche Bereiche eines Dokumentes bearbeiten kann. Oder auf Feldebene unter Sicherheitsoptionen einstellen, daß nur Editoren lt. ACL dieses Feld bearbeiten dürfen. Dazu muß man natürlich anderen User Authorenrechte vergeben und mit Authorenfeldern arbeiten.
Wie Du siehst: es dreht sich stets um das Dokument und nicht um die Ordner, wenn es um Rechtestrukturen von Dokumenten geht. Kein Wunder, denn Notes ist eben eine dokumentenorientierte Datenbank.
-
Hi Rob,
genau diesen Lösungsansatz hatte ich auch schon, und er würde auch funktionieren. Wie du allerdings schon sagtest muss das in den Dokumenten (sprich in der Maske) eingetragen werden, damit könnte ich über Rollen in der ACL abfangen wer Schreiben und wer Lesen darf. d.h. wenn ein Dokument geöffnet wird dann muss im QueyOpen Event abgefragt werden ob der User das Recht hat das Dokument zu lesen.
Soweit Sogut!
Allerdings muss ich in diesem Event dann auch prüfen aus welchem Ordner das Dokument geöffnet wurde.
Damit würde ich in der Maske alle Zugriffsrechte "Hardcoden" (und das ist ersten wie du sagtest ziemlich eklig und zweitens ziemlich Pflegebedürfig.)
gibt es denn keine andere Lösung ?
Gruß
Achim
-
Allerdings muss ich in diesem Event dann auch prüfen aus welchem Ordner das Dokument geöffnet wurde
Mal ne dumme Frage: warum und wozu? Verstehe nicht so recht, worauf Du damit hinaus möchtest? Wundert mich daher, weil Du der erste bist, der diesen Ansatz üebr ordner verfolgt ;D
-
Tja nach dem Warum und Wozu frage ich auch öfter. ;D
Aber um das mal eben zu verdeutlichen SCHEFFE will:
das in der MailInDB der Firma alle Abteilungen Ihren eigenen Ordner bekommen und das die Mails Zentral von einer Geschäftsstelle entsprechend in die Abteilungsordner verteilt werden, damit die Mails dann dort von den Abteilungsleitern bearbeitet werden können. Und damit nicht jeder die Mails der anderen Abteilungen lesen kann müssen bestimmte Zugriffsrechte her.
Wenn ich mir das so überlege ist das wirklich ziemlich Aufwendig mit Ordnern ...
Vielleicht sollte ich unserem SCHEFFE mal einen Workflow mit mehrern DBs vorschlagen...... wäre aber mindestens genausoviel Arbeit.
-
Also, wenn ich das richtig verstehe, sollen ALLE Mails an einer zentralen stelle aufschlagen; bedeutet also, die User haben keine eigene Mailadresse ??
Dann würde ich das folgendermaßen lösen.
MailInDatenbank für den Posteingang erstellen ( Zugriff nur für Geschäftsstelle)
Für die Abteilungen entsprechende Abteilungsdatenbanken ( den Zugriff darauf kannst du mit Gruppen steuern )
eine weitere Datenbank für die geschäftsstelle, die über eine Gliederung die Inboxen ALLER Datenbanken darstellt. ( damit bildest du dann praktisch die "Ordnerstruktur" ab.
Die Abteilungen haben dann nur noch "ihre" Kachel auf der Arbeitsoberfläche.
eknori
-
Das dürfte wohl die einzig vernünftige Lösung sein, wenn man dieses kranke Konzept mit der zentralen Mail-Datenbank überhaupt will.
Alles andere wäre einfach nur doppelt und dreifach überflüssiges Nachprogrammieren von Sachen, die Notes viel besser kann. Wenn man das passende Konzept wählt.
Und nochmal zur Zugriffssteuerung auf Dokumentenebene: Wenn in einem Dokument ein Leserfeld vorhanden ist, in dem der aktuelle Benutzer nicht steht, dann wird ihm dieses Dokument ohnehin gar nicht angezeigt. Weder in Ansichten, noch in Ordnern. Es wäre also auf keinen Fall nötig, den enthaltenden Ordner extra abzufragen.
-
Dieses Kranke Konzept mit der Zentralen Maildatenbank ist halt so gewollt.
@Eknori alle Nutzer haben zusätzlich noch ihre Persönlichen MailDbs.
Diese Zentrale MailDB ist vom Chef gewollt weil er möchte das alle Offizellen Mails die rausgehen aus dieser Zentralen MailDB gesendet werden. Außerdem möchte er einen Überblick haben über alle Mails die in an uns gechickt wurden und die offizell von uns versand wurden. Und weil er nicht alle Mails im "Eingang" haben möchte hat er Ordner erstellt in die er (oder die Geschäftsstelle) die Mails reinkopiert/verschiebt. Soweit ist es ja auch noch nicht das Problem gewesen , allerdings wollte er dann das ,wie schon gesagt, nur diejenigen die dafür zuständig sind auf die ihnen zugewiesenen Ordner zugreifen können.
Tja und da kam er dann zu mir und wollte das ich das so für ihn löse. :-/ ???
-
Dann solltest du dir mal ein Stück Papier nehmen, meinen Vorschlag aufmalen und deinem SSEFFE vorstellen.
Damit dürftest du mit vertretbarem Aufwand ans Ziel kpmmen.
eknori
-
Das werd ich mal machen.
Allerdings wird er vermutlich wird es ihm nicht passen das er sich durch alle Datenbanken klicken muss wenn er sich die Dokumente der Abteilungen anschauen will.
aber ich werd mal schaun. Irgendwie wirds schon klappen.
Danke erstmal soweit für eure Hilfe .
-
Das muss er ja nicht; die Datenbanken liegen für SSEFFE im Hintergrund. Er selbst hat EINE Datenbank mit einer Gliederung auf der linken Seite. Beim klick auf einen Gliderungspunkt wird die entsprechende Ansicht ( aus der Abteilungsdatenbank) im rechten Frame angezeigt. mache ich mit unseren tausenden Abteilungsadressbüchern genau so.
eknori
-
Danke, die idee ist mir noch nicht gekommen :) :)
So brauch ich ihm noch nichteinmal davon zu erzählen ;D ;D ;D
Wird er gar nicht merken das es mehrer DBs sind :)
-
hm..wieder einer dieser SEFFFEES ::)?
Hatte mal einen, der wollte alles aber auch wirklich alles sehen, was aus der Abteilung ging, damit ja kein Fehlerchen (und dazu gehörte auch die Interpunktion) seine reine Weste des hohen Ansehens beflecken könne. Also kurzum: eine arme Sau ;D ;D
Schöne Grüße an Deinen Seffe
-
::) ::) ::) ::) was da wohl der Betriebsrat sagen wird ;D ;D ???