This component demonstrates how dynamic menus/sub menus can be implemented using OutSystems widgets. This component does not use any additional JQuery/Javascript code. On interface side, it is developed using mainly the Rich Widgets Drop Down Menu and List Records widgets. On database side it makes use of default MenuItem, MenuSubItem, User_Role, Role and a custom table Role_Menu. Role_Menu is the one that holds mapping between roles and menus/sub menus a particular role has access to. There is no limitation to use same database structure, it can vary based on one's requirement and then aggregates need to be modified accordingly.
Note - This component is not a plugin that can be directly used into any application.