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

ThinkingStiff
  • 64,767
  • 30
  • 146
  • 239
Sunny Milenov
  • 21,990
  • 6
  • 80
  • 106

7 Answers7

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

Carlos
  • 1,696
  • 1
  • 14
  • 21
  • Finally a pointer to the right direction. Thanks, I'll check these. – Sunny Milenov Jun 02 '09 at 15:22
  • 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 Apr 06 '10 at 10:01
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:

Community
  • 1
  • 1
Anders Lindahl
  • 41,582
  • 9
  • 89
  • 93
  • How do you generate these snapshots? Are you using CIAO or an in-house utility, and if in-house how does it work? – Panky Apr 26 '11 at 21:57
  • We use an in-house utility, I've added some notes about how it works. – Anders Lindahl Apr 27 '11 at 05:08
  • 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. – Panky Apr 27 '11 at 21:44
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.

Kerr
  • 2,792
  • 21
  • 31
  • Yuk, you need to register on their site even to only download the datasheet of the product. How unfriendly. – Sunny Milenov Nov 20 '08 at 18:09
  • 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. – angryITguy Nov 19 '10 at 03:11
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).

Ben
  • 7,548
  • 31
  • 45
  • 2
    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. – Ben May 27 '11 at 09:30
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.

AndrewB
  • 31
  • 2
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.

Jasper Duizendstra
  • 2,587
  • 1
  • 21
  • 32
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.

giuliocc
  • 64
  • 4