Adding a Menu Item

Add a new menu item only when it is really necessary to meet your business needs.

Note: Make sure that your new menu item follows the XML schema (<PPM_Home>/conf/menus/menu.xsd).

PPM version 9.1x does not support adding a top level menu. Your new customized menu items may fall under Open, Create, or Search menu.

To add a new menu item, follow the steps below:

  1. Locate the menu.xml file that describes content of menu items in the <PPM_Home>/conf/menus/menu.xml directory and open it in an XML editor.

  2. Locate the line that represents the menu group under which you want to add the new menu item.

    For example, the line for the Demand Management menu group under Open menu looks like:

    <menu id="DEMAND_MANAGEMENT_MENU" key="DEMAND_MANAGEMENT_MENU_TEXT.TXT" bundle="KNTA_Resources" seq="10">

    For Create menu group, the line looks like:

    <menu id="MENU_CREATE" key="menu.create" bundle="CoreResources" sorting="leaves-top">
  3. Depending on the security level you want to apply to the new menu item, under the desired menu group, locate a code snippet with similar security requirements, copy and paste it into the appropriate location in the menu.xml file as a starting point for editing it.

    For example, if your new menu item has security requirements similar to the menu item Create > Project, copy and paste the following code section:

    <menu id="CREATE_PROJECT" key="entity.project" bundle="CoreResources">
    <url>/itg/project/CreateProjectPage.do</url>
    <security>
    <and>
    <or>
    <license reference-code="6" /> <license reference-code="8" />
    <license reference-code="3" />
    <license reference-code="2" />
    </or>
    <access-grant reference-code="1316" />
    <or>
    <access-grant reference-code="1095" />
    <access-grant reference-code="1091" />
    </or>
    </and>
    </security> </menu>

    If your new menu item has no security requirements, you may simply copy and paste a code snippet with the <menu id> element and the <url> element, for example:

    <menu id="IMPORT_CATALOG_DATA_MENU" key="IMPORT_CATALOG_DATA_MENU_TEXT.TXT" bundle="KNTA_Resources">
    <url>/itg/web/knta/src/SRCXMLImporter.jsp</url> </menu>

    For more information about applying security requirements on a menu item, see Restricting Access to a Menu Item.

  4. Edit menu item text.

    1. Create a custom resource bundle under <PPM_Home>\server\<server name>\deploy\itg.war\WEB-INF\resources\web. For example, MyResources.properties.

    2. Add a new resource in this file by adding a line, as follows:
      "myCustomLabel"=My Custom Label

    3. Edit the code section you pasted in the menu.xml file by changing the menu ID, key, and bundle values to make them look like the following:
      <menu id="MyMenuItem" key="myCustomLabel" bundle="MyResources">

    Note: Menu id is required when you edit menu.xml.

  5. Edit menu item URL.

    To provide a URL for your new menu item, make sure that you already have a URL available for use.

    After editing, the URL for the new menu item should look similar to URLs for other menu items under the same menu group.

    For example,

       <url>/itg/MyMenuItem/MyMenuItemPage.do</url>

    Or,

       <url>/itg/web/knta/dem/MyMenuItemPage.jsp</url>
  6. Edit security requirements.

    See details in Restricting Access to a Menu Item by Configuring Access Grants and Licenses.

  7. Save and close the file.

    If you are using non-standard (foreign language) characters, such as â, ç, é, ö, or ñ, make sure you encode the file in UTF-8 format.

    Tip: Microsoft® Notepad supports UTF-8 encoding when using the Save As functionality.

  8. Stop, and then restart the PPM Server.
  9. (Optional, although highly recommended) Verify the changes by logging off, and then logging back onto PPM and reviewing the menu item.