annotate examples/trac/wiki-default/TracTicketsCustomFields @ 39:93b4dcbafd7b trunk

Copy Trac to main branch.
author cmlenz
date Mon, 03 Jul 2006 18:53:27 +0000
parents
children
rev   line source
39
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
1 = Custom Ticket Fields =
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
2 Trac supports adding custom, user-defined fields to the ticket module. Using custom fields, you can add typed, site-specific properties to tickets.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
3
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
4 == Configuration ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
5 Configuring custom ticket fields is done in the [wiki:TracIni trac.ini] file. All field definitions should be under a section named `[ticket-custom]`.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
6
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
7 The syntax of each field definition is:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
8 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
9 FIELD_NAME = TYPE
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
10 (FIELD_NAME.OPTION = VALUE)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
11 ...
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
12 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
13 The example below should help to explain the syntax.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
14
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
15 === Available Field Types and Options ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
16 * '''text''': A simple (one line) text field.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
17 * label: Descriptive label.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
18 * value: Default value.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
19 * order: Sort order placement. (Determines relative placement in forms.)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
20 * '''checkbox''': A boolean value check box.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
21 * label: Descriptive label.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
22 * value: Default value (0 or 1).
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
23 * order: Sort order placement.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
24 * '''select''': Drop-down select box. Uses a list of values.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
25 * options: List of values, separated by '''|''' (vertical pipe).
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
26 * value: Default value (Item #, starting at 0).
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
27 * order: Sort order placement.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
28 * '''radio''': Radio buttons. Essentially the same as '''select'''.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
29 * label: Descriptive label.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
30 * options: List of values, separated by '''|''' (vertical pipe).
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
31 * value: Default value (Item #, starting at 0).
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
32 * order: Sort order placement.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
33 * '''textarea''': Multi-line text area.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
34 * label: Descriptive label.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
35 * value: Default text.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
36 * cols: Width in columns.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
37 * rows: Height in lines.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
38 * order: Sort order placement.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
39
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
40 === Sample Config ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
41 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
42 [ticket-custom]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
43
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
44 test_one = text
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
45 test_one.label = Just a text box
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
46
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
47 test_two = text
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
48 test_two.label = Another text-box
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
49 test_two.value = Just a default value
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
50
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
51 test_three = checkbox
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
52 test_three.label = Some checkbox
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
53 test_three.value = 1
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
54
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
55 test_four = select
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
56 test_four.label = My selectbox
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
57 test_four.options = one|two|third option|four
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
58 test_four.value = 2
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
59
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
60 test_five = radio
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
61 test_five.label = Radio buttons are fun
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
62 test_five.options = uno|dos|tres|cuatro|cinco
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
63 test_five.value = 1
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
64
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
65 test_six = textarea
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
66 test_six.label = This is a large textarea
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
67 test_six.value = Default text
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
68 test_six.cols = 60
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
69 test_six.rows = 30
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
70 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
71
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
72 ''Note: To make an entering an option for a `select` type field optional, specify a leading `|` in the `fieldname.options` option.''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
73
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
74 === Reports Involving Custom Fields ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
75
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
76 The SQL required for TracReports to include custom ticket fields is relatively hard to get right. You need a `JOIN` with the `ticket_custom` field for every custom field that should be involved.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
77
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
78 The following example includes a custom ticket field named `progress` in the report:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
79 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
80 #!sql
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
81 SELECT p.value AS __color__,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
82 id AS ticket, summary, component, version, milestone, severity,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
83 (CASE status WHEN 'assigned' THEN owner||' *' ELSE owner END) AS owner,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
84 time AS created,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
85 changetime AS _changetime, description AS _description,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
86 reporter AS _reporter,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
87 (CASE WHEN c.value = '0' THEN 'None' ELSE c.value END) AS progress
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
88 FROM ticket t
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
89 LEFT OUTER JOIN ticket_custom c ON (t.id = c.ticket AND c.name = 'progress')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
90 JOIN enum p ON p.name = t.priority AND p.type='priority'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
91 WHERE status IN ('new', 'assigned', 'reopened')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
92 ORDER BY p.value, milestone, severity, time
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
93 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
94
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
95 Note in particular the `LEFT OUTER JOIN` statement here.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
96
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
97 ----
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
98 See also: TracTickets, TracIni
Copyright (C) 2012-2017 Edgewall Software