Basic Customization > User Interface Customization > Adding Actions and Hooking Them Up in the UI > Action Framework for Windchill Client Architecture
  
Action Framework for Windchill Client Architecture
The action framework for the Windchill client architecture supports the ability to configure new actions and action models in the system.
This section describes the action framework for the Windchill Client Architecture. It does not include information on how to control the display of the actions. For more information on controlling the display, see Related Documentation section.
Intended Outcome and Objectives
When you are finished reading this, you should understand how the action framework works, and how to register actions and action models into the action framework. You should also be familiar with the tools and debug settings that can help in your development.
These topics cover the following objectives:
You want to add a new action that will be exposed in the user interface.
You want to add a new action model to the system.
You want to remove an action from an action model.
Prerequisite knowledge
XML file structures
Related Documentation
Constructing and Rendering a Table Using the JSP Framework
Windchill Client Architecture Tree
Information Pages
Customization Tools Overview
Customizing Product Family Matrix Editor
Solution Elements
Element
Type
Description
StandardNmActionService (and corresponding helper and forwarder)
.java
The StandardNmActionService manages the actions and action models in the system.
Runtime location:
<Windchill>\codebase\com \ptc\netmarkets\util\misc
actions.xml
.xml
Default system XML file for defining actions in the system.
Runtime location:
<Windchill>\codebase\config \actions
actionmodels.xml
*.xml
Default system XML file for defining action models ins the system.
Runtime location:
<Windchill>\codebase\config \actions
actions.dtd
.xml
Default system DTD file for defining structure of an actions*.xml
Runtime location:
<Windchill>\codebase\config \actions
actionmodels.dtd
*.xml
Default system DTD file for defining structure of an actionmodels*.xml
Runtime location:
<Windchill>\codebase\config \actions
The action framework provides a way to define actions and action models within the system:
StandardNmActionService manages the set of actions and action models in the system.
In general, as a developer, you would not directly make calls to the StandardNmActionService. These calls are done through the components that support action and action model display (for example tables, trees, and information pages).
Actions and action models are defined using the XML files referred to as actions*.xml and actionmodels*.xml.
There is one default actions.xml and actionmodels.xml file that are delivered with the system. They contain commonly used actions, such as copy, cut, and common action models such as window buttons. These files are located in the <Windchill>/codebase/config/actions directory.
Each functional area can also have its own XML file, which is also managed by the action service.
For customization purposes, a custom-actions.xml and custom-actionmodels.xml file are delivered with the product and are found in <Windchill>/codebase/config/actions.
Additional actions*.xml and actionmodels*.xml files contain actions and action models related to their functional areas. For example,ChangeManagement-actions.xml contains actions related to change management; PartManagement-actions.xml contains actions related to part management.
For details about how to configure the action model to use for a component, see related sections:
See Constructing Wizards for more detailed information on action windows.
See Presenting Information in the UI for information on tables and trees.
See Information Pages for information on object details pages.
Action Customization Guidelines
It is important to note the following:
If you have an <objecttype> element in the custom-actions.xml file, and that type exists within another actions.xml file, then actions from your custom file will be added to the full set of actions supported for that type (defined in the actions.xml file).
This custom-actions.xml is read last of all the actions.xml files, so if action names are duplicated, the one in this file will be used
* 
If you have a <model> element in the custom-actionmodels.xml file, and a model by that name already exists, your model will completely override the ones processed before your custom action models file. Be very careful in the naming of your models so that you do not wipe out others from files read in prior unless that is the intent.