We want to know if there is any check-in check-out feature available within the TW platform itself (like Tortoise SVN) for maintaining different code versions and also to track fixes/changes.
We know that we have an option of Export Source Control Entities. But this just creates a file system with different directories like Users, DataShapes, etc.
However we are interested in knowing if TW itself maintains different versions of the code and can keep a track of different versions of the code so that it can be helpful for tracking changes/fixes. We are also interested in knowing if we can directly check-in and check-out the code instead of Export/Import.
We do not have this within Thingworx, we recommend you use some other Source Control program together with Thingworx to do Source Control.
Thanks for the inputs. What is the recommended approach that you suggest for using Thingworx with some other source control say tortoise SVN? Is it using the export source control option as mentioned in "Thingworx Development Guidelines" (Link - community.thingworx.com/community/developers/blog/2015/09/06/thingworx-development-guidlines)? In case this source control folder is set as say SVN path then how to know if a file change has occured in composer from this setup so that it can be marked as checked-out. Kindly provide docs/links explaining how Thingworx source control can be integrated to other source control systems and how is the check in-check out mechanism recommended out of this approach.
Also giving below three observations related to the same. Please provide your inputs.
1. Assume scenario where only one thing is modified after export to source contol option is done. On import to source control if we select "Check Difference", in Difference list it is showing the modified thing as well as some other entities which are in no way related to this change (like some datatables, streams which are not related to this thing)
2. Assume same scenario where only one thing is modified i want to export only that change to Source control folder but when i select the same instead of showing source control location it points to drives in my system to store the exported xml. I was expecting that it would lead to it's corresponding folder structure in source control (in this case it should ideally go to the Things folder in source control folder)
3. There is a service GetDifferences which will list differences if a selected entity is given but the differences are in form of infotable and i could not figure out the exact differences in two versions though i looked into the infotable in detail. Is there any mechanism we can see the previous and current code version differences only which helps in understanding what was the code change made from one version to another ?
Do you have ideas for this now?
I'm working in PTC Thingworx and concerning about how to apply source code control to Thingworx Development effectively.
This hasn't improved much at this time unfortunately.
We do have Export Entities for Source Control and you can check that structure into some source control program, but there is still a lot of manual process involved and there isn't a good way to merge changes.
Hi, you can Export / Source Control Entities for some individual entities or for whole platform, limited in a range of time. Then you can copy the files exported to a git folder to keep track of changes. For any conflict, I recommend a content checker to compare the different of two versions. Use always the last version of ThingWorx entities (from git) to avoid any conflict as usual.
If the same ThingWorx entity is not modified by many users in the same time, it can be merged without issue.