annotate examples/trac/wiki-default/TracReports @ 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 = Trac Reports =
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
2 [[TracGuideToc]]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
3
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
4 The Trac reports module provides a simple, yet powerful reporting facility
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
5 to present information about tickets in the Trac database.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
6
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
7 Rather than have its own report definition format, TracReports relies on standard SQL
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
8 `SELECT` statements for custom report definition.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
9
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
10 '''Note:''' ''The report module is being phased out in its current form because it seriously limits the ability of the Trac team to make adjustments to the underlying database schema. We believe that the [wiki:TracQuery query module] is a good replacement that provides more flexibility and better usability. While there are certain reports that cannot yet be handled by the query module, we intend to further enhance it so that at some point the reports module can be completely removed. This also means that there will be no major enhancements to the report module anymore.''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
11
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
12 ''You can already completely replace the reports module by the query module simply be disabling the former in [wiki:TracIni trac.ini]:''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
13 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
14 [components]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
15 trac.ticket.report.* = disabled
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
16 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
17 ''This will make the query module the default handler for the “View Tickets” navigation item. We encourage you to try this configuration and report back what kind of features of reports you are missing, if any.''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
18
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
19 A report consists of these basic parts:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
20 * '''ID''' -- Unique (sequential) identifier
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
21 * '''Title''' -- Descriptive title
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
22 * '''Description''' -- A brief description of the report, in WikiFormatting text.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
23 * '''Report Body''' -- List of results from report query, formatted according to the methods described below.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
24 * '''Footer''' -- Links to alternative download formats for this report.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
25
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
26 == Changing Sort Order ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
27 Simple reports - ungrouped reports to be specific - can be changed to be sorted by any column simply by clicking the column header.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
28
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
29 If a column header is a hyperlink (red), click the column you would like to sort by. Clicking the same header again reverses the order.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
30
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
31
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
32 == Alternate Download Formats ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
33 Aside from the default HTML view, reports can also be exported in a number of alternate formats.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
34 At the bottom of the report page, you will find a list of available data formats. Click the desired link to
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
35 download the alternate report format.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
36
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
37 === Comma-delimited - CSV (Comma Separated Values) ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
38 Export the report as plain text, each row on its own line, columns separated by a single comma (',').
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
39 '''Note:''' Carriage returns, line feeds, and commas are stripped from column data to preserve the CSV structure.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
40
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
41 === Tab-delimited ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
42 Like above, but uses tabs (\t) instead of comma.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
43
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
44 === RSS - XML Content Syndication ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
45 All reports support syndication using XML/RSS 2.0. To subscribe to an RSS feed, click the orange 'XML' icon at the bottom of the page. See TracRss for general information on RSS support in Trac.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
46
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
47 ----
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
48
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
49 == Creating Custom Reports ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
50
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
51 ''Creating a custom report requires a comfortable knowledge of SQL.''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
52
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
53 A report is basically a single named SQL query, executed and presented by
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
54 Trac. Reports can be viewed and created from a custom SQL expression directly
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
55 in from the web interface.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
56
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
57 Typically, a report consists of a SELECT-expression from the 'ticket' table,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
58 using the available columns and sorting the way you want it.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
59
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
60 == Ticket columns ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
61 The ''ticket'' table has the following columns:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
62 * id
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
63 * time
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
64 * changetime
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
65 * component
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
66 * severity
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
67 * priority
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
68 * owner
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
69 * reporter
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
70 * cc
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
71 * version
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
72 * milestone
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
73 * status
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
74 * resolution
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
75 * summary
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
76 * description
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
77
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
78 See TracTickets for a detailed description of the column fields.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
79
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
80 '''all active tickets, sorted by priority and time'''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
81
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
82 '''Example:''' ''All active tickets, sorted by priority and time''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
83 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
84 SELECT id AS ticket, status, severity, priority, owner,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
85 time as created, summary FROM ticket
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
86 WHERE status IN ('new', 'assigned', 'reopened')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
87 ORDER BY priority, time
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
88 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
89
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
90
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
91 ----
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
92
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
93
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
94 == Advanced Reports: Dynamic Variables ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
95 For more flexible reports, Trac supports the use of ''dynamic variables'' in report SQL statements.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
96 In short, dynamic variables are ''special'' strings that are replaced by custom data before query execution.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
97
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
98 === Using Variables in a Query ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
99 The syntax for dynamic variables is simple, any upper case word beginning with '$' is considered a variable.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
100
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
101 Example:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
102 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
103 SELECT id AS ticket,summary FROM ticket WHERE priority='$PRIORITY'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
104 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
105
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
106 To assign a value to $PRIORITY when viewing the report, you must define it as an argument in the report URL, leaving out the the leading '$'.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
107
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
108 Example:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
109 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
110 http://projects.edgewall.com/trac/reports/14?PRIORITY=high
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
111 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
112
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
113 To use multiple variables, separate them with an '&'.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
114
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
115 Example:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
116 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
117 http://projects.edgewall.com/trac/reports/14?PRIORITY=high&SEVERITY=critical
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
118 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
119
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
120
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
121 === Special/Constant Variables ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
122 There is one ''magic'' dynamic variable to allow practical reports, its value automatically set without having to change the URL.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
123
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
124 * $USER -- Username of logged in user.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
125
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
126 Example (''List all tickets assigned to me''):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
127 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
128 SELECT id AS ticket,summary FROM ticket WHERE owner='$USER'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
129 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
130
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
131
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
132 ----
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
133
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
134
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
135 == Advanced Reports: Custom Formatting ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
136 Trac is also capable of more advanced reports, including custom layouts,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
137 result grouping and user-defined CSS styles. To create such reports, we'll use
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
138 specialized SQL statements to control the output of the Trac report engine.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
139
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
140 == Special Columns ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
141 To format reports, TracReports looks for 'magic' column names in the query
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
142 result. These 'magic' names are processed and affect the layout and style of the
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
143 final report.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
144
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
145 === Automatically formatted columns ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
146 * '''ticket''' -- Ticket ID number. Becomes a hyperlink to that ticket.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
147 * '''created, modified, date, time''' -- Format cell as a date and/or time.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
148
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
149 * '''description''' -- Ticket description field, parsed through the wiki engine.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
150
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
151 '''Example:'''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
152 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
153 SELECT id as ticket, created, status, summary FROM ticket
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
154 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
155
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
156 === Custom formatting columns ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
157 Columns whose names begin and end with 2 underscores (Example: '''_''''''_color_''''''_''') are
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
158 assumed to be ''formatting hints'', affecting the appearance of the row.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
159
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
160 * '''_''''''_group_''''''_''' -- Group results based on values in this column. Each group will have its own header and table.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
161 * '''_''''''_color_''''''_''' -- Should be a numeric value ranging from 1 to 5 to select a pre-defined row color. Typically used to color rows by issue priority.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
162 * '''_''''''_style_''''''_''' -- A custom CSS style expression to use for the current row.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
163
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
164 '''Example:''' ''List active tickets, grouped by milestone, colored by priority''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
165 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
166 SELECT p.value AS __color__,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
167 t.milestone AS __group__,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
168 (CASE owner WHEN 'daniel' THEN 'font-weight: bold; background: red;' ELSE '' END) AS __style__,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
169 t.id AS ticket, summary
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
170 FROM ticket t,enum p
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
171 WHERE t.status IN ('new', 'assigned', 'reopened')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
172 AND p.name=t.priority AND p.type='priority'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
173 ORDER BY t.milestone, p.value, t.severity, t.time
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
174 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
175
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
176 '''Note:''' A table join is used to match ''ticket'' priorities with their
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
177 numeric representation from the ''enum'' table.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
178
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
179 === Changing layout of report rows ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
180 By default, all columns on each row are display on a single row in the HTML
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
181 report, possibly formatted according to the descriptions above. However, it's
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
182 also possible to create multi-line report entries.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
183
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
184 * '''column_''' -- ''Break row after this''. By appending an underscore ('_') to the column name, the remaining columns will be be continued on a second line.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
185
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
186 * '''_column_''' -- ''Full row''. By adding an underscore ('_') both at the beginning and the end of a column name, the data will be shown on a separate row.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
187
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
188 * '''_column''' -- ''Hide data''. Prepending an underscore ('_') to a column name instructs Trac to hide the contents from the HTML output. This is useful for information to be visible only if downloaded in other formats (like CSV or RSS/XML).
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
189
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
190 '''Example:''' ''List active tickets, grouped by milestone, colored by priority, with description and multi-line layout''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
191
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
192 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
193 SELECT p.value AS __color__,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
194 t.milestone AS __group__,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
195 (CASE owner
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
196 WHEN 'daniel' THEN 'font-weight: bold; background: red;'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
197 ELSE '' END) AS __style__,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
198 t.id AS ticket, summary AS summary_, -- ## Break line here
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
199 component,version, severity, milestone, status, owner,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
200 time AS created, changetime AS modified, -- ## Dates are formatted
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
201 description AS _description_, -- ## Uses a full row
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
202 changetime AS _changetime, reporter AS _reporter -- ## Hidden from HTML output
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
203 FROM ticket t,enum p
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
204 WHERE t.status IN ('new', 'assigned', 'reopened')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
205 AND p.name=t.priority AND p.type='priority'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
206 ORDER BY t.milestone, p.value, t.severity, t.time
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
207 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
208
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
209 === Reporting on custom fields ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
210
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
211 If you have added custom fields to your tickets (experimental feature in v0.8, see TracTicketsCustomFields), you can write a SQL query to cover them. You'll need to make a join on the ticket_custom table, but this isn't especially easy.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
212
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
213 If you have tickets in the database ''before'' you declare the extra fields in trac.ini, there will be no associated data in the ticket_custom table. To get around this, use SQL's "LEFT OUTER JOIN" clauses. See TracIniReportCustomFieldSample for some examples.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
214
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
215 ----
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
216 See also: TracTickets, TracQuery, TracGuide
Copyright (C) 2012-2017 Edgewall Software