|
|
Avoid using APIs that are not a part of the Java SE library or that conflict with the Windchill+ guidelines.
|
|
|
The error codes are displayed in the consolidated reports available on the Customization Analysis dashboard in Windchill Performance Advisor (WPA) or are generated during CloudWave execution. For more information, see Consolidated Report in the WPA help center.
|
|
Element
|
Details
|
Error Code
|
Disallowed Status
|
|---|---|---|---|
|
Internal APIs
|
Avoid using APIs that are not marked as supported in the Javadoc.
|
Use of internal classes and methods
|
Warning
To ensure compliance with Windchill+ guidelines, replace any APIs that are not marked as supported with those that are marked as supported.
|
|
Deprecated APIs
|
Avoid using APIs that are marked as deprecated in the Javadoc.
Transition your code from any deprecated API to a suitable alternate that is marked as supported.
For a list of deprecated APIs, see Deprecated APIs.
|
Use of deprecated API
|
Warning
To ensure compliance with Windchill+ guidelines, replace the deprecated APIs with their supported alternatives.
|
|
JSP Tags
|
Do not use the following subset of JSP tags defined in the Windchill Tag Library “Windchill Client Architecture Components Library” (components.tld, uri=http://www.ptc.com/windchill/taglib/components):
• describeTable
• describeColumn
• setComponentProperty
• getModel
• describeTableTree
• setTablePlugin
• addServiceArgument
• describeStatusGlyph
• describeInfoPage
• addPropertyPanelDescriptor
• renderAccessibilityLink
• excludeColumn
• describePropertyPanel
• enableCorePlatform
|
Use of unauthorized JSP tags or AngularJS
|
Warning until October 2026
After this date, the deployment of CCD packages that contain JSP pages using any of the listed JSP tags will be blocked.
Use of these JSP tags will be deprecated in a future release. It is recommended to replace legacy Windchill JCA JSP tag implementations with modern Windchill GUI components developed using Java builder code that supports the MVC (Model-View-Controller) architecture standards. For more information, see MVC Components.
|
|
Workflow templates with embedded Java code
|
Creating workflow templates with embedded Java code is not allowed. You must create the templates by externalizing workflow expressions.
For more information, see Externalizing Expressions for a Workflow Template.
|
The workflow “<workflow name>” in the container “<container>” is not externalized.
Refer to the WorkflowsReport.txt file for a list of workflow templates that are not externalized.
|
Warning until October 2026
After this date, the deployment of CCD packages containing workflow templates with embedded Java code will be blocked.
|
|
Out-of-the-box (OOTB) files
|
Modifications to OOTB files, except the ones listed in Allowed Customization, are not allowed.
|
Modification to OOTB file or package
|
Disallowed
|
|
Windchill classes
|
Implementing or extending the following classes is not allowed:
• wt.templateutil.processor.DefaultTemplateProcessor
• wt.enterprise.BasicTemplateProcessor
• wt.enterprise.TemplateProcessor
• com.ptc.cat.gxt.client.AbstractEntryPoint
• wt.services.ServiceEventListenerAdapter
• com.infoengine.object.factory.AdapterWebject
• com.infoengine.SAK.ObjectWebject
• com.infoengine.SAK.ActionWebject
|
Use of unauthorized windchill class implementation
|
Disallowed
|
|
Java packages
|
• java.lang.reflect
• java.lang.invoke
• java.rmi
• java.nio.channels
• java.nio.file.attribute
• java.nio.file.spi
|
Use of unauthorized Java packages
|
Disallowed
|
|
Java network calls
|
• TrustManager
• TrustManagerFactory
• X509TrustManager
• CertPathTrustManagerParameters
• HandshakeCompletedEvent
• HandshakeCompletedListener
|
Use of unauthorized Java packages
|
Disallowed
|
|
Database customization
|
• Custom modeled objects
• Database extensions for tables, stored procedures, triggers, and others
|
Unauthorized hard modelling
|
Disallowed
|
|
Custom UIs or customization of OOTB UIs
|
UIs built using the following:
• OOTB JavaServer Pages (.jsp)
• AngularJS
• GWT
• Template processor
Use MVC Builders for building UIs.
|
Use of unauthorized JSP tags or AngularJS
|
Disallowed
|
|
Overwriting OOTB UI, actions, services
|
Create custom UIs using actions and action models. For more information, see Windchill Action Framework.
|
Modification to OOTB file or package
|
Disallowed
|
|
Third-party libraries
|
Third-party libraries, including OOTB third-party libraries, are not allowed during customization. However, there are a few exceptions. See Allowed Customization for information on allowed third-party libraries.
|
Use of unauthorized third-party libraries
|
Disallowed
|
|
Access to server command line
|
Customization that requires access to the command line on the server is not allowed.
|
Use of main method
|
Disallowed
|
|
Remote file server customization
|
Example: Custom content virus scanner
|
Disallowed
|
|
|
JDBC access to Windchill database
|
Use only Windchill supported APIs to connect to and query the Windchill database.
|
Use of unauthorized Java packages
|
Disallowed
|
|
JNDI connection to LDAP user store
|
LDAP is not supported.
|
The External System Integration category in Windchill Performance Advisor displays Adapter Integration.
|
Disallowed
|
|
Info*Engine
|
• Custom Info*Engine tasks or webjects
• Custom Info*Engine web services
• Custom Info*Engine adapters
Use Windchill REST Services to fetch Windchill data for generating reports and other requirements.
|
Unauthorized hard modelling
Use of unauthorized windchill class implementation
|
Disallowed
|
|
JNI customization
|
Native API calls are not allowed.
|
Use of unsecure code
|
Disallowed
|
|
Annotations
|
• com.ptc.windchill.annotations.metadata.GenAsBinaryLink
• com.ptc.windchill.annotations.metadata.GenAsDatastoreArray
• com.ptc.windchill.annotations.metadata.GenAsDatastoreSequence
• com.ptc.windchill.annotations.metadata.GenAsDatastoreStruct
• com.ptc.windchill.annotations.metadata.GenAsObjectMappable
• com.ptc.windchill.annotations.metadata.GenAsPersistable
• com.ptc.windchill.annotations.metadata.GenAsPrimitiveType
• com.ptc.windchill.annotations.metadata.GenAsUnPersistable
• com.infoengine.object.factory.WebjectDef
|
Unauthorized hard modelling
|
Disallowed
|