Autocomplete feature for the Keywords field
This plugin provides an autocomplete function for the Keywords ticket field or any other text-based ticket field. Optionally, it is possible to restrict the list of allowed keywords.
See also LoomingCloudsPlugin.
Version 0.5dev of this plugin is now available. If you want to test out the latest version, report back how it is working and possibly do some debugging, then the latest version is for you. Otherwise, r11004 should be fairly stable.
Recent changes are:
- Upgraded from the jQuery Autocomplete Plugin to jQuery UI 1.8.16.
- Added support for the TagsPlugin (#4201).
- The autocomplete list can be attached to a text-based field other than the Keywords field (#5831).
- The helppage link can point to any resource in any realm. For example, it can be a link to the /tags page. Previously, it could only point to a wiki page (#5907).
- Several bug fixes.
- Regressions introduced in #8141 are being fixed.
- Previously, the multipleseparator configuration option was defined in quotes (e.g. ", "). Now, only the separator character should be specified (e.g. multipleseparator = ,). The default is a single whitespace character.
- Several of the configuration options will be renamed before 0.5 is released. Please revisit this section for additional notes before installing a new version.
Planned enhancements before 0.5 is released:
- Allow the autocomplete list to be attached to more than one text-based ticket field. Additionally, different configurations will be supported for each ticket field. For example, one of the ticket fields could be using keywords from the TagsPlugin and the other could be using keywords defined in trac.ini (#5831).
- A new boolean option usetagsplugin. Currently, the TagsPlugin will be used when it is installed and enabled.
- Offer all keywords used up until now for use, even if the TagsPlugin is not installed (#3816).
- There is the possibility of supporting multiple themes (comment:8:ticket:8141). Please comment in that ticket if you have any thoughts on the issue.
If you have any issues, create a new ticket.
Download the zipped source from here.
General instructions on installing Trac plugins can be found on the TracPlugins page.
The following section must be added to your trac.ini configuration file:
[keywordsuggest] field = keywords keywords = tag1,tag2,tag3 mustmatch = False helppage = wiki/TicketKeywords helppage.newwindow = False matchcontains = True multipleseparator = ,
There are the following parameters to configure:
- field - field to which the suggestion will be attached (default: keywords).
- keywords - specifies list of comma separated values available for input.
- mustmatch - 'keywords' field accepts values from the keywords list only, optional.
- helppage - 'keywords' label will be turned into the link to a resource; this could be a wiki page, or any resource in any realm, such as the tags page (helppage = tags), optional.
- helppage.newwindow - whether wiki page is opened in a new window or not, optional.
- matchcontains - whether keywords which matched not from the beginning must be included into list, optional.
- multipleseparator - the character(s) to use as separator between keywords. Must be enclosed with quotas or other characters. If not specified, then ', ' is used.
The Keywords field expands upon receiving focus:
The Keywords label can be the link to a wiki page.
- 15264 by rjollos on 2016-02-11 05:22:34
Remove unnecessary svn:mime-type on py files
svn:mime-type was set to "plain" for many files.
- 12103 by rjollos on 2012-10-03 07:38:09
- Moved generation of keywords string into a private method.
- Several other refactorings, backed by unit tests.
- In Trac 1.0 and later, jQuery-UI from the Trac core is added to the page. The ability to add jQuery-UI to the page was added in Trac 1.0.
- 12101 by rjollos on 2012-10-03 03:31:24
- Strip single quotes from the multipleseparator Option value. This allows the user to specify a single whitespace separator as ' ' (which is not necessary since a single whitespace is the default), or even dream up separators such as double whitespace as ' '. A single whitespace character is used as the separator in the case the user specifies ''. Thanks to itamarost for pointing out this corner case in his original patch.
- Wired up unit tests.
- Renamed keywords.py to web_ui.py, to work around an issue described in comment:39, in which the keywordsuggest.keywordsuggest module was not being found by the keywordsuggest.tests.keywordsuggest module when running unit tests.
NOTE: If you have enabled the plugin through webadmin or by editing trac.ini with keywordsuggest.keywordsuggest.* = enabled, you will need to re-enable the plugin through webadmin, or edit the line to keywordsuggest.web_ui.* = enabled (or keywordsuggest.web_ui.keywordsuggestmodule = enabled).