Problem/Motivation
On #2495657: Admin links are missing from a module's help page, Help is fixed to restore the list of admin links that used to be displayed at the bottom.
In testing this on comment #3, I noticed that there were some links present in Drupal 7 that were not showing up in Drupal 8. The ones I noticed were:
- Node module: the admin/content page [pretty important!]
- Database Logging module: the top search terms report admin/reports/search
Looking at the code, it appears that the list of tasks to show is generated by a call to system_get_module_admin_tasks(), and this function is apparently not returning all the links that it should.
Proposed resolution
a) Novice task - Done, comment #3 Turn on all the Core modules in a Drupal 7 and Drupal 8 site (with the patch on #2495657: Admin links are missing from a module's help page if this is not committed yet). Survey the Help pages to figure out which links are missing, and add a comment to this issue. Another way to do this task is to compare the page admin/index in Drupal 7 and 8, and see what the differences are between the links shown for each module in the two versions.
b) Novice task - Done, comment #4 Also survey the admin pages that you see from the top toolbar (Content, Structure, etc.) and make sure that the links shown there are present on the appropriate module help pages (or on admin/index). Make a list of those that are not shown on help or admin/index.
c) Make a patch to ensure that these links are returned by system_get_module_admin_tasks() and are then shown in the appropriate help. See comment #2 for some notes on how this might be done.
Remaining tasks
The following items need to be added/removed from the Help page "admin links" lists and the "list of admin by module" (admin/index):
a) admin/content - in D8 it is listed under the System module, should be Node - this link is provided by system.routing.yml
b) admin/reports/search - missing in D8 - the link is provided by dblog.routing.yml
c) The admin pages listed for System module that are really just landing pages, like admin/config, admin/structure, admin/config/* -- these should not really be listed on System Help or the By Module index page at all. They don't actually let you administer anything. But we want to keep Appearance, People, and Extend, which are real pages, and make sure that the real admin pages underneath those landing pages are all listed in their appropriate module.
d) admin/content/files - missing, should be File module I think? - admin/content/file is provided by file_entity module in D7
e) admin/people/permissions and admin/people/roles - missing, should be User module - see #2617262: Add permissions and roles to administration menu
f) admin/theme/udpate, admin/modules/update, admin/appearance/settings and admin/modules/uninstall - should be System module
g) The confusing two "People" pages from the User module - one should be renamed (admin/people vs. admin/config/people) - see #715972: People section(s) are very confusing
So the remaining task is to make a patch that fixes this.
User interface changes
More (or less confusing) links will be shown in the help pages and on admin/index.
API changes
None.
Beta phase evaluation
Issue category | Bug because admin links are missing, incorrectly. |
---|---|
Issue priority | Normal because the worst that happens is people have to discover the links another way |
Prioritized changes | The main goal of this issue is usability - providing better lists of admin links for the Help pages |
Disruption | Should not be disruptive. |
Comment | File | Size | Author |
---|---|---|---|
#36 | 2495867-36.patch | 905 bytes | anweshasinha |
#35 | 2495867-35.patch | 740 bytes | anweshasinha |
#14 | interdiff-14.txt | 1.76 KB | tim-diels |
#14 | 2495867-14.patch | 4.59 KB | tim-diels |
#13 | task c - destroyed menu items.png | 43.51 KB | irenebreiner |
Comments
Comment #1
jhodgdonComment #2
jhodgdonA couple of notes:
- You can also see the list of links by module on the admin/index page... and why is that not in any discernable order by the way? I guess that is a separate issue. Anyway, another way to do the task of part A in the summary would be to compare admin/index in Drupal 7 and Drupal 8. I'll suggest that.
- Actually, that's a good idea, because on that page you can see that admin/content is shown under the System module, as is admin/config/search. The reason is that these are landing page links, so they are part of system.links.menu.yml. Which is fine, but it screws up both the Help pages and the Index page. This is not going to be easy to fix, unless perhaps we can check the owner/provider of the *route* instead of the owner of the admin link in system_get_module_admin_tasks()? Unsure... here's the area of that function I'm talking about, where it is trying to find the tasks for $module and it skips ones whose link is not provided by this module:
Comment #3
marcoscanoJust performed task a), although apparently not much new found.
On clean d7 and d8 with all core modules installed, the differences I found were:
Missing in D8
Database logging
- admin/reports/search ("Top search phrases")
Field:
- admin/help/number ("Number")
-> There is no link in D8 but there is an explanation on the same page, so this is apparently not a bug.
Node:
- admin/content ("Content")
Statistics:
- admin/reports/hits ("Recent hits")
- admin/reports/pages ("Top pages")
- admin/reports/visitors ("Top visitors")
- admin/reports/referrers ("Top referrers")
-> None of these pages exist (404), so they might not be part of the bug
System:
- admin/config/people/ip-blocking ("IP address blocking")
-> also 404
- admin/config/search/clean-urls ("Clean URLs")
-> also 404
- admin/config/system/actions ("Actions")
-> It's inside the Actions Help page
I also took note of the new links in D8. Not really related to this bug, but I will leave them here for reference:
Added in D8
Book:
- admin/structure/book ("Books")
Comment:
- admin/structure/comment ("Comment types")
Field:
- admin/help/aggregator ("Aggregator")
- admin/help/comment ("Comment")
- admin/help/datetime ("Datetime")
- admin/help/entity_reference ("Entity Reference")
- admin/help/link ("Link")
- admin/help/path ("Path")
- admin/help/responsive_image ("Responsive Image")
- admin/help/user ("User")
File:
- admin/people/permissions#module-file ("Configure File Permissions")
System:
- admin/content ("Content")
- admin/structure ("Structure")
- admin/reports ("Reports")
- admin/config/system ("System")
- admin/config/content ("Content authoring")
- admin/config/user-interface ("User interface")
- admin/config/development ("Development")
- admin/config/media ("Media")
- admin/config/search ("Search and metadata")
- admin/config/regional ("Regional and language")
- admin/config/services ("Web services")
- admin/config/workflow ("Workflow")
User:
- admin/config/people ("People")
-> NOTE: Should this be renamed? There currently are two links with the same text "People", one pointing to admin/config/people and another pointing to admin/people.
Comment #4
marcoscanoPerformed task b):
Unreachable admin pages from help / index:
On "Content"
- admin/content/files ("Files")
On "Appearance"
- admin/theme/update ("Update")
- admin/appearance/settings ("Settings")
On "Extend"
- admin/modules/update ("Update")
- admin/modules/uninstall ("Uninstall")
On "People"
- admin/people/permissions ("Permissions")
- admin/people/roles ("Roles")
On "Reports"
- admin/reports/search ("Top search phrases")
Comment #5
jhodgdonThanks marcoscano! That is very very helpful. Now we just need to figure out what to do with this information, and then do it. It does look like quite a few pages are missing and/or are miscategorized (those that appear in the System module that are really provided by other modules).
So... Looking at these lists, it looks like what we need to fix is:
a) admin/content - in D8 it is listed under the System module, should be Node
b) admin/reports/search - missing in D8, probably should be listed in Search module, or else under dblog, either way
c) The admin pages listed for System module that are really just landing pages, like admin/config, admin/structure, admin/config/* -- these should not really be listed on System Help or the By Module index page at all. They don't actually let you administer anything. But we want to keep Appearance and Extend.
d) admin/content/files - missing, should be File module I think?
e) admin/people/permissions and admin/people/roles - missing, should be User module
f) admin/theme/udpate, admin/modules/update, admin/appearance/settings and admin/modules/uninstall - should be System module
g) The confusing two "People" pages from the User module - one should be renamed (admin/people vs. admin/config/people)
Adding this to the issue summary.
Comment #6
JinX-Be CreditAttribution: JinX-Be at Wunder commentedWe're at Drupalcon Barcelona and are going to do this with the Half-Dutch-Backend table.
Comment #7
JinX-Be CreditAttribution: JinX-Be at Wunder commentedComment #8
capuleto CreditAttribution: capuleto at Eksponent commentedAdded links to manage roles and permissions under user module.
Comment #9
thawi CreditAttribution: thawi as a volunteer commentedRemaining task b):
Added missing link to most searched under the dblog module.
Comment #10
JinX-Be CreditAttribution: JinX-Be at Wunder commentedFixed the 'g' subtask
Comment #11
jeroen_vreuls CreditAttribution: jeroen_vreuls commentedFix for remaining task D: missing Files module in admin/index.
Comment #12
JinX-Be CreditAttribution: JinX-Be at Wunder commentedComment #13
irenebreiner CreditAttribution: irenebreiner commentedI couldn't manage to fix task c. If you just delete the links inside system.links.menu.yml the links disappear on the index page but then the menu structure gets broken. That's because the links are all parent links to other menu items. Is there any way to just don't show them on the index page and still have them as parent menu items?
Comment #14
tim-dielsFixed the 'f' subtask with PQ
Comment #15
PQ CreditAttribution: PQ at D. Agency commentedCheers @tim-diels
Comment #16
PQ CreditAttribution: PQ at D. Agency commentedComment #19
malcomio CreditAttribution: malcomio commentedIs it worth splitting this up into separate issues for each item?
There is already #715972: People section(s) are very confusing for g - The confusing two "People" pages from the User module - one should be renamed (admin/people vs. admin/config/people). I'd say it's best to keep discussion of that point on that issue.
I've created #2617262: Add permissions and roles to administration menu to cover adding the permissions and roles links.
Comment #20
malcomio CreditAttribution: malcomio commentedComment #21
malcomio CreditAttribution: malcomio commentedUpdated Remaining Tasks section of the issue summary to clarify which tasks are still relevant, and which are covered in other issues.
Comment #22
malcomio CreditAttribution: malcomio commentedDigging into the various routing.yml, links.menu.yml, and links.task.yml files, it looks like the items that don't appear in the listings on the help pages are those where the links aren't defined in a links.menu.yml file.
For example, theme and module update links are defined in update.links.task.yml, and they don't appear.
Also, top search phrases is added by the dblog_menu_links_discovered_alter hook implementation.
Comment #34
anweshasinha CreditAttribution: anweshasinha at Valuebound commentedI am Working on this
Comment #35
anweshasinha CreditAttribution: anweshasinha at Valuebound commentedHi,
Worked on b) admin/reports/search - missing in D8 - the link is provided by dblog.routing.yml
Need someone to review my task.
Comment #36
anweshasinha CreditAttribution: anweshasinha at Valuebound commentedI have worked on d) admin/content/files - missing, should be File module I think? - admin/content/file is provided by file_entity module in D7. I have submitted the patch. Please review it.
Comment #37
claudiu.cristeaAdded related #3038971: Move system_get_module_admin_tasks() into a service and deprecate it.