wiki:MultiSelectFieldPlugin

Adds support for a multiselection dropdown box as a custom field in a ticket

Description

This is a plugin allowing custom fields in tickets with multiple selection mode. Predefined values must be defined for each field, from which multiple values can be selected by the user.

The data is saved as a normal custom text field with the values separated by a single space. This way the normal Trac user interface will show the values in a sensible way too. Any spaces in the options are converted to '_' by default when saving the data.

The selection component itself uses http://harvesthq.github.io/chosen/ to implement multiple selection in a more user friendly way.

Bugs/Feature Requests

Existing bugs and feature requests are here.

If you have any issues, create a new ticket.

defect

4 / 4

Download

Download the zipped source from here.

Source

Check out MultiSelectFieldPlugin from here using Subversion or easy_install etc., or browse the source with Trac.

Installation

General instructions on installing Trac plugins can be found on the TracPlugins page.

Configuration

The default configuration should be fine for most people, but if you need to change how the data is saved you can add these options under [multiselectfield] in conf/trac.ini:

simple_selection
Instead of the more advanced "chosen" selection box, use a standard html multiselection box. Default value: false.
data_delimiter
The delimiter that is used when storing the data (as the selected options are appended to a single custom text field). Space is used by default as values separated by space will be recognized by the custom text field in list mode as separate values. Note: changing this option when there is already data saved with other options value may lead to unpredictable behavior. Default value: ' '.
strip_whitespace
Defined whether whitespace in the names of the predefined selectable values is removed before saving the data (whitespace will be converted to underscores). This should be enabled when using white space as data delimiter. Note: changing this option when there is already data saved with other options value may lead to unpredictable behavior. Default value: true.

Example

For example this will add a new field supporting multiple selection called 'environment' with some predefined values:

[ticket-custom]
environment = text
environment.format = list
environment.label = Environment
environment.multiselect = true
environment.options = Android|iPhone|iPad|Windows|Linux|MacOs
environment.order = 2

Note: Adding new selection choices is always fine. However, be careful when changing the existing options of a field when there is existing data with the old options. When you view a ticket the ui will only show currently valid options. Any old options will be cleared when the ticket is modified and the field in question has been changed.

Recent Changes

15007 by ollika on 2015-11-01 15:30:48
Added an option to use standard html selection box
15006 by ollika on 2015-10-31 15:32:52
Fixed issue with similar option names. Fixed field revert functionality. Updated chosen version. Fixed options with whitespace. Added option to define the data delimiter
13144 by ollika on 2013-05-15 13:21:53
Removed unnecessary logging that caused problems with IE (Ticket #11066).
(more)

Author/Contributors

Author: ollika (https://suikki.github.io/)
Maintainer: Olli Kallioinen
Contributors:

Last modified 3 weeks ago Last modified on Jun 5, 2016, 8:18:26 PM

Attachments (2)

Download all attachments as: .zip