[Trac-tickets] [The Trac Project] #1549: Save/restore reports in trac-admin. System vs user reports

The Trac Project noreply at edgewall.com
Fri May 13 10:00:55 EDT 2005


#1549: Save/restore reports in trac-admin. System vs user reports
-------------------------+--------------------------------------------------
       Id:  1549         |      Status:  new                     
Component:  trac-admin   |    Modified:  Fri May 13 10:00:55 2005
 Severity:  enhancement  |   Milestone:  0.9                     
 Priority:  normal       |     Version:  devel                   
    Owner:  daniel       |    Reporter:  pkou at ua.fm           
-------------------------+--------------------------------------------------
 Implementing a customized workflow system in Trac affects almost every
 feature (timeline, roadmap, reports, tickets, queries) because ticket
 statuses can be different. While all features can be abstracted from
 ticket statuses, reports cannot.

 A solution for this problem is to give administrator a possibility to
 update reports when a workflow is changed.

 It requires the following changes:
  1. {{{trac-admin}}} shall allow admins to save existing reports in a
 file;
  1. {{{trac-admin}}} shall allow admins to add new reports from a file;
  1. {{{trac-admin}}} shall allow admins to replace workflow-specific
 reports from a file.

 While (1) and (2) is understandable, it is necessary to define how to
 distinguish between a report that should be replaced during workflow
 change (e.g. ''system report'') and a report that should be kept during
 workflow change (e.g. ''user report'').

 Possible solutions:
  1. Classify all reports as ''system'' and ''other''. User is not able to
 change report type. By default, all reports that are created by Trac are
 marked as ''system''. When user creates a report, it is marked as
 ''other''. When user edits a ''system'' report, Trac shows a warning that
 the changes will be lost after workflow change.
    * It requires changes in database (new column ''type'' for table
 ''report'').
    * When system reports are replaced, Trac deletes existing system
 reports first, then creates reports from a file trying to keep recommended
 report ID that is specified in a file.
  1. Reserve first ''N'' reports as ''system'' (e.g. N=30). When user
 creates a report, it is created in user area and has id>N.
    * It requires an upgrade script that moves all reports created by user
 behind N. As result, report references in wiki will be lost.

 {{trac-admin}}} commands:
  * {{{report save (system|user) <filename>}}} - save system or user
 reports to a file;
  * {{{report add (system|user) <filename>}}} - add system or user reports
 from a file;
  * {{{report replace (system|user) <filename>}}} - replace system or user
 reports from a file.

 Thus, when a workflow needs to be changed for a project, admin should take
 the following steps:
  1. Specify new workflow in configuration;
  1. Replace system reports for a project.

 Workaround until the feature is not implemented: Update reports by direct
 database editing using {{{sqlite}}}.

 ''(In preparation to #869)''

-- 
Ticket URL: <http://projects.edgewall.com/trac/ticket/1549>
The Trac Project <>


More information about the Trac-Tickets mailing list