1

LotusNotesアプリケーションにログ機能を追加したい。基本的に、誰が変更を加えたか、いつ変更が行われたか、ドキュメント内でどのフィールドが変更されたかをログに記録できるようにしたいと思います。これを行うための最良の方法は何ですか?ユーザーが誰が変更を加えたかがわかるように、各ドキュメントの最後にもこれを追加することを考えています。

4

3 に答える 3

4

OpenNTFには、 OpenAuditAuditManagerなど、この目的のために使用できるツールがいくつかあります。

于 2012-01-20T20:20:29.100 に答える
1

LotusScript を使用する前にこれを行いました。少し面倒ですが、基本的な考え方は次のとおりです。

  • QueryOpen イベント内で配列または新しいドキュメント オブジェクトを作成し、現在のドキュメントのすべてのアイテムの値を格納します。
  • QuerySave イベントで、現在のドキュメントの値を作成したメモリ内コピーと比較し、相違点をログに記録します。

これらの変更を書き込むフィールドをフォームに作成し、毎回追加することができます。

ただし、ドキュメントが開くたびに変更を加える他のイベント ハンドラーに注意してください。たとえば、ドキュメントを開くたびに QueryOpen イベントの一部のフィールドを変更する場合、PostOpen イベントの元の値をコピーする必要がある場合があります。そうしないと、誤った変更ログが取得されます。

お役に立てれば!

于 2012-01-20T14:16:26.117 に答える
0

「ブルート フォース」アプローチも有効です。ドキュメントを保存するたびに、そのバージョンのコピーを (別の) データベースに作成します。これにより、ドキュメントの監査証跡が作成されます。ドキュメントを比較して、変更を抽出できます。

このアプローチにはかなりのオーバーヘッドがありますが、私の経験では、その価値がありました。実装は簡単で、実際のドキュメントに影響を与えることなく、すべての変更がキャプチャされます。必要なすべての情報が取得され、(オフライン) 処理に使用できます。

于 2012-01-20T14:51:15.643 に答える