wiki:ProjectPlanPlugin

Version 20 (modified by Andreas, 14 years ago) (diff)

spelling issue

Project Plan Plugin

Notice: This plugin is unmaintained and available for adoption.

Description

The ProjectPlan plug-in provides automatic visualizations of the ticket set used in the project (filterable). This should overcome the problems that appear while organizing many developers or many tickets. The main contribution of this plug-in is to provide (configurable, graphical) overview of ticket types, states, owners, dates and priorities.

The plug-in introduces three ticket attributes:

  • time to assign: by the project plan at the latest at this date the owner of the ticket should start working on the task
  • time to close: by the project plan at the latest at this date the ticket should be closed
  • dependencies: tickets that have to be closed before the current ticket

These attributes are used to draw, e.g. networks of tickets representing the suggested (topological) order of the tickets. Furthermore, it is a development base for several representations. The architecture enables contributors to add their own visualizations.

  • Current Testing Version is 0.70b (beta)
    • Features:
      • works nearly out of the box
      • GraphViz based MPM Network
      • GraphViz based hierarchical MPM network
      • critical path analysis (simple workload bases)
      • sorted reports for delayed tickets and slack times
      • other small things
    • Known Problems:
      • possible unused imports in several modules
      • other small things in code and documentation

Software Requirements

  • Python 2.5 or 2.6 with Python Standard Library
  • a recent GraphViz Package
  • Trac 0.11 (.1-5)
  • XML Template Engine Genshi 0.51 or compatible (it is part of Trac 0.11)

Basic Setup

1. Install the plug-in

  • check out the source code (you can also use export instead of checkout)
    svn checkout http://trac-hacks.org/svn/projectplanplugin/0.11/trunk
    
  • run on the shell
    python setup.py bdist_egg
    
  • deploy the created egg either globally or locally (locally is recommended at this point)

2. Setup Ticket-Custom Fields

  • in your projects trac.ini
  • For the case, you already have dependency, assign/close date ticket-custom fields
    • Add the field names (as long as the format is compatible) with
      [pp_options]
      custom_dependency_field = <your dependency fieldname>
      custom_due_assign_field = <your assign Date fieldname>
      custom_due_close_field = <your close Date fieldname>
      
    • This lets ProjectPlanPlugin use these configured fields
  • If you don't have corresponding dependency and date fields, they need to be added as ticket-custom fields
    [ticket-custom]
    dependencies = text
    dependencies.label = Dependencies
    due_assign = text
    due_assign.label = Due to assign
    due_assign.value = DD/MM/YYYY
    due_close = text
    due_close.label = Due to close
    due_close.value = DD/MM/YYYY
    

Note: If a standard Trac installation is used, the plug-in should work at this point in time.

3. Basic GraphViz Configuration (needed for networks)

  • login with administrative rights, navigate to admin (WebAdmin)
    • select the panel ProjectPlan -> General Settings (on the left)
    • verify the settings for cachepath and dot_executable
  • or set the following options in the projects trac.ini
    [pp_options]
    cachepath = <full path to the cache directory>
    dot_executable = <path to graphviz binaries>\dot.exe
    
    • restart your web server for configuration reload
  • verify access and execution rights for the web server User
  • cachepath should be a separate directory for each project, this reduces possible cache collisions

4. Color Setup

  • login with administrative rights, navigate to admin (WebAdmin)
  • select the panel ProjectPlan -> Color Settings (on the left)
  • set HTML color codes and apply settings

5. Image Setup

  • login with administrative Rights, navigate to Admin (WebAdmin)
  • select the panel ProjectPlan -> Image Settings (on the left)
  • select the images, you'd like to use and apply settings
    • the smaller images (e.g., 16x16 pixel) can reduce the size of the graphical network representation

Daily Usage

  • The cache size can grow quite big because changes in tickets and per user/macro produce a lot of files and images
    • it is recommended to either wipe the cache in intervals or setup a daily cronjob to for cache cleaning

Example

Add ticket dependencies and close/assign Times.

  • Network Graphics
    • Use the ProjectPlan Macro for (mpm like) network graphics with several options enabling project runtime estimation and (workload based) critical path analyses.
  • Special Reports
    • Use special reports which show delays and slacktimes
  • ...

Macro Samples:

  1. Both networks (hierarchical and non-hierarchical) use critical path analysis. This won't work without ticket times for all tickets (either start, end, or both).
  2. The critical path analysis won't work with cyclic dependencies
  3. Dependencies are saved in ticket-custom fields. A dependency line consists of Ticket Identifiers "#<Ticket ID>".

    == hierarchical Network ==
    [[ProjectPlan(macroid=1,renderer=gvhierarchical)]]
    
    == hierarchical Network with start and end times==
    [[ProjectPlan(macroid=1,renderer=gvhierarchical,betickets)]]
    
    == filtered (milestone=milestone1) ==
    [[ProjectPlan(macroid=filtered,renderer=gvhierarchical,filter_milestone=milestone1)]]
    
    == non-hierarchical (full network) ==
    [[ProjectPlan(renderer=gvrender,macroid=2,withbuffer)]]
    
    == Network Legends ==
    [[ProjectPlan(macroid=legend,renderer=gvrender,statuslegend,prioritylegend,notickets)]]
    
    == Special Reports ==
    [[ProjectPlan(macroid=report_buffer,renderer=report_buffer,limitlines=4)]]
    [[ProjectPlan(macroid=report_closing_delay,renderer=report_closing_delay,limitlines=10)]]
    [[ProjectPlan(macroid=report_assign_delay,renderer=report_assign_delay,limitlines=10)]]

Devel

Development?

Known Incompatibilities

The plugin (in particular macroid=1 and macroid=2) does not work with older version of graphviz/dot, e.g. dot version 2.6 (Fri Jun 16 16:00:18 UTC 2006). Please update to a newer version of graphviz, e.g. to dot - Graphviz version 2.20.2 (Wed Jan 27 16:49:48 UTC 2010). To check the version type graphviz -V. An overview of tested graphviz versions is shown here.

Bugs/Feature Requests

Existing bugs and feature requests for ProjectPlanPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from [download:projectplanplugin here].

Source

You can check out ProjectPlanPlugin from here using Subversion, or browse the source with Trac.

Recent Changes

16448 by rjollos on 2017-04-04 07:09:32
Remove intermediate directory
16447 by rjollos on 2017-04-04 07:09:00
Fix indentation
13331 by anbo on 2013-07-07 18:32:10
v2.1.5, patch release

fixes a bug, where the depending tickets are not saved during ticket creation

(more)

Author/Contributors

Author: makadev, anbo
Contributors:

Attachments (3)

Download all attachments as: .zip