2

简短版:在 Lotus Notes 中,是否可以将模板设计替换为常规数据库的设计?我试图使数据库成为一个模板,所以它会显示在替换设计对话框中,但它没有。

长版:假设我的开发人员有一个名为 NewsTemplate.ntf 的模板。复制到登台和生产的服务器。按需服务器。我在 dev 上的数据库 DevNews.nsf 中完成所有开发工作。服务器,这使我能够在开发过程中轻松地在 Web 浏览器中测试应用程序。当我想部署更改时,首先手动将更改从 DevNews.nsf 复制粘贴到 NewsTemplate.ntf。(哎呀...)我可以使用 Domino Designer 中的比较工具来比较两者并逐个文件复制更改,但这感觉过于繁琐。我要做的只是简单地将NewsTemplate.ntf 的设计替换为DevNews.nsf 的设计。

在“替换设计”对话框中,仅列出了模板,因此看来我必须将 DevNews.nsf 设为模板才能执行此操作。我检查了数据库文件是应用程序属性中的主模板复选框,并输入了模板名称“DevNewsTemplate”。但是,它仍然没有显示在“替换设计”对话框的模板列表中。我注意到数据库仍然具有文件扩展名nsf。这是问题吗?我是否应该采用其他方法将设计更改从 News.nsf 复制到 NewsTemplate.ntf

额外问题 1:模板可以包含文档并像数据库一样工作,只是它也是用于将设计分发到其他模板/数据库的模板吗?

奖励问题 2:该站点提到了模板和主模板,但并没有真正解释它们之间的区别。模板和主模板有什么区别?如何制作模板?如何制作主模板?

编辑:

假设不是开发人员上的单个 News.nsf 数据库。服务器,有两个开发数据库分别称为 News1.nsf 和 News2.nsf,因为有两个开发人员需要自己的数据库才能工作。每个开发人员都有自己的 News*.nsf(驻留在开发服务器上)与on-disk-project 在他自己的 PC 上,由 Git 进行源代码控制。两个开发人员的 git 存储库通过向中央 Git 存储库推送/拉取来保持同步,因此 News1.nsf 和 News2.nsf 通过此 Git 存储库间接同步。

每个开发人员都需要能够将更改从他的 News*.nsf 复制到 NewsTemplate.ntf。Panu Haaramo 建议的解决方案(使用Refresh design)要求我将 NewsTemplate.ntf 设置为从“DevNewsTemplate”继承设计,这是我为 News1.nsf 设置的主模板名称。显然我不能对 News2.nsf 使用相同的主模板名称,因为它位于同一个开发人员中。作为 News1.nsf 的服务器。如何将设计从 News1.nsf 或 News2.nsf 交替复制到 NewsTemplate.ntf?

这个数字应该有助于澄清:

在此处输入图像描述

4

2 回答 2

5

“替换设计”对话框按扩展名过滤。它只显示“模板”。模板被定义为扩展名为“ntf”的数据库。他们不必分配模板名称。主模板确实有一个模板名称(数据库的属性),并且大多数是 ntf 文件,但它们也可以是 nsf- 文件(正如您已经意识到的那样)。

这就是模板和主模板之间的区别。此外,“模板”在替换设计对话框的列表顶部出现一个蓝色的数据库图标,“主模板”有一个绿色的模板图标,并出现在“模板”列表的下方。因此,该列表分为两个单独排序的部分。

从模板创建的数据库在设计替换后失去了与模板的连接,之后不再可能进行“设计刷新”,对于从主模板创建的数据库,您可以选择是否将其“链接”到模板...

如果您手动输入数据库的模板名称(nsf 或 ntf),那么您可以刷新设计(通过菜单或使用load design -f yourfile.nsf服务器控制台上的 a)。

因此,您的主要问题的答案是(正如您已经发现的那样):是的,模板可以从数据库继承其设计。

现在奖励 1:ntf- 文件与 nsf- 文件(结构方面)完全相同。您可以使用它们来存储文档、配置文件,无论您想要什么。你不能:

  • 在浏览器中打开一个 ntf
  • 在 Notes-Client 中的“打开数据库”对话框中看到一个 ntf
  • (仅与管理员相关)使用占位符压缩 ntf,而不使用 -* 作为参数...

这是唯一的区别。

在模板中包含文档可能是一个好处:您从模板创建的每个数据库都包含当时模板中的所有文档。像这样,您可以为您创建的每个新数据库“填充”一些默认配置等。此副本仅在创建新数据库时发生一次,不会在设计替换/设计刷新时发生。

对您的编辑的回应: 只需使用“替换设计”并给两个 nsfs 一个不同的模板名称。如果您没有在对话框中选择“继承未来设计更改”,则不会设置 ntf 的“从主模板继承设计 - 模板名称”属性,它不会“链接”到任何开发数据库..

事实上:这是错误的,正如我自己在上面所写的那样...... NSF 永远不会出现在“替换设计”窗口中......所以对你来说正确的解决方案是:

  • News1.nsf 的模板名称为“News 1 Template”
  • News2.nsf 的模板名称为“News 2 Template”

如果 Designer 1 现在需要更新模板,那么他执行以下步骤:

  1. 在 newstemplate.ntf 的“Inherit Design From Master Template”字段中输入“News 1 Template”
  2. 使用“文件 -> 应用程序 -> 刷新设计
  3. 从 newstemplate.ntf 中删除 TemplateName
于 2013-09-18T08:47:14.513 回答
1

使用Refresh Design,您可以将设计从 nsf 替换为 ntf。

奖励 1:并不是因为您无法使用浏览器访问 ntf。

奖励 2: db 属性称为“主模板”。在管理员帮助中,使用“模板”链接意味着手动刷新设计,“主模板”意味着使用 Designer 服务器任务刷新设计。

对您的编辑:我认为您需要将两个开发数据库的主模板字段都留空,并在您想要刷新设计时进行设置。

于 2013-09-18T07:55:18.140 回答