.. _create_a_menu_layout:

Create a Menu Layout
--------------------


.. _19.3.1|VOSS-546|EKB-3607:


.. note::

   To work on an existing menu layout, we recommend that you clone the menu layout
   and work on the clone.

#. Log in as hcsadmin, provider or reseller administrator.
#. Choose the hierarchy for the menu layout.
#. Choose **Role Management > Menu Layouts**.
#. Click **Add** to open the **Menu Layouts** input form.
#. Enter a **Name** and a **Description** for the menu layout.
#. Add (by clicking **+** next to **Menu Items**), and optionally
   nest **Menu Items** for each required menu item:
   
   a. Choose an **Icon** name from the dropdown to be displayed on the GUI menu.
      To see the icons, refer to :ref:`business-admin-portal-interface-custom-icon-names-reference`. 
   
   #. Enter a **Title**. 

   #. For a list view of a model, select from the **Type** drop-down list and choose
      List as the **Display as** value. For the selected model type, choose a default
      **Field Display Policy** and **Configuration Template**. If a User Role is
      associated with the menu layout, then users with this role see the model type
      according to these. 

      If **List** is chosen as the **Display As** type, then the resulting list can
      also be filtered. See :ref:`menus_landing_configurable_filters`.

   #. **Href** is generally used for external links. It can however be used for links
      within the application to link directly to a form. For example, the **Add Phone**
      form would have the HREF value of ``api/relation/SubscriberPhone/add``. In such
      cases, any associated Field Display Policies and Configuration
      Templates for the menu item can only be added by using a menu import in JSON format
      or on a bulk load sheet.

      Note that ``view/`` type models should not be referenced as **Href** - only
      from the **Type** drop down. The ``view/`` model types always open the "Add"
      form - without having to use the href with ``/add/``.
      
      If **Href** is used, choose the **Display as** format of the item as follows:

      * Form - Show an input form. The **Href** value points to a model instance
        with the pkid, for example ``data/Countries/5331a739d0278d7893e26d2e``, 
        or ends with "/add/".
      * IFrame - A URL specified as the **Href** value opens as an IFrame for
        cross-launching.
      * External Link - A URL specified as the **Href** value opens as a new browser
        tab.
       
        Note: pop-up blocking should be disabled on user browsers for the external link to resolve.
        
      * Tree - If available, a tree view of resource to display. **Href** provides
        the tree path.
      * List - List view of a resource referenced by **Type** or **Href**. A
        tool (``tool/[toolname]``) can also be presented as a list, for example 
        
        ``/api/tool/Transaction/?entity=data/Event&operation=execute``

      * Wizard - Execute a wizard referenced by  **Href** (wizard resource
        ends with "/0/"). For example:

        ``/api/wizard/AddressWizard/0/``
    
   #. Arrange the desired order of the menu items by clicking the up or down
      arrow to move the menu items up or down respectively. 

#. Click **Save** on the button bar when complete to create the menu layout.
   
To modify an existing menu layout, click the relevant menu layout name from
the **Menu Layouts** list view and edit the appropriate fields as described above.
Click **Save** when complete. 

Updates in the menu layout are available for the user only when logging in again.

When complete, assign the menu layout to the appropriate roles.



.. |VOSS-4-UC| replace:: VOSS-4-UC
.. |Unified CM| replace:: Unified CM