Adding a custom action to an existing action model:
Create the new custom action in 

<WT_HOME>\codebase\config\actions\custom-actions.xml.

<objecttype name="ChangeRequestReport" class="wt.change2.WTChangeRequest2" resourceBundle="com.ptc.windchill.enterprise.change2.changeManagementActionsRB">
<action name="ViewReport">
<description>Change Request Report</description>
<command windowType="popup"/>
</action>
</objecttype>

===============================================================================

Localize the action in the define resourceBundle.

In this case add the following to 
<WT_HOME>\wtCustom\com\ptc\windchill\enterprise\change2\changeManagementActionsRB.rbInfo. 

This file\directory path may need to be created.

ChangeRequestReport.ViewReport.description.value=View Change Report
ChangeRequestReport.ViewReport.description.comment=Run the Change Report
ChangeRequestReport.ViewReport.title.value=View Change Report
ChangeRequestReport.ViewReport.title.comment=Run the Change Report
ChangeRequestReport.ViewReport.icon.value=report.gif

ResourceBuild com.ptc.windchill.enterprise.change2.changeManagementActionsRB

===============================================================================

Afterwards run, ResourceBuild com.ptc.windchill.enterprise.change2, to build the updated resources.

Copy the existing action model to custom-actionModels.xml and add your new action.

<WT_HOME>\codebase\config\actions\custom-actionModels.xml

<model name="more change request row actions" menufor="wt.change2.WTChangeRequest2">
      <description>Change request row actions</description>
      <action name="view"                type="object"/>
      <action name="separator"           type="separator"/>
      <action name="edit"                type="changeRequest"/>
      <action name="editModifyContentOnly" type="changeRequest"/>
      <action name="reviseChangeItems"   type="change"/>
      <action name="separator"           type="separator"/>
      <action name="SBAddToPrj"          type="sandbox"/>
      <action name="removeShare"         type="object"/>
      <action name="separator"           type="separator"/>
      <action name="ManageSecurity"      type="accessPermission"/>
      <action name="renameObjectWizard"  type="object"/>
      <action name="deleteChangeItem"    type="change"/>
      <action name="separator"           type="separator"/>
      <action name="reassignLC"          type="lifecycle"/>  <!-- Reassign Life Cycle -->
      <action name="resetTeam"           type="team"/>
      <action name="create"              type="changeNotice" />
      <action name="separator"           type="separator"/>
      <action name="copy"                type="object"/>
      <action name="CONTAINERMOVE"       type="pdmObject"/>
      <action name="separator"           type="separator"/>
      <action name="addToBaselineSingle" type="baseline"/>   <!-- Add to Baseline -->
      <action name="addToPackageSingle"  type="wpbaseline"/>
      <action name="bookmarkIt"          type="bookmark"/>
      <action name="createSubscription"  type="subscription"/>
      <action name="separator"           type="separator"/>
      <action name="ViewReport"		 type="ChangeRequestReport"/>   <!-- ViewReport -->
   </model>

===============================================================================

Copy the ViewReport.jsp page which will be launched by the action to the appropriate 
location under codebase.

<WT_HOME>\codebase\netmarkets\jsp\ChangeRequestReport\ViewReport.jsp

In step 1 an action was defined along with a type to identify the action.  

The type represents a namespace for the action.  
By default the namespace represents a directory under 
<WT_HOME>\codebase\netmarkets\jsp.  

In this example the proper place the put the .jsp page to be launched is in, 
<WT_HOME>\codebase\netmarkets\jsp\ChangeRequestReport  

Copy the logo_standard.gif to the same location:
<WT_HOME>\codebase\netmarkets\jsp\ChangeRequestReport\logo_standard.gif 

===============================================================================

Copy the tasks xml (that the jsp uses for webjects) & place in the appropriate tasks
location:

<WT_HOME>\codebase\ext\itt\QuerySingleCR.xml

===============================================================================
