menus

Manage OrangeHRM menu hierarchies, permissions, and runtime MenuConfigurator overrides.

1.1k|746|Updated Jan 5, 2017
One-click install
npx skills add https://github.com/orangehrm/orangehrm --skill menus-orangehrm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: menus
Source: https://github.com/orangehrm/orangehrm/tree/main/.agents/skills/menus
Command: npx skills add https://github.com/orangehrm/orangehrm --skill menus-orangehrm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates the friction of managing OrangeHRM's navigation system, adding menu entries for new pages, debugging missing menu items, and customizing active menu highlighting without manual frontend adjustments.

Core Features & Use Cases

  • Menu Entity & Hierarchy Management: Work with the MenuItem entity to add, restructure, or disable side panel, top menu, and nested sub-menu entries linked to application screens.
  • Runtime Menu Customization: Implement MenuConfigurator classes to override active menu highlighting for edit pages or context-specific user views.
  • Permission & Visibility Control: Ensure menu items are correctly gated by user role-screen permissions and module status, and debug issues where items fail to appear.
  • Use Case: When adding a new admin page for managing custom employee reward programs, use this Skill to seed the menu entry, set role permissions, and configure the active menu highlight for the reward program edit screen.

Quick Start

Use the menus skill to add a new top-level menu entry for your custom module's dashboard page linked to the correct screen and parent menu item.

Frequently Asked Questions about menus

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new menu item to the OrangeHRM navigation hierarchy?

To add a new OrangeHRM menu item, you seed the MenuItem record via a database migration linked to your application screen, set role-screen permissions, and optionally configure parent hierarchy for side panel or top menu placement.

Why are my OrangeHRM navigation menu items not showing up for users?

OrangeHRM menu items fail to appear when user role-screen permissions or module status are misconfigured, or when menu structure cache is not invalidated after changes.

How do I override the active menu highlighting for custom edit pages in OrangeHRM?

You override active menu highlighting in OrangeHRM by implementing MenuConfigurator classes, which apply runtime active-menu overrides for context-specific user views like edit pages.

Do I need to invalidate the cache after restructuring the OrangeHRM navigation hierarchy?

Yes, cache invalidation after menu structure changes is required to ensure users see the updated side panel, top menu, and nested sub-menu entries immediately.

How do I set up permission-gated menu visibility for custom modules in OrangeHRM?

Permission-gated menu visibility in OrangeHRM requires setting role-screen permissions on the MenuItem entity so the navigation entries are correctly gated by user role and module status.