4

是否可以在一个数据库中创建 LotusScript 库,然后从另一个数据库访问它?

无需简单地将库复制到需要使用它的每个数据库中。

我想要实现的是一个可以更新库的位置,而不必手动将其复制到正在使用它的每个数据库。我不能使用设计模板,因为使用这个脚本库的数据库都使用不同的设计模板。

我想另一种解决方案是创建一个代理,以便在更新时将库复制到所有数据库。因此,如果有人在此之前做过类似的事情,那么我也想在这里讨论一下。

4

3 回答 3

10

Lotus Notes 中的设计继承不仅仅在数据库级别——单个设计元素(例如您的脚本库)可以从不同的模板显式继承。请参阅将单个设计元素链接到模板

通过这样设置继承,Domino 服务器上的设计器任务将自动更新设计元素。为此,必须将模板复制到同一台服务器。

您可能希望在发布模板时禁用此继承,以避免在生产环境中出现令人讨厌的意外。不久前我为此创建了一个解决方案:以编程方式删除 Lotus Notes 设计元素继承

于 2010-02-12T06:39:57.143 回答
2

安德斯很好地回答了这个问题。正如 Anders 已经说过的,不幸的是,Domino 不能在数据库之间共享代码库。所有代码都是自包含的,在这种情况下这是一个限制。

将代理复制到您想要使用它的所有数据库中,然后采用设计继承是分发代理的一种快速简便的方法。

另一种想法是使用单个数据库作为代理存储库,因此如果您需要反复使用同一个代理,它的设计始终在一个数据库中,但您需要将其设计为它可以对您需要更新的所有数据库执行操作。

有效地,将每个数据库仅用作数据源,相关代理从一个位置进行操作。这将需要更多的工作来允许您定义一些额外的配置文档,代理将使用这些配置文档来识别您希望代理在哪些数据库上运行。

这种方法的优点是:

  • 您无需与设计继承抗争。当您拥有复杂的脚本库/设计结构时,它可能会大规模变得混乱,您可能必须购买第三方工具来帮助您做到这一点。

  • 实际上,您可以通过一系列配置文档集中控制哪些数据库得到更新,并使用“活动/非活动”字段标记数据库以进行更新。而不是直接“触摸”代理,这需要您通过启用/禁用代理来弄脏您的手。在一些受到严格控制的公司环境中,您需要不断要求 Notes 管理员为您执行此操作。

  • 您可以对代理进行编码,以便它在每个数据库上运行时在您自己的自定义日志文档中报告活动,并集中存储它。

希望这可以为您提供一些选择...

于 2010-03-15T10:45:04.617 回答
0

您可以在数据库之间共享一个 lotusScript 库。将脚本导出到后缀为 .lss 的文件中,并将其放在 domino 服务器上的 domino 文件夹中。然后,您可以像使用普通 LotusScript 库一样编写“使用“script.lss””。您可以在 domino 文件夹中看到已经有一些库,例如。lsconst.lss

于 2019-04-03T11:39:44.207 回答