11 | | == Bugs/Feature Requests == |
12 | | |
13 | | Existing bugs and feature requests for TracJsGanttPlugin are |
14 | | [report:9?COMPONENT=TracJsGanttPlugin here]. |
15 | | |
16 | | If you have any issues, create a |
17 | | [http://trac-hacks.org/newticket?component=TracJsGanttPlugin&owner=ChrisNelson new ticket]. |
18 | | |
19 | | == Download == |
20 | | |
21 | | Download the zipped source from [download:tracjsganttplugin here]. |
22 | | |
23 | | == Source == |
24 | | |
25 | | You can check out TracJsGanttPlugin from [http://trac-hacks.org/svn/tracjsganttplugin here] using Subversion, or [source:tracjsganttplugin browse the source] with Trac. |
26 | | |
27 | | == Installation == |
28 | | |
29 | | 1. [#Download Download] the source and run: |
30 | | {{{ |
31 | | python setup.py bdist_egg |
32 | | }}} |
33 | | |
34 | | 2. Install it in one of the following ways: |
35 | | {{{ |
36 | | cp dist/*.egg path/to/trac/env/plugins |
37 | | }}} |
38 | | {{{ |
39 | | easy_install dist/*.egg |
40 | | }}} |
41 | | |
42 | | 3. Enable the plugin in {{{trac.ini}}} as follows: |
43 | | {{{ |
44 | | [components] |
45 | | tracjsgantt.* = enabled |
46 | | }}} |
47 | | |
48 | | == Example == |
| 11 | == Usage == |
56 | | Trac-jsGantt is intended to be flexible enough to get data from various plugins by configuring the field names for those plugins in `trac.ini`. It is known to work with TimingAndEstimationPlugin (for estimated and total hours), MasterTicketsPlugin (for FS dependencies), and SubticketsPlugin for parent/child relationships. Custom fields for start and finish date are also supported. |
| 19 | The chart display can be controlled with a number of macro arguments: |
| 20 | |
| 21 | ||Argument ||Version ||Description ||Default |
| 22 | || `format`|| ||Initial display format: day, week, month, or quarter || day || |
| 23 | || `sample`|| ||Display sample tasks (1) or not (0) || 0 || |
| 24 | || `res`|| ||Show resource column (1) or not (0) || 1 || |
| 25 | || `dur`|| ||Show duration colunn (1) or not (0) || 1 || |
| 26 | || `comp`|| ||Show percent complete column (1) or not (0) || 1 || |
| 27 | || `caption`|| ||Caption to place to right of tasks: None, Caption, Resource, Duration, %Complete || Resource || |
| 28 | || `startDate`|| ||Show start date column (1) or not (0) || 1 || |
| 29 | || `endDate`|| ||Show end date column (1) or not (0) || 1 || |
| 30 | || `dateDisplay`|| ||Date display format: 'mm/dd/yyyy', 'dd/mm/yyyy', or 'yyyy-mm-dd' || 'mm/dd/yyyy' || |
| 31 | || `openLevel`|| ||Number of levels of tasks to show. 1 = only top level task. || 999 || |
| 32 | || `colorBy`|| ||Field to use to choose task colors. Each unique value of the field will have a different color task. Other likely useful values are owner and milestone but any field can be used. || priority || |
| 33 | || `root`|| ||When using something like Subtickets plugin to maintain a tree of tickets and subtickets, you may create a Gantt showing a ticket and all of its descendants with `root=<ticket#>`. The macro uses the configured `parent` field to find all descendant tasks and build an `id=` argument for Trac's native query handler. (Note multiple roots may be provided like `root=1|12|32`.) || || |
| 34 | || `lwidth`|| ||The width, in pixels, of the table of task names, etc. on the left of the Gantt. || || |
| 35 | |
| 36 | All other macro arguments are treated as TracQuery specification (e.g., milestone=MS1|MS2) to control which tickets are displayed. |
| 37 | |
| 38 | == Installation == |
| 39 | |
| 40 | |
| 41 | 1. '''Install''' globally with: |
| 42 | {{{ |
| 43 | sudo easy_install http://trac-hacks.org/svn/tracjsganttplugin/0.11/ |
| 44 | }}} |
| 45 | 2. '''Enable''' the plugin by updating TracIni file (..../trac.ini) as follows: |
| 46 | {{{ |
| 47 | [components] |
| 48 | tracjsgantt.* = enabled |
| 49 | }}} |
| 50 | 3. '''Configure''' the plugin at its own configuration section, placed into 'trac.ini' file as follows: |
| 51 | {{{ |
| 52 | [trac-jsgantt] |
| 53 | # To work with Timing and Estimation for percent complete |
| 54 | fields.estimate = estimatedhours |
| 55 | fields.worked = totalhours |
| 56 | # Each unit in estimate is 1/8 of a day |
| 57 | days_per_estimate = 0.125 |
| 58 | # To work with Master Tickets for dependencies |
| 59 | fields.pred = blockedby |
| 60 | fields.succ = blocking |
| 61 | # To work with Subtickets for parent/child relationships |
| 62 | fields.parent = parents |
| 63 | # Custom fields for start and due dates |
| 64 | fields.start = userstart |
| 65 | fields.finish = userfinish |
| 66 | # |
| 67 | date_format = %Y-%m-%d |
| 68 | milestone_type = milestone |
| 69 | }}} |
| 70 | * See [#Configuration configuration details] below for explanations and more options. |
| 71 | 4. Restart web server on command line: |
| 72 | {{{ |
| 73 | #!sh |
| 74 | $ sudo /etc/init.d/apache2 restart |
| 75 | }}} |
| 76 | |
| 77 | === Configuration details === |
| 78 | |
| 79 | !TracJsGanttPlugin is intended to be flexible enough to get data from various plugins by configuring the field names for those plugins in `trac.ini`. It is known to work with TimingAndEstimationPlugin (for estimated and total hours), MasterTicketsPlugin (for FS dependencies), and SubticketsPlugin for parent/child relationships. Custom fields for start and finish date are also supported. |
59 | | |
60 | | Your `trac.ini` may include: |
61 | | |
62 | | {{{ |
63 | | [trac-jsgantt] |
64 | | # To work with Timing and Estimation for percent complete |
65 | | fields.estimate = estimatedhours |
66 | | fields.worked = totalhours |
67 | | # Each unit in estimate is 1/8 of a day |
68 | | days_per_estimate = 0.125 |
69 | | # To work with Master Tickets for dependencies |
70 | | fields.pred = blockedby |
71 | | fields.succ = blocking |
72 | | # To work with Subtickets for parent/child relationships |
73 | | fields.parent = parents |
74 | | # Custom fields for start and due dates |
75 | | fields.start = userstart |
76 | | fields.finish = userfinish |
77 | | # |
78 | | date_format = %Y-%m-%d |
79 | | milestone_type = milestone |
80 | | }}} |
100 | | * format - Initial display format: day (default), week, month, or quarter |
101 | | * sample - Display sample tasks (1) or not (0; default) |
102 | | * res - Show resource column (1; default) or not (0) |
103 | | * dur - Show duration colunn (1; default) or not (0) |
104 | | * comp - Show percent complete column (1; default) or not (0) |
105 | | * caption - Caption to place to right of tasks: None, Caption, Resource (default), Duration, %Complete |
106 | | * startDate - Show start date column (1; default) or not (0) |
107 | | * endDate - Show end date column (1; default) or not (0) |
108 | | * dateDisplay - Date display format: 'mm/dd/yyyy' (default), 'dd/mm/yyyy', or 'yyyy-mm-dd' |
109 | | * openLevel - Number of levels of tasks to show. 1 = only top level task. 999 is the default. |
110 | | * colorBy - Field to use to choose task colors. Each unique value of the field will have a different color task. Defaults to priority. Other likely useful values are owner and milestone but any field can be used. |
111 | | * root - When using something like Subtickets plugin to maintain a tree of tickets and subtickets, you may create a Gantt showing a ticket and all of its descendants with `root=<ticket#>`. The macro uses the configured `parent` field to find all descendant tasks and build an `id=` argument for Trac's native query handler. (Note multiple roots may be provided like `root=1|12|32`.) |
112 | | * lwidth - The width, in pixels, of the table of task names, etc. on the left of the Gantt. |
| 101 | If you have any issues, create a [/newticket?component=TracJsGanttPlugin&owner=ChrisNelson new ticket]. |