The User menu works the same as the main filter panel does--the same rollover, selection, close-menu, etc. behavior. Here are the User filter-specific specs:
==General User menu functions
- Selecting a username from the menu means that all edits made by that user are shown in the Results area.
- In terms of filtering logic, the entire User menu is one filter "group." This means that when multiple usernames are added to a search, each broadens the search, since all User filters relate to one another via an OR.
- In the Active Filter Display Area, User names are prepended by a @ in their respective Tag bubbles. E.g., @JoeBlow.
- Instruction text in the bottom of the panel reads: Search for any editor by typing their username in the search bar, preceded by @.
- A "?" icon (help link) leads users to an as yet unwritten Help page on the User filters. !!@Pginer-WMF -- please add this to mockups.!!
==User Search functions
- When the User menu is open, an @ is displayed in the Search bar.
- When a reviewer who hasn't used this tool comes to it for the first time, the system scans her user talk page and collects the usernames of the 4 users that have most recently edited the page. These usernames are presented in the menu, in alphabetical order, under the heading "Recent user interactions." !!@Pginer-WMF, Roan says this can be done relatively simply. Does this work for you?!!
- If the reviewer doesn't have a user talk page, or no user interactions have occurred there, no names are presented.!! @Pginer-WMF, please show a design of what this state looks like.!!
- Reviewers can search for users not on the Recent Interactions list by entering a username in the search bar, prepended by @, like so @JoeBlow.
- As the reviewer types a user name, the system attempts to match it with names of those active on that wiki, showing the 10 closest matches in the menu, in alpha order, preceded by check boxes.
- The reviewer can select a username by checking its check box in the menu, or by hitting Return once a unique match has been achieved in the search bar.
- The menu retains the 10 usernames that the reviewer used most recently, gradually replacing prepopulated usernames with usernames the user actually searched for. These usernames are listed in alphabetical order.
==Exclude mode functions & display behavior
- All User filter selections must either be in Exclude or Include mode; these modes cannot be mixed. This means that when a user makes the "Exclude selected" button active or inactive, all previous selections will turn to the new mode (and, obviously, all future selections will be in that mode). If the mode is reversed, all selections are also reversed in function and display.
- Clicking the "Exclude selected" button inverts the function, so that if "Joeblow" is selected in Exclude mode, everything is shown except changes by JoeBlow. When multiple items are excluded, the logic is //Not A OR Not B//--everything but A and B.
When the "Exclude selected" button is pressed, the following happens:
- The button turns blue. The menu is now in Exclude mode, and all selections will be Exclude selections.
- The button label changes to "Excluding selected"
- Any currently active User filters go into Exclude mode in function and display (see below)
In Exclude mode, for all selected items, the system shows the following UX behavior
- The word "Excluded" is displayed in the menu in the line of that username.
- The selected (but Excluded) items are greyed-out (to indicate they are not present in the results) while the rest of the usernames in the menu are shown with the regular white background.
- In the Active Filter Display area, the following formula is prepended to the namespace name in the tag, in boldface, "**@not**". E.g., "**@not** JoeBlow"
!!@Pginer-WMF please provide mockups!!