.. _create_a_menu_layout: Create a Menu Layout -------------------- .. _19.3.1|VOSS-546|EKB-3607: .. _20.1.1|VOSS-670|EKB-5199: .. _21.1|VOSS-770|EKB-8081: This procedure adds a new menu layout. .. note:: When editing an existing menu layout, updates to the menu layout display only once the relevant users have logged out and logged in again. **Perform the following steps**: #. Log in as provider or reseller administrator, or higher. #. Choose the hierarchy for the new menu layout. #. Go to (default menu) **Role Management > Menu Layouts**. #. View existing menu layouts. * To create a new menu layout based on settings in an existing menu layout (recommended), click on the menu layout you want to re-use; then, in the editing screen, click the toolbar **Clone** icon to create a new record with pre-populated settings. * To create a new menu layout without existing settings, click the toolbar Plus icon (**+**) to open the **Menu Layouts/New Record** page. #. On the **Menu Layouts** page, in the **Name** and **Description** fields, fill out a name and a description for the new menu layout. .. note:: If you're editing a clone of an existing menu layout, you may need to edit exisitng settings and add new values for the new menu layout. #. Add menu items (or edit existing settings for a cloned menu layout): * In the **Menu Items** section, click the Plus icon (+) to open the menu layout editing page. * Configure the new menu item: * Enter a display title and description for the new menu item. * Optionally, in the **Condition** field, specify a macro to use as a criteria that determines whether the menu and its sub-menus display. .. note:: When the macro evaluates to true, the menu and its sub-menus display, else, when the macro evaluates to false, the menu and its sub-menus are hidden. The default is true. The default also applies when no condition criteria is specified. See the following topics in the Core Feature Guide for details: Menu Layout Page, Macros in VOSS-4-UC * From the **Icon** drop-down, choose an icon for the menu item. * From the **Type** drop-down, select the model type to associate with the title you defined (above). * In the **Href** field, define a link to to be used for external or internal links. .. note:: Hrefs are generally recommended for external links. For backwards compatibility, hrefs can be used for links within the application, to link directly to a form: For example, the Add Phone page would have the following href value: ``api/relation/SubscriberPhone/add`` In this case, you will need to use JSON format menu import, or bulk load, to add any associated field display policies (FDPs) and configuration templates for the menu item. It is recommended that you do not use hrefs to reference ``view/`` type models. * Select the **Field Display Policy** and the **Configuration Template** for this menu item. * From the **Custom Component** drop-down, select the VOSS portal custom component. See: :ref:`voss-custom-components`. * From the **Landing Page** drop-down, select the landing page to associate with the menu item. .. note:: * This option is only available in the new VOSS-4-UC Admin Portal GUI. * Sub-menus cannot be landing pages. * From the **Display As** drop-down, select the display format for this menu item. Options are as follows: * List: Default. If you choose List display, and you've selected a default field display policy and configuration template for the model type, users with a user role associated with the menu layout view the model type based on these options. It is also possible to filter the list view. See :ref:`menus_landing_configurable_filters`. If you choose List display referenced by type or href, note that a tool (``tool/[toolname]``) can also be presented as a list, for example: ``/api/tool/Transaction/?entity=data/Event&operation=execute`` * Landing Page: If you choose Landing Page display, you can select an existing landing page, which will display when this menu item is chosen. See :ref:`landing_pages` and :ref:`create_a_landing_page`. Note that this option is *only* is only available if you're using the new VOSS Admin Portal GUI. * Form: If you're using href and you choose the Form display, note that the href value points to a model instance with the pkid, for example ``data/Countries/5331a739d0278d7893e26d2e``, or ends with ``/add/``. The ``view/`` model types always open the *Add* form; thus, if used, the value should not have the ``/add/`` endpoint, for example, as in this JSON: :: { "type": "view/QuickSubscriber", "display": "form", "title": "Quick Add Subscriber" } * External Link: Choosing an External Link display is the recommended use with href, where a URL specified as the href value opens as a new browser tab. You will need to disable pop-up blocking on the users browsers to allow the external link to resolve. * Tree (if available) Choosing a Tree display shows a tree view of the resource. When using href with Tree display, the href provides the tree path. * Configure fixed and configurable filters for the new menu item. * Click **OK** to add the menu item. * To add additional menu items, repeat step 6. The menu items you added display in the **Menu Items** section of the Menu Layouts/New Record page, one per row in the table. #. To re-order menu items, hold down the hamburger icon in the first column for the relevant row; then drag the menu item to the required position in the table. #. Click the **Save** icon on the toolbar to add the new menu layout. #. Assign the menu layout to the appropriate roles. .. rubric:: Related Topics * .. raw:: latex Menu Layouts in the Core Feature Guide .. raw:: html Menu Layouts * .. raw:: latex Custom Icon Names Reference in the Core Feature Guide .. raw:: html Custom Icon Names Reference * .. raw:: latex Landing Pages in the Core Feature Guide .. raw:: html Landing Pages * .. raw:: latex Create a Landing Page in the Core Feature Guide .. raw:: html Create a Landing Page * .. raw:: latex Menu Layout Page in the Core Feature Guide .. raw:: html Menu Layout Page * .. raw:: latex Configurable Filters in Menus and Landing Pages in the Core Feature Guide .. raw:: html Configurable Filters in Menus and Landing Pages