Skip to main content

McNeese Website Documentation

Menu System

Menu System

What is the Menu System

The menu system provides an accessible way to find and navigate pages and files on the website. These user-editable menus are provided on a per-group basis and each group has exactly one menu. The users who are authorized to edit these menus will need to understand how the menu system works before making any changes to a menu.

The menu system makes many of the technical aspects of accessible and dynamic menus transparent to users. Users must never build menus for the content themselves, but instead must use the menu system described here. Using this system helps you comply with accessibility laws and helps the system make good choices when displaying or not dislaying a given menu.

This documentation contains the website menu. The menu itself is being presented differently in this web document than it does as a web page. When this documentation gets printed, the menu does not get printed. This works because the menu system understands the difference between a web page, a web document, and a printed page. When a user builds their own menu instead of using the menu system, the menu system does not know anything about this custom menu to properly display it on the different media types.

How the Menu System Works

Everything that is added to the menu is called a menu item. A menu is constructed entirely of menu items. There are 5 different types menu items:

  1. Link
    This is the standard menu item. This provides a link to a local page or a page at a remote website. Do not use this when linking to files, instead, use the item type called file.
  2. Label
    A label can be considered a place holder menu item. It displays text, but cannot be clicked on and it goes nowhere. Use this for structuring purposes or to communicate that some link is disabled.
  3. File
    A file menu item provides a link to some file. This specifically tells the user to expect the link goes to a file and that they can download the file. This should only be used to link to files, for all other types of links use the item type called link.
  4. Menu
    Referred to as a menu item menu, this is an advanced menu item that allows a user to add a menu from another group. These menus allow for importing another menu without having to manage or be responsible any of the links.
  5. Menu Item
    Almost confusingly referred to as a menu item menu item, this is an advanced menu item that allows a user to add a menu item from another group. This menu item allows for importing a single menu item from another menu without being responsible for its properties. This should only be used under exceptional circumstances as menu items are easily deleted and replaced. If another user can delete the menu item pointed to by this menu item menu item at their whim, then there is no guarantee this menu item will ever function properly.

Processing all of the menu items can take a lot of time and resources. This slows down page load times which can give viewers a bad experience. To alleviate this performance issue, the menu system implements what is called caching. When changes are made to a menu in the menu system, the cache for that menu must be cleared before the changes become visible.

Each menu has exactly one url path assigned to it. The menu associated with a given path will only appear on pages at a given path and all sub-paths. Multiple menus are allowed to appear on a given path.

The website documentation menu has a path of /documentation/website. Any sub-path, such as /documentation/website/menu-system, will show the menu. The menu will never appear on /documentation/elsewhere or even /website.

Updating a Menu

My menus page screenshot
Menu System - Image 1

The menu system settings for menus in which you are authorized to manage can be accessed by selecting the My Menus tab on My Workbench page. If the My Menus tab is not listed in the tabs on the My Workbench page, then there are no menus in which you are authorized to manage. The menus are sorted alphabetically. Multiple menus are allowed to have the same name, so be sure to pay attention to the menu path or the menu id that is also displayed.

Edit a single menu page screenshot
Menu System - Image 2

Selecting a menu on the My Menus tab should bring up an edit page for that specific menu. This page can be logically broken down into three parts.

  1. menu settings
    The menu settings provide global controls such as:
    • setting the menu path
    • assigning the menu weight
    • enabling parent visibility
    • altering the breadcrumb name
  2. menu items
    The menu items part is where menu items are managed. This area contains a table with the following columns:
    • item name
    • item type
    • operations
    • id
    There also exists an additional field called row weights that is used when drag and drop support is not available.
  3. operations
    The operations part provides links to perform specific tasks. The provided links are:
    • add new menu item
    • update menu
    • reset cache
    • cancel

There are two important steps to perform when making changes to a particular menu. The first is that the Update Menu button must be clicked to save any of the changes made, with the exception of adding, editing, or deleting menu items. The second is that the Clear Menu Cache button must be clicked in order to make the changes visible. If the menu cache is not cleared, then the changes that were made to the menu will not be visible for anyone to see. Use the menu item add, edit, and delete links to perform their respective operation. The ordering of the menu items can be performed on this page by dragging and dropping, by using the order weight fields, or by editing a menu item and changing its parent item and weight.

The menu settings contain all of the menu-specific settings that appropriately privileged users are allowed to change. The most important of the menu-specific settings is the menu path. The menu path designates where all menu items associated with the menu get placed under. Some menu items may even prepend the menu path to its links. If the menu path is incorrect and you do not have access to change it, then seek support for getting the issue resolved. Menus are only display at their menu path and all child paths. The other menu settings, that are hidden under advanced settings, are:

  • menu weight
  • show parents
  • breadcrumb name
The menu weight defines where this menu gets displayed when more than one menu are displayed at the same url path. The show parents checkbox allows for hiding the parent menus. The breadcrumb name gives users to change the name of the menu as it appears in the breadcrumbs.

Terminology

Cache
Cache refers to information that was created from performing some given task and then stored for user later on to avoid re-performing the task in which the cache represents. See also Caching.
Caching
Caching is a method used to improvide performance by doing a specific task only one time. The idea is that if a given task must be done repeatedly and nothing has changed, then the results of performing that task will never change no matter how many times it is done. Therefore, do the task one time and then re-use the results from that task for every subsequent request to perform that task. This is used to improve performance for tasks that are done repeatedly, which happens very often on websites.
Media Type
A media type refers to the tools or way in which content is displayed. Common examples of different media types are: printed on paper, displayed on a projector, a computer screen, and a screen reader. Websites often need to understand what media type is in use before displaying its content.