Domino 9 und frühere Versionen > ND6: Entwicklung

erste Gehversuche mit Autoren- und Leserfeldern

(1/3) > >>

Piepflitze:
Hallo zusammen,

ich mache gerade erste Gehversuche mit Autoren- und Leserfeldern und brauche hierzu Hilfe:

1. Die Notes-Hilfe verstehe ich so, dass Autoren bzw. Editoren der ACL zur Bearbeitung von Dokumenten auch in einem Leserfeld vorhanden sein müssen. Müssen sie tatsächlich in einem Leserfeld vorhanden sein oder reicht auch die Aufname in ein Autorenfeld, welches vielleicht dann automatisch auch als Leserfeld berücksichtigt wird?

2. Ich versuche dem Benutzer zu ermöglichen, das Leserfeld zu bearbeiten. Das teste ich gerade mit @Dialogbox. Muss das entsprechende Dokument dazu zwingend im Bearbeiten-Modus sein?

3. Dazu möchte ich gewährleisten, dass der Autor des Dokuments und die Inhaber einer Rolle "[Admin]" immer im Leserfeld bleiben und nicht gelöscht werden. Kann der Autor das Leserfeld komplett bearbeiten, könnte er diese ja herauslöschen. Deswegen lasse ich den Autor per @Dialogbox nur ein Namensfeld "add_reader" bearbeiten. Das richtige Leserfeld "reader" ist bearbeitbar mit dem Vorgabewert "[admin]":@Author:add_reader.
Nur leider wird bei Änderung des Feldes "add_reader" der neue Feldinhalt nicht in das Leserfeld übernommen. Hat jemand eine Idee woran das liegt?

4. Oder ist das alles Blödsinn und mein Lösungsansatz ist völlig falsch und so etwas kann ich besser ganz anders lösen?

5. Gibt es so etwas wie generelle Tipps, die mich von typischen Anfängerfehlern bei Leser- und Autorenfeldern abhalten können?

Vielen Dank im voraus!

P.S.: Ich kenne die Formelsprache ausreichend gut, den Rest machen Lesen und logisches Denken. Aber Lotus Script? Null Ahnung!  ;)

klaussal:
1) Nein, müssen sie nicht. Leser dürfen ersteinmal alles lesen, es sei denn, das Doc hat ein Leserfeld (oder auch mehrere), wo sie nicht drinstehen. Leser- bzw. Autorenfelder schränken die ACL ein. Das ist in der Hilfe an sich gut beschrieben.

2) ja, ausser du machst das per Agent.

3) Nimm ein 2. Leserfeld. Auch das ist in der Hilfe beschrieben.

4) Lies in Ruhe die Hilfe, bis du dir sicher bist, das Thema verstanden zu haben.

DAU-in:
zu Punkt 3: ein Vorgabewert zieht nur am Anfang, solange das Feld leer ist.
Sobald ein Wert eingetragen wird, wird der Vorgabewert ignoriert.
Der Wert wird später nicht aktualisiert, wenn sich der Wert eines anderen Feldes, auf das sich der Vorgabewert bezieht, ändert.

Grüsse

Dau-in

Piepflitze:

--- Zitat von: klauss am 08.05.09 - 20:09:15 ---1) Nein, müssen sie nicht. Leser dürfen ersteinmal alles lesen, es sei denn, das Doc hat ein Leserfeld (oder auch mehrere), wo sie nicht drinstehen. Leser- bzw. Autorenfelder schränken die ACL ein. Das ist in der Hilfe an sich gut beschrieben.
--- Ende Zitat ---
Ok, vielleicht habe ich die Frage missverständlich gestellt. Dass ein "ACL-Leser" ersteinmal alle Dokumente lesen kann, ist mir klar. Ich beziehe mich aber eben auch auf die Hilfe, die bei der Beschreibung der Zugriffsebenen steht folgender Hinweis:

--- Zitat ---Alle Dokumente lesen, sofern sich kein Leserfeld auf der Maske befindet. Wenn ein Leserfeld angezeigt wird, muss der Autor aufgeführt sein, um ein Dokument lesen zu können.
--- Ende Zitat ---
Daher die Frage, ob ein Autor (laut ACL), der außerdem bereits in einem Autorenfeld benannt ist, zusätzlich noch in ein Leserfeld aufgenommen werden muss. Oder andersherum: Beinhaltet ein Autorenfeld gleichzeitig das Recht das Dokument zu lesen?


--- Zitat von: klauss am 08.05.09 - 20:09:15 ---2) ja, ausser du machst das per Agent.
--- Ende Zitat ---
Da stehe ich gerade auf dem Schlauch, wie ich Bearbeitung des Feldes per Adressbuchdialog in einen Agenten bekomme. Ich vermute mal, dass ich per Agent nicht @Dialogbox nutzen kann. Kannst Du mir bitte einen Schubs geben, mit welchem Befehl ich mich beschäftigen muss?


--- Zitat von: klauss am 08.05.09 - 20:09:15 ---3) Nimm ein 2. Leserfeld. Auch das ist in der Hilfe beschrieben.
--- Ende Zitat ---
Vielleicht liegt es an der mangelhaften Übersetzung der Hilfe. Aber wenn ich von "in dem Leserfeld" statt "in einem Leserfeld" lese, erweckt das bei mir den Eindruck, als wenn es nur ein Leserfeld geben würde. So wie Du schreibst, kann ich aber offensichtlich mehrere Leserfelder in einem Dokument verwenden. Das ist ja auch viel einfacher.


--- Zitat von: klauss am 08.05.09 - 20:09:15 ---4) Lies in Ruhe die Hilfe, bis du dir sicher bist, das Thema verstanden zu haben.
--- Ende Zitat ---
Schade, wenn Du den Eindruck hast, ich hätte mich vorher nicht informiert. Mitnichten.



--- Zitat von: DAU-in am 08.05.09 - 20:29:11 ---zu Punkt 3: ein Vorgabewert zieht nur am Anfang, solange das Feld leer ist.
Sobald ein Wert eingetragen wird, wird der Vorgabewert ignoriert.
Der Wert wird später nicht aktualisiert, wenn sich der Wert eines anderen Feldes, auf das sich der Vorgabewert bezieht, ändert.
--- Ende Zitat ---
Jetzt wo Du es schreibst, klingt das logisch. Als berechnetes Feld funktioniert das natürlich.

Danke!

DAU-in:
zu 1) ich kann es gerade nicht nachprüfen bzw. ich bin zu faul dazu, aber gefühlsmässig würde ich sagen: er muss auch in dem Leserfeld stehen.
Denn das Leserfeld bestimmt, ob er das Dokument überhaupt sehen kann, das Autorenfeld bestimmt ja erst danach, ob er es auch bearbeiten kann, wenn er es sieht.
Und das Autorenfeld schränkt nur die Rechte der Anwender mit Zugriffsebene Autor ein.

2.) Dialogbox method.  Mit Lotus Script kannst du über die Backendklassen das Dokument manipulieren, ohne es für den Anwender in den Editiermodus zu setzen.
Du musst bei einer Manipulation im Backend die Eigenschaft 'READERS' bzw.  'AUTHORS' explizit für das Item setzen, damit die Werte ziehen. Und bei Multivalue die Werte schön über ein Array reinschiessen.
In der Hilfe steht unten auf der Seite bei der Formelsprache der entsprechende Befehl in Scriptsprache und umgekehrt, darüber kannst du dich rech gut durchhangeln.

3.) ich würde für den Anfang ein berechnetes Feld mit den Standardlesern nehmen, und ein editierbares, das die Anwender vermurksen können. Falls du dich dann vertust, kommst du immer noch über das Standardfeld ran.
Und vergiss nicht, die Felder auf Multivalue zu setzen, in die Falle bin ich auch schon getappt.

Grüsse
Dau-in

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln