Domino source control: CIAO! versus Mercurial/SVN/GIT/…?

A very short question for the experts out there: what should I use for source control in Designer? We have some CIAO!-licenses here we could start using, but what are the additional benefits of CIAO!? Is it easier/better integrated/more stable? Or not really worth the money? I checked Teamstudio’s site, but they don’t really offer a real comparison with the open source alternatives out there. So, what do you use for your version control?

11 Comments

  1. I would forget about CIAO. Even Teamstudio seems to be doing the same, they’re putting all their money in the mobile area.

    I’m using subversion but also looked into Mercurial. I guess it boils down to whether you need a central repository or not.

    Reply
  2. If you’re doing 90% of your development for Domino/Notes Client AND/OR need actual design locking then CIAO is still a viable solution I suppose. Though, I do wonder how long Teamstudio will keep going with it.

    If you’re working with XPages or plan to, then moving to true “source control” like Mercurial is absolutely the way to go. No brainer there.

    I use Mercurial at the day job and also for home projects. In the day job we have a redmine server. For home I use BitBucket and really like it. so it’s very easy to get started and play with it.

    Check out the Russ Maher Videos on DDE and Mercurial. http://xpagetips.blogspot.com/2013/04/source-control-good-stuff.html

    Reply
  3. I can’t recommend the use of a Distributed SCM enough. Mercurial and git have subtle differences that probably won’t change much about how you use them, but both are vastly superior to all other source code management platforms.

    Your instinct will be to install an SCM directly into your IDE, but this is not necessary. You can install an SCM into your operating system and use it to manage any type of project anywhere on your local system.

    Reply
  4. Nathan,
    I know people use the external app for source control but how seemless is that with DDE? Do you need to manually refresh the nsf with the flat file after you pull from an external app for instance?

    Reply
  5. Hi

    If you are mainly working with forms, views etc then despite the industry luminares above dismissing it out of hand, it must be CIAO as it is designed from the ground up to work for Domino and has done for 15+ years, plus you already have the licences.

    If you are mainly working in XPages, Java, SSJS etc then CIAO has less going for it, but all elements are supported and I am not aware of any major problems for CIAO working with these.

    In DDE the integration of CIAO allows for the checking in and out without the old pre8.5 requirement to open the CIAO UI. Overall, from my experience of the many customers weighing this choice up over the last few years, it often comes down to the preferences of the developers that will have to use the system. Not everyone is comfortable with SVN/Merc/Git if they have lived most of their life in Designer or DDE.

    As a further consideration, not everyone has complete success with SVN/Mercurial/Git etc, I’ve just heard from an ex-CIAO customer who is currently using Mercurial and was quite surprised at the problems he has encountered with elements containing LotusScript, as well as still having DXL round-tripping issues on the traditional elements.

    Similarly, I installed a CIAO system for a customer who had been using Git but switched to CIAO because they couldn’t get on with Git in Domino. Mostly on the usability stakes due to the way they worked IIRC.

    Just to close off the last point in the OP, we are aware the website has limited info on the topic, but I am working on something to cover this gap at the moment so apologies for it being a little sparse in this area.

    @David we have just released E30 of the tool suite and continue to have a roadmap going forward, with dedicated resources assigned to tools development and support.

    @Vitor The tools are very well known and successful in a market that now has little growth potential. Unplugged and Continuity are new products in new markets with massive growth potential. Where would you put your limited marketing resources?

    Reply
  6. Sorry, my line at the top of my comment about being a Teamstudio employee was mistaken for a HTML tag.

    Reply
  7. Wow Grant! Industry luminaires? Moi? I assume that was directed at me as I was the only one who “dismissed” CIAO. I’m certainly no luminaire and wouldn’t completely dismiss it, as you know I work in an environment that uses CIAO and other TS tools in a managed development process.

    I totally agree with you. At this stage your money should be going into the mobile space. And… you just proved my point. You as a vendor shouldn’t put your money in CIAO and I as a client shouldn’t put mine either.

    Reply
  8. I might as well jump in here also. Full disclosure, I used to work for Teamstudio, and spent a great deal of time developing and advocating CIAO! and all the other tools at Teamstudio. As you might expect I have a lot of opinions on development tools, source control, best practices, etc…. If anyone wants to talk in more depth on the subject, I’d be happy to do so.

    The reasons for choosing any source control system should be more about what your goals are and how you currently work (or want to work). There are generally 2 types of source control systems. The first, and most familiar are the kind that lock the artifact while you work on it so no one else can make changes to it – check out / edit / check in. Then there are the more recent distributed version control systems like Git and Mercurial. These work slightly different in a edit / merge / commit model. Any one can edit the artifacts when ever they choose, but before they can commit those changes they must merge any changes made by others into their changes, then they can push the new changes back into the master repository.

    Understanding the way the tools work is extremely important when deciding on the tool you will use. In my opinion, the distributed systems are better in general, but require a much higher level of commitment by the developers if you want to be successful. This mostly comes down to how you need to handle multiple developers working on the same applications at the same time because eventually you will have to merge changes. Merging changes in any language can be a challenge, especially in an app that is rapidly changing. Merging Domino elements is especially challenging both because of the DXL issues in legacy elements, and in elements like XPages, which despite being XML, tend to be developed in the design pane. Small changes to an XPage can have a huge effect on the formatting of the underlying XML, which will cause a merge to be very complicated to understand. Also, because these systems are DXL based you have to consider the version requirements of your development team. DXL has been in flux for a very long time. One of the key abilities source control gives you is the ability to roll back changes to previous versions. While I do not have any specific examples, future versions of Notes might not be able to roll back elements from your repository. IT might be a bug in Notes, or it might be something that got discontinued, and it doesn’t have to be many years down the line. One developer on a later version of Notes than the rest of the team could cause a lot of trouble.

    The other thing I have to mention here is that I met a wide variety of developers in my days at Teamstudio. Lots understood the benefit of source control, and were willing to change the way they worked in order to reap those benefits. Others however, had source control forced on them and actively worked to subvert the processes management wanted to implement. In the later case, tools like Mercurial or Git are doomed. Tools like CIAO will still be a challenge, but are much easier to manage and enforce due to it’s centralized nature. With all tools you get out of them what you put in. Don’t expect a tool to fix your people or process problems.

    As for Teamstudio’s commitment to the tool, that is something you definitely need to consider also, but CIAO! has a very solid track record, and has served a great many companies development teams for a very long time. It works with Notes very well both in the technical sense, and in the people sense (it works the way most Notes developers want to work). The distributed tools are comparatively new to the scene and will have a few more rough edges.

    Reply
  9. In order to avoid any misunderstanding, let me say on behalf of Teamstudio that we are most definitely committed to the on-going support and development of the CIAO! product. Edition 30 shipped last month and includes a redesigned and updated UI. In fact there are thousands of users around the globe using this tool today and we will continue to provide first class support and along with a reliable, evolving source code control system.

    As to the question of which tool/system will suit a given project or client, this of course will vary on many technical and development process based factors. Several are being discussed here, and in some cases CIAO! will not be the best solution. Makes perfect sense. We will continue to support and enhance our product in an effort to meet the needs of the market the best we can.

    Hope this helps.

    Reply
  10. What do you recommend for a domino application (with xPages) on Notes 9? There are multiple people working on an application and there are several such applications?

    In CIAO, currently we update design elements manually. Is there a way to merge and update all programmers design update(like patch in mercurial)?

    Reply
  11. If you’re doing XPages then you really don’t want CIAO at all. Don’t get me wrong I liked CIAO and love Teamstudio but it’s just not how you should be doing it in the XPages world.
    You want to use SourceTree with the On Disk Projects. There’s been several videos on this at NotesIn9.com. There’s been a bunch of blog posts as well by various people. Without a doubt this is how you should do source control for xpages. SourceTree works with Hg and Git so you can use either seamlessly really.
    Now you do need to go slow… come up with a plan as there’s a learning curve. I don’t think I have a ton of information on that regarding teams strategies as I’m not a full expert myself… But each person should stay in their own branch. We use HG flow to make things easier.
    We have a lot of success with this in out XPages team environment.

    Reply

Leave a Reply to Dan Colbert Cancel reply

Your email address will not be published. Required fields are marked *

− 4 = 4

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>