复制或保存冲突

多个用户可以同时在数据库的一个拷贝中编辑同一文档,或在两次复制会话之间编辑不同副本中的同一文档。在出现这些情况时,Domino® 会将一个编辑会话的结果存储在主文档中,并将其他编辑会话的结果作为响应文档存储。这些响应文档的标题为复制或保存冲突

Domino® 使用 $Revisions 字段跟踪每个文档编辑会话的日期和时间,以确定哪个文档将成为主文档以及哪个文档将成为响应文档。

复制冲突

在两次复制之间,如果有两个或多个用户编辑同一文档并将更改保存在不同副本中时,就会导致复制冲突。以下规则确定 Domino® 保存编辑会话的方式:

  • 编辑和保存次数最多的文档作为主文档,其他文档作为“复制或保存冲突”文档。
  • 如果所有文档的编辑和保存次数均相同,则最近一次保存的文档作为主文档,其他文档作为“复制或保存冲突”文档。
  • 如果文档在一个副本中被编辑而在另一个副本中被删除,则删除操作优先,除非文档被编辑了多次或编辑发生在删除之后。

保存冲突

如果两个或多个用户在同一服务器上同时打开并编辑同一文档,就会发生保存冲突,即使他们正在编辑不同的字段也是如此。在发生此情况时,第一个保存的文档将成为主文档。在保存第二个文档之前,将出现一个对话框,指出用户即将保存冲突文档;如果用户保存该文档,则它将成为“复制或保存冲突”文档。

注: ACL 和设计的更改不会导致复制或保存冲突;最近的更改总是优先的。

防止复制或保存冲突

以下技术将减少或消除复制或保存冲突。

数据库设计者可执行以下操作:

  • 如果没有字段冲突,请选择表单属性合并复制冲突以将冲突自动合并到一个文档中。这仅适用于复制冲突,而不适用于保存冲突。
  • 指定有关版本变化的表单属性,这样被编辑的文档就自动变为新文档。
  • 锁定数据库中的文档。有关更多信息,请参阅相关信息中的文档锁定

数据库管理员可执行以下操作:

  • 在数据库 ACL 中为用户分配“作者”或更低的访问权,以阻止用户编辑其他用户的文档。
  • 尽量减小副本数量。
  • 如果数据库属性限制 $Revisions 字段中的条目数设置为大于 0 的值,请通过指定大于现有值的值来提高限制,或指定 -1 来除去限制。

有关使用 LotusScript® 设计表单的更多信息,请参阅 HCL Domino® Designer 帮助