Best practices for version control for Lotus Notes/Domino development
Asked Answered
J

7

8

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).

Joanniejoao answered 12/11, 2008 at 21:47 Comment(0)
F
8

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

Fatsoluble answered 29/5, 2009 at 14:38 Comment(2)
Finally a pointer to the right direction. Thanks, I'll check these.Joanniejoao
Sounds great. I'm waiting for a real version control system for years. Let's hope SVN will be integrated into Designer, according to Maureen Leland this could happen someday www-10.lotus.com/ldd/nd85forum.nsf/…Firry
A
3

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.

Athalee answered 20/11, 2008 at 17:56 Comment(2)
Yuk, you need to register on their site even to only download the datasheet of the product. How unfriendly.Joanniejoao
the tools are pretty good though .. better than the SVN plugin... I have done it and never got hassled, i also filter my data that i put into anyone's website.. only put what you need to get what you want.. i add bogus info to protect my privacy when required. But IBM have destroyed Lotus Notes with all this eclipse crap. Looks good on paper, but they just created bloatware that is still hard to use. Version 8 is more than 2 yrs old, and they're still fixing it. Bad execution on this. IBM=Complexity.Desdee
S
3

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 ...

  • Can make "snapshots" (full copies) of the Dev template, and keep track of these.
  • Replace the design of Test and Prod with the snapshot we choose.

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:

Spore answered 15/8, 2009 at 17:6 Comment(3)
How do you generate these snapshots? Are you using CIAO or an in-house utility, and if in-house how does it work?Aborn
We use an in-house utility, I've added some notes about how it works.Spore
Thanks for the detail! I need to see if we can use something like that. We are migrating off Notes soon (thought it has been "soon" for the last 3 years as I understand it) so CIAO seems unlikely to be purchased, and I wanted to know what else was possible.Aborn
T
2

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).

Thermion answered 12/8, 2009 at 12:18 Comment(1)
Just to keep this current, SVN and git are now available to Domino developers running 8.5.x, as Domino Designer on Eclipse gains more functionality.Thermion
A
1

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.

Ammadas answered 12/11, 2008 at 21:47 Comment(0)
R
1

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.

Resolutive answered 15/6, 2011 at 10:24 Comment(0)
L
0

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.

Ladyinwaiting answered 27/12, 2009 at 4:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.