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
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:
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.
|