5 Replies Latest reply on Jun 29, 2016 10:23 AM by ianban RSS
    pgupta-2 Apprentice

    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

      • Re: Best Practices for Source Control in Thingworx
        aanjan Heavyweight Champ

        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.

          • Re: Best Practices for Source Control in Thingworx
            pgupta-2 Apprentice

            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.

          • Re: Best Practices for Source Control in Thingworx
            ianban Creator

            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

              • Re: Best Practices for Source Control in Thingworx
                pgupta-2 Apprentice

                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..

                  • Re: Best Practices for Source Control in Thingworx
                    ianban Creator

                    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.