Lotus Notes / Domino开发的版本控制的最佳实践

时间:2008-11-12 21:47:17

标签: svn version-control lotus-notes lotus-domino lotus

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

我想在SVN存储库中放入所有脚本,视图,自定义表单,脚本库等。

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

7 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

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

你唯一真正的版本控制是通过像TeamStudio's CIAO产品这样的第三方供应商。

更新

有些人报告说,以编码二进制格式导出元素成功,导致导入时保持完全保真度。这使得可以进行循环跳闸以实现版本控制。

答案 2 :(得分:3)

以为我可能会分享我们如何进行版本控制 - 我们尝试了CIAO,但是当我们每天要做几次“重新编译所有LotusScript”时,常常签入/退出会很麻烦。

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

  • 可以制作开发模板的“快照”(完整副本),并跟踪这些内容。
  • 测试产品的设计替换为我们选择的快照。

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

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

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

修改

快照仅由NotesDatabase.CreateCopy创建。在新副本中,我们会这样做:

答案 3 :(得分:2)

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

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

答案 4 :(得分:1)

它必须是团队工作室CIAO,是的它不是共享软件,它并不便宜但是如果你添加配置器来查找对象和代码(并在必要时查找和替换)和Delta来比较模板或数据库与模板和它为自己付出了很多倍。

我会定期拍摄设计的快照,如果您认真对待良好的版本控制,那么签入结帐流程并不繁琐。如果他们有内部开发人员,我会将此列为我的客户必备工具。

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

通过与团队工作室人员交谈,我明白8.5版本将与设计师客户端更完全集成,因此更容易使用,但尚未见到它。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

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

http://www.teamstudio.com

注意:我不支持/赞助此次认可。