Log in
Manage and monitor software
Services and expertise
Manage and monitor software
Services and expertise

In another tab/window you have switched to a different account ().

Your active customer number ( - ) is not your primary association.

Would you like to switch to your primary association now ()?

Stay With Current
PTC Customer Support Engagement Guide
Get to know PTC's Service Offerings and how to engage, interact and make the most of Technical Support.

Supported and Nonsupported Usage of the API

The requirements mentioned in the previous sections are subject to the judgment of Technical Support and the urgency of the issue.  In addition, you must adhere strictly to the requirements that follow to receive support for Information Modeler.

Decompiling Source Code

While it is possible to reverse-engineer Java class files into source code, decompiling source code is prohibited. PTC will not support class files created by making changes to decompiled source code to replace existing class files.

Supported Languages

You must use one or more of the following languages to ensure that Technical Support can support your customization:

  • Java
  • HTML (including Windchill HTML templates) or JSP
  • XML
  • JavaScript (see JavaScript in this chapter for more information)

In many cases, other languages may be used to implement a specific function in the customization. Although using this technology is valid, Technical Support limits its support to the usage of the delivered Windchill development materials. It is your responsibility to enable Technical Support to reproduce your issue without having to install, or have specialized knowledge of, these technologies. Some examples of nonsupported customizations include:

  • Using Java’s JNI to integrate C code
  • Launching a Perl interpreter
  • Using active server pages to interact with Windchill

Modification of Existing Windchill Classes

You can modify existing Windchill classes if the corresponding source code is provided with the Windchill Customization installation. In most cases modifications only apply to resource bundles. In the case of large source files available to customers, as an Information Modeler (IM) developer, you should take care that only small, reasonable changes are made. You must fully understand the logic of the source code before manipulating it. If you make changes that are inconsistent with the original code, support is provided only on a limited basis. Also, you should indicate any changes clearly in the source file using comments.

For example, you might want to add or delete menus for the WTExplorerFrame class. This action can be done easily and is a valid customization. However, if the underlying logic of the Document Explorer client has been changed completely, such as through the rewriting of large portions of the source code, Technical Support may be unable to provide support.

Windchill Classes

Although technically every class file in the Windchill codebase can be used in customization source code, usage of Windchill classes is subject to restrictions. Using a class includes accessing any field or method of that class, or creating instances of the class.

To use a class, the class must be described in the JavaDoc. The JavaDoc of every class contains a Supported API field. This entry must be set to true in order for the class to be supported for use within customizations. If a field or method of a class is used, the entry Supported API for this field or method must be set to true.

Windchill Class Extensions

Extending a class is a special case of using a class. In addition, to make supported class extensions, the parent class must be indicated as extendable in the JavaDoc by the field Extendable: true. All requirements described in Using Windchill Classes apply to extending classes.


You can use JavaScript to provide better usability for HTML user interfaces. Technical Support does not address complex queries. However, it does investigate conflicts between JavaScript and Windchill if an error due to Windchill is suspected.