Navigation Sets

Control which sidebar menu items each role can see — configure per parent item and individual child item

Overview

Navigation Sets let admins control exactly which sidebar menu items each role sees. Instead of every staff member seeing the full sidebar, you can customize visibility down to individual sub-menu items per role.

For example:

  • Teachers see Students, Attendance, Academics — but not Finance or HR
  • Finance Officers see Finance and Analytics — but not Transport or Library
  • Drivers see only Transport > Vehicles and Transport > Routes
  • Librarians see only Library items
  • Principals see everything except Database and Customisation

Admin and Super Admin roles always have full access and are not configurable.

The Matrix Editor

Navigate to Administration > Navigation Sets to open the visibility matrix.

Layout

The page shows a table with:

  • Rows: Every sidebar section, parent item, and child item (expandable)
  • Columns: Each configurable role (Principal, HOD, Teacher, Counsellor, Finance, Librarian, Staff)
  • Cells: Checkboxes — checked means the role can see that item

How to Read It

                         | Principal | HOD | Teacher | Finance | Librarian |
─── CORE ───────────────
▸ Students               |    ✓      |  ✓  |    ✓    |         |           |
▸ Finance                |    ✓      |     |         |    ✓    |           |
    Fee Structure        |    ✓      |     |         |    ✓    |           |
    Invoices             |    ✓      |     |         |    ✓    |           |
    Receipts             |           |     |         |    ✓    |           |
─── OPERATIONS ─────────
▸ Transport              |    ✓      |     |         |         |           |
    Vehicles             |    ✓      |     |         |         |           |
    Routes               |    ✓      |     |         |         |           |
▸ Library                |    ✓      |     |         |         |     ✓     |
    Books                |    ✓      |     |    ✓    |         |     ✓     |

In this example:

  • Teachers can see Students and Library > Books, but nothing else in Finance or Transport
  • Finance Officers see all Finance sub-items but not Students or Library
  • Librarians see only Library items

Checking and Unchecking

  • Click a child checkbox — toggles that specific item for that role
  • Click a parent checkbox — toggles all children at once:
    • If all children are checked → unchecks all
    • If some or none are checked → checks all
  • Parent shows a dash (—) when some but not all children are checked for that role

Expanding Parents

Click the arrow next to a parent item (e.g., "Finance") to expand and see its children (Fee Structure, Invoices, Receipts, etc.). Each child can be toggled independently.

Saving Changes

Click Save in the top-right to persist your changes. The configuration is stored per-institution, so different institutions can have different navigation setups.

Click Reset to discard unsaved changes and reload the current saved configuration.

The role header row stays fixed at the top when scrolling down through the long list of menu items. The "Menu Item" column also stays fixed when scrolling right if there are many roles.

How It Works Technically

  • Parent item visibility is stored in the NavigationItem.visibleToRoles field in the database
  • Child item visibility is stored in Institution.settings.navVisibility as a JSON map
  • The sidebar reads both when rendering: parent items are filtered by the navigation API, child items are filtered client-side using the visibility config
  • If no visibility config exists for a child item, it inherits its parent's visibility

Available Roles

RoleTypical Access
PrincipalFull access to Core, Operations, Analytics, Automation
HODCore modules, Operations, Analytics, Users & Access (contacts)
TeacherStudents, Attendance, Academics, Self Service
CounsellorStudents, Admissions, Communication
FinanceFinance modules, Analytics
LibrarianLibrary modules
StaffBasic Core modules, Self Service

These are defaults — the whole point of Navigation Sets is to customize them per your institution's needs.

Tips

  • Start with defaults — the pre-configured visibility works for most schools. Customize only when roles need different access
  • Use child-level toggles — instead of hiding all of Finance from teachers, you might want them to see Invoices (so they know their own payment status) but not Fee Structure or Expenses
  • Test after saving — log in as the role you just changed to verify the sidebar looks right
  • Don't forget Self Service — this section (My Approvals, My Leave, My Attendance) should usually be visible to all staff roles