Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Fbaum am 12.03.03 - 09:00:48
-
Hallo,
gibt es eine Möglichkeit in einer DB ein Log mitlaufen zu lassen das protokolliert wer, was wann geöffnet oder gelöscht hat?
Ist sowas möglich??
Bei den Datenbankeigenschaften sehe ich ja nur wer Zugriff hatte und gelesen/geschrieben hat.
Ich möchte aber genau sehen was die User machen...
Danke für Eure Info.
Gruß FBaum
-
@fbaum,
mir ist sowas nicht bekannt. habe mal eine lösung gesehen, aber die war handgestrickt.
ausserdem ist eventl. die rechtliche seite zu bedenken. das geht so ein bisschen in die richtung "überwachung der mitarbeiter" .....
-
Ja, dachte mir schon, daß sowas selbst gemacht werden muss...
Es geht nur darum, daß verschiedene User auf der DB Löschrechte haben und diese auch brauchen. Nun ist es jedoch schon vorgekommen, daß ein User was gelöscht hat. Dies kann jedoch nicht mehr nachvollzogen werden, wann er es gelöscht hat.
Deswegen die Frage nach einem Log.
Gruß FBaum
-
man muss in alle masken in die entsprechenden events per script (?) einbauen, was wer gemacht hat, also so eine art doc "log" kreieren.
-
Kann mir jemand sagen, wie ich das genau machen soll.
Was in das Script rein mus...???
-
guckst du hier
http://eknori.dyndns.org/knowledge/devidea.nsf/Alpha/65B32A1066F1B3EA802568B900224E60?OpenDocument
;D
-
Hi,
@eknori
hat irgendwie nicht so wirklick funktioniert.
Es kommt kein Fehler, ich kanns nicht debuggen...
Was muß da noch angepasst werden?
Das Script kommt in die View rein oder?
Danke schon mal....
-
... nein, in das datenbankscript im event "postdocumentdelete".
man LESE die überschrift.. ;D
zum testen: datenbak öffnen, doc zum löschen markieren, jetzt debugger einschalten und F9 drücken.
-
Ha, genau so hab ich´s ja schon gemacht. ;D Es kommt aber kein Debugger...
Das Dokument ist gelöscht und ich sehe nicht´s was anderst wäre...
-
hallo
ich benutze dieses Script im NAB, so kann ich sehen wer eine Speicherung an den Personen - bzw Gruppendokumente vorgenommen hat.
Beispiel für Personendokument
Einfach in QuerySave
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim profile As NotesDocument
Set doc = Source.Document
'Set profile=doc.ParentDatabase.GetProfileDocument("PublicDirectoryProfile")
'Change to REAL name of directory profile
Set profile=doc.ParentDatabase.GetProfileDocument("DirectoryProfile")
If profile.GetItemValue("SecureInetPasswords")(0)="1" Then
Call doc.ReplaceItemValue("$SecurePassword","1")
End If
Dim l As NotesLog
Set db = s.CurrentDatabase
Set l = New Noteslog (db.Title & " (" & db.Filename & ")")
Call l.OpenNotesLog ("SERVER", "logs\adminlog.nsf")
Call l.logAction ( "Speicherung Person: " & Source.FieldgetText("Firstname") &" " & Source.FieldgetText("Lastname") &" - - - " &_
" 1 Shortname : " & Source.FieldgetText("shortname") &_
" 2 Fullname : " & Source.FieldgetText("FullName") &_
" 3 MailSystem : " & Source.FieldgetText("MailSystem") &_
" 4 MailServer : " & Source.FieldgetText("MailServer") &_
" 5 MailFile : " & Source.FieldgetText("MailFile") &_
" 6 Mailadresse : " & Source.FieldgetText("Mailaddress") &_
" 7 Internetadresse : " & Source.FieldgetText("InternetAddress") )
End Sub
Und hier für die Löschung
unter RESSOURCEN\ANDERE\DATNEBANKSCRIPT
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim l As NotesLog
Set db = session.CurrentDatabase
Set l = New Noteslog (db.Title & " (" & db.Filename & ")")
Call l.OpenNotesLog ("SERVER", "logs\adminlog.nsf")
Set dc=Source.Documents
Set doc = dc.GetFirstDocument
While Not doc Is Nothing
Call l.logAction ( "Löschung : " & doc.Firstname(0) & " " & doc.Lastname(0) & doc.Listname(0))
Set doc = dc.GetNextDocument ( doc )
Wend
End Sub
Du musst natürlich die Datenbank im Verzeichnis anlegen,
diese kannst du ja dann noch bearbeiten.
Nach Gruppen....
Man hat eine gute Übersicht über vergangene Änderungen , an Peronen- bzw Gruppendokumente.
Wichtig ist das auch jeder der eine Änderung am NAB durchführen darf, Zugriff auf die Log-DB hat , sonst kommt eine Fehlermeldung.
Gruss
Monster
-
Ha, genau so hab ich´s ja schon gemacht. ;D Es kommt aber kein Debugger...
Das Dokument ist gelöscht und ich sehe nicht´s was anderst wäre...
schliess den designer und zur not auch den client...
dann nochmal...
-
@eknori @klaussal...
nachdem ich das script ins Datenbankscrip stellt funzt wunderbar...
Besten Dank für Eure Hilfe... @all
Gruß FBaum
-
... ich übernehme Dokumente, die gelöscht werden in eine Waste-DB - eine Löschung im eigentlichen Sinn lasse ich nicht zu. Die Waste-DB wird dann von Zeit zu Zeit wieder geputzt...
ata