GanttProject¶
GanttProject is a free project management tool allowing to edit gantt models but also view pert models and resource allocation models. As this tools is written in java it runs on all platforms.
Features¶
GanttProject allows to create milestones and hierarchies of tasks related with dependency constraints. Different fields can be attached to milestones and tasks. This includes for instance “priority”, “cost”, “start date”, “duration”, etc. Custom fields can also be added.
GanttProject is mostly an editor for gantt models (see above). It also contains a viewer for pert models (see below). These read-only views are generated automatically.
GanttProject also supports resource allocation models. Resources can be attached to tasks.The tool generates a resource allocation model showing the allocation of each resource along the project (see below).
Interoperability¶
Microsoft Project and CSV files can be imported and exported from the Graphical User Interface (GUI). GanttProject can also generate PDF, PNG, JPEG.
The tool use an .xml format reasonably simple so interoperability with other tools is also possible with some development.
The tool also has (a quite limited) Command Line Interface (CLI) allowing to export models in different formats.
Installation¶
- Download the archive web
- Copy the archive into
%SCRIBESTOOLS%
and extract it here. - Rename the directory to obtain
%SCRIBESTOOLS%\GanttProject
. - Copy the
gandttproject.cmd
into the directory. - Add
%SCRIBESTOOLS%\GanttProject
to thePATH
variable
Launching GanttProject¶
GanttProject is mostly used trough its Graphical User Interface (GUI), but it also has a Command Line Interface (CLI) allowing some limited kind of automation. In a (new) shell you can type the following command to see the help about the CLI:
ganttproject.bat -h
The normal way to use the program is the GUI tough. You can launch it just clicking on the executable or the shortcut that the installer might have created.
When launched, one way to see what GanttProject is all about is to load
house building example. In order to do that use the menu
`` Projects >> Open `` and select the HouseBuildingSample.gan
file in the
installation directory of the tools.
Documentation¶
As far as we know there is no document describing GanttProject. The tool is nevertheless rather easy to use for someone acquainted with project management basics. There is a extended demonstration in the form of a 15’ video (youtube). The house building example is also a valuable resource for learning how to use GanttProject.
You may also want to have a look at the following unofficial documents created by people outside of the project:
Example¶
GanttProject is delivered with an example of “house building” project.
This project is store in the HouseBuildingSample.gan
(local
) file in the root of the installation directory.
Graphical User Interface¶
This section describes the main panels of the GanttProject software.
Tools Interface¶
Gantt projects are saved in .gan
files which are indeed xml
files.
This format can serve as an interoperability mean with other tools and constitutes
therefore a potential interface for tools.
The HouseBuildingSample.gan
file (local
) corresponds to the House Building example.
Developing a set of much simpler examples would be useful to serve as test cases and/or
specification.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <?xml version="1.0" encoding="UTF-8"?>
<project name="" company="" webLink="" view-date="2012-12-16" view-index="0" gantt-divider-location="369" resource-divider-location="322" version="2.0" locale="en">
<description/>
<view zooming-state="default:6" id="gantt-chart">
<field id="tpd3" name="Name" width="33" order="0"/>
<field id="tpd4" name="Begin date" width="33" order="1"/>
<field id="tpd5" name="End date" width="33" order="2"/>
<option id="taskLabelUp" value=""/>
<option id="taskLabelDown" value=""/>
<option id="taskLabelLeft" value="name"/>
<option id="taskLabelRight" value=""/>
</view>
<view id="resource-table">
<field id="0" name="Name" width="51" order="0"/>
<field id="1" name="Default role" width="48" order="1"/>
</view>
<!-- -->
<calendars>
<day-types>
<day-type id="0"/>
<day-type id="1"/>
<calendar id="1" name="default">
<default-week sun="1" mon="0" tue="0" wed="0" thu="0" fri="0" sat="1"/>
<only-show-weekends value="false"/>
<overriden-day-types/>
<days/>
</calendar>
</day-types>
<date year="2006" month="2" date="14"/>
</calendars>
<tasks empty-milestones="true">
<taskproperties>
<taskproperty id="tpd0" name="type" type="default" valuetype="icon"/>
<taskproperty id="tpd1" name="priority" type="default" valuetype="icon"/>
<taskproperty id="tpd2" name="info" type="default" valuetype="icon"/>
<taskproperty id="tpd3" name="name" type="default" valuetype="text"/>
<taskproperty id="tpd4" name="begindate" type="default" valuetype="date"/>
<taskproperty id="tpd5" name="enddate" type="default" valuetype="date"/>
<taskproperty id="tpd6" name="duration" type="default" valuetype="int"/>
<taskproperty id="tpd7" name="completion" type="default" valuetype="int"/>
<taskproperty id="tpd8" name="coordinator" type="default" valuetype="text"/>
<taskproperty id="tpd9" name="predecessorsr" type="default" valuetype="text"/>
</taskproperties>
<task id="0" name="Architectural design" color="#99ccff" meeting="false" start="2012-12-24" duration="25" complete="81" expand="true">
<task id="9" name="Create draft of architecture" color="#99ccff" meeting="false" start="2012-12-24" duration="10" complete="100" expand="true">
<depend id="10" type="2" difference="0" hardness="Strong"/>
<depend id="12" type="2" difference="0" hardness="Strong"/>
</task>
<task id="10" name="Prepare construction documents" color="#99ccff" meeting="false" start="2013-01-07" duration="15" complete="75" expand="true">
<depend id="17" type="2" difference="0" hardness="Strong"/>
</task>
<task id="17" name="Agreement on architectural plan " color="#000000" meeting="true" start="2013-01-28" duration="0" complete="0" expand="true">
<depend id="1" type="2" difference="0" hardness="Strong"/>
</task>
</task>
<task id="11" name="Interior design" color="#99ccff" meeting="false" start="2013-01-07" duration="10" complete="33" expand="true">
<depend id="6" type="2" difference="0" hardness="Strong"/>
<task id="12" name="Pre-design" color="#99ccff" meeting="false" start="2013-01-07" duration="5" complete="100" expand="true">
<depend id="13" type="2" difference="0" hardness="Strong"/>
<depend id="14" type="2" difference="0" hardness="Strong"/>
</task>
<task id="13" name="Furniture selection" color="#99ccff" meeting="false" start="2013-01-14" duration="5" complete="0" expand="true"/>
<task id="14" name="Equipment planning" color="#99ccff" meeting="false" start="2013-01-14" duration="5" complete="0" expand="true">
<notes><![CDATA[Embedded devices, kitchen, washing machine, dryer etc]]></notes>
</task>
</task>
<task id="7" name="Construction phase" color="#99ccff" meeting="false" start="2013-01-28" duration="75" complete="0" expand="true">
<depend id="20" type="2" difference="0" hardness="Strong"/>
<task id="1" name="Foundation building" color="#99ccff" meeting="false" start="2013-01-28" duration="15" complete="0" expand="false">
<depend id="2" type="2" difference="0" hardness="Strong"/>
</task>
<task id="2" name="Ground Floor building" color="#99ccff" meeting="false" start="2013-02-18" duration="20" complete="0" expand="false">
<depend id="4" type="2" difference="0" hardness="Strong"/>
</task>
<task id="4" name="First Floor building" color="#99ccff" meeting="false" start="2013-03-18" duration="20" complete="0" expand="false">
<depend id="5" type="2" difference="0" hardness="Strong"/>
</task>
<task id="5" name="Roof" color="#99ccff" meeting="false" start="2013-04-15" duration="10" complete="0" expand="false">
<depend id="18" type="2" difference="0" hardness="Strong"/>
</task>
<task id="16" name="Connect to communications" color="#99ccff" meeting="false" start="2013-04-29" duration="10" complete="0" expand="true"/>
<task id="18" name="Construction completed " color="#000000" meeting="true" start="2013-04-29" duration="0" complete="0" expand="true">
<depend id="6" type="2" difference="0" hardness="Strong"/>
<depend id="16" type="2" difference="0" hardness="Strong"/>
</task>
</task>
<task id="8" name="Decoration phase" color="#99ccff" meeting="false" start="2013-04-29" duration="10" complete="0" expand="true">
<task id="6" name="Walls" color="#99ccff" meeting="false" start="2013-04-29" duration="5" complete="0" expand="false">
<depend id="15" type="2" difference="0" hardness="Strong"/>
</task>
<task id="15" name="Furniture" color="#99ccff" meeting="false" start="2013-05-06" duration="3" complete="0" expand="true">
<depend id="20" type="2" difference="0" hardness="Strong"/>
</task>
<task id="20" name="Bring your family here" color="#000000" meeting="true" start="2013-05-13" duration="0" complete="0" expand="true"/>
</task>
<task id="49" name="Survive the End of the World" color="#ff3333" meeting="true" start="2012-12-21" duration="0" complete="0" expand="true">
<depend id="0" type="2" difference="0" hardness="Rubber"/>
</task>
</tasks>
<resources>
<resource id="1" name="Jack House" function="Default:1" contacts="jack.house@myselfllc.net" phone="0044 077345456"/>
<resource id="0" name="John Black" function="4" contacts="john.black@myselfllc.net" phone="+44 0794353567"/>
<resource id="2" name="Michelangelo" function="0" contacts="mickelangelo@heaven.net" phone="078 9059056"/>
<resource id="3" name="Tom White" function="1" contacts="tom.white@myselfllc.net" phone="07978978978"/>
<resource id="4" name="Peter Green" function="1" contacts="peter.green@myselfllc.net" phone="0797897856"/>
<resource id="5" name="George Brown" function="1" contacts="george.brown@myselfllc.net" phone="07967766447"/>
<resource id="6" name="John Silver" function="2" contacts="john.silver@myselfllc.net" phone="07778967889"/>
</resources>
<allocations>
<allocation task-id="9" resource-id="1" function="Default:1" responsible="false" load="50.0"/>
<allocation task-id="12" resource-id="1" function="Default:1" responsible="true" load="100.0"/>
<allocation task-id="13" resource-id="1" function="Default:1" responsible="true" load="100.0"/>
<allocation task-id="14" resource-id="1" function="Default:1" responsible="true" load="50.0"/>
<allocation task-id="15" resource-id="1" function="Default:1" responsible="true" load="100.0"/>
<allocation task-id="1" resource-id="0" function="4" responsible="false" load="100.0"/>
<allocation task-id="16" resource-id="0" function="4" responsible="true" load="100.0"/>
<allocation task-id="9" resource-id="2" function="0" responsible="true" load="100.0"/>
<allocation task-id="10" resource-id="2" function="0" responsible="true" load="100.0"/>
<allocation task-id="12" resource-id="2" function="0" responsible="false" load="50.0"/>
<allocation task-id="14" resource-id="2" function="0" responsible="false" load="50.0"/>
<allocation task-id="1" resource-id="3" function="1" responsible="false" load="100.0"/>
<allocation task-id="2" resource-id="3" function="1" responsible="false" load="100.0"/>
<allocation task-id="4" resource-id="3" function="1" responsible="false" load="100.0"/>
<allocation task-id="5" resource-id="3" function="5" responsible="false" load="100.0"/>
<allocation task-id="6" resource-id="3" function="1" responsible="false" load="100.0"/>
<allocation task-id="15" resource-id="3" function="1" responsible="false" load="100.0"/>
<allocation task-id="2" resource-id="4" function="1" responsible="false" load="100.0"/>
<allocation task-id="4" resource-id="4" function="1" responsible="false" load="100.0"/>
<allocation task-id="16" resource-id="4" function="1" responsible="false" load="100.0"/>
<allocation task-id="6" resource-id="4" function="1" responsible="false" load="100.0"/>
<allocation task-id="1" resource-id="5" function="1" responsible="false" load="100.0"/>
<allocation task-id="2" resource-id="5" function="1" responsible="false" load="100.0"/>
<allocation task-id="4" resource-id="5" function="1" responsible="false" load="100.0"/>
<allocation task-id="6" resource-id="5" function="1" responsible="false" load="100.0"/>
<allocation task-id="1" resource-id="6" function="2" responsible="true" load="100.0"/>
<allocation task-id="2" resource-id="6" function="2" responsible="true" load="100.0"/>
<allocation task-id="4" resource-id="6" function="2" responsible="true" load="100.0"/>
<allocation task-id="5" resource-id="6" function="2" responsible="true" load="100.0"/>
<allocation task-id="6" resource-id="6" function="2" responsible="true" load="100.0"/>
</allocations>
<vacations>
<vacation start="2009-02-02" end="2009-02-09" resourceid="1"/>
</vacations>
<taskdisplaycolumns>
<displaycolumn property-id="tpd2" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd7" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd8" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd6" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd10" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd11" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd9" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd1" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd0" order="-1" width="75" visible="false"/>
<displaycolumn property-id="tpd3" order="0" width="122" visible="true"/>
<displaycolumn property-id="tpd4" order="1" width="122" visible="true"/>
<displaycolumn property-id="tpd5" order="2" width="121" visible="true"/>
</taskdisplaycolumns>
<previous/>
<roles roleset-name="Default"/>
<roles>
<role id="0" name="Architect"/>
<role id="1" name="Bricklayer"/>
<role id="2" name="Foreman"/>
<role id="3" name="Decorator"/>
<role id="4" name="Excavator operator"/>
<role id="5" name="Roofer"/>
</roles>
</project>
|