Changes between Version 1 and Version 2 of AnalyzePlugin


Ignore:
Timestamp:
Dec 11, 2011, 12:29:13 AM (12 years ago)
Author:
Rob Guttman
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AnalyzePlugin

    v1 v2  
    1212
    1313These analyses all build off of the mastertickets plugin.  The second and third also build off of the queues plugin.
     14
     15== Configuration ==
     16 1. Install the plugin (after downloading and unzipping):
     17    {{{
     18    cd analyzeplugin/0.12
     19    sudo python setup.py bdist_egg
     20    sudo cp dist/TracAnalyze*.egg /your/trac/location/plugins/
     21    }}}
     22
     23    See [http://trac.edgewall.org/wiki/TracPlugins TracPlugins] for more installation details and options.  You'll likely need to restart Trac's web server after installation.
     24
     25 2. Enable the plugin:
     26    {{{
     27    [components]
     28    analyze.* = enabled
     29    }}}
     30
     31    You can alternatively use the Trac Web Admin GUI to enable any or all rules.
     32
     33 3. Enable the {{{ANALYZE_VIEW}}} permission for those users who are allowed to execute analyses.
     34
     35See the examples section [wiki:AnalyzePlugin#Examples below] for how to specify rules.
    1436
    1537
     
    3254== Example ==
    3355
    34 parent-child
    35 peer
     56This plugin currently includes three analyses that can each be individually enabled for one or more reports.  Each analysis is configured by modifying the {{{[analyze]}}} section of {{{trac.ini}}} - see below for examples.  When an analysis is enabled for a report, an "Analyze..." button appears at the top of the report and the analysis' name will appear in the subsequent dialog box when the button is clicked.  You can either choose a single analysis or all analyses in this dialog box.  Selecting "All" will run them serially.
     57
     58==== Milestone Dependency Analysis ====
     59The popular [wiki:MasterTicketsPlugin master tickets plugin] enables specifying dependencies amongst tickets and visualizes them via graphviz.  However, it does not provide tools to help manage these dependencies including detecting when they're not scheduled in the correct dependency order.  That's where this Milestone Dependency Analysis comes in.
     60
     61This analysis detects when a ticket in a given report has a dependency (a "blockedby" ticket) that is in a future milestone (or not scheduled in any milestone).  To enable this analysis for a given report, list those reports in {{{trac.ini}}} as follows:
     62{{{
     63[analyze]
     64milestone_reports = 1,9
     65}}}
     66
     67Detected problems are shown with an option to automatically fix the problem by moving tickets into appropriate milestones.
     68
     69==== Queue Dependency Analysis ====
     70The [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 custom field usually named {{{position}}} (but can be named anything).  Dependencies amongst tickets in a queue have similar problems as tickets across milestones - in this case, a dependent ticket should precede (i.e., appear higher in the queue which means have a lower {{{position}}} value), but it can be difficult to manuually catch all of these dependency violations.  That's where this Queue Dependency Analysis comes in.
     71
     72This analysis detects when a ticket in a given report has a dependency (a "blockedby" ticket) whose {{{position}}} comes after this ticket's (or has no {{{position}}} yet at all).  To enable this analysis for a given report, list those reports in {{{trac.ini}}} as follows:
     73{{{
     74[analyze]
     75queue_reports = 2,9
     76queue_fields = queue,milestone
     77}}}
     78
     79The {{{queue_fields}}} option above tells this analysis what fields define a queue.  Queues can be defined by one or more fields such as the {{{milestone}}} field, a custom {{{queue}}} field, both or other fields.  If you have different reports using different definitions, you can define report-specific queue field definitions as follows:
     80{{{
     81[analyze]
     82queue_fields.9 = queue
     83}}}
     84
     85In this example, report 2 uses both {{{queue}}} and {{{milestone}}} fields to define a queue whereas report 9 uses only the {{{queue}}} field.
     86
     87Detected problems are shown with an option to automatically fix the problem by moving tickets above or below each other in the queue.
     88
     89== Tips! ==
     90 * If this tool's project management changes generates emails that are of little value to your team, then you can quiet them by enabling "Quiet Mode" using the [wiki:QuietPlugin Quiet Plugin].
    3691
    3792== Recent Changes ==