How to create custom action in windchill?

Below are the steps given to add an action:

1. Add your action in <windchill>/codebase/config/actions/custom-actions.xml


<objecttype name="cem" class="com.ptc.qualitymanagement.cem.CustomerExperience">
  <action name="test_action" enabledwhensuspended="true" resourceBundle="ext.com.ptc.qualitymanagement.cem.customerExperienceActionsRB">
 <command url="netmarkets/jsp/qms/test.jsp" windowType="popup"/>
  </action>
</objecttype>



2. Make the action entry in <windchill>/codebase/config/actions/custom-actionModels.xml


<model name="cem toolbar actions" menufor="com.ptc.qualitymanagement.cem.CustomerExperience">
 <action name="cemRenameObjectWizard" type="object"/>
 <action name="test_action" type="cem"/>
 <action name="qmsSetState" type="lifecycle"/>
 <action name="edit_complaint" type="cem"/>
 <action name="createCAPAFromCEM" type="cem"/>
 <action name="ManageSecurity" type="accessPermission"/>
 <action name="securityLabelsSingleObjJCA" type="securityLabels"/>
 <action name="EDITSECURITYLABELSNONCOLLECTED" type="object"/>
</model>



3. Create a Java file ext.com.ptc.qualitymanagement.cem.customerExperienceActionsRB.java that holds resource bundle information.

package ext.com.ptc.qualitymanagement.cem;

import wt.util.resource.RBEntry;
import wt.util.resource.RBUUID;
import wt.util.resource.WTListResourceBundle;

@RBUUID("ext.com.ptc.qualitymanagement.cem.customerExperienceActionsRB")
public class customerExperienceActionsRB extends WTListResourceBundle {
 
   @RBEntry("Test Action")
   public static final String TEST_ACTION = "cem.test_action.description";
}



4. Compile the src file using the following command and copy class file in codebase.

ant -f bin/tools.xml class -Dclass.includes=ext/com/ptc/qualitymanagement/cem/customerExperienceActionsRB.java


5. Restart method server to view the changes.

Comments