Version control and bug tracking
In my years of developing software, I come to realize that what every software development department needs is:
- some sort of IDE with a compiler
- version control
- and bug tracking.
Usually you get stuck with IDE with a compiler. Everything else is up to you. But how are things in Lotus Notes?
Version control
As expected Lotus Designer doesn’t have an integrated version control software. Not yet anyway. They are planing to build subclipse to work in new 8.5 designer, but that still needs some time. Also most people are probably still stuck at R7.
Well, one of the things you could use is Teamstudio Ciao!. This is a payed software meaning that either it becomes your department policy to use it or you will never use it. I had a chance of working with Ciao and I have to say that I was less than impressed. But that is just me. I know a lot of people using it without any drawbacks and with lack of tools out there, this is probably the way to go.
Next widely used option is to use separate templates for each and every version of your application. There are two things wrong with this. One is that there is no way any developer would do a new template just for fixing one single agent. Second one is that I am yet to see a consistent template policy.
Another possibility is to copy your database locally and then import it into Subversion (SVN) or perhaps write a script that would periodically do that for you. The thing is that you won’t be able to just revert to desired version of the database without deleting the existing one. There is one other option. You could export objects (agents, views etc.) as DXL, import it into SVN and then when needed import DXL back to the database. However, DXL is not 100% representation of design elements. Thus I wouldn’t recommend it.
As mentioned there is a subclipse project that would enable subclipse in Domino Designer 8.5. Subclipse is Eclipse plug-in for Subversion. And since Domino Designer 8.5 is built on Eclipse framework, this would finally solve most of our version control issues.
Bug Tracking
Why bug tracking? Well, I am yet to see software without bugs. And the thing that helps the most is some sort of bug tracking engine. However, oddly enough, this is the part rarely seen and used. Typical bug tracking process should go like this:
- someone reports a bug
- developer is assigned to the bug
- developer fixes the bug
- third person (inside a company and related to project the bug was reported for) tests the fixed code
- bug report is completed.
Now, show of hands. How many of you have this process implemented in your development cycle? I thought so. But being a Notes developer, what are your options?
There is a great open source project at openntf.org called BugTracker. Another option is to use some commercial product like Trackersuit Help Desk Software or similar.
If you are not attached to domino apps only, there are tons of open source applications for bug tracking. Probably most known amongst them are Mantis BugTracker and Bugzilla.
The most inappropriate systems for bug tracking I have seen thus far are internal forum and wiki. These applications are not meant to be bug trackers. So, please, don’t use them as such.
January 25th, 2009 at 21:50
Just curious what about CIAO! didn’t impress you? Something I might be able to answer even? Teamstudio is very interested in feed back and if there was something that didn’t work for you, we would love to hear about it.
January 28th, 2009 at 08:02
It is nothing against Teamstudio. I think their products are great.
CIAO!, at least when I used it, was a bit awkward to use. Specially if you compare it to use of Subversion.
It was nothing major. Just little bits. Like not being able to check out an item, if someone forgot to check it in. Even if they didn’t do anything but save an object with another space :). Things like that.
February 5th, 2009 at 14:31
I see. A lot of people who walk away disappointed with CIAO are comparing to Subversion or some other ‘mainstream’ source control tools which is unfortunate because it’s a little bit of an apples to oranges comparison. People who know and are comfortable with the way tools like Subversion work are going to be disappointed or put off because, for example, CIAO does not have a ‘repository’ which the way you treat and work with your code at a very basic level.
The other big problem, and this isn’t meant to be an excuse, but ISVs like Teamstudio and tools like CIAO are a very low priority for IBM. As a result, most of the UI and usability issues with CIAO steam from the fact that Domino Designer just doesn’t support it. For example, getting the design element currently selected in Designer (either in the design list or in the editor) isn’t possible. This type of thing makes CIAO!, as you rightly observe, to feel very awkward.
Anyway, thanks for bringing up the topic of Source Code and version control (this was the original reason that brought me to your site). It is not talked about enough in the Lotus community and I think it should be!
Craig
March 18th, 2010 at 18:52
Does Subclipse work for standard design elements?
March 18th, 2010 at 20:16
Well, as far as I know, it should work for all source code.