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

Community Tip - Help us improve the PTC Community by taking this short Community Survey! X

Windchill Version Control

WestDC
2-Guest

Windchill Version Control

I am using Windchill PDMLink Release 12.0 and Datecode with CPS 12.0.2.11

We are looking to version control our current Windchill Application. Git using GitLab will be how we version our instance of Windchill. Does PTC have any recommendations on this topic. Specific .gitignore file to use, techniques, or any advice on how to do this would be much appreciated.

Here are the errors that I faced
N/A

1 ACCEPTED SOLUTION

Accepted Solutions
rleir
17-Peridot
(To:WestDC)

This is a big issue, and what follows is the tip of the iceberg.

Start with persuading your organization that a git client is needed on the Windchill server.

Windchill Rehost manual, page 14, URL below:

rleir_0-1700221719665.png

A similar diagram appears in the System Configuration manual (URL below).

 

My advice (corrections please) is to look under Windchill/codebase and determine which directories contain configurable files such as XML,  JSP, Javascript, and others. Exclude directories with java .class and JAR files. Read about the xconfmanager utility and decide which of its file types (properties, xconf,) you want in git.  Maybe have git control of Windchill/bin and the HTTPSERVER/conf directories.

 

Decide how you will integrate Windchill patch releases and upgrades.

 

https://www.ptc.com/support/-/media/support/refdocs/Windchill_PDMLink/12,-d-,0/WCRehostUtilityGuide_12_0_2_0.pdf?sc_lang=en

https://www.ptc.com/support/-/media/support/refdocs/Windchill_PDMLink/10,-d-,1/AdminProcessSystemConfigMgmt_139039.pdf?sc_lang=en

 

View solution in original post

5 REPLIES 5
VladimirN
24-Ruby II
(To:WestDC)

Awesome, thank you for pointing me here.

rleir
17-Peridot
(To:WestDC)

This is a big issue, and what follows is the tip of the iceberg.

Start with persuading your organization that a git client is needed on the Windchill server.

Windchill Rehost manual, page 14, URL below:

rleir_0-1700221719665.png

A similar diagram appears in the System Configuration manual (URL below).

 

My advice (corrections please) is to look under Windchill/codebase and determine which directories contain configurable files such as XML,  JSP, Javascript, and others. Exclude directories with java .class and JAR files. Read about the xconfmanager utility and decide which of its file types (properties, xconf,) you want in git.  Maybe have git control of Windchill/bin and the HTTPSERVER/conf directories.

 

Decide how you will integrate Windchill patch releases and upgrades.

 

https://www.ptc.com/support/-/media/support/refdocs/Windchill_PDMLink/12,-d-,0/WCRehostUtilityGuide_12_0_2_0.pdf?sc_lang=en

https://www.ptc.com/support/-/media/support/refdocs/Windchill_PDMLink/10,-d-,1/AdminProcessSystemConfigMgmt_139039.pdf?sc_lang=en

 

WestDC
2-Guest
(To:rleir)

Thank you for your post! We have a git client on our Linux servers and it's setup and supporting some custom utilities we've created. Management is totally on board for this effort. I will look into all the info you sent, thank you again for your help!

avillanueva
22-Sapphire II
(To:WestDC)

More user experiences. I still would classify myself as a intermediary git user. We've been managing our customizations and configurations in git (BitBucket) since WC 11 and am now on 12. This is the first real time I've had a development team more than myself so it was a learning experience. Here is some of my notes and still learning here:

  • I only store custom Java, modified configuration files (text, xconf, xml) in git. Not the whole application or codebase. Assuming it is OOTB, I leave that outside of Source control but reference the codebase and jars for compilation and building in Eclipse.
  • My code development is on my windows laptop but all servers are on Linux. Only way I get code or files to those servers is via git. I've become religious in using branches for each project and following those steps to advance things to production.
  • I made the error of including class files into git. It seemed easier to compile the .class file on my windows machine and pass it across. I need to create a "build" process on the servers so this will be removed eventually. We have run into merge conflicts because class files conflicted but have been able to mitigate those. 
  • Development has not been ideal since we have to take turns bring in feature branches to try out between me and my other developer. Something like security label changes presents a problem since you cannot easily just rip those out. We've made it work but not without so challenges. I do not know if I need to invest in cloning Development for each developer, maybe if team gets larger.
  • My Eclipse structure does not match 100% of Windchill structure. As a result, I had to create an elaborate ant script to copy customizations and configuration files to the proper places from the local repos. For example, some files go to wtCustom, others to wtSafeArea then follow installSiteChanges ant scripts. 

As far as CPS updates, there should be a routine that can tell you if any changes to files you've modified are going to be impacted by the CPS change. I recommend doing a comparison, noting the impacts and aligning any modifications with the new CPS update. Aside from compilation checks, actions changes and possible xconf mods, it should not be a big deal. You would then just need to update any jar files and the codebase in you IDE going forward.

Top Tags