【发布时间】:2022-01-24 10:54:03
【问题描述】:
我想在 PRODUCTION 域中构建一个 Lotus Notes 测试环境,并从 PRODUCTION 环境中获取单向副本的 names.nsf。有没有一步一步的指导或指南可供参考?非常感谢。
【问题讨论】:
标签: server build lotus-domino lotus
我想在 PRODUCTION 域中构建一个 Lotus Notes 测试环境,并从 PRODUCTION 环境中获取单向副本的 names.nsf。有没有一步一步的指导或指南可供参考?非常感谢。
【问题讨论】:
标签: server build lotus-domino lotus
我建议您提及测试环境的确切用途。 是针对应用程序测试还是针对新功能的 Domino 基础设施测试? 我认为如果要求很明确,为您提供有关如何执行此操作的指示会更容易。 如果您想学习 Lotus Domino,最好设置一个独立于生产环境的新测试域。
【讨论】:
在 Notes/Domino 环境中,“域”被定义为一组共享公共名称的服务器。nsf。即,它们的 names.nsf 数据库具有相同的副本 ID。
这意味着,如果您希望测试和生产真正成为同一个域,您需要 names.nsf 的单向副本,而不是单向副本。当然,这可以使用 ACL 权限和/或选择性复制设置来完成,但这样做很危险,不建议这样做。
最基本的问题是,每一种设置单向复制的方法都可能被意外或故意绕过,从而导致从测试返回到生产的数据泄漏。最常见的情况是,如果管理员意外触发了客户端的手动复制,就会发生这种情况。因此,我不建议这样做。如果你真的在同一个域中拥有服务器,你几乎肯定会从测试泄漏到生产中。
您可以做的是让它们看起来好像它们在同一个域中,但实际上不是是同一个域。实际上,您希望生产域中的所有关键数据库明确地将测试域中的所有服务器限制为读者权限,并且您希望测试中的等效数据库是非副本,以便减少事故发生的可能性。
您可以通过制作 names.nsf 的非副本副本并设置一种机制来定期(例如,每晚)将所有文档从生产 names.nsf 重新复制到您的测试 names.nsf 中,覆盖任何变化。一个非常简单的 LotusScript 代理可以做到这一点。这会在您的测试 names.nsf 中加载大量删除存根,但有一些方法可以解决这个问题。稍微复杂一点的代理可以通过将生产 UNID 与每个测试文档中添加的已保存项目匹配并简单地重新复制项目来避免删除和重新复制。更复杂的代理将在测试中存储一个附加项目,其中包含所有生产项目值的哈希值,以避免在没有更改时重新复制项目。当然,在过去的 30 年中,已经开发出可以进行 Domino 到 Domino 数据同步的第三方工具,其中一些工具仍然受到支持。
然而,即便如此,仍然有点危险。即使您的 names.nsf 是生产的非副本副本,它仍然具有与生产相同的所有连接。这意味着它可以以与生产完全相同的方式发送电子邮件,并且它们看起来就像来自生产。您可以采取一些措施来防止这种串扰,但您真正想要的是让电子邮件进入测试环境(在 Domino 测试基础设施内或非 Domino 测试系统内)。如果不修改测试名称.nsf 中的文档,您将无法真正做到这一点,以使它们不再匹配生产。
恕我直言,最佳实践是一个单独的测试域,其服务器 ID 使用与生产不同的根证书进行认证,仅同步用户和组,只有经过交叉认证的授权测试用户才能访问测试域(以及/ 或配置为浏览器访问)并非常仔细地管理配置差异以防止泄漏和串扰。
【讨论】: