Menu plugin

The 'New' menu is configured in mysql table menu. The menu can be configured per tree node, template and user/group.

Table structure of menu table:

column comment
node_ids the menu will appear for node_ids and their children objects
node_template_ids for children nodes with template_id
user_groups_ids for user and user groups
menu comma separated list of tempalte id and '-' (rendered as a visual separator)

Menu rules may overlap. To determine the menu for a given object and logged in user, CB will apply these principles:

  • select the rules that matches most of the criterias (node, template, user)
  • if there are several rules, use the closest one from a parent-child perspective.

Example: to determine the menu for /folder1/folder2/folder3/ CaseBox will select the menus that matches any of the folders (1, 2, 3), logged in user or template_id of folder1, folder2, folder3. Suppose there are two menus for folder1 and folder2. Because folder2 is closer to folder3, CB will use folder2 menu for folder3.

node_ids node_template_ids user_groups_ids menu comment
18,-,10the default menu
1424,27,-,18,-,10menu for children of nodes with template_id=14
5,6113,-,17,-,10menu for children of nodes with ids=(5,6) and logged in user(or user groups he belongs to) is 11