{"id":23,"date":"2008-10-12T06:38:45","date_gmt":"2008-10-12T10:38:45","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/?p=23"},"modified":"2008-10-12T08:03:03","modified_gmt":"2008-10-12T12:03:03","slug":"improving-dotnetnuke-50-administrator-menu-organization","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/2008\/10\/12\/improving-dotnetnuke-50-administrator-menu-organization\/","title":{"rendered":"Improving DotNetNuke 5.0 Administrator Menu Organization"},"content":{"rendered":"<p style=\"text-align: left\"><a href=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2008\/10\/dnnadminmenubefore.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-24\" style=\"float: right\" src=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2008\/10\/dnnadminmenubefore-300x289.png\" alt=\"DotNetNuke Admin Menu (Original)\" width=\"233\" height=\"253\" \/><\/a>One of my (few) cavils about the <a href=\"http:\/\/dotnetnuke.com\">DotNetNuke Content Management System<\/a>\u00a0is the organization of the administrator menu.\u00a0 Presenting an administrator with thirteen options (including\u00a0somewhat inscrutable choices like &#8220;Extensions&#8221; and &#8220;Solutions&#8221;), is easily overwhelming for an often-technically unsophisticated administrator.\u00a0 Indeed, both feedback from users and log analysis have indicated that several of these options are rarely utilized and thereby serve only to clutter the interface and increase the learning curve.<\/p>\n<p>In pre-5.0 versions, despite being persisted to the database like any other page, the admin menu is restricted to one level.\u00a0 This was a hardcoded limitation; though one could change the verbiage, order, or visibility\u00a0of the items in the menu, one could not introduce additional levels of organization (without\u00a0several changes to the core framework).<\/p>\n<p>With DotNetNuke 5.0, however, because administrator pages are treated on-par with any other page on a site, an improvement in organization becomes possible.\u00a0 Herein I discuss the changes necessary to, in my opinion, improve the overall organization of the DotNetNuke administrator menu.<\/p>\n<p><!--more--><\/p>\n<p><a href=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2008\/10\/dnnadminmenuadvanced.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-25\" style=\"float: right\" src=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2008\/10\/dnnadminmenuadvanced-150x150.png\" alt=\"DotNetNuke 5.0 Administrator Menu with Advanced Option\" width=\"150\" height=\"150\" \/><\/a>My goal was to group several of the less-used administrator menu options and place them under a new &#8220;Advanced&#8221; menu option.\u00a0 The process for creating this tab was straightforward, with title &#8220;Advanced,&#8221; the &#8220;Disabled&#8221; checkbox selected, and &#8220;Admin&#8221; selected as the parent page.\u00a0 It was also necessary to specify an icon.<\/p>\n<p>Using the &#8220;Pages&#8221; tab, I next organized those pages that I felt were rarely used (or had only advanced application).\u00a0 In my opinion, those pages were in the set { Site Settings, Log Viewer, Security Roles, Vendors, Extensions, and Solutions }.\u00a0 Naturally, different sites have different requirements, and the list of pages falling into this category might vary.\u00a0 The &#8220;Site Settings&#8221; option required particular consideration, but ultimately I felt that since it was only accessed initially that it was safe to tuck away and de-clutter the interface.<\/p>\n<p>My page organization ultimately resulted in the following hierarchy*:<\/p>\n<p style=\"text-align: center\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-26\" src=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2008\/10\/dotnetnukepages.png\" alt=\"DotNetNuke Admin Page Organization\" width=\"500\" height=\"345\" \/><\/p>\n<p style=\"font-size: smaller\">* Astute readers will note that the &#8220;Site Wizard&#8221; option has been removed.\u00a0 I generally prefer to remove this option after a customer has initialized his or her site.<\/p>\n<p style=\"text-align: left\">These changes resulted in an administrator menu that is, in my opinion, significantly more streamlined, intuitive, and user-friendly:<\/p>\n<p style=\"text-align: center\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-27\" src=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2008\/10\/dnnadminmenuafter-300x265.png\" alt=\"DotNetNuke Administrator Menu (After)\" width=\"300\" height=\"265\" \/><\/p>\n<h2>Addendum<\/h2>\n<p style=\"text-align: justify\">I encountered one difficulty with this process of which readers should be aware.\u00a0 When organizing the page hierarchy, I initially visited page settings and explicitly set the new page parent from the dropdown list.\u00a0 However, this caused the icon to disappear.\u00a0 Because the icons for administrator pages are located outside the portal directory (specifically, in &#8220;\/images&#8221;), it became impossible to restore these icons.<\/p>\n<p style=\"text-align: justify\">This behavior does not appear to manifest when using the arrow links on the &#8220;Pages&#8221; tab (image above).\u00a0 Therefore, until this behavior is corrected (or declared by design), I strongly suggest using this method as your exclusive means by which to organize the administrator hierarchy.<\/p>\n<p>For those interested, the work item for this issue is located <a href=\"http:\/\/support.dotnetnuke.com\/issue\/ViewIssue.aspx?id=8599&amp;PROJID=23\">here.<\/a><\/p>\n<p>B<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of my (few) cavils about the DotNetNuke Content Management System\u00a0is the organization of the administrator menu.\u00a0 Presenting an administrator with thirteen options (including\u00a0somewhat inscrutable choices like &#8220;Extensions&#8221; and &#8220;Solutions&#8221;), is easily overwhelming for an often-technically unsophisticated administrator.\u00a0 Indeed, both feedback from users and log analysis have indicated that several of these options are rarely [&hellip;]<\/p>\n","protected":false},"author":1933,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3062,142],"tags":[3070,19470],"class_list":["post-23","post","type-post","status-publish","format-standard","hentry","category-dotnetnuke-dnn-content-management-system","category-technology","tag-dotnetnuke","tag-dotnetnuke-dnn-content-management-system"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/users\/1933"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":0,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}