Keeping Track of Changes in Notes and Domino Applications

By Nigel Cheshire

As the father of four daughters, I’ve seen my fair share of Disney animated movies. Many of those stories are based on traditional fairy tales, and many of those were written or transcribed from earlier stories by the Grimm brothers way back in the early 19th century.

It’s pretty well known that many of the stories that the Disney kids’ movies are based on have been well edited in comparison to their original versions. Jacob & Wilhelm Grimm first published their book of fairy tales in 1812, and some of the details in those stories are pretty, err, grim compared to their Disney equivalents.

In the Grimm brothers’ version of Cinderella, for example, the stepsisters go so far as to cut off their toes and heels to get the glass slipper to fit. Not quite sure how the prince didn’t notice as they were trying it on, but apparently it was down to some doves to tell him how the sisters cheated. The doves later come back (during Cinderella’s wedding, no less) to peck out the eyes of the stepsisters. I don’t remember any of that happening in the Disney version.

The point is, that the story of Cinderella, along with many other of those old tales, has changed over time. Even the Grimm brothers changed the stories in a relatively short period of time, making the book of “Children’s and Household Tales” more child-friendly over time.

These days, fictional books don’t usually change once they’re published. Once you’ve read a Harry Potter book, you are not anxiously waiting for version 2.0 of the same story to come out.

Software, of course, is different. Like works of fiction, software is based on written text, but by its very nature it will change over time. In fact, that’s a huge and necessary part of software development - the ability to manage changes to what the original author(s) wrote.

That’s why the tools you need to create and manage software need to be a bit different to the tools that writers use. Managing versions, in particular, is a challenge for software developers that most fiction writers don’t have to deal with.

I wrote about version control systems for IBM Lotus Notes and Domino developers a couple of weeks ago. But whether you already use version control or not, it’s a good idea to have a reliable way of finding out exactly what the differences between two versions of an application are.

That’s why we created Teamstudio Delta. What Delta does is simple enough to understand. It shows you all the (significant) differences in the design of two Lotus Notes applications. If you’re familiar with other differencing tools, that might not sound like much. But keep in mind that IBM Lotus Notes and Domino has an unusual, proprietary and pretty impenetrable way of storing the design of a database. So unless you’re exporting the entire design out to DXL and comparing that, it’s not a straight text comparison task. Even if you were to “diff” the DXL representation, it’s pretty hard to work out what part of the actual application the DXL that you’re looking at represents.

So we went to great lengths to show the differences in the context of the application itself. And, we also put a lot of effort into working out what differences are meaningful, versus those things which just change every time you open or close a Notes database. (There’s more of those than you might imagine.)

Also, the nature of Notes and Domino applications is that many of them are based on the standard templates that ship with the product (mail, discussion, teamroom, etc). So when a new version of Notes is released, it’s a challenge to merge the customized versions of those templates with the changes in the new release, unless you have a surefire way of detecting the differences.

So, if trawling through two different versions of a database design looking for changes from one version to another has you feeling a bit like Cinderella cleaning the ashes out from the stepsisters’ fireplace, maybe you should take a look at Delta.

We’re always happy to chat! To start a conversation, click below.