= Trac Reports = [[TracGuideToc]] The Trac reports module provides a simple, yet powerful reporting facility to present information about tickets in the Trac database. Rather than have its own report definition format, TracReports relies on standard SQL `SELECT` statements for custom report definition. '''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.'' ''You can already completely replace the reports module by the query module simply by disabling the former in [wiki:TracIni trac.ini]:'' {{{ [components] trac.ticket.report.* = disabled }}} ''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.'' '''''You will almost definitely need to restart your httpd at this point.''''' A report consists of these basic parts: * '''ID''' -- Unique (sequential) identifier * '''Title''' -- Descriptive title * '''Description''' -- A brief description of the report, in WikiFormatting text. * '''Report Body''' -- List of results from report query, formatted according to the methods described below. * '''Footer''' -- Links to alternative download formats for this report. == Changing Sort Order == Simple reports - ungrouped reports to be specific - can be changed to be sorted by any column simply by clicking the column header. 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. == Changing Report Numbering == There may be instances where you need to change the ID of the report, perhaps to organize the reports better. At present this requires changes to the trac database. The ''report'' table has the following schema (as of 0.10): * id integer PRIMARY KEY * author text * title text * query text * description text Changing the ID changes the shown order and number in the ''Available Reports'' list and the report's perma-link. This is done by running something like: {{{ update report set id=5 where id=3; }}} Keep in mind that the integrity has to be maintained (i.e., ID has to be unique, and you don't want to exceed the max, since that's managed by SQLite someplace). == Navigating Tickets == Clicking on one of the report results will take you to that ticket. You can navigate through the results by clicking the ''Next Ticket'' or ''Previous Ticket'' links just below the main menu bar, or click the ''Back to Report'' link to return to the report page. You can safely edit any of the tickets and continue to navigate through the results using the Next/Previous/Back to Report links after saving your results, but when you return to the report, there will be no hint about what has changed, as would happen if you were navigating a list of tickets obtained from a query (see TracQuery#NavigatingTickets). ''(since 0.11)'' == Alternative Download Formats == Aside from the default HTML view, reports can also be exported in a number of alternative formats. At the bottom of the report page, you will find a list of available data formats. Click the desired link to download the alternative report format. === Comma-delimited - CSV (Comma Separated Values) === Export the report as plain text, each row on its own line, columns separated by a single comma (','). '''Note:''' Carriage returns, line feeds, and commas are stripped from column data to preserve the CSV structure. === Tab-delimited === Like above, but uses tabs (\t) instead of comma. === RSS - XML Content Syndication ==