Changes between Version 43 and Version 44 of AnalyzePlugin
- Timestamp:
- Sep 8, 2017, 9:56:27 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AnalyzePlugin
v43 v44 14 14 All of the analyses above build upon the [wiki:MasterTicketsPlugin master tickets plugin]. The second and third analyses also build upon the [wiki:QueuesPlugin queues plugin]. Be sure to use the latest version of the queues plugin so that the included jquery-ui versions match to avoid conflicts! 15 15 16 See below for examples. 16 When an analysis is enabled for a report, an '''Analyze...''' button appears at the top of the report, which will present the user with the following dialog box: 17 17 18 18 [[Image(ask_analyze.png, border=2)]] 19 20 See below for further examples. 19 21 20 22 == Bugs/Feature Requests … … 68 70 ==== Milestone Dependency Analysis 69 71 70 The popular [wiki:MasterTicketsPlugin master tickets plugin] enables specifying dependencies amongst tickets and visualizes them via graphviz. However, the plugin doesn't include support to manage these dependenciessuch as detecting when tickets are scheduled out of order. That's where this Milestone Dependency Analysis comes in:72 The popular [wiki:MasterTicketsPlugin master tickets plugin] enables specifying dependencies amongst tickets and visualizes them via Graphviz. However, the plugin doesn't include support to manage these dependencies, such as detecting when tickets are scheduled out of order. That's where this Milestone Dependency Analysis comes in: 71 73 72 74 [[Image(issue-milestone.png, border=2)]] … … 87 89 ==== Queue Dependency Analysis 88 90 89 The [wiki:QueuesPlugin queues plugin] converts one or more reports into work queues. These queues enable you to drag and drop tickets above and below one another signifying their relative priority. Each ticket's relative position is maintained in a custom field usually named {{{position}}} (but can be named anything). Dependencies amongst peer tickets in a work queue have similar problems as tickets across milestones, in this case a dependent ticket should precede, ie appear higher in the queue which means have a lower {{{position}}} value, butit can be difficult to manually catch all of these dependency violations. That's where this Queue Dependency Analysis comes in:91 The [wiki:QueuesPlugin queues plugin] converts one or more reports into work queues. These queues enable you to drag and drop tickets above and below one another signifying their relative priority. Each ticket's relative position is maintained in a custom field usually named {{{position}}}, but can be named anything. Dependencies amongst peer tickets in a work queue have similar problems as tickets across milestones, in this case a dependent ticket should precede, ie appear higher in the queue, which means have a lower {{{position}}} value. However, it can be difficult to manually catch all of these dependency violations. That's where this Queue Dependency Analysis comes in: 90 92 91 93 [[Image(issue-queue.png, border=2)]] … … 112 114 In this example, the {{{queue}}} field defines the queue in report 9 and the analysis will skip any ticket in this queue with {{{type}}} equal to "epic" or {{{phase}}} equal to "verifying" or "releasing". These would typically match the {{{WHERE}}} clause in the report's SQL. 113 115 114 Detected problems are shown with an option to automatically fix the problem by moving tickets above or below each other in the queue -see screenshot above.116 Detected problems are shown with an option to automatically fix the problem by moving tickets above or below each other in the queue, see screenshot above. 115 117 116 118 ==== Project Queue Analysis 117 119 118 This analysis is for ''project'' queues (instead of work queues)meaning that the dependency semantics is parent-child. For example, you may have a report of project (or "epic" in agile-speak) tickets whose sub-tasks are represented in their {{{blockedby}}} dependencies. Re-prioritizing a project/epic/parent ticket does not automatically re-order their child tickets, respectively. That's where this Project Queue Analysis comes in:120 This analysis is for ''project'' queues rather than work queues, meaning that the dependency semantics is parent-child. For example, you may have a report of project (or "epic" in agile-speak) tickets whose sub-tasks are represented in their {{{blockedby}}} dependencies. Re-prioritizing a project/epic/parent ticket does not automatically re-order their child tickets, respectively. That's where this Project Queue Analysis comes in: 119 121 120 122 [[Image(issue-project.png, border=2)]] … … 131 133 The {{{project_type}}} option above is the ticket type of your projects, eg "epic" (the default), "project", etc. Project tickets must be of this type. 132 134 133 The default behavior of an analysis is to refresh the current report if any fixes were made. This is so that changes can be viewed (assuming they would change the content of the report. In the case of the Project Queue Analysis, you would usually also need another report refreshed -ie the impacted work queue. Use the {{{refresh_report}}} option to specify this impacted work queue which will also get refreshed at the end of this analysis if there were any fixes. You can add parameters to the report as well if needed:135 The default behavior of an analysis is to refresh the current report if any fixes were made. This is so that changes can be viewed, assuming they would change the content of the report. In the case of the Project Queue Analysis you would usually also need another report refreshed, ie the impacted work queue. Use the {{{refresh_report}}} option to specify this impacted work queue which will also get refreshed at the end of this analysis if there were any fixes. You can add parameters to the report as well if needed: 134 136 {{{#!ini 135 137 [analyze] … … 139 141 This analysis uses the same queue fields configuration as the Queue Dependency Analysis above. 140 142 141 Detected problems are shown with an option to automatically fix the problem by moving the sub-task/child tickets above or below each other in their queue (to match their parent's relative positions), see screenshot above.143 Detected problems are shown with an option to automatically fix the problem by moving the sub-task/child tickets above or below each other in their queue to match their parent's relative positions, see screenshot above. 142 144 143 145 ==== Project Rollup Analysis … … 172 174 }}} 173 175 174 In the example above ,the project's:176 In the example above the project's: 175 177 176 178 * {{{effort}}} field sums all of its children numeric values … … 181 183 In brief, the pivot algorithm is as follows (using the option's index): 182 184 183 * if all values are < the pivot value, then select their maxvalue184 * else if all are > the pivot value, then select their minvalue185 * if all values are smaller than the pivot value, then select their maximum value 186 * else if all are larger than the pivot value, then select their minimum value 185 187 * else select the pivot value 186 188 187 Detected changes to rollup field values are shown with an option to automatically update the value -see screenshot above.189 Detected changes to rollup field values are shown with an option to automatically update the value, see screenshot above. 188 190 189 191 == Tips and hints 190 192 191 193 A few ideas to optimize your analysis experience: 192 * If this tool's ticket changes generate emails that are of little value to your team, then you can quiet them by enabling "Quiet Mode" using the [wiki:QuietPlugin Quiet Plugin].194 * If this tool's ticket changes generate emails that are of little value to your team, then you can suppress them by enabling "Quiet Mode" using the QuietPlugin. 193 195 * Use !TicketQuery in a project/epic's description to see all of its sub-tasks/children. Here is an example that allows you to order by position as the first column and the ticket id as the second. The {{{1234}}} is the project/epic's ticket number: 194 196 {{{