How do I create custom Main Menu entries?

  • Updated:

Buzz allows you to add custom entries to your Main Menu, including non-default entries or external URLs that are displayed inside the Main Menu.

To add a custom entry:

  1. Open Domain Settings.
  2. Click Add under Menus. (If you want to edit an existing menu entry click Override.)
  1. Provide:
    • The ID associated with the entry.
    • The entry's desired placement Order in the Main Menu ("0" = top placement).
    • The entry Title as you want it to appear in the Main Menu.
    • The entry's URL if necessary. You can use the replacement variables defined below to customize this URL further.
    • The desired Icon; click the field for a dropdown of searchable options (review your icon options).
    • An indication about whether you want to the entry Enabled, to Open URL in external window, to Require the user to choose a course, and/or Do not allow the user to choose a course.
    • The Applications (Admin, Parent, Student, or Teacher) for which the entry should appear (optional).
    • The Rights users need to access the entry (optional).
    • The Domain userspaces in which the entry should appear (optional).
  2. Click Done.
  3. Save.  

Set up deep linked menu items

Externally-linked customized menu entries (managed by Menu Entries - Custom in this section) can use ID queries to recognize and display "deep linked" items within that external link.

To configure this, add {{QUERY-[INSERT DESIRED ID LABEL]}} to the end of the URL you provide. For example, if you use{{QUERY-messageid}} as your menu entry URL, Buzz will:

  • Load when a user selects that entry from the Main Menu.
  • Load when a user is provided with this URL:

Replacement variables for custom Main Menu entries

Custom Main Menu URLs allow for dynamic replacement variables that automatically replace a variable code (options listed below) with a desired value drawn from user, course, and/or domain information.

Use any of the following replacement variables by enclosing them with double curly brackets (e.g., {{TOKEN}}, {{USERID}}, {{ADMINDOMAINID}}):

  • APP: Determines which app (Student, Parent, Teacher, or Admin) is active when the menu is launched and displays it.
  • TOKEN: The xLi authentication token for the currently logged in user. When using this variable, the URL must be secure, starting with https.
  • USERID: The ID for the currently logged in user.
  • USERDOMAINID: The domain ID for the currently logged in user.
  • USERSPACE: The userspace for the customization domain, or the domain userspace visible in the top level URL.
  • ENROLLMENTID: The ID of the currently selected enrollment.
  • COURSEID: The ID of the course associated with the currently selected enrollment.
  • ADMINDOMAINID: The currently selected domain ID in the admin app.
  • QUERY-<param>: The value of the top page's query parameter with the case-sensitive name of <param>. The application only replaces this variable if external is not set to true.
  • USERFIRSTNAME: The firstname of the currently logged-in user, or empty-string if the user has specified hidefullname from external web sites.
  • USERLASTNAME: The lastname of the currently logged-in user, or empty-string if the user has specified hidefullname from external web sites.
  • USEREMAIL: The email address of the currently logged-in user, or empty-string if the user has specified hideemail from external web sites.

Custom Main Menu entires open in iframes which don't follow Buzz's idle timeout reset parameters. Buzz supports a postMessage API that allows these integrations to reset the idle timeout: How do I keep idle timeout updated in iframes?


Have a question or feedback? Let us know over in Discussions!