LotusNotesアプリケーションにログ機能を追加したい。基本的に、誰が変更を加えたか、いつ変更が行われたか、ドキュメント内でどのフィールドが変更されたかをログに記録できるようにしたいと思います。これを行うための最良の方法は何ですか?ユーザーが誰が変更を加えたかがわかるように、各ドキュメントの最後にもこれを追加することを考えています。
1551 次
3 に答える
4
OpenNTFには、 OpenAuditやAuditManagerなど、この目的のために使用できるツールがいくつかあります。
于 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 に答える