Skip to content

SAIF.Business.Menu overview

Documentation context: Packaged Component (NuGet)

SAIF.Business.Menu is a component-tier BOF (Business Object Framework) class library that models the application's dynamic navigation menu system. It provides business objects for menu items, pages, categories, per-user favorites, and menu-level access grouping, consumed by front-end applications to render authorized navigation menus against an Oracle database.

Purpose

  • Provide BOF business objects for all aspects of the application navigation menu: items, pages, categories, favorites, and security-group associations.
  • Enable front-end and presentation-layer consumers to retrieve, persist, and manage menu metadata through a standard BOF data-portal pattern.

Responsibilities

  • Build and structure the hierarchical menu tree (items grouped by page and category) presented to users.
  • Classify menu items by category via clsMenuCategoryCode.
  • Manage per-user favorite menu-item bookmarks via clsMenuFavorite / clsMenuFavoriteCollection.
  • Record menu-authorization data: which security group or individual user maps to which menu item (clsMenuSecurity / clsMenuSecurityUser).
  • Scope menu structures by application via clsApplicationCode.
  • Expose per-user authorized menu-item projections through clsMenuAuthorizedItemCollection.

Key components

  • clsApplicationCode / clsApplicationCodeCollection: code-table entity for application identifiers that scope menu pages.
  • clsMenuItem / clsMenuItemCollection: core menu-item entity (menu tree node) and its collection.
  • clsMenuPage / clsMenuPageCollection: page-level grouping of menu items with toolbar-button configuration flags.
  • clsMenuCategoryCode / clsMenuCategoryCodeCollection: code-table for menu item categories.
  • clsMenuFavorite / clsMenuFavoriteCollection: per-user favorite menu-item bookmarks.
  • clsMenuAuthorizedItem / clsMenuAuthorizedItemCollection: projects the set of menu items a user is authorized to see, including favorite indicators and unsecured items.
  • clsMenuSecurity / clsMenuSecurityCollection: associates a menu item with a SecurityGroup string tag.
  • clsMenuSecurityUser / clsMenuSecurityUserCollection: associates individual users with a security-group record.
  • mdlUtilities: shared helper module for the library.

Sources

  • Business\SAIF.Business.Menu\SAIF.BOF.Business.Menu.vbproj
  • Business\SAIF.Business.Menu\SAIF.BOF.Business.Menu.nuspec
  • Business\SAIF.Business.Menu\clsApplicationCode.vb
  • Business\SAIF.Business.Menu\clsMenuItem.vb
  • Business\SAIF.Business.Menu\clsMenuPage.vb
  • Business\SAIF.Business.Menu\clsMenuFavorite.vb
  • Business\SAIF.Business.Menu\clsMenuSecurity.vb
  • Business\SAIF.Business.Menu\clsMenuSecurityUser.vb
  • Business\SAIF.Business.Menu\clsMenuAuthorizedItem.vb
  • Business\SAIF.Business.Menu\mdlUtilities.vb