The attached patch adds a menu search/scout to the administration section, in help.module. Type in a keyword or two, and get a list of matching admin pages back. Links are highlighted on the current page with spiffy bubbles. Deep links are highlighted with half-transparent bubbles.

Updated demo video available: http://acko.net/files/Drupal%20Menu%20Scout.mp4

It indexes the menu item titles, descriptions and help with search.module on first search (takes a couple of seconds). It does not use cron-based indexing.

Because it is difficult to correctly highlight inline and floated links, I only added the search to the top level admin pages (i.e. admin and admin/*).

Known issues:

  • Links highlighted in the sidebar in Garland are dimmed. Can't find a fix for this.
  • Safari is kind of slow, mostly due to the deep link highlighting. This feature can be removed.
  • The bubble style is hardcoded in JS, because it needs to override all other styling on the highlighted element. We can't guarantee absolute specificity for this. Won't fix.
  • Untested on IE.

Things to think about:

  • Maybe include a stemming module by default to make the search better?
  • It would be cool if we could even index the actual page content too, or e.g. if it's a form, the labels of form items.

This is a completely new feature, but one which IMO makes the admin section much easier to get used to.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

chx’s picture

This is awesome... but D5.x? not so sure.

ChrisKennedy’s picture

Awesome feature, especially when you sit down and try it out; this will really help with usability. Searching for the correct administration page is a huge pain for non-experts, lessened by the admin reorganization of course. This could generate a lot of publicity. +1 for another "strange feeling" feature that takes drupal ahead of the pack. -1 for asking for reviews of a 15kb feature request so late in the release cycle though.

Applied to a current installation and it never finds anything (throbber seems to go infinitely). Clearing the menu cache fixes this.

It would be nice if the corresponding bubble (if it exists) also changed color when an item is highlighted in the dropdown list.

On /admin the "Find" text overlaps with "by module" if the window size is too small.

Searches that highlight menu items show a dark gray bubble that isn't clickable: searches such as "drupal", "help", "configure", "content", or "blog." Why show a bubble but not let the user click the link? (I see that this is a known issue for Garland)

It isn't immediately clear why some bubbles are gray and some are white (and some are dark gray) - maybe this could be explained to the user? Or there might not be a good way to explain/show the nesting aspect.

If you have an error on your admin page ("One or more problems were detected with your Drupal installation. Check the status report for more information.") and search for logs, the "status report" bubble will be incorrectly located below and to the left (see attached screenshot). (Known issue with inline links)

Searches with single quotes work, but searches with double quotes don't (i.e. they don't return anything). It seems reasonable to let users search with double quotes.

ChrisKennedy’s picture

Status: Needs review » Needs work
FileSize
6.29 KB

IE returns "invalid argument" line 174, char 5, code 0 when using the search.

Commenting out line 178 of help.js ('height': parseInt($('body').css('height')) + 30 + 'px',) removes the error, stops the background "graying" on search, and the functionality starts to somewhat work. The dropdown list is located outside of the page (top is correct, but left is too far to the right). Screenshot attached.

ChrisKennedy’s picture

FileSize
14.93 KB

Attached patch fixes the initial IE attribute error by manually creating the body element & CSS within guideAutoAttach. It could be moved to somewhere more central though, like drupal.js.

ChrisKennedy’s picture

FileSize
14.92 KB

Correction: the body element doesn't need to be manually created, just the css.

eaton’s picture

I too am conflicted about the feature going in this late. At the same time, my entire being resonates with the knowledge that it is a damned sexy feature. Anyone with core commit rights have thoughts on whether this would actually have a chance?

RobRoy’s picture

On principle, I would hope that if we were going to add some usability this late in the cycle that it would go for a really important usability issue to allow users to easily add blocks http://drupal.org/node/92630, instead of something sexy like this (although I agree with Eaton). But hey, my uid is 22975 not 10, so what do I know? =)

moshe weitzman’s picture

Perhaps the goal should be that we patch core just enough for this to live as a Contrib in Drupal 5. From a quick read, I can't find anything that has to change but i must be missing something. Anyone up for reworking as a Contrib module and a small core patch if needed?

ChrisKennedy’s picture

FileSize
4.27 KB

Here's a basic conversion of the code to a contributed module; no core modifications are needed. I made the minimum number of changes necessary so it could use a bit more cleaning up if someone is interested.

moshe weitzman’s picture

Status: Needs work » Reviewed & tested by the community

is working for me. i suggest adding it to CVS and creating a project. we can refine in own issue queue.

Boris Mann’s picture

Version: 5.x-dev » 6.x-dev

+1 for contrib module (works for me as well) -- a nice addition for help in general for 6.x

ChrisKennedy’s picture

Status: Reviewed & tested by the community » Needs work

The code still needs work in terms of being committed to d6.

moshe weitzman’s picture

Status: Needs work » Closed (fixed)

project created - http://drupal.org/project/menuscout. use that issue tracker for future discussion. at some point, this should go into core though.

robertDouglass’s picture

Version: 6.x-dev » 7.x-dev
Status: Closed (fixed) » Needs work

Let's get this into D7.

douggreen’s picture

Sounds cool, but not exactly what I'm looking for, but ... Tracking

Freso’s picture

This definitely looks nifty. Subscribing. :)

Sutharsan’s picture

Component: help.module » usability

Moving all usability issues to Drupal - component usability.

David_Rothstein’s picture

Title: Usability: add menu scout to admin » Add an administrative search feature
Component: usability » help.module
Issue tags: +Usability

Giving this a better title...

This would be really nice although doesn't seem particularly likely for Drupal 7 at this point. Sounds like it would be a nice solution to the current problem in Drupal 7, where the new IA means there isn't really an admin page where you can even go and use Ctrl-F in Firefox to do an on-page search to find something. #699848: admin/by-task is confusing since it lacks links to config pages and looks similar to admin/config and friends would help with that too, though, and is much more likely for D7.

Bojhan’s picture

Version: 7.x-dev » 8.x-dev

Yes, too late. Lets figure this out in Drupal 8, a bit uncomfortable though - since nothing like this exists in contrib.

David_Rothstein’s picture

Assigned: Steven » Unassigned

In addition to http://drupal.org/project/menuscout (linked to above, but for Drupal 5) I just came across a newer module which looks like it does something along these lines for Drupal 7: http://drupal.org/project/coffee

realityloop’s picture

Version: 8.x-dev » 9.x-dev
Issue tags: +API change

Since help is stored in the codebase this will require API changes, a restructure that exposes the information to views would be a way to go about this for D9.

catch’s picture

Version: 9.x-dev » 8.1.x-dev
Status: Needs work » Postponed
jhodgdon’s picture

A recent issue made this same request; some discussion there on how to do it with the configurable help topics: #2359519: Make a search plugin for full text help searching

jhodgdon’s picture

I've filed a new meta issue to collect all the problems with the current help system and discuss the best route to fixing them; this issue is being added as Related there, and all of its concerns are listed in the Problem/Motivation section:
#2592487: [meta] Help system overhaul

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.

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.

andypost’s picture

Status: Postponed » Active

I think it's more a question menu/searchability, asked in upcoming tuning of menu navigation #3391723-13: [PLAN] Accessibility review