1

我想在我的 Lotus Notes 应用程序中添加日志记录功能。基本上,我希望能够记录谁进行了更改,何时进行了更改,以及文档中哪些字段被更改了。做这个的最好方式是什么?我正在考虑在每个文档的末尾添加它,以便用户知道谁进行了更改。

4

3 回答 3

4

OpenNTF 有几个可以用于此目的的工具,包括Open AuditAudit Manager

于 2012-01-20T20:20:29.100 回答
1

我在使用 LotusScript 之前已经这样做了。这有点痛苦,但基本的想法是:

  • 在 QueryOpen 事件中创建一个数组或新文档对象,并存储当前文档中所有项目的值。
  • 在您的 QuerySave 事件中,将当前文档的值与您制作的内存副本进行比较,然后记录任何差异。

您可以在表单上创建一个字段来写入这些更改,并且每次都附加到它。

不过,请注意每次打开文档时都会进行更改的其他事件处理程序。您可能需要在 PostOpen 事件中复制原始值,例如,如果您在每次文档打开时更改 QueryOpen 事件中的某些字段,否则您会得到错误的更改日志。

希望这可以帮助!

于 2012-01-20T14:16:26.117 回答
0

“蛮力”方法也可以工作。每次保存文档时,都会将该版本的副本创建到(单独的)数据库中。这将建立文件的审计跟踪。可以比较文档以提取更改。

这种方法有相当多的开销,但根据我的经验,这是值得的。实现很简单,所有更改都会被捕获而不影响实际文档。所有需要的信息都被捕获并可用于(离线)处理。

于 2012-01-20T14:51:15.643 回答