cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X

Best Practices for Source Control in Thingworx

PreetiGupta
14-Alexandrite

Best Practices for Source Control in Thingworx

Is there a way we can do source control within Thingworx? I am looking for best practices on this. I am aware of tagging to relate all the entities in the project. Export these files and store in a source control system.

How do we make sure that developers don't override the work working in the same Thingworx instance. Please share your experience and concerns :-)

Thanks,

Preeti

5 REPLIES 5

Preeti, the developers would have their own individual accounts right? One thing to do, is make use of the comment button right next to save. In that way, someone can document the changes they did before saving the entity.

PreetiGupta
14-Alexandrite
(To:Aanjan)

thanks Aanjan for responding. Given an example of PTC-Windchill-Demo Thing. If two developers are working on creating two unique services for the same entity. Logically it should not have any issue. I am going to test this scenario. As this is a realistic scenario where developers may be adding services to the same Thing Entity. Or they may be using same entity to create different mashups.

The main rule your developers need to adhere to is:

If they try to open an entity for edit, and get the "This entity is already being edited by <another user>" message. They go no further until that other user has finished their editing.

By all means call that other user and ask, "are you actually editing it", and "please let me know when you've finished" as that helps efficiency.

One practice that helps minimise the number of times users see the message is to only have entities open in edit mode if you're actually making changes. If you're not changing it, or you've finished changing it, make sure you're in view mode.

Regards

Ian

PreetiGupta
14-Alexandrite
(To:ibanham)

Thanks Ian.

I did realize that two users can not edit the same entity ...daa :-)

I think that working on the same Thing and creating several services would be possible on one enviroment. I think that we will have to work on different environment. And manually add the services each of us work in a staging type of environment. Then take this export and store in a source control system. Wow..

Not sure if you've missed a "don't" from your second sentence. In case you haven't....Concurrent working on the same Thing, even on different services won't work. There's no merge capability when you save. Last user to save wins...

Manually stitching a Thing or ThingTemplate together from lots of separate environments is possible but is hard work, you can copy/paste code, but have to manually input the inputs and output detail. Plenty of scope for introducing bugs.

If you really want to break the work up, use ThingShapes and give each developer a ThingShape to work with. If you restrict each ThingShape to a specific area of functionality, you get well organised, re-usable components too.

Top Tags