I started using GanttProject for the planning part of one of my projects and at first I was quite happy with it. But this tool is mostly designed to draw Gantt diagrams, it lacks some features to make it really useful for project planning. I noticed GanttProject features wouldn't fit my needs only after creating a reasonably sized diagram.

So instead of trying to export my project to another tool or to start from scratch again, I decided to take advantage of the fact that GanttProject file format is XML based. So I wrote a script that calculate the cost of a project, the main feature I was missing in this tool.

Here are the steps it takes to do it :

  • First add a custom column named 'price' to resources and set its type to integer and give it a default value.

ganttproject-custom-fields-manager

  • Then enter a price for each of your resources.

ganttproject-resource-prices

  • Save your project and execute the script with the project file as only argument:


On Linux / Mac OS X:

./cost_calc.py dummy_plan6.gan 
price attribute-id is tpc1
default resource price is 400
Warning: can't find price property for resource
resource 1 is coder B and costs 400
resource 0 is Admin A and costs 500.0
resource 3 is tester D and costs 300.0
resource 2 is GFX guy C and costs 450.0

resource <coder B> number of day=21.0 cost=8400.0
resource <Admin A> number of day=5.0 cost=2500.0
resource <tester D> number of day=15.5 cost=4650.0
resource <GFX guy C> number of day=5.5 cost=2475.0

total number of days = 47.0
total_cost = 18025.0


On Windows:
Windows users will probably need to download and install Python 2.7. Then, either write a .bat script like this one:

c:\python27\python.exe cost_calc.py %1

or start the command manually: cost-calc-windows-screenshot.png

I can't guarantee this script will work in all the cases but so far it works for my Gantt project. I hope it will be useful for you as well!

You can download the script here. Feel free to improve it.