Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rico am 19.08.03 - 17:01:13

Titel: Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: rico am 19.08.03 - 17:01:13
Hi@all,

ich möchte gerne einen Dokmumentenschutz für Doks in einer DB einrichten. Die Doks sollen nach endgültiger Bearbeitung "versiegelt" werden, es soll keine weitere Bearbeitung über die Maske möglich sein.
Die ganze Sache stelle ich mir wie folgt vor:
Ein fertig bearbeitetes Dok liegt vor, jetzt wird ein Feldwert gesetzt (z.B. Status=3) der aussagt, dass dieses Dok nicht mehr bearbeitet werden darf.
Dieser Status müsste doch bei PostOpen oder QueryOpen entsprechend ausgewertet werden können,
so dass bei entsprechendem Feldwert direkt wieder in den Lesemodus gewechselt wird. Ich habe so etwas schon mal irgendwo gesehen, das geht. Aber wie, wie genau ...

???

RicoGruss  
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: Axel_Janssen am 19.08.03 - 17:31:22
in postOpen:
Code
if source.Editmode = true then
if Source.FieldGetText("Status") = "3" then
  Continue = false
    messagebox "Editieren verboten"
end if
end if
(nachträglich korrigiert. Atas Kommentar bezog sich auf eine vorherige Version ohne die äußere "if Sourc.editmode = true"- Bedingung.


in querymodechange:
Code
if source.editMode = false then

if Source.FieldGetText("Status") = "3" then
  Continue = false
    messagebox "Editieren verboten"
end if
end if 
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: ata am 19.08.03 - 17:53:00
@Axel_Janssen

... das ist kein Sicherheitsfeature - ich würde es mit Autoren- und Leserfeldern und Rollen lösen. Im Status 3 erhält das Doc im Autorenfeld dann eine Rolle, mit der dann nur noch ein Admin bearbeiten darf...

ata
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: harkpabst_meliantrop am 19.08.03 - 18:08:19
... das ist kein Sicherheitsfeature - ich würde es mit Autoren- und Leserfeldern und Rollen lösen. Im Status 3 erhält das Doc im Autorenfeld dann eine Rolle, mit der dann nur noch ein Admin bearbeiten darf...

Das stimmt zwar, aber es erfüllt genau die Anforderung, die rico gestellt hatte. :)
ich möchte gerne einen Dokmumentenschutz für Doks in einer DB einrichten. Die Doks sollen nach endgültiger Bearbeitung "versiegelt" werden, es soll keine weitere Bearbeitung über die Maske möglich sein.
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: ata am 19.08.03 - 18:15:50
... wenn ich mich nicht irre, kann man ein Doc in den Edit-Modus holen, ohne daß man den QueryModeChange durchläuft...

... mit dem PostOpen  => Continue = False lässt sich das Doc nicht mehr öffnen ...

ata
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: Axel_Janssen am 19.08.03 - 18:31:07
... wenn ich mich nicht irre, kann man ein Doc in den Edit-Modus holen, ohne daß man den QueryModeChange durchläuft...

meines Wissens nicht. Wie  ???

Ansonsten hast du Recht. Im PostOpen Event muß es heißen:

Code
if source.editMode = true then

if Source.FieldGetText("Status") = "3" then
  Continue = false
    messagebox "Editieren verboten"
end if
end if 
Ich korrigiere oben.
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: ata am 19.08.03 - 18:46:41
... ich schau mal, ob ich das nochmal rekonstruieren kann - es ging auf jeden Fall - daher ist die Methode mit den Autorenfeldern die gangbare...

ata
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: Driri am 20.08.03 - 09:41:36
Ich würde auch Autorenfelder empfehlen, denn sonst können z.B. über Agents immer noch Werte geändert werden. Okay, das kann nicht jeder Benutzer, aber wehe wenn es doch einer schafft.
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: robertpp am 20.08.03 - 10:51:21
Ich würde es auch mit Authorenfelder machen weil ich hab zb eine DB und wollte auch haben das niemand außer ein Admin das doc bearbeiten kann und hab es fürs erste auch so probiert mit Continue= False und die ersteller des doc hatte Authorrechte und siehe da die konnten das doc bearbeiten. Also Authorrechte weg und Leserechte her.
Erledigt. ;) ;)
robertpp
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: cpo am 20.08.03 - 11:46:26
QueryModeChange kann man doch umgehen indem man in der View Strg+E (bzw +B) drückt.
Kann man natürlich auch im postopen abfangen - sicher ist das aber nicht! Das sind imho nur Leser/Autorenfelder!!!
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: harkpabst_meliantrop am 20.08.03 - 13:37:12
QueryModeChange kann man doch umgehen indem man in der View Strg+E (bzw +B) drückt.
Kann man natürlich auch im postopen abfangen - sicher ist das aber nicht! Das sind imho nur Leser/Autorenfelder!!!

Dann wird aber das QueryOpen durchlaufen. :)

Wenn man es wörtlich nimmt und nur verhindern will, dass das Dokument mit einer bestimmten Maske nicht mehr bearbeitet werden kann, dann ist diese Methode auch meiner Meinung nach wasserdicht.

Einen Schutz für das Dokument bietet sie selbstverständlich nicht, dafür muss man schon mit Leser-/Autorenfeldern arbeiten, je nach dem was genau erreicht werden soll.


Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: notesnewbie am 20.08.03 - 15:18:43
Hi,

nur mal so ne idee. Warum legst du dir nicht ein Formfeld an. Dieses Feld bestücktst du dann mit einer Formel. Wenn z.b. Status = 3 änderst du die zu nutzende Maske einfach in eine andere. In dieser Maske hast du nur anzeigefelder. Schluss mit Änderung.

Tschau

NotesNewbie
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: Driri am 20.08.03 - 15:26:55
Dann sind die Felder aber immer noch per Agent änderbar. Das ist auch kein wirklicher Schutz.
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: harkpabst_meliantrop am 20.08.03 - 19:08:43
Und dann gibt es ja auch noch - von Entwicklern gewöhnlich wegen Nutzlosigkeit nicht beachtet - View --> Switch Form. Damit braucht es nichtmal einen Agenten.
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: ata am 20.08.03 - 22:23:54
... womit die Autorenfelder das einzig vernünftige Mittel bleiben...

ata
Titel: Re:Dokmumentenschutz - keine weiteren Änderungen über Maske mgl.
Beitrag von: rico am 22.08.03 - 14:42:50
Mit der Kombi Postopen und QueryModeChange ist mir schon sehr geholfen. Darum ging es mir eigentlich. Das mit den Autorenfeld werde ich mir noch mal überlegen, das geht eigentlich nur wenn niemand Editor Rechte benötigt.
Auf jeden Fall schon mal riesen Dank an alle.

Rico