Note: The procedure described below is also documented in the help.txt file located at <WT_HOME>/codebase/com/colabsoftware
⚙️ Prerequisite: You must have a solid understanding of the PTC Windchill structure and configuration, as well as the fundamentals of Windchill customization, before performing the manual configuration steps.
⚠️ Important: Windchill must be stopped before performing the manual configuration steps.
Register the services
Run the following command to register the CoLab data utility and action filter:
xconfmanager -i codebase/com/colabsoftware/ui/service.properties.xconf -p
To register the CoLab MVC builders, edit the file <WT_HOME>/codebase/config/mvc/custom.xml and add the following:
<bean class="com.colabsoftware.ui.PartInfoBuilder"/>
<bean class="com.colabsoftware.ui.DefaultMiniInfoComponentBuilder"/>
<bean class="com.colabsoftware.ui.CadDocInfoBuilder"/>
<bean class="com.colabsoftware.ui.DocumentManagementInfoBuilder"/>
Register the CoLab actions
Run the following command to register the CoLab actions:
xconfmanager --add com.ptc.netmarkets.util.misc.defaultActions=config/actions/CoLab-actions.xml
xconfmanager --add com.ptc.netmarkets.util.misc.defaultActionmodels=config/actions/CoLab-actionModels.xml -p
Add the CoLab actions to business objects.
The business object types supported by CoLab are WTPart, WTDocument, and EPMDocument.
Follow the steps below to locate, copy, and update the menu definition to include the CoLab actions for each supported type.
Locate the menu.
Use the Action Model Report in Windchill to identify where the target menu (model) is defined — especially helpful if customizations exist.
If the menu has not been customized, refer to the default files in
<WT_HOME>/codebase/config/actions:EPMDocument:
File
UwgmCadx-actionmodels.xmlModel
epmdocuments details page actions
WTDocument:
File
DocumentManagement-actionmodels.xmlModel
docs row actions toolbar
WTPart:
File
PartClient-actionmodels.xmlModel
more parts actions
Copy the menu (if needed).
Open the file found in step 1.
Locate the desired
<model>section.Copy that
<model>block.Paste it into the following file:
<WT_HOME>/codebase/config/actions/custom-actionModels.xml
Add the CoLab Actions.
Save and Validate
Save the file and confirm the XML is valid.
Add the multiple objects 'Share with CoLab' action
Adding the multi-object Share with CoLab action follows the exact same pattern across virtually all Windchill tables: identify the table's target action model, copy it to your custom override file, and insert the action tag.
UI Location / Table | Target Action Model Name | Base Configuration File |
Folder View |
|
|
Change Notice (Change Summary) |
|
|
Change Task (Resulting Objects) |
|
|
Promotion Request (Promotion Objects) |
|
|
Search Results |
|
|
Implementation Pattern
Locate: Find the corresponding
<model name="...">in<WT_HOME>/codebase/config/actions/<BaseFile>.xml.Override: Copy the target
<model>block into<WT_HOME>/codebase/config/actions/custom-actionModels.xml.Inject Action Tag: Add the following line inside the
<model>block:
<action name="shareForReview" type="object" />
Add the CoLab login/logout to the 'Quick Links' menu
Follow the same procedure as in Add the CoLab Actions to Business Objects to locate, copy, and update the menu definition.
Locate the Quick Links menu.
The Quick Links menu is defined by the model named
header actions.If the menu is not customized, it is located in:
<WT_HOME>/codebase/config/actions/navigation-actionModels.xml
Copy the menu (if needed).
Open the file found in step 1.
Locate the desired
<model>section.Copy that
<model>block.Paste it into the following file:
<WT_HOME>/codebase/config/actions/custom-actionModels.xm
Inside the
<model>section, add the following line to include the CoLab login option:<action name="logIntoCoLab" type="object"/>
Add CoLab actions to profile visibility settings
To configure the visibility of the CoLab actions based on profile ownership, the file <WT_HOME>/codebase/roleaccessprefs.xml must to be customized.
💡Tip: Use the wtSafeArea
💡Tip: Use the wtSafeArea
As per PTC’s supported customization practices, it is recommended to perform this customization within the wtSafeArea folder.
This approach ensures that your changes are preserved during Windchill upgrades and remain compliant with supported configuration guidelines.
The steps described below do not include the wtSafeArea portion.
For more information about the wtSafeArea folder, refer to Best Practices for Customizing Files Supplied by PTC.
In the file <WT_HOME>/codebase/roleaccessprefs.xml,
locate the sections
project,program,library,product. For each section where you want to manage the visibility of the Share to CoLab and Open in CoLab actions, add the following lines:<uic name="shareForReview" defaultAll="true" />
<uic name="openCoLabMenuModel" defaultAll="true"/>locate the
globalsection and add:<uic name="logIntoCoLab" enabled="true" defaultAll="true"/>
Note: In the snippets above, defaultAll="true" means these actions are visible by default.
To make them hidden by default, set defaultAll="false".
Restart Windchill and verify that the CoLab actions appear in the Set Action Visibility section of profiles.
Optional: Set the action display names
Optional: Set the action display names
The internal names of the actions appear in Windchill by default. If you prefer the names to match what end users see (as shown in the first screenshot), follow the steps below:
If the file
<WT_HOME>/wtCustom/wt/util/resource/resourceCustomize.rbInfodoesn't exist, copy it from<WT_HOME>/src/wt/util/resource.In the file
<WT_HOME>/wtCustom/wt/util/resource/resourceCustomize.rbInfoadd the following lines:com.ptc.netmarkets.roleAccess.roleAccessResource/shareForReview.value=Share to CoLab
com.ptc.netmarkets.roleAccess.roleAccessResource/openCoLabMenuModel.value=Open in CoLab
com.ptc.netmarkets.roleAccess.roleAccessResource/logIntoCoLab.value=Log into CoLabIn a Windchill Shell, run the command
ant -f bin/tools.xml bundle_custom
Additional configuration
Proxy Consideration
If your server needs to use a proxy to reach CoLab URLs, you must configure both the OS-level environment variable and the Windchill Method Server arguments:
Set the OS-level environment variable:
Set
https_proxyon the host server running Windchill (despite Windchill running on Java):export https_proxy=http://<proxy-host>:<proxy-port>
ℹ️Important: The
HTTPS_PROXYenvironment variable must be accessible to the process owner running Windchill.How you persist this variable depends on your startup method:
Systemd / Service Startup (
systemctl start windchill): Services do not inherit environment variables set in interactive shell sessions. You must explicitly add the variable to your service definition file (e.g.,/etc/systemd/system/windchill.service) under the[Service]block:Environment="HTTPS_PROXY=http://<proxy-host>:<proxy-port>"
Script / Shell Startup (
windchill start): Addexport HTTPS_PROXY=http://<proxy-host>:<proxy-port>to the Windchill user's profile (~/.bashrc/~/.bash_profile) or the custom startup script.
Configure Windchill Method Server Java arguments:
Add standard Java proxy system properties (
-Dhttps.proxyHostand-Dhttps.proxyPort) towt.propertiesusingxconfmanager:xconfmanager -t codebase/wt.properties -s wt.manager.cmd.MethodServer.java.extra.args="-Dhttps.proxyHost=<PROXY_HOST> -Dhttps.proxyPort=<PROXY_PORT>" -p
Cluster Environment (Multi-Node)
In a clustered Windchill deployment, every node must share the exact same JWT secret key so authentication tokens can be verified across all instances.
Execute this command on every node in the cluster, keeping the secret identical across all runs:
xconfmanager -t codebase/wt.properties -s com.colabsoftware.jwt.base.secret=<SAME_STRONG_RANDOM_VALUE_ON_ALL_NODES> -p






