views:

1859

answers:

6

The title says it all - 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).

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

kerrr
Yuk, you need to register on their site even to only download the datasheet of the product. How unfriendly.
Sunny
Yeah, I know, not good. Very old school.
kerrr
+4  A: 

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

Carlos
Finally a pointer to the right direction. Thanks, I'll check these.
Sunny
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 http://www-10.lotus.com/ldd/nd85forum.nsf/7756aedc25e6d81285256324005ac76c/a1b13fa6de5b045f852575e600598aa8?OpenDocument
Olivier BOISSIN
+2  A: 

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

Ben Poole
+1  A: 

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.

Anders Lindahl
A: 

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.

AndrewB
A: 

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.

giuliocc