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

Reference: https://www.drupal.org/core/beta-changes
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.
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

jhodgdon’s picture

jhodgdon’s picture

Issue summary: View changes

A 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:

   $link = $element->link;
    if ($link->getProvider() != $module) {
      continue;
    }
marcoscano’s picture

Just 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.

marcoscano’s picture

Performed 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")

jhodgdon’s picture

Issue summary: View changes
Issue tags: -Novice

Thanks 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.

JinX-Be’s picture

We're at Drupalcon Barcelona and are going to do this with the Half-Dutch-Backend table.

JinX-Be’s picture

Assigned: Unassigned » JinX-Be
capuleto’s picture

Added links to manage roles and permissions under user module.

thawi’s picture

Remaining task b):
Added missing link to most searched under the dblog module.

JinX-Be’s picture

Fixed the 'g' subtask

jeroen_vreuls’s picture

Fix for remaining task D: missing Files module in admin/index.

JinX-Be’s picture

Assigned: JinX-Be » Unassigned
irenebreiner’s picture

I 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?

tim-diels’s picture

Fixed the 'f' subtask with PQ

PQ’s picture

Cheers @tim-diels

PQ’s picture

Status: Active » Needs review

Status: Needs review » Needs work

The last submitted patch, 14: 2495867-14.patch, failed testing.

The last submitted patch, 14: 2495867-14.patch, failed testing.

malcomio’s picture

Is 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.

malcomio’s picture

malcomio’s picture

Issue summary: View changes

Updated Remaining Tasks section of the issue summary to clarify which tasks are still relevant, and which are covered in other issues.

malcomio’s picture

Version: 8.0.x-dev » 8.1.x-dev

Digging 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.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.0-beta1 was released on March 2, 2016, which means new developments and disruptive changes should now be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

anweshasinha’s picture

I am Working on this

anweshasinha’s picture

FileSize
740 bytes

Hi,
Worked on b) admin/reports/search - missing in D8 - the link is provided by dblog.routing.yml
Need someone to review my task.

anweshasinha’s picture

FileSize
905 bytes

I 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.

claudiu.cristea’s picture

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.