Specific Trees for an Object Type

You can use the background information in this section to define which tree should be called for a specific object type.

Typically, when a user clicks an object's name in the ENOVIA products to see details about the object, emxTree.jsp uses the tree menu object that has the same symbolic name as the object's type. For example, when a user clicks the name of a Part Quality Plan, the system uses the tree menu object named type_PartQualityPlan. The menu object that matches the symbolic name for a type is referred to as the standard tree menu for an object.

There are cases when the standard tree menu for an object is not suitable. For example, some object types are used by more than one ENOVIA product and each application may have a unique tree menu. In this case, the application that owns that object type installs the standard tree menu object and all other applications that use the type install an alternate tree menu for the type. The owner application is the one that has primary responsibility for creating and managing that type of object. For example, most ENOVIA products use parts but Engineering Central is the owner of the Part type. Therefore, Engineering Central installs the type_Part menu and other applications install an alternate menu for parts. Specific installations may also need to define custom tree menus. (Using custom tree menus instead of the system's standard or pre-defined alternate menu is not recommended.)

When a user clicks a link to view details for an object, the system uses the following methods to determine which tree to display for the object, in this order of precedence:


  1. Override all trees using treeMenu parameter--The system first looks for the treeMenu parameter passed to emxTree.jsp URL. The value for the treeMenu parameter is the name of a menu object for a navigation tree and you can use the parameter to override all other trees that could be used for the object.

    Use the treeMenu parameter when you want to use a tree menu other than the standard (as described in item 3 below) or alternate (as described in item 2 below) tree menu for the object's type. Also use the treeMenu parameter to call an application's alternate tree menu for an object when the link is external to the application. For example, if the link is within IconMail or email, the system will not pick up an application's alternate menu because the link is not within a particular application (so it would not know which application's alternate tree menu to use).

  2. Use application's alternate tree--If no treeMenu parameter is passed, the system gets the suite directory that called emxTree.jsp and checks if that application has an alternate tree menu defined for the object type. ENOVIA products define alternate trees for objects used by more than one application. The alternate tree menus need not be assigned to the top-level menu called Tree but the standard tree menus must be assigned to the top-level menu.

    Application-specific alternate menus are defined using the property SUITEKEY.emxTreeAlternateMenuName.TYPE_SYMBOLIC_NAME in the application's property file, such as emxEngineeringCentral.properties. SUITEKEY is the same as the value assigned to the property eServiceSuites.DisplayedSuites in the emxSystem.properties file. The naming convention for the alternate menus is the type's symbolic name prepended with the 3-letter abbreviation for the application, for example, ENCtype_Part. If the specified alternate menu does not exist in the database, the standard tree menu for that type, for example type_Part, is used. (The naming conventions for the application abbreviations are listed in Naming Conventions.)

    For example, the emxEngineeringCentral.properties file contains this property:

    eServiceSuiteEngineeringCentral.emxTreeAlternateMenuName.type_P
    art=ENCtype_part 

    In special cases, such as when forwarding or redirecting the response to emxTree.jsp, the alternate tree menu may not display correctly. In these cases, you must pass the URL parameter "emxSuiteDirectory" with the appropriate directory to emxTree.jsp. This directory is the same as defined in the emxSystem.properties (SUITE_NAME.Directory = ....), where the value is the application directory installed below the ematrix directory.

  3. Use type's standard tree--If you have not defined an application-specific alternate menu for the object type, the system looks for a menu object with the same name as the type's symbolic name. If it does not find one, the system looks for a menu object with the symbolic name for the type's parent type, then grandparent type, and so on until it reaches the top of the type hierarchy.
  4. Use Default Tree--If there is no menu object for the object's type or parent types, the system uses the Default Tree menu object. For more information on the default tree, see About the Default Tree.