Code Tracking

Wanted to come on here and paste a copy of an email I sent to Mary a while ago in the hopes that I can rally enough community support to make it happen:

We’ve been thinking a lot here about version control and team development. We could create a Git repository containing our Opto strategies, but it wouldn’t do us much good because Git doesn’t understand Opto’s files. However, I wonder if it would be possible for Opto to write some XML files when it saves charts/subroutines/strategies. So, for each subroutine with a .isb file, also write a .xml file. I’ve attached a sample XML file from the FetchFloat subroutine I wrote…

Here are some of the reasons:

  1. It would allow customers to use version control software because the version control software could "understand" the XML files.
  2. It would allow customers to do custom documentation/etc. using XSL and the XML files. For example, if we did something like auto uploading those XML files to a web server, we could parse and display that information in a variety of ways. Then, if somebody else needed to see something about the strategy I'm working on, he could go look at the web server, which would theoretically update every time I saved a chart/strategy/subroutine.
  3. I would allow me to provide documentation to non-developers (maintenance guys, etc.).
  4. It would provide much greater searchability than is built into Opto. I could search the XML files for any place across multiple strategies where a given subroutine is used, for example. Where all am I using any communication handle? Where all am I using a given command?

I’m really hoping we can make this happen. My job would be so much easier if we were able to develop better documentation for our Opto code, and I can’t be the only one who would seriously benefit from this. As a side benefit, I think it could lead to more open source Opto code and a more vibrant community of Opto developers.

Can we please make this happen?

Example XML file:

1 Like

Thumbs up from me.

I just noticed this post today. That would be great! We’ve talked about version control over here, too, and would love to have something of the sort.

I know it’s not free, but M-Files might do what you want. (There might be a free, limited version) It does version control for any file I have used and there is a check in/out process involved. I typically use this for my CAD files which contain inter-file linking, so I don’t see why it wouldn’t work with this (Although I have never tried nor thought about it.).