Usability: add menu scout to admin

Steven - December 8, 2006 - 22:41
Project:Drupal
Version:7.x-dev
Component:help.module
Category:feature request
Priority:normal
Assigned:Steven
Status:patch (code needs work)
Description

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.

AttachmentSize
menu_scout.patch14.74 KB

#1

chx - December 8, 2006 - 22:44

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

#2

ChrisKennedy - December 9, 2006 - 23:23

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.

AttachmentSize
menu-scout-status-report.png8.97 KB

#3

ChrisKennedy - December 9, 2006 - 23:57
Status:patch (code needs review)» patch (code needs work)

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.

AttachmentSize
ie-error.png6.29 KB

#4

ChrisKennedy - December 10, 2006 - 09:21

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.

AttachmentSize
menu_scout_0.patch14.93 KB

#5

ChrisKennedy - December 10, 2006 - 09:31

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

AttachmentSize
menu_scout_1.patch14.92 KB

#6

Eaton - December 11, 2006 - 00:04

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?

#7

RobRoy - December 12, 2006 - 23:04

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? =)

#8

moshe weitzman - December 26, 2006 - 05:41

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?

#9

ChrisKennedy - December 27, 2006 - 22:15

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.

AttachmentSize
menuscout.tar.bz24.27 KB

#10

moshe weitzman - December 28, 2006 - 02:09
Status:patch (code needs work)» patch (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.

#11

Boris Mann - December 31, 2006 - 04:38
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

#12

ChrisKennedy - January 11, 2007 - 22:29
Status:patch (reviewed & tested by the community)» patch (code needs work)

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

#13

moshe weitzman - January 17, 2007 - 05:49
Status:patch (code needs work)» closed

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

#14

robertDouglass - April 11, 2008 - 17:51
Version:6.x-dev» 7.x-dev
Status:closed» patch (code needs work)

Let's get this into D7.

#15

douggreen - May 11, 2008 - 14:56

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

 
 

Drupal is a registered trademark of Dries Buytaert.