{"id":8812,"date":"2018-02-09T11:08:35","date_gmt":"2018-02-09T17:08:35","guid":{"rendered":"https:\/\/www.mrc-productivity.com\/legacy\/?page_id=8812"},"modified":"2018-09-07T16:05:29","modified_gmt":"2018-09-07T21:05:29","slug":"end-user-menuing","status":"publish","type":"page","link":"https:\/\/www.mrc-productivity.com\/legacy\/security\/end-user-menuing","title":{"rendered":"End-User Menuing"},"content":{"rendered":"<h1>End-User Menuing<\/h1>\n<p>This documentation will cover how to create and manage menu options within m-Power. The menu feature gives users a centralized location to find all the new applications you\u2019ve created. Further, it is very simple to add\/change menu options based on a User\u2019s Role.<\/p>\n<p>Please see the video below to get an overview of what the menuing system is, its benefits, and how to maximize its flexibility:<br \/>\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/vSQrfIAwC2w\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>To begin, click on the \u201cAdmin Menu\u201d button, then the \u201cApplication Menu &#038; Security\u201d button<br \/>\n<img decoding=\"async\" src=\"\/legacy\/images\/menu1.jpg\"\/><br \/>\nYour screen should now look like the below. If it does not, please click <a href=\"#upgrade\">here<\/a> to learn how to upgrade your existing menu to this version.<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu2.jpg\"\/><br \/>\nThe m-Power menu process is broken down into several key areas:<br \/>\n\u2022\tUsers \u2013 A list of users who are authorized to see elements on the menu<br \/>\n\u2022\tRoles \u2013 A role is a group, to which users can belong. This role is then assigned specific applications that it can view within the menu. Users can belong to multiple roles<br \/>\n\u2022\tMenu Options \u2013 These are links that end-users can access at runtime to access their applications.<br \/>\n\u2022\tMenu Groups \u2013 m-Power menus support Major, Minor, and Sub-Minor Groups. These groups can be defined, ordered, and set up hierarchically to control which groups are owned by other groups<br \/>\n\u2022\tManage Application Security \u2013 This option lets you control which users (via their roles) shall be allowed to access which applications. <\/p>\n<h2>Creating Users<\/h2>\n<p> <img decoding=\"async\" src=\"\/legacy\/images\/menu3.jpg\"\/><br \/>\nTo add a user, click the \u201cManage Runtime Users\u201d button. Then enter the user\u2019s username. This is the only required field on the page. However, if you are securing by database table, you will want to enter the password here. The first name, last name, and email are not currently used but can be entered for your own reference.<br \/>\nMenuing is not controlled directly by user, instead it is dictated by a user\u2019s role. If you choose, you can select a user\u2019s role from the dropdown of existing roles or can elect to create a new one (Roles can be created on the Manage Roles screen, via the \u201cCreate Role\u201d button.<br \/>\nAgain, users can have an unlimited number of roles.<br \/>\nIf you are configuring a Dictionary that will not utilize security, be sure to create a single user. You do not need to explicitly define a role for that user since this generic user will automatically belong to the \u201cAll Users\u201d role.<\/p>\n<h2>Managing Runtime Roles<\/h2>\n<p> <img decoding=\"async\" src=\"\/legacy\/images\/menu4.jpg\"\/><br \/>\nOnce you\u2019ve created your user, you can use the \u201cJump to\u2026\u201d feature to navigate to the Manage Runtime Roles screen.<br \/>\nOn this screen, you will see a list of all of your existing roles, plus the \u201cAll Users\u201d role. This role is automatically defaulted into your environment. All users are automatically entered into this group.<br \/>\nThis screen gives you the ability to quickly assign several components to a group, including: users, menu options and security rules via the provided dropdown boxes.  Directly next to the dropdown boxes shows you a count of how many elements have been added to this role. If you wish to remove some, simply click on the text. A popup will appear. Pressing the red remove icon will remove these elements from the role.<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu5.jpg\"\/><br \/>\nNotes:<br \/>\nAs a note, roles that have dependencies cannot be deleted. The system will alert you to this in the event you try to delete one with dependent users, menu options or security rules.<\/p>\n<p>Roles can also have children assigned to them. As an example, lets say there are 3 roles: A, B, and C. <br \/>\nLet&#39;s also assume:<br \/>\n\u2022\tRole A has a child of Role B<br \/>\n\u2022\tRole B has a child of Role C<br \/>\nUsers who have Role A assigned to them will automatically see applications in Roles A, B, and C.<br \/>Users who are assigned to Role B will see applications in Role B and Role C. <br \/>Users who belong to Role C will see only the role options for Role C.<br \/>This hierarchy will greatly enhance the efficiency of adding applications in a corporate environment where there is a defined employee structure.<br \/>\nThere is a practical limit on the number of child roles that can be defined to a single parent. mrc recommends you do not exceed 25 child assigned to a single parent.<\/p>\n<h2>Manage Menu Options<\/h2>\n<p>Navigating to the Manage Menu Options screen, shows a list of all applications that have been defined for this Dictionary\u2019s menu. If an application is not on this list, it cannot be displayed on the menu.<br \/>\nClick Create Menu Option\u2026<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu6.jpg\"\/><br \/>\nIf adding an m-Power app, use one of the 4 blue buttons to choose your app from the list. If you are adding a menu option outside of the current Dictionary, enter a unique Option ID. The other options available are broken down below:<br \/>\n\u2022\tDescription (Required) \u2013 This will be the text your end user sees that will make up the menu link<br \/>\n\u2022\tSequence # &#8212; Respective of it\u2019s group, applications will display in numeric order of their sequence number. Applications with the same sequence number will be listed alphabetically.<br \/>\n\u2022\tTitle \u2013 Any text entered here will be displayed as title text for your end user when they hover their cursor over the link.<br \/>\n\u2022\tFont Awesome Icon \u2013 Add a small icon to the left of text based menu. Click the \u201c?\u201d icon to pick from available options.<br \/>\n\u2022\tAlternate Link Text \u2013 Only used on the Menu Card option, will serve as the action link<br \/>\n\u2022\tURL (Required) \u2013 Controls where the user is directed after executing the link. This can be relative or static.<br \/>\n\u2022\tLong Description \u2013 Used only in the Card Menu and replaces the description<br \/>\n\u2022\tGroup \u2013 Menu Options typically live in groups. Options include Major, Minor, and Sub-Minor Groups. Groups will be covered in more detail in the next section.<br \/>\n\u2022\tImage URL \u2013 If you prefer to use your own menu icon, you can include it here. The image will be placed to the left of the link.<br \/>\n\u2022\tClass \u2013 Any text entered will be automatically applied to link\/anchor tag, allowing you to control the CSS styling.<br \/>\n\u2022\tRoles \u2013 For a link to appear on the menu, a role must be given access to this option. More than one role can be defined per menu option. All users of the role provided will have access to see this menu option. Developers can choose an existing role or create a new one. Alternatively, developers can choose to assign roles on the \u201cManage Roles\u201d screen<br \/>\nOnce completed, press \u201cAdd Menu Option and Return to Manage Menu Options\u201d<\/p>\n<h2>Manage Menu Groups<\/h2>\n<p>Menu Groups allow you to control Major, Minor, and Sub-Minor Groups. Here is an example of a menu with each:<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu8.jpg\"\/><br \/>\nNotice that the major groups are listed as tabs across the top of the page. Minor groups are listed on the left-hand side as buttons, and sub-minor groups are listed as column headings.<br \/>\nTo manage these groups, click on the \u201cManage Menu Groups\u201d button, then add or edit a group.<br \/>\n<img decoding=\"async\" src=\"\/legacy\/images\/menu7.jpg\"\/><\/p>\n<p>Group indicates the name of the group. This will be seen by your end-user<br \/>\nGroup Type \u2013 Select if you would like to create a Major, Minor, or Sub-Minor Group.<br \/>\nIf you\u2019ve selected a Minor or Sub-Minor, you can specify who its parent it.<br \/>\nLastly, the order allows you to control the order of this group, relative to its peers. In the event that two groups of the same type share the same order, the group will be ordered alphabetically.<br \/>\n<a name=\"upgrade\"><\/a> <\/p>\n<h2>Upgrading to this Menu option<\/h2>\n<p>-Log onto m-Power server and navigate to \\mrc\\development\\m-power\\mrcjava\\WEB-INF\\classes\\DATADICTIONARY. Look for all mrcmenu* files and delete them.<br \/>\nThen, back in your internet browser, within m-Power, click Admin Menu -> Application Menu &#038; Security.<br \/>\nThis will create all the new menu files as well as convert over your existing data.<br \/>\nWhen the interface looks like this, you will have your visual confirmation that menu has been upgraded:<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu2.jpg\"\/><\/p>\n<h2>Manage Application Security<\/h2>\n<p>This step is optional and only used if you need to restrict application access for certain roles. To do so, click the &quot;Secure New Application&quot; button from within the &quot;Manage Application Security&quot; screen. Here specify which role should have access to which application.<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu15.jpg\"\/><br \/>\nMore information about this feature can be found <a href=\"\/legacy\/security\/setting-up-mrc-application-security-to-control-user-access\">here<\/a>.<\/p>\n<h2>Other Customizations<\/h2>\n<p>The menu system allows for two different types of menu options:<br \/>\nStandard Link Based Menu \u2013 This option is largely explained above as it is the default option. The output of this option looks like the following:<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu10.jpg\"\/><br \/>\nThe alternative menu design available to you is the Card Based Menu. Its output looks like this:<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu9.jpg\"\/><br \/>\nTo configure which output is displayed, go to Admin Menu -> Edit Dictionary Files -> Servlet Properties.<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu11.jpg\"\/><br \/>\n**Changing this property requires that Tomcat is restarted<br \/>\nNote: You can change the height of the card via Admin Menu -> Edit Dictionary Files -> mrc Menu. Then click &quot;Switch&quot; and select &quot;mrcmenu-card-layout.html.&quot; The height of the card can be controlled in the 1st line of code.<\/p>\n<p>Developers also have the ability to customize the navigation bar menu. Valid choices are the Header Tree Menu and the Header Mega Menu:<br \/>\nAn Example of the Header Tree Menu would be:<br \/>\n <img decoding=\"async\" src=\"\/legacy\/images\/menu12.jpg\"\/><br \/>\nNotice that in the above example, the user would have to hover on each parent element to view its child element. \u201cWeb Apps\u201d is the parent element, where \u201cReports\u201d is the Minor Group, \u201cFinance\u201d is the Sub-Minor Group, and YTD Report &#038; Year End Report are the specific Menu links.<br \/>\nThe alternative option for the navigation menu would be the Header Mega Menu. An example of this can be found below:<br \/>\n<img decoding=\"async\" src=\"\/legacy\/images\/menu13.jpg\"\/><\/p>\n<p>In this case, \u201cWeb Apps\u201d is the Major Group, \u201cReports\u201d and \u201cRetrievals\u201d are the Minor Groups. Then, every other option is a valid link.<br \/>\nThis option is particularly useful for customers who would like to see all of their menu options under a single Major group at one time.<br \/>\nThe Header Mega Menu is not compatible with Sub-Minor Groups. Any menu option that has a parent of a Sub-Minor Group will be omitted from the menu.<br \/>\n**Any changes to the servlet properties file will require Tomcat to be restarted<\/p>\n<p>Click <a href=\"https:\/\/www.mrc-productivity.com\/legacy\/security\/promote-menu-data\" target=\"_blank\">here<\/a> to learn how to promote Menu data to a separate production database.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>End-User Menuing This documentation will cover how to create and manage menu options within m-Power. The menu feature gives users a centralized location to find all the new applications you\u2019ve created. Further, it is very simple to add\/change menu options based on a User\u2019s Role. Please see the video below to get an overview of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1227,"menu_order":30,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8812","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/pages\/8812","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/comments?post=8812"}],"version-history":[{"count":19,"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/pages\/8812\/revisions"}],"predecessor-version":[{"id":9254,"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/pages\/8812\/revisions\/9254"}],"up":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/pages\/1227"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/legacy\/wp-json\/wp\/v2\/media?parent=8812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}