是否可以在一个数据库中创建LotusScript库,然后从另一个数据库访问它?
无需简单地将库复制到需要使用它的每个数据库中。
我想要实现的是一个单独的位置,我可以更新库,而不必手动将其复制到使用它的每个数据库。我不能使用设计模板,因为使用此脚本库的数据库都使用不同的设计模板。
我想另一种解决方案是创建一个代理,以便在更新时将库复制到所有数据库。因此,如果有人在此之前做过类似的事情,我也想在这里谈论它。
Lotus Notes中的设计继承不仅在数据库级别上 - 可以从不同的模板显式继承单个设计元素(例如脚本库)。见Linking individual design elements to a template。
通过这样设置继承,Domino服务器上的designer任务将自动更新设计元素。为此,必须将模板复制到同一服务器。
您可能希望在发布模板时禁用此继承,以避免在生产环境中出现令人讨厌的意外情况。我刚刚创建了一个解决方案:Remove Lotus Notes design element inheritance programatically。
安德斯很好地回答了这个问题。正如Anders所说,不幸的是,Domino无法在数据库之间共享代码库。所有代码都是自包含的,在这种情况下是一个限制。
将代理复制到要使用它的所有数据库中,然后使用设计继承是分发代理的快速简便方法。
另一个想法是,有一个单独的数据库作为代理的存储库,所以如果你需要一遍又一遍地重复使用同一个代理,它的设计总是在一个数据库中,但是你需要设计它以便它可以对您需要更新的所有数据库执行操作。
实际上,仅将每个数据库用作数据源,并在一个位置运行相关代理。这将需要更多的工作,允许您定义一些其他配置文档,代理将使用这些文档来识别您希望代理运行的数据库。
这种方法的优点是:
希望这能为您提供一些选择......
您可以在数据库之间共享lotusScript库。将脚本导出到带有后缀.lss的文件,并将其放在domino文件夹中的多米诺骨牌服务器上。然后你可以像使用普通的LotusScript库一样编写“use”script.lss“”。你可以在domino文件夹中看到已经有一些库,例如。 lsconst.lss