The Admin Navigation Service enables creation, management, and retrieval of well-defined hierarchical menu structures specifically for use in the Broadleaf Admin.
This service should be used to populate and retrieve the navigation menu for the Admin Panel:
For this menu, the domain would logically look something like this:
Tenant Management (menu item)
Catalog (menu item)
|_Catalogs (menu item)
|_Categories (menu item)
|_Products (menu item)
|_Option Templates (menu item)
Pricing (menu item)
Content (menu item)
Commerce (menu item)
Once defined, the menu can be retrieved with its hierarchy for the current tenant context.
The Admin Navigation Service does not have any configured Admin Metadata, and traditionally cannot be managed through the Admin portal itself. Menu Items are typically introduced and managed through the database, using SQL insert statements for initial configuration and Liquibase to perform adjustments and additions.
API endpoints are also available to manage Menu Item configuration. See the OpenAPI Reference for available operations.
Although the Admin Navigation Service itself does not gate visibility of Menu Items based on their content, the Broadleaf Admin will handle the visibility of Menu Items based on existing routes and permissions.
Many Menu Items contain a URL to link a user to a particular location when the Menu Item is clicked. The URL must meet these requirements for that user to be able to see that Menu Item:
The URL must match an existing route
The user must have access to the scope associated with that route
See the Unified Admin Metadata documentation for more information on how routes are configured.
At the time of this writing, there’s no sandboxable entities in this service. If a sandboxable entity is introduced in this service, the following configurations should be added:
spring:
cloud:
stream:
bindings:
persistenceOutput:
triggeredJobEventInputPurgeSandbox:
group: navigation-purge-sandbox
destination: triggeredJobEvent
broadleaf:
transitionrequest:
enabled: true
changesummary:
notification:
active: true
tracking:
sandbox:
purge:
enabled: true
See Sandboxing In Detail for more details.
Note
|
These configurations typically only affect the
Granular Deployment model. For Min and Balanced deployements, these configurations are likely already added at the flexpackage-level configuration.
|