Prerequisites
ThingWorx is enabled to allow import of Windchill PDMLink extension.
The import of extension is disabled in ThingWorx for all users by default. To enable import, configure the platform-settings.json file. For more information see platform-settings.json Configuration Details in the ThingWorx Platform Help Center.
1. Open the platform-settings.json file. By default, the file is located in the ThingworxPlatform folder.
2. Add or update the following ExtensionPackageImportPolicy parameters to true to allow import of extensions.
* 
All parameters are set to false by default. Reference platform-settings.json for more information about each parameter.
"ExtensionPackageImportPolicy": {
"importEnabled": false,
"allowJarResources": false,
"allowJavascriptResources": false,
"allowCSSResources": false,
"allowJSONResources": false,
"allowWebAppResources": false,
"allowEntities": false,
"allowExtensibleEntities": false
},
3. Save and close the platform-settings.json file.
To know about best practices on configuration, see Importing Extensions in the ThingWorx Platform Help Center.
* 
Refer to the documentation for your supported version of ThingWorx application.
ThingWorx is configured to allow Cross-Origin requests.
Add a Cross-Origin Resource Sharing (CORS) filter to the ThingWorx Flow server to enable Cross-Origin requests. This setting will allow external OSLC server to access data from the ThingWorx Flow server.
Complete the following steps to enable a website to make a REST call to ThingWorx Flow:
1. Shut down any running Nginx instances.
2. Open the vhost-flow.conf file from the following location in Nginx installation directory.
Windows: C:/Program Files/nginx-<version>/conf/conf.d
Linux: /etc/nginx/conf/conf.d
3. In the vhost-flow.conf file, under the location /Thingworx section, locate the proxy_set_header X-Content-Type-Options nosniff; line, and add the following lines:
set $cors '';
# Right side of condition can be regular expression:
# if ($http_origin ~ '^https?://(localhost|www\.yourdomain\.com|www\.yourotherdomain\.com)')
if ($http_origin = '<Origin_that_calls_ThingWorx_Flow>') {
set $cors 'true';
}
if ($cors = 'true') {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
}
# OPTIONS indicates a CORS pre-flight request
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '$http_origin';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
4. Replace <Origin_that_calls_ThingWorx_Flow> with the URL of the website that is trying to access ThingWorx Flow.
5. Restart the Nginx service.
To know more about the Cross-Origin Resource Sharing (CORS) setting, see Making a REST Call from an External Website to ThingWorx Flow in the ThingWorx Platform Help Center.
* 
Refer to the documentation for your supported version of ThingWorx application.
Windchill PDMLink server is added as a secured domain in allow list of OSLC servers.
Add Windchill PDMLink as a secured domains in OSLC servers configured with Windchill RV&S, Windchill Modeler, and IBM Rational DOORS NG, to enable access to the delegated interface from Windchill PDMLink. For more information about how to add domains as secured, see the Windchill RV&S OSLC Server guide (12.3.0.0 onwards) on Reference Documents, OSLC integration with Integrity Modeler and OSLC integration with IBM Rational DOORS Next Generation in the Windchill Modeler Help Center.
* 
Refer to the documentation for your supported version of Windchill RV&S and Windchill Modeler applications.
Windchill_Digital_Product_Traceability_Bundle zip file is downloaded from the PTC Software Download page on PTC.com. The zip is available under the Windchill PDMLink product family and its contents are:
1. Windchill_Digital_Product_Traceability-extension — the Windchill PDMLink DPT extension zip.
2. Windchill_Digital_Product_Traceability_Config_Things — the zip of example things XML files.
* 
If you get certificate error in the browser, use Standard SSL certificates that are issued and verified by a trusted Certificate Authority (CA). If you have self-signed certificates, import the self-signed certificate as trusted certificate in your browser.
For information on permissions required by the ThingWorx user profiles, see Permissions for ThingWorx Platform Entities.
For more information on configuring the DPT extension, see Configuring the Windchill DPT Extension.