Skip to main content
Learn More

McNeese Website Documentation

Menu System

Menu System

What is the Menu System

The menu system provides an accessible way to find and navigate content 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 displaying a given menu.

This documentation contains the website menu. The menu itself is being presented differently on 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 browser 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 essentially a list of links. A menu is constructed entirely of menu items. Menu items typically represent some location or file on the system. Each menu has exactly one URL path assigned to it. The menu associated with a given path will only appear on pages at that given path and all sub-paths. Multiple menus are allowed to appear at a single path. Each menu item belongs to some item type that defines how, and if, that menu item is presented to the viewer.

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.

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.

Updating a Menu

My menus page screenshot
Menu System - Image 1

The menu system settings for menus 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. The second is that the Clear Menu Cache button must be clicked in order to guarantee that the changes are displayed. 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 a collection of options for tweaking the behavior of a menu. 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. The advanced menu settings are: menu weight, show parents, and 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 the ability to change the name of the menu as it appears in the breadcrumbs.

Terminology

Active
The state in which something, such as a link, is considered to be in when the url path that represents that something is currently being viewed.
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.