8

请分享您如何为 Lotus Notes/Domino 开发进行版本控制。

我想将所有脚本、视图、自定义表单、脚本库等放入我们的 SVN 存储库。

半自动化的方法也被接受(即,如果我找到一种方法将表单的所有事件脚本放在一个文件中,并能够将其作为整个文件放回 Notes Designer 中)。

4

7 回答 7

8

openntf 项目设计目录可用于版本控制。它使用了 kerr 提到的 dxl 技术。www.openntf.org/projects/pmt.nsf/ProjectLookup/DesignCatalog

在 lotusphere,lotus911 的人提到他们将设计目录与 Trigger Happy 结合使用。www.openntf.org/projects/pmt.nsf/ProjectLookup/Trigger%20Happy

于 2009-05-29T14:38:46.817 回答
3

简短的回答是,您将无法以自动化或半自动化的方式可靠地执行此操作。如果 DXL 具有完整的保真度和完整的往返能力,那么您将能够将设计元素的 DXL 导出存储在 SVN 中,但有些地方 DXL 不够好。

您将获得的唯一真正的版本控制是通过像TeamStudio 的 CIAO产品这样的第三方供应商。

更新:

有些人报告说成功地以编码二进制格式导出元素,该格式在导入时保持完全保真度。这使得出于版本控制目的的往返行程成为可能。

于 2008-11-20T17:56:57.430 回答
3

我想我可以分享一下我们是如何进行修订控制的——我们尝试了 CIAO,但是当我们不得不每天多次“重新编译所有 LotusScript”时,不断的签入/签出变得很麻烦。

我们当前的解决方案使用三个模板:DevTestProd。还有一个小型内部开发的实用程序数据库...

  • 可以制作开发模板的“快照”(完整副本),并跟踪这些。
  • 用我们选择的快照替换TestProd的设计。

此实用程序数据库的最新添加是在创建快照时删除设计元素继承的能力。这使我们有可能在 Dev 环境中利用设计级别继承,但保留 Test 和 Prod 模板而不会出现令人讨厌的意外(除了内置在客户端中的模板......)。

我们还进行了一些健全性检查——检查“副本”和“另一个副本”元素——猜测可以在此处添加更多功能。

我想有可能开发一个类似的解决方案,使用 SVN 作为快照文件的存储。

编辑

快照由NotesDatabase.CreateCopy创建。在新副本中,我们然后执行以下操作:

于 2009-08-15T17:06:37.730 回答
2

正如 Kerr 所说,Domino 的唯一完整版本控制系统(而且成本很高)是 Teamstudio CIAO!

Eclipse 中的 Domino Designer(“DDE”)构成了 Domino 工具集的一部分,从 8.5 版开始,人们谈到了添加更多主流版本控制功能。这部分取决于版本控制系统处理虚拟文件系统的能力——Notes 数据库中的设计元素都作为离散组件驻留在“NSF”文件(Notes 数据库)中,而不是磁盘上的简单平面文件(这显然适用于 Subversion、CVS 等)。

于 2009-08-12T12:18:13.623 回答
1

它必须是 Team Studio CIAO,是的,它不是共享软件,而且价格不便宜,但是如果您添加用于查找对象和代码(并在必要时查找和替换)的配置器和 Delta 以将模板或数据库与模板进行比较,它会付出代价本身多次。

我会定期对设计进行快照,如果您认真对待良好的版本控制,那么签入签出过程就不会那么繁琐。如果他们有内部开发人员,我将其列为我的客户必备的工具。

您只需要在开发环境中使用它,因为您不应该在 UAT 或现场进行任何代码更改!我还将代码片段和有用/可重用的功能存储在 Lotus Notes 数据库中,如果您想重用它,您可以将其剪切并粘贴到其他地方。

通过与团队工作室人员的交谈,我了解到 8.5 版本将更全面地与设计器客户端集成,因此更易于使用,尽管尚未看到它的实际应用。

于 2009-12-11T09:05:45.513 回答
1

我偶然发现了这个问题。事情发生了变化,(openntf)GIT现在可以使用了。和/或源代码启用 SVN/CVS。8.5.3 应该包括源代码启用。

于 2011-06-15T10:24:46.740 回答
0

Teamstudio 是市场上最好的产品。我用过它们,没有任何问题。它们并不便宜,但如果您正在做一些需要多个开发人员或需要控制发布过程进行更改的事情,您需要获得 CIAO。

http://www.teamstudio.com

注意:我没有为此背书付费/赞助。

于 2009-12-27T04:47:25.130 回答