Changes between Version 9 and Version 10 of NewWorkflow
- Timestamp:
- Nov 15, 2004, 9:13:20 PM (19 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
NewWorkflow
v9 v10 13 13 14 14 List of attachments: 15 * '''patch-newworkflow-r10 40.diff''': Source code patch for Trac;15 * '''patch-newworkflow-r1064.diff''': Source code patch for Trac; 16 16 * '''closedticket.png''': Updated icon for closed tickets in timeline; 17 17 * '''resolvedticket.png''': New icon for resolved tickets in timeline; … … 29 29 This documents includes description and implementation of new workflow system that resolves this issue for ''Trac''. 30 30 31 It is still possible to use existing workflow with these changes. The new workflow does not remove existing workflow. Workflow version is configured in ''trac.ini'' via property ''workflow_version''.31 It is still possible to use existing workflow with these changes. The new workflow does not remove existing workflow. Workflow is configured in ''trac.ini'' via property ''workflow''. 32 32 33 33 == Workflow Transitions == … … 97 97 1. Refresh source code tree from http://svn.edgewall.com/repos/trac/trunk; 98 98 1. Apply attached patch; 99 1. Add attached files '''closedticket.png''', '''resolvedticket.png''', and '''reopenedticket.png''' to directory '''htdocs''';100 1. Install Trac by running '''setup.py install'''101 1. Upgrade every project by running '''trac-admin ''project-path'' upgrade''';99 1. Add attached files {{{closedticket.png}}}, {{{resolvedticket.png}}}, and {{{reopenedticket.png}}} to directory {{{htdocs}}}; 100 1. Install Trac by running {{{setup.py install}}} 101 1. Upgrade every project by running {{{trac-admin project-path upgrade}}}; 102 102 1. Settings for several predefined reports are overridden during the upgrade. If standard reports have been customized for a project, then it is necessary to repeat the customization using the following steps: 103 1. Go to directory ''' ''project-path''/db''';103 1. Go to directory {{{project-path/db}}}; 104 104 1. Dump existing reports by running {{{sqlite trac.db ".dump report" > dump.new}}} 105 105 1. Dump original reports by running {{{sqlite trac.db.7.bak ".dump report" > dump.old}}} … … 110 110 1. Review and modify ''components''. Specify '''owner''' and '''qaowner''' for every component; 111 111 1. Review and modify ''milestones''. Specify '''owner''' for every milestone. 112 1. Finally, edit ''' ''project-path''/conf/trac.ini''' and change property '''workflow_version''' to '''2''' (section '''ticket''');112 1. Finally, edit {{{project-path/conf/trac.ini}}} and change property '''workflow''' to '''trac.workflows.QaRmtWorkflow''' (section '''ticket'''); 113 113 114 114 == Modified Files and Detailed Release Notes == … … 116 116 Many files have been modified and below list describes the changes. The patch is also available. 117 117 118 * Files '''wiki-default/TracIni''', '''wiki-default/TracAdmin''', '''scripts/trac-admin''', '''trac/db_default.py''', '''trac/Environment.py'''; Added '''trac/upgrades/db8.py''': 119 * Property ''workflow_version'' added to ''trac.ini'', section ''tickets'': 120 * For new projects and by default, it equals to '''2''' and new workflow is used; 121 * For upgraded projects, it equals to '''1''' and current (old) workflow is used; 122 * The version of workflow can be changed at any time. 118 === Refactoring of Trac code for easy support of customized workflows === 119 120 * File {{{wiki-default/TracIni}}}: 121 * Property ''workflow'' added to ''trac.ini'', section ''tickets'': 122 * The property specifies class name that implements workflow for Trac; 123 * By default, it equals to '''trac.workflows.SimpleWorkflow''' and current workflow is used. 124 * File {{{setup.py}}}; Added {{{trac/workflows/__init__.py}}}: 125 * Install additional directory ''trac/workflows'', which contains predefined implementations of workflows for Trac. 126 * Added {{{trac/workflows/Base.py}}}: 127 * Abstract base class for any workflow. All workflow implementations should be derived from it. 128 * Added {{{trac/workflows/SimpleWorkflow.py}}}, {{{templates/ticket_workflow_simple.cs}}}: 129 * Implementation of standard workflow (as in Trac 0.8). 130 * Files {{{trac/Ticket.py}}}, {{{templates/ticket.cs}}}, {{{templates/newticket.cs}}}: 131 * Code refactoring for customized workflow usage; 132 * Workflow-specific code has been moved to {{{trac/workflows/SimpleWorkflow.py}}} and {{{templates/ticket_workflow_simple.cs}}}; 133 * Visible enhancements: 134 * Better error handling: If validation of a ticket is failed, then the ticket is displayed in preview mode automatically with explanation of errors; 135 * Custom fields are preserved in preview mode (see #930 also). 136 137 === Changes for new workflow === 138 139 * Files {{{wiki-default/TracAdmin}}}, {{{scripts/trac-admin}}}, {{{trac/db_default.py}}}, {{{trac/upgrades/__init__.py}}}; Added {{{trac/upgrades/db8.py}}}: 123 140 * New ticket statuses ''resolved'' and ''verified'' added: 124 141 * Status ''resolved'' is used by QA for testing; … … 142 159 * ''Resolved Tickets by Owner''. 143 160 * For processing verified and closed defects by Release Manager: 144 * '' Verified Tickets by Milestone (Full Description)''.161 * ''Completed Tickets by Milestone (Full Description)''. 145 162 * Default report ''All Tickets by Milestone'' renamed to ''Active Tickets by Milestone'' because existing name does not correspond to what is produced by the report; 146 163 * Default report ''My Tickets'' updated so that new statuses are queried; … … 148 165 * '''Not Assigned''' displayed as group name for empty ''owner'' or ''milestone''; 149 166 * '''Not Specified''' displayed as group name for empty ''version''; 150 * Database version changed to '''8'''. Affected tables including reports are updated during database upgrade. Old workflow is used by default after the upgrade. 151 152 * Files '''trac/Ticket.py''', '''templates/ticket.cs''': 153 * New workflow is used when ''workflow_version'' equals to '''2''' in ''trac.ini'', section ''ticket''. See separate chapter '''Workflow Transitions''' for details; 154 * Owner is calculated automatically when statuses are changed. The cacluation depends on currently logged user, status, component owner, component qaowner, milestone owner, and ticket reporter. See separate section '''Automatic Ticket Assignment''' for details; 155 * Displayed ticket actions depend on current workflow version; 156 157 * Files '''trac/Milestone.py''', '''trac/Roadmap.py''', '''templates/roadmap.cs''', '''templates/milestone.cs''': 167 * Database version changed to '''8'''. Affected tables including reports are updated during database upgrade; 168 * Old workflow is used by default after the upgrade. New workflow is used by default for new projects. 169 170 * Files {{{trac/workflows/__init__.py}}}; Added {{{trac/workflows/QaRmtWorkflow.py}}}, {{{templates/ticket_workflow_qarmt.cs}}}: 171 * Implementation of new workflow. See separate chapters '''Workflow Transitions''' and '''Automatic Ticket Assignment''' for details. 172 173 * File {{{templates/ticket.cs}}}: 174 * Display resolution in ticket header when it is available (currently, the resolution is displayed for closed tickets only). 175 176 * Files {{{trac/Milestone.py}}}, {{{trac/Roadmap.py}}}, {{{templates/roadmap.cs}}}, {{{templates/milestone.cs}}}: 158 177 * Word '''resolved''' is replaced with word '''completed''' in order to eliminate conflict with status ''resolved''; 159 178 * New statuses used when percentage is calculated: … … 164 183 * New statuses are taken into account when information is downloaded in ''iCalendar'' format. 165 184 166 * Files '''htdocs/css/timeline.css''', '''htdocs/closedticket.png''', '''trac/Timeline.py''', '''templates/timeline_rss.cs''', '''templates/timeline.cs'''; Added '''htdocs/resolvedticket.png''':185 * Files {{{htdocs/css/timeline.css}}}, {{{htdocs/closedticket.png}}}, {{{trac/Timeline.py}}}, {{{templates/timeline_rss.cs}}}, {{{templates/timeline.cs}}}; Added {{{htdocs/resolvedticket.png}}}, {{{htdocs/reopenedticket.png}}}: 167 186 * The ''resolved'' and ''verified'' tickets added to timeline when new workflow is used; 168 187 * ''Milestone owner'' is retrieved from database for RSS; 169 188 * New icons are used for ''resolved'', ''closed'', and ''reopened''/''retested'' tickets in timeline. 170 189 171 * File '''trac/Wikiformatter.py''':190 * File {{{trac/WikiFormatter.py}}}: 172 191 * Ticket status is displayed in popups for ticket numbers. 173 192 … … 183 202 == Patch History == 184 203 204 * '''patch-newworkflow-r1040.diff''': Patch that does not include refactoring in {{{Ticket.py}}} in order to support customized workflows. 185 205 * '''patch-newworkflow-r1034.diff''': Patch that includes one more non-related change (see #905 for details). There are no more changes to remove! :-) 186 206 * '''patch-newworkflow-r1016.diff''': Patch that includes one more non-related change (see #892 for more details). Also, this patch has merge conflicts with current codebase. Also, this patch does not contain support for separate icon for reopened/retested tickets.