Menu items created by programs are stored in /_config/programlinks.cfm. You can edit the XML here to change the order, labels, URLs, or hierarchy of the admin menu links.
Here is an example of a programlinks.cfm file
<site> <program name="Admins" path="/admin/admins/" /> <program name="CMS" path="/admin/cms/"> <link label="Pages" url="page-list.cfm" /> <link label="Sections" url="section-list.cfm" /> </program> </site>
The information here could be extracted by calling Application.Framework.getProgramLinksArray(). For the above example, this would be the result:
This links will often be created by the links method of Program.cfc. For example, the CMS entry from above could have been created by the following "links" method:
<cffunction name="links" access="public" returntype="string" output="yes"> <program permissions="CMS"> <link label="Pages" url="page-list.cfm" /> <link label="Sections" url="section-list.cfm" /> </program> </cffunction>
If you are using the default generated code, then the layout will pass this information to cf_sebMenu to populate the links of your administration section by passing the results of Application.Framework.getProgramLinksArray() to the "data" argument of cf_sebMenu.
If you have a security service running for Neptune, then you can also add a "permissions" attribute to any "program" or "link" element and that program or link will not display for users that do not have any of the listed permissions. The nature of how that will be determined will be up to the security service itself.