Allowed Customization
The following table lists the elements that are allowed for use in customization. However, it is your responsibility to manage the customized files.
Element
Details
Windchill classes
Windchill classes can be used in customization, except those listed in Disallowed Customization.
* 
For official guidance on restricted usage of Windchill classes, refer to Supported and Nonsupported Usage of the API.
Java packages
Java packages can be used in customization, except those listed in Disallowed Customization. For certain packages, usage is further restricted—only the explicitly approved classes and methods listed in Allowed Classes in Java Packages can be used.
org.json
java.io
java.net
java.net.http
java.nio
java.security
java.sql
javax.net.ssl
jakarta.servlet
* 
The java.nio.MappedByteBuffer class in the java.nio package is disallowed for use in customization. Other classes from this package are allowed.
Third-party jars
poi.jar
poi-ooxml.jar
org.apache.olingo-odata-commons-api.jar
org.apache.olingo-odata-server-api.jar
openpdf.jar
commons-lang3.jar
commons-collections4.jar
json.jar
wex.kernel.jar (Support for Wincom Extensions)
Only the following API is allowed from this JAR:
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke
com.fasterxml.jackson
Only the following APIs are allowed from this JAR:
com.fasterxml.jackson.core.JsonProcessingException.toString
com.fasterxml.jackson.core.type.TypeReference.TypeReference()
com.fasterxml.jackson.databind.JsonNode.asInt
com.fasterxml.jackson.databind.JsonNode.asLong
com.fasterxml.jackson.databind.JsonNode.asText
com.fasterxml.jackson.databind.JsonNode.equals
com.fasterxml.jackson.databind.JsonNode.get
com.fasterxml.jackson.databind.JsonNode.isEmpty
com.fasterxml.jackson.databind.JsonNode.spliterator
com.fasterxml.jackson.databind.JsonNode.toPrettyString
com.fasterxml.jackson.databind.JsonNode.toString
com.fasterxml.jackson.databind.JsonNode.isArray()
com.fasterxml.jackson.databind.JsonNode.iterator()
com.fasterxml.jackson.databind.node.ArrayNode.add
com.fasterxml.jackson.databind.node.ArrayNode.get
com.fasterxml.jackson.databind.node.ArrayNode.iterator
com.fasterxml.jackson.databind.node.ArrayNode.remove
com.fasterxml.jackson.databind.node.ArrayNode.size
com.fasterxml.jackson.databind.node.ObjectNode.get
com.fasterxml.jackson.databind.node.ObjectNode.has
com.fasterxml.jackson.databind.node.ObjectNode.iterator
com.fasterxml.jackson.databind.node.ObjectNode.put
com.fasterxml.jackson.databind.node.ObjectNode.size
com.fasterxml.jackson.databind.node.ObjectNode.put(java.lang.String~ java.lang.Boolean)
com.fasterxml.jackson.databind.node.ObjectNode.put(java.lang.String~ java.lang.String)
com.fasterxml.jackson.databind.node.ObjectNode.set(java.lang.String~ com.fasterxml.jackson.databind.JsonNode)
com.fasterxml.jackson.databind.node.ObjectNode.toString()
com.fasterxml.jackson.databind.ObjectMapper.configure
com.fasterxml.jackson.databind.ObjectMapper.convertValue
com.fasterxml.jackson.databind.ObjectMapper.enable
com.fasterxml.jackson.databind.ObjectMapper.readTree
com.fasterxml.jackson.databind.ObjectMapper.readValue
com.fasterxml.jackson.databind.ObjectMapper.writerWithDefaultPrettyPrinter
com.fasterxml.jackson.databind.ObjectMapper.createArrayNode()
com.fasterxml.jackson.databind.ObjectMapper.createObjectNode()
com.fasterxml.jackson.databind.ObjectMapper.getTypeFactory()
com.fasterxml.jackson.databind.ObjectMapper.ObjectMapper()
com.fasterxml.jackson.databind.ObjectMapper.readTree(java.io.Reader)
com.fasterxml.jackson.databind.ObjectMapper.readTree(java.lang.String)
com.fasterxml.jackson.databind.ObjectMapper.readValue(java.io.Reader~ com.fasterxml.jackson.core.type.TypeReference)
com.fasterxml.jackson.databind.ObjectMapper.readValue(java.lang.String~ com.fasterxml.jackson.databind.JavaType)
com.fasterxml.jackson.databind.ObjectMapper.readValue(java.lang.String~ java.lang.Class)
com.fasterxml.jackson.databind.ObjectMapper.treeToValue(com.fasterxml.jackson.core.TreeNode~ java.lang.Class)
com.fasterxml.jackson.databind.ObjectMapper.valueToTree(java.lang.Object)
com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(java.lang.Object)
com.fasterxml.jackson.databind.type.TypeFactory.constructCollectionType(java.lang.Class~ java.lang.Class)
com.fasterxml.jackson.databind.ObjectWriter.writeValueAsString
com.fasterxml.jackson.dataformat.xml.XmlMapper.configure
com.fasterxml.jackson.dataformat.xml.XmlMapper.readValue
com.fasterxml.jackson.dataformat.xml.XmlMapper.XmlMapper
OOTB file-based configurations provided by PTC
* 
Never overwrite the OOTB files. Always create a copy of the file and then modify it. However, the following files are an exception, you can overwrite them.
codebase/com/ptc/coversheet/basic/tpl/ddxDirective.xml
codebase/com/ptc/windchill/enterprise/nativeapp/msoi/client/xml/wtDesktop.xml
codebase/com/ptc/windchill/enterprise/nativeapp/msoi/client/xml/wtOffice.xml
codebase/com/ptc/windchill/enterprise/nativeapp/msoi/client/xml/wtWindows.xml
codebase/com/ptc/windchill/enterprise/nativeapp/msoi/server/msoimap.xml
conf/auditing/configAudit.xml
conf/securityLabelsConfiguration.xml
codebase/com/ptc/arbortext/windchill/serviceEffectivityFilter/server/serviceEffectivityConfig.xml
codebase/com/ptc/core/collectionsrv/config/SampleConfigurableLinksCollectionExecutionOrder.xml
codebase/com/ptc/core/collectionsrv/config/SampleConfigurableLinksCollectionDefinitions.xml
codebase/pickerAttributes.xml
codebase/registry/ixb/handlers/actor.xml
codebase/com/ptc/arbortext/windchill/siscore/attset/xml/localizable_attset.xml
codebase/com/ptc/odata/core/odata.properties
conf/exposedSecurityLabelObjects.xml
conf/downloadAcknowledgementTypes.xml
codebase/com/ptc/arbortext/windchill/publisher/update/overridable_ruleset.xml
codebase/com/ptc/arbortext/windchill/siscore/attset/xml/publishable_attset.xml
codebase/com/ptc/arbortext/windchill/siscore/attset/xml/referencedobjects_attset.xml
codebase/com/ptc/arbortext/windchill/siscore/attset/xml/publishinfo_attset.xml
codebase/com/ptc/arbortext/windchill/siscore/attset/xml/manifest_attset.xml
codebase/config/urlValidators/custom-validators.xml
codebase/registry/ixb/mapping/IXMappingConfiguration.xml
codebase/config/mvc/custom.xml
Outbound HTTPS calls
HTTPS calls to external systems
Was this helpful?