Domino 9 und frühere Versionen > ND6: Entwicklung

Formel für "Wer benutzt welches Dokument"

<< < (5/6) > >>

koehlerbv:

--- Zitat ---Frage: Kann man Server-abhängig unterschiedliche Log-Dokumente ansprechen? Das wäre doch eine gangbare Lösung?

--- Ende Zitat ---

Hallo, Alexis,

serverabhängige Log-Dokumente kann man sicherlich machen. Eine sichere Lösung ist aber auch das noch nicht (kommt aber in der Realität auf Eure Userzahl an).
Den Namen des Servers bekommst Du ja mit
NotesSession.CurrentDatabase.Server
heraus.
Problem: Wenn die Leutchen lokal arbeiten, dann bekommst als Antwort immer "" - einen Leerstring. Das kann man natürlich auch umgehen, in dem man sowas bildet wie
If NotesSession.CurrentDatabase.Server = "" then
   szServer = NotesSession.UserName
else
   szServer = NotesSession.CurrentDatabase.Server
End If

Aber wie Du schon siehst: Auch hier wird das unübersichtlich. So liegt der Schluss nahe, dass zu machen, was wirklich sicher ist: Jeder Zugriff erzeugt ein eigenes Log-Dokument.
Diese könnte man ja auch periodisch zusammenfassen und das Ausgangsmaterial dann löschen.

Insgesamt stellt sich aber die Aufwand-Nutzen-Frage ... Wozu überhaupt dieses Logging ?

Bernhard

Alexis:
Hallo Bernhard,

Danke für Deine Antwort. Das bringt mich wieder ein Stückchen weiter.

Warum das alles?

Die Datenbank um die es sich hier handelt ist eine Informationsquelle für unser Unternehmen, und unterliegt einer ständigen Veränderung hinsichtlich Struktur und Inhalt.

Zuerst war die Fragestellung, wer von den 2000 LN-Usern der Company benutzt ein bestimmtes Tool, das in der Datenbank als Attachment enthalten ist und wie oft wird darauf zugegriffen.

Danach kam mir die Idee, überhaupt den Userzugriff etwas weiter zu analysieren. Wieviele Mitarbeiter lesen welche Bereiche in der Datenbank. Das ist hinsichtlich Akzeptanz, User-Freundlichkeit, Transparenz schon interessant.

Gruß
Alexis

 

koehlerbv:
Dann würde ich sagen: Jedes Zugriff erzeugt ein (kleines) Log-Dokument(chen), dort speicherst Du "Wer, wann, was". Dann kannst Du Dir Log-Ansichten bauen und kategorisieren nach Deinen Themenbereichen (muss natürlich mitgeloggt sein und der Struktur Deiner DB entsprechen), nach den Usern usw.

HTH,
Bernhard

PS: Über eine periodische Konsolidierung der Docs würde ich aber auf jeden Fall nachdenken - bei 2.000 Usern bläht sich die DB bei Logging auf jeden Fall auf. Logging-Ansichten sollten daher auch unbedingt nur für bestimmte User zugänglich sein, und die Log-Docs sollten ein entsprechendes Leser-Feld haben (damit kann zwar jeder Docs erstellen, aber eben nicht mehr lesen und damit auch nicht mehr replizieren (müssen))

Alexis:
Hallo Bernhard,

Deine Anregung ist interessant, umgeht die Replikationsproblematik und ist technisch sogar für mich machbar. Ich werde das mal checken.

Nochmals Danke.

Damit schließe ich dieses Thema ab, bin aber sicher, dass ich schon bald wieder im Forum "Hilfe" schreie.

Alexis

HipSlu:
Hallo,

ich habe die problemstellung zwar nur überflogen, hoffe aber trotzdem nicht total vorbei am thema zu liegen....

wenn ich wissen möchte, wie oft ein dokument gelesen wird, dann so:
im PostOpen Event der Maske:
Akt:=@GetProfileField("ReadCounterGlobal";"Global";@Text(@DocumentUniqueID));
@If(@IsError(Akt)|Akt=""|@IsError(@TextToNumber(Akt));@Set("Akt";0);@Set("Akt";@TextToNumber(Akt)));
@Set("Akt";Akt+1);
@SetProfileField("ReadCounterGlobal";"Global";@Text(Akt);@Text(@DocumentUniqueID))

und zum anzeigen im Dokument ein berechneter Text:
Reads:=@GetProfileField("ReadCounterGlobal";"Global";@Text(@DocumentUniqueID));
@If(Reads="";"0";@IsError(Reads);"?";@Text(Reads))

auf diese art braucht der anwender keine schreibrechte auf der db und es funktioniert ansich wunderbar; lediglich zum "auswerten" müsste man dann noch einen agent basteln

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln