[[PageOutline(2-5,Contents,pullout)]] = Project Plan with automatic visualizations of the tickets == Description This plugin provides automatic visualizations of the ticket set used in the project (filterable). This should overcome the problems that appear while managing many developers or many tickets. This plugin provides a configurable and graphical overview of ticket types, states, owners, dates and priorities. The plugin introduces the following 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 for example 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. {{{#!html

documentation

documentation

documentation
}}} Key features ([source:projectplanplugin/trunk/examples examples]): * works nearly out of the box * !GraphViz based network * !GraphViz based hierarchical network * critical path analysis for simple workload bases * sorted reports for delayed tickets and slack times * animated burn-down charts * time table of developers and tickets * ticket statistics === Example usage Add ticket dependencies and close/assign Times: * Network Graphics: Use `[[ProjectPlan(macroid=...)]]` for 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). 1. The critical path analysis won't work with cyclic dependencies. 1. Dependencies are saved in ticket-custom fields. A dependency line consists of Ticket Identifiers "#". Sample Dependencies: ''#6 and #5,#3 #4''. {{{ == 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)]] }}} Tested on Trac versions 0.11 and 0.12. For more peer projects on project management within Trac and ticket dependencies, see ProjectManagementIdeas. == Bugs/Feature Requests Existing bugs and feature requests for ProjectPlanPlugin are [report:9?COMPONENT=ProjectPlanPlugin here]. If you have any issues, create a [/newticket?component=ProjectPlanPlugin new ticket]. [[TicketQuery(component=ProjectPlanPlugin&group=type,format=progress)]] == Download Download the zipped source from [export:projectplanplugin here]. == Source You can check out ProjectPlanPlugin from [/svn/projectplanplugin here] using Subversion, or [source:projectplanplugin browse the source] with Trac. == Installation === Dependencies * Python 2.5 or 2.6 with Python Standard Library. * Recent !GraphViz Package, for compatibility issues visit [wiki:ProjectPlanPlugin/DotCompatibility here]. * XML Template Engine Genshi 0.51 or compatible (part of Trac 0.11 and later). === Installation steps * Check out the source code (you can also use export instead of checkout): {{{#!sh svn checkout https://trac-hacks.org/svn/projectplanplugin/trunk }}} * Run on the shell: {{{#!sh python setup.py bdist_egg }}} * Deploy the created egg either globally or locally; locally is recommended at this point. This plugin can be installed globally via: {{{#!sh easy_install https://trac-hacks.org/svn/projectplanplugin/trunk }}} and then enabling on a per-project instance by editing `trac.ini`: {{{#!ini [components] projectplan.* = enabled }}} == Configuration The configuration of this plugin can be done in your `trac.ini` file. * For when you already have dependencies defined, assign/close date ticket-custom fields. * Add the field names (as long as the format is compatible) with: {{{#!ini [pp_options] custom_dependency_field = custom_due_assign_field = custom_due_close_field = }}} * 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: {{{#!ini [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 plugin should work at this point. === 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 your `trac.ini` file: {{{#!ini [pp_options] cachepath = dot_executable = \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'''. === 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. === 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, for example icons, can reduce the size of the graphical network representation. === Macro Arguments * The default settings {{{[[ProjectPlan()]]}}} produce a Hierarchical network with Version on toplevel, Milestone in Versions and Tickets as leafs in Milestones. All Tickets will be used for dependency, critical path and other calculations and visualisations. * Several macro parameter control the visualization, calculation and ticket filters/queries. * A list of macro parameters can be found [wiki:ProjectPlanPlugin/MacroArgs here]. === 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 periodically clear the cache manually or set up a daily cronjob to clean the cache automatically. === Known Issues The plugin (in particular {{{macroid=1}}} and {{{macroid=2}}}) does not work with older version of graphviz/dot, eg {{{dot version 2.6 (Fri Jun 16 16:00:18 UTC 2006)}}}. Please update to a newer version of graphviz, eg to {{{dot - Graphviz version 2.20.2 (Wed Jan 27 16:49:48 UTC 2010)}}}. To check the version type {{{graphviz -V}}}. An [wiki:ProjectPlanPlugin/DotCompatibility overview of tested Graphviz versions] is shown [wiki:ProjectPlanPlugin/DotCompatibility here]. Other issues: * Possible unused imports in several modules. * Code cleanup and documentation required. == Recent Changes [[ChangeLog(projectplanplugin, 3)]] == Author/Contributors '''Author:''' [wiki:makadev], [wiki:anbo] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''