Windchill Configuration Properties
Windchill uses standard Java property files to store many of its settings. The majority of the settings are stored in the property file wt.properties, which is located in the Windchill codebase directory. From this location, wt.properties is available to be downloaded by clients.
Although wt.properties holds most settings, there are other property files located under the codebase directory. These property files are also available to clients. Some property files are stored outside of codebase because they are not needed by clients or should not be available to clients. For example, the db.properties (which contains a password to your database instance) is located outside the codebase in the Windchill db directory.
|
To view the value of any property in wt.properties, use the wt.util.jmx.WTPropEval command line utility. This utility returns the value for a specified property name. The value is in a fully evaluated form, which means any $(...) substitutions have been performed. The format for the utility is:
java wt.util.jmx.WTPropEval <wt.properties property name>
|
To manage site property settings, use the configurations/xconf/custom.site.xconf file using a text editor to edit individual property files is not supported. All site-specific changes to property files are maintained in the site.xconf file that is located in the directory where Windchill is installed. Editing properties directly most likely will result in problems updating the system or problems with the system after it is updated because the property files are regenerated from the XCONF files.
The
custom.site.xconf file allows XML elements to add, remove, or modify properties in any
Windchill property file. By using the
<Property>,
<AddToProperty>,
<RemoveFromProperty>,
<ResetProperty>, and
<UndefineProperty> elements, you can modify the properties and then propagate the changes to the property values using the deploy target of CCD. For more information, see
Deploying Code and Configuration Package. For information on modifying property values, see
Setting Property Values and Propagating Your Changes.
When you restart your Windchill system, the resulting changes are implemented.
The site.xconf file is created and updated by Windchill product installers. These installers also create the declarations.xconf file that contains a list of configuration references to PTC-supplied XCONF files that are used to specify the out-of-the-box default values for properties in many of the property files. Although not all property files are initially generated from XCONF files, you should always make changes to Windchill properties through the custom.site.xconf file.
As shown in the following diagram, making property changes through the xconfmanager utility invoked internally by CCD during deploy, always updates the site.xconf file. Then Windchill propagates the changes to properties files using the site.xconf file and the XCONF files that it maintains. In this diagram, the declarations.xconf file has references to three sample internal XCONF files that then are used by Windchill to update referenced property files:
When you use the configurations/xconf/custom.site.xconf file to update properties, Windchill always propagates the changes to the corresponding property files.
Whenever you change a property setting using custom.site.xconf, Windchill creates backup XCONF and property files of all files that are updated in the .xconf-backup directory where Windchill is installed. The file names for the back up files are modified to include a 3-digit number that identifies the backup file order. For example, the first three backup files created for the site.xconf file are named site.000.xconf, site.001.xconf, and site.002.xconf.
Windchill also maintains an internal cache containing the latest XCONF file information and maintains other internal XCONF files that it uses to determine what property files need to be updated. Do not manually modify these files.
The following sections provide information about the custom.site.xconf file and the xconf.dtd file, which is used to validate all Windchill XCONF files.
custom.site.xconf File Format and Contents
The custom.site.xconf file is an XML file that is formatted according to the xconf.dtd.
The configuration elements included in the custom.site.xconf file are as follows:
• Each Property element names a property, its target property file, and the value of the property. Add this element to the custom.site.xconf file when you want to set specific property values.
• Each ResetProperty element names a property and its target property file. Add this element to the custom.site.xconf file when you want to reset properties to their default values.
• Each AddToProperty element names a property value to add to the end of a multi-valued property. Add this element to the custom.site.xconf file when you want to add a property value to the end of a multi-valued property.
• Each RemoveFromProperty element names a property value to remove from a multi-valued property. Add this element to the custom.site.xconf file when you want to remove a property value from a multi-valued property.
• Each UndefineProperty element names a property and its target property file. Add this element to the custom.site.xconf file when you want to undefine properties so that their values are null.
| If you do manually modify the site.xconf file, be sure to format elements according to the xconf.dtd, which is documented in the next section. To propagate your changes to the affected property files, you must run the deploy target of CCD. To use the updated property files, you must restart your Windchill solution. |
xconf.dtd File
Windchill uses the xconf.dtd to validate all elements in all XCONF files that it uses, including the custom.site.xconf file. To ensure that this validation takes places for all XCONF files, no matter where they are located in the codebase and without access to the internet, the xconf.dtd is supplied using a JAR file and is not readily available through the Windchill directory structure.
The contents of the DTD file is as follows:
<!ENTITY % targetFile 'targetFile CDATA #IMPLIED'>
<!ENTITY % serviceProvider 'serviceProvider (wt|wtCustom|typeBased) #IMPLIED'>
<!ENTITY % name 'name CDATA #REQUIRED'>
<!ENTITY % context 'context CDATA "default"'>
<!ENTITY % overridable 'overridable (true|false) "true"'>
<!ENTITY % multivalued 'multivalued CDATA #IMPLIED'>
<!ELEMENT Configuration (Property|AddToProperty|RemoveFromProperty|Service|Resource|
ConfigurationRef|ResetProperty|UndefineProperty|PropagationAction)*>
<!ATTLIST Configuration
xmlns:xlink CDATA #IMPLIED
%targetFile;
%serviceProvider;
>
<!-- PTC to set "defaults", configurer to set "values" -->
<!ELEMENT Property (Documentation)?>
<!ATTLIST Property
%name;
default CDATA #IMPLIED
defaultUnix CDATA #IMPLIED
defaultWindows CDATA #IMPLIED
value CDATA #IMPLIED
%targetFile;
%overridable;
%multivalued;
>
<!ELEMENT AddToProperty EMPTY>
<!ATTLIST AddToProperty
%name;
value CDATA #REQUIRED
>
<!ELEMENT RemoveFromProperty EMPTY>
<!ATTLIST RemoveFromProperty
%name;
value CDATA #REQUIRED
>
<!ELEMENT Documentation (Synopsis,Description,Deprecation?)>
<!ATTLIST Documentation
category CDATA #IMPLIED
key CDATA #IMPLIED
>
<!ELEMENT Synopsis (#PCDATA)>
<!ELEMENT Description (#PCDATA)>
<!ELEMENT Deprecation (#PCDATA)>
<!ELEMENT ResetProperty EMPTY>
<!ATTLIST ResetProperty
%name;
%targetFile;
>
<!ELEMENT UndefineProperty EMPTY>
<!ATTLIST UndefineProperty
%name;
%targetFile;
>
<!ELEMENT Service (Option)*>
<!ATTLIST Service
%name;
%context;
%targetFile;
%serviceProvider;
>
<!ELEMENT Resource (Option)*>
<!ATTLIST Resource
%name;
%context;
%targetFile;
%serviceProvider;
>
<!-- For Service/Options requires serviceClass and cardinality. For
Resource/Options requires resource attribute -->
<!ELEMENT Option EMPTY>
<!ATTLIST Option
selector CDATA #IMPLIED
requestor CDATA #REQUIRED
order CDATA "0"
serviceClass CDATA #IMPLIED
cardinality (duplicate|singleton) "duplicate"
resource CDATA #IMPLIED
%overridable;
%targetFile;
>
<!ELEMENT ConfigurationRef EMPTY>
<!ATTLIST ConfigurationRef
xlink:href CDATA #REQUIRED
>
<!ELEMENT PropagationAction (ClassPathEntry)*>
<!ATTLIST PropagationAction
className CDATA #REQUIRED
>
<!ELEMENT ClassPathEntry EMPTY>
<!ATTLIST ClassPathEntry
dir CDATA #IMPLIED
file CDATA #IMPLIED
>