[[PageOutline(2-5,Contents,pullout)]]
= Autocomplete feature for the ''Keywords'' field
== Description
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.
The '''Keywords''' field expands upon receiving focus:
[[Image(autocomplete.png, border=2)]]
The '''Keywords''' label can be the link to a wiki page.
[[Image(keywords.png, border=2)]]
The plugin requires a !JavaScript enabled browser. The !JavaScript portion was derived from the jQuery UI [http://jqueryui.com/demos/autocomplete#multiple autocomplete example].
See also LoomingCloudsPlugin, TracKeywordsPlugin, TagsPlugin
== Bugs/Feature Requests
{{{
#!NewsFlash
= Development News
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 [http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ jQuery Autocomplete Plugin] to [http://jqueryui.com/ 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.
Compatibility notes:
* 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.
}}}
Existing bugs and feature requests for KeywordSuggestPlugin are
[report:9?COMPONENT=KeywordSuggestPlugin here].
If you have any issues, create a
[/newticket?component=KeywordSuggestPlugin new ticket].
[[TicketQuery(component=KeywordSuggestPlugin,group=type,format=progress)]]
== Download
Download the zipped source from [export:keywordsuggestplugin here].
== Source
You can check out KeywordSuggestPlugin from [/svn/keywordsuggestplugin here] using Subversion, or [source:keywordsuggestplugin browse the source] with Trac.
== Installation
General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page.
== Configuration
The following section must be added to your `trac.ini` configuration file:
{{{#!ini
[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.
== Recent Changes
[[ChangeLog(keywordsuggestplugin, 3)]]
== Author/Contributors
'''Author:''' [wiki:scratcher] [[BR]]
'''Maintainer:''' [[Maintainer]] [[BR]]
'''Contributors:''' itamarost, falkb, hasienda [[BR]]