#162: Tagging autosuggest -------------------------+-------------------------------------------------- Reporter: vengmark | Owner: vengmark Type: enhancement | Status: new Priority: major | Milestone: v1.0 Component: WebTag | Version: v0.99.1 Keywords: | -------------------------+-------------------------------------------------- When users edit the tagging input field, they should be aided by an autosuggestion feature: * Must take into account only information accessible to the user by normal means (don't base suggestions on other users' tags). * Must be related to the partial tag entered in the input field. * Suggestions must replace the partial tag when selected. * Should include both the user's tags and all the official keywords in the suggestion calculation. * Should show only a manageable number of suggestions (max 10, perhaps). * Should not list tags which are already in the tag input for the current record, including the identical match for the text entered. * The list of suggestions should be navigable with both mouse and keyboard. * The list of suggestions should be updated on screen less than one second after modifying the partial tag entered, for reasonable tag/keyword collection sizes. * Calculation on the client should be favored instead of sending more data from the server, since the latter is a potentially huge bottleneck. * Suggestions should be cached on the client. The cache should be emptied when the user saves the tags or navigates away from the web page.
Requirements which might change: * Tag suggestions should be shown completely before keyword suggestions. Suggestions should thereafter be sorted alphabetically. * Suggestions should show their use count (for only the current user in the case of tags). * The use count should be shown in parentheses after the suggestions. Possible enhancements: * The most used tags could be pre-cached. Successful pre-caching should be signaled to the server when searching for suggestions, to minimize network transfer. Could perhaps fetch the entire set of suggestions, and do all autosuggest lookups on the client? Non-requirements: * Show only suggestions saved with the same language as the display language (IMO a very confusing feature). -- Ticket URL: <http://invenio-software.org/ticket/162> Invenio <http://invenio-software.org>