Some "configurations" really count as "customisations" - which ones need to be kept in the "Safe Area" ?
In a few places in the basic training courses, PTC-U, PDF manuals, TPI's ,etc., we are shown examples of editing Windchill server files to obtain the required behaviour, eg. adding new Lifecycle State names (in StateRB.rbinfo), setting default date display formats (as shown in TPI 145078 https://www.ptc.com/appserver/cs/view/solution.jsp?n=145078), or customising the list of downloaded Attributes (as shown in the U-WGM manual). However, it is only when you run out of options with 'configuration' and start looking into 'customisation', or start preparing for your first upgrade installation, that you find the recommendation to setup and use the 'Safe Area' ie. <windchill>/wtSafeArea/codebase/..., if you want to protect your site changes during subsequent upgrade installations.
Chapter 5 of the Customizers Guide explains the concept, and gives a list of file types that it says should be stored in the Safe Area before making any site modifications - but by the time you get to this stage, it could be too late. This list includes the following types of files :
Windchill Info*Engine tasks
Client JAR files
On a positive note, I was quite impressed that editing the StateRB.rbinfo file with the provided utility programme (enumCustomize) actually stored the changes in <windchill>/wtCustom, as well as merging them in to the edited file. On a similar note, because TPI 145078 is not applicable to v10.0 (the componentRB files are now .java not .rbInfo, and so the resourcebuild command fails), we were advised that we could still edit the date formats found in ...\Windchill\src\com\ptc\core\ui\componentRB_en_GB.java and compile it, as follows :
Stop Windchill + Apache + Tomcat
Copy the file to a “custom” directory such as C:\ptc\Windchill_10.0\Windchill\wtCustom\com\ptc\core\ui and edit the content as required
In a Windchill shell, cd to the “custom” directory, and compile with the command : javac -encoding UTF8 componentRB_en_GB.java
Copy the resulting .class file to the codebase\com\ptc\core\ui and replace the existing componentRB_en_GB.class (or rename it ?)
Clear all caches and restart
Does anyone else have any other examples that should be flagged up sooner rather than later, so they can be included in the 'production server build notes' ?