HCL Domino Version Control Tooling: Why Specificity Matters

By Nigel Cheshire

If you’ve ever done any home improvements or car maintenance, you might be familiar with this scenario. You reach for a screwdriver bit. Flat blade or cross head? You pick up the cross head bit, but it doesn’t quite correctly fit the stubborn bolt or screw that you’re trying to remove. No matter how hard you try, the driver just slips in the bolt head until the recess in the bolt head is worn out and the driver is just spinning uselessly.

What’s going on? Well, it turns out that there is more than one type of cross head screwdriver design, and, although they look basically the same, they are very slightly incompatible.

The most well known of the cross head screw designs is probably the Phillips drive. Patented by inventor John Thompson in 1933, the design was purchased by businessman Henry Phillips one year later. While the Phillips drive was designed to “cam out” at high torque loads, preventing damage to over-tightened screws, the competing Frearson design features a more angled tip and a sharper cross design which allow higher torques to be applied. Of course, the two designs, which may appear identical to the uninitiated, require slightly different tools.

It doesn’t stop there. There’s the Pozidriv and Superdriv designs (which are compatible with each other, but not the others). JIS is a Japanese design which is different again, then there’s the Phillips II, Mortorq and the exotically named French Recess to add to the list. Each of them slightly different variations on the basic cruciform screw head design requiring slightly different tooling to be used correctly.

Meanwhile, Canadians, apparently, prefer their drive bits square. The Robertson drive features a square recess and driver, and is commonly used in Canada. Chacun à son goût, eh?

So what’s the point?

Well the point is that, whether it’s screws and bolts or customized HCL Domino applications, you need the right tool for the job. Specificity matters: even if a tool looks like it will fit, there may be some subtle reasons why it won’t work, and may even make matters worse.

My favorite example of this is when it comes to version control for your HCL Domino application development. I’ve written before about why centralized version control systems are more suited to Notes development than distributed systems. Sometimes, however, people get a bit overzealous about this whole issue and miss some of the subtleties of the argument.

Recently, there has been a dramatic shift away from centralized version control systems (think Subversion, CVS) toward distributed version control systems (DVCS’s), and for good reasons. For most text based, file centric development environments, DVCS’s like Git and Mercurial are perfect. HCL Domino, of course, is different. If you’re building or maintaining traditional Notes/Domino applications using design elements such as forms, views, agents, etc., those design elements don’t map neatly onto text based files that can be managed in Git or Mercurial.

Theoretically, it is possible to export the elements to DXL and manage them that way. But the process is cumbersome and error prone, and we are not aware of anyone who is working successfully that way. Also, since Notes and Domino 10, the preferred way to build new applications that access Domino data is using Javascript and Node, and if that’s your bag, then Git or Mercurial are almost certainly the way to go.

However, if you’re using good old Domino Designer to wrangle Notes forms, views and agents, then Teamstudio CIAO! is the tool for you. The reason, as you have probably twigged by now, is that it is designed specifically to handle the nuances of the HCL Domino design environment. CIAO is the only source code management tool that will allow you to manage individual Notes design elements from within the Domino Designer environment.

You could say that HCL Domino design elements are the French Recess of the software development world. In which case, put your Phillips and Pozidrivs away; Teamstudio CIAO! is the esoterically matching drive bit.

To learn more about Teamstudio CIAO! or to start a conversation about any aspect of HCL Domino development, click below. We’re always happy to chat!