Setyenv · Docs
  • English
  • Español
  • 中文
  • 日本語
  • العربية
  • Deutsch
  • Français
  • हिन्दी
  • Bahasa Indonesia
  • Italiano
  • Nederlands
  • Português
  • Русский
  • Türkçe

Navigation (apps & modules)

Organise entities into a structured sidebar navigation with Applications and Modules. This is the primary way users navigate between entities.

Applications

Applications are top-level sidebar groups:

  • Slug — unique identifier
  • Name — display label (with locale support)
  • Icon — Dashicon class
  • Sort order — position in the sidebar
  • Active — on/off toggle
  • Roles who can see it — see Who sees what below

The "Administration" application is auto-seeded on activation and contains system modules (Schema Manager, Event Log, Roles, etc.). It is hidden from non-admin users.

Modules

Modules are items within an application:

  • Slug — unique within the application
  • Module type — link (SPA hash route) or url (external link)
  • Target — the SPA route hash (e.g., #/entity/ticket) or full URL
  • Filter (optional) — EQL filter for list modules
  • Icon — Dashicon class
  • Sort order — position within the application
  • Roles who can see it — see Who sees what below

Who sees what

Applications and modules carry their roles the same way entities, fields and actions do: a list of role slugs on the row itself (can_view_roles), matched against the roles a person holds through their groups.

  • Empty list — no restriction. A list or form module is still shown only to people who can read its entity, and an application with no module left to show is hidden.
  • One or more roles — shown only to people who hold one of them. public shows it to anyone, authenticated to anyone logged in.
  • Administrators see every application and module.

The roles decide what the navigation shows; what a person may open is still decided by the permissions of the entity behind it. Deleting a role takes it out of every application and module that named it.

Reordering

Both applications and modules support drag-and-drop reordering:

  • POST /pfm/v1/meta/applications/reorder — reorder applications
  • POST /pfm/v1/meta/applications/{slug}/modules/reorder — reorder modules within an app

GET /pfm/v1/meta/navigation returns the tree the current person may see, filtered as described in Who sees what. The SPA builds the sidebar from it, and the MCP list_apps tool answers from it too.