Compare differences between two Ignition projects

Hi all,

We have two separate environments where we are running Ignition. One environment is for Development. The second environment is for Production.

We do our testing and development on Development environment. Eventually, we move the project on Development environment to the Production environment.

Is there a way to compare what has changed in the project so that we can only push the changes (not the whole project)? Is there way to keep track of what has changed?

Thanks in advance

My only advice is this - write as much of your business logic in your scripting modules as possible and call that from the GUI. The scripting modules you make are saved as plaintext .py files under your project directory. You can use github to manage those changes and changes would be human readable (ie line 5 used to be print "hello" and now line 5 reads print "goodbye"). You’d be able to leverage Githubs difference tracker on your scripts that way. This is also just good coding practice to put all of your business logic into separate functions instead of entwining your GUI with your business logic.

Perspective views are json and you could probably parse differences. I don’t think there is any way to track GUI changes in Vision though.

Again though the most benefit for least effort and for best practices would be to make sure you script as much as possible within your scripting modules and call those from the GUI. It will make your project way more maintainable in the long run as well. I only reiterate this because I have to deal with many projects that do not follow this and they all quickly become headaches to maintain and it is my number one pet peeve when dealing with Ignition projects. Avoid the Magic Pushbutton

2 Likes

And the magic styling for that matter, and magic enumerated tag values…

2 Likes