Domino 9 und frühere Versionen > ND7: Entwicklung

Autorenfeld

(1/3) > >>

Demian:
Moin,moin,

es ist soweit. Ich muss mich zum ersten Mal mit Autorenfeldern auseinandersetzen. Folgende Situation:

Ich soll eine Reservierungsdatenbank für Firmenfahrzeuge machen. Hier ist es erforderlich mit Autorenfeldern zu arbeiten, weil die User zwar die Reservierungen der anderen sehen, aber diese weder ändern noch löschen dürfen. Wenn zwei Reservierungen für denselben Zeitraum aufeinander treffen, ist es allerdings so, dass die Reservierung mit der größten Entfernung (in km) "gewinnt".

Ich hatte vor, die ganzen Reservierungsfunktionen in eine Scriptbibliothek zu stecken. Wie verhält sich das jetzt, was das Löschen der Reservierung mit der niedrigeren Entfernung über die Scriptbibliothek betrifft? Die Person, die mit Ihrer Reservierung "gewinnt" ist ja natürlich nicht im Autorenfeld der anderen Reservierung eingetragen. Wird hier die ID des User gezogen, oder wie bei Agenten, die ID der Person, die die Scriptbibliothek signiert hat?

Wenn die ID des User gezogen wird, habe ich aufgrund des Autorenfelds ja das Problem, dass die Doks nicht gelöscht werden können. Dann müsste ich das ganze doch über nen Agenten machen.

Wen sollte man generell alles in ein Autorenfeld eintragen? Server, Admins, Designer und User?


Gruß
Demian

DerAndre:
Wie sieht Deine ACL aus?
Die redet da noch ein Wörtchen mit, Autorenfelder verfeinern nur die ACL, das gilt aber nur für Benutzer die Autorenrechte durch die ACL haben. Alles was höher liegt ist das Autorenfeld Wurstegal.
Schau in der Hilfe mal nach Autorenfeld.

koehlerbv:
Die Signatur der ScriptLib (oder jeglichen anderen Codes) spielt keine Rolle, wenn der Code über den Client ausgeführt wird - der ausführende User braucht dann die erforderlichen Rechte.
Du wirst also nicht umhin kommen, die Löschung durch einen serverbasierenden Agent durchzuführen.

Wer sollte ins Autorenfeld: In Deinem Fall die User, die Rechte haben sollen. Server und Admins brauchen nur lt. ACL Editor oder höher zu sein, dann greifen Autorenfelder eh nicht mehr.
Ggf. musst Du noch eine Rolle aufnehmen wie "Fuhrpark" o.ä., die auf alle derartigen Reservierungen Zugriff haben sollen, aber ansonsten nicht in der DB frei herumwirtschaften können.

HTH,
Bernhard

Demian:
Moin,moin,

@André: Die User haben Autorenrechte. Das mit den höheren Rechten habe ich gestern beim "allgemeinen" Testen auch festsgestellt, nur heute morgen nicht mehr dran gedacht  ::)

@Bernhard: Das hatte ich befürchtet mit dem Agenten, aber wenns nicht anders geht, muss ichs wohl so machen. Das mit der Rolle hatte ich auch schon überlegt, wollte ich aber noch abklären.

Vielen Dank euch beiden.


Gruß
Demian

Demian:
Moin,moin,

ich muss das Thema leider nochmal hochholen.

"serverbasierenden Agent" - langt es nicht aus, wenn man im Agent nur bei "Ausführen im Namen von" den Server hinterlegt? Muss der Agent richtig signiert werden? Jedenfalls bekomme ich mit meiner Einstellung die Meldung "Sie können keine docs.... für die sie nicht die erforderlichen Autorenrecht haben."

Der Agent wird mit .runonserver aufgerufen. ICh habe bei Ausführen im Namen von den Server hinterlegt und die Laufzeitsicherheit auf 3.

Die ID mit der der Agent signiert ist, ist in einer Gruppe, die im Serverdoc bei den Optionen für Einschränkungen der Programmierbarkeit überall hinterlegt ist.

Gruß
Demian


EDIT: Die Datenbank liegt noch lokal, aber die konsistente ACL ist aktiviert.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln