Lotus Notes/Domino 开发版本控制的最佳实践
请分享您如何对 Lotus Notes/Domino 开发进行版本控制。
我想将所有脚本、视图、自定义表单、脚本库等放入我们的 SVN 存储库中。
半自动化方法也可以接受(即,如果我找到一种方法来获取一个文件中表单的所有事件脚本,并能够将其作为整个文件放回 Notes Designer 中)。
Please share how you do version control for Lotus Notes/Domino development.
I want to put in our SVN repository all the scripts, views, custom forms, script libraries, etc.
Semi-automated methods are accepted as well (i.e. if I find a way to get all the event scripts for a form in one file, and to be able to place it back in Notes Designer as a whole file).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
openntf 项目 Design Catalog 可用于版本控制。 它使用kerr提到的dxl技术。
www.openntf.org/projects/pmt.nsf/ProjectLookup/DesignCatalog
在lotusphere,lotus911 的人提到他们将Design Catalog 与Trigger Happy 结合使用。
www.openntf.org/projects/pmt.nsf/ProjectLookup/Trigger%20Happy
The openntf project Design Catalog can be used for version control. It uses dxl technique mentioned by kerr.
www.openntf.org/projects/pmt.nsf/ProjectLookup/DesignCatalog
At lotusphere the lotus911 people mentioned they used the Design Catalog in combination with Trigger Happy.
www.openntf.org/projects/pmt.nsf/ProjectLookup/Trigger%20Happy
简而言之,您将无法以自动化或半自动化的方式可靠地完成此操作。 如果 DXL 具有完全保真度和完全往返功能,那么您将能够在 SVN 中存储设计元素的 DXL 导出,但有些地方 DXL 还不够好。
您将获得的唯一真正的版本控制是通过第三方供应商进行的,例如 TeamStudio 的 CIAO< /a> 产品。
更新:
有些人报告成功以编码的二进制格式导出元素,该格式在导入时保持完全保真度。 这使得出于版本控制目的的往返成为可能。
The short answer is that you aren't going to be able to do this reliably in an automated or semi automated way. If DXL had full fidelity and full round-trip capability then you would be able to store DXL exports of the design elements in SVN, but there are places where DXL isn't good enough.
The only real version control you are gong to get is via propitiatory third part vendors like TeamStudio's CIAO product.
Update:
Some people have reported success in exporting elements in an encoded binary format that retains full fidelity on import. This makes round tripping for the purpose of version control possible.
我想我可以分享一下我们如何进行版本控制 - 我们尝试了 CIAO,但是当我们每天必须多次“重新编译所有 LotusScript”时,不断的签入/签出变得很麻烦。
我们当前的解决方案使用三个模板:Dev、Test 和 Prod。 还有一个内部开发的小型实用程序数据库......
该实用程序数据库最近添加的一项功能是在创建快照时删除设计元素继承。 这使我们能够在开发环境中利用设计级别继承,但保留测试和生产模板而不会出现令人讨厌的意外(除了客户端中内置的模板......)。
我们还进行了一些健全性检查 - 检查“副本”和“另一个副本”元素 - 猜测可以在此处添加更多功能。
我想可以开发一个类似的解决方案,使用 SVN 作为快照文件的存储。
编辑
快照由NotesDatabase.CreateCopy。 在新副本中,我们执行以下操作:
Thought I might share how we do revision control - we tried CIAO but the constant checkin/out got cumbersome when we had to do "Recompile all LotusScript" several times a day.
Our current solution uses three templates: Dev, Test and Prod. There is also a small in-house developed utility database that ...
A recent addition to this utility database was the ability to remove design element inheritance when creating a snapshot. This gives us the possibility to utilize design level inheritance in the Dev environment, but keep the Test and Prod templates without nasty surprises (apart from the ones built into the client... ).
We also do some sanity checks - checking for "Copy Of" and "Another Copy of" elements - guess much more functionality could be added here.
I guess it would be possible to develop a similar solution that use SVN as storage for the snapshot files.
Edit
The snapshots are created simply by NotesDatabase.CreateCopy. In the new copy, we then do this:
正如 Kerr 所说,Domino 唯一的完整版本控制系统(并且需要付费)是 Teamstudio CIAO!
Eclipse 中的 Domino Designer(“DDE”)是 8.5 版以上 Domino 工具集的一部分,人们正在谈论添加更多主流版本控制功能。 这在一定程度上取决于版本控制系统处理虚拟文件系统的能力 — Notes 数据库中的设计元素全部作为离散组件驻留在“NSF”文件(Notes 数据库)中,而不是磁盘上的简单平面文件(显然,它与 Subversion、CVS 等配合得很好)。
As Kerr says, the only full version control system for Domino (and it costs) is Teamstudio CIAO!
With Domino Designer in Eclipse ("DDE") which forms part of the Domino toolset from version 8.5 up, there is talk of adding more mainstream version control capabilities. This is, in part, dependent on the ability of version control systems to cope with virtual file systems—design elements in Notes databases all reside as discrete components within an "NSF" file (Notes database), rather than simple flat files on disk (which obviously work well with Subversion, CVS, et al).
它必须是 Team Studio CIAO,是的,它不是共享软件,而且并不便宜,但是如果您添加用于查找对象和代码(并在必要时查找和替换)的配置器以及 Delta 来比较模板或数据库与模板,那么它是值得的本身多次。
我定期拍摄设计快照,如果您认真对待良好的版本控制,签入签出过程并不那么繁重。 如果我的客户有内部开发人员,我将其列为必备工具。
您只需要在开发环境中使用它,因为您不应该在 UAT 或实时环境中进行任何代码更改! 我还将代码片段和有用/可重用的函数存储在 Lotus Notes 数据库中,如果您想重用它,您可以将其剪切并粘贴到其他位置。
从与团队工作室人员的交谈中我了解到,8.5 版本将与设计器客户端更全面地集成,因此更容易使用,尽管还没有看到它的实际应用。
Its got to be Team Studio CIAO, Yes its not shareware and it isn't cheap but if you add in configurator for finding objects and code (and find and replace if necessary) and Delta to compare templates or database with templates and it pays for itself many times over.
I take snapshots of the design on a regular basis and the check in check out process isn't that onerous if your serious about good version control. I list this as a must have tool for my clients if they have in house developers.
You only need it in the development environment as you shouldn't be doing any code changes in UAT or live! I also store code snippets and useful/ reusable functions in a Lotus Notesdatabase, you can then just cut and paste it into other places if you want to reuse it.
I understand from talking to the team studio guys that the 8.5 version will be more fully integrated with the designer client and hence even easier to use although haven't seen it in action yet.
我偶然发现了这个问题。 事情已经改变了,(openntf) GIT 现在可以使用了。 和/或 源代码启用SVN/CVS。 8.5.3 应该包括源代码启用。
I stumbled upon this question. Things have changed, (openntf) GIT can be used now. And/Or Source Code Enablement SVN/CVS. 8.5.3 is supposed to include the Source Code Enablement.
Teamstudio 是市场上最好的产品。 我用过它们,没有任何问题。 它们并不便宜,但如果您正在做的事情需要多个开发人员或需要受控的变更发布过程,那么您需要 CIAO。
http://www.teamstudio.com
注意:我没有因此认可而获得报酬/赞助。
Teamstudio are the best products on the market. I have used them, and dont have any trouble. They're not cheap, but if you're doing something requiring multiple developers or requires a controlled release process for changes, you need to get CIAO.
http://www.teamstudio.com
NOTE : I am not paid/sponsored for this endorsement.