[kplato] progress :-)

John Lamb kplato@kde.org
Sun, 09 Mar 2003 20:24:45 +0000


I got the CVS to compile today so I can actually see the changes. This 
looks good.

IMHO, the next thing we need is to can add predecessors and successors 
to tasks. Then there should be enough to do CPM calculations.

I already wrote code to do CPM calculations. I think there's a modified 
version of it in kplato at the moment. I'm happy to write/rewrite this 
and/or link it to the code. For example, we could use the calculate menu 
item to calculate CPM and so generate a simple project plan for the 
Gantt chart.

If someone (Bo, Dag) wants to say where the project representation is 
and what they want calculated, I can do this (I've written the algorithm 
before in C++ and use a Python version for simple projects - though I'm 
_not_ seriously suggesting using Python here ;-) ).

I like the Gantt widget.

Other questions:

1. Calculated and user values. I think we need to distinguish carefully. 
For example, the user could specify an latest start for a task but 
should not need to do so. But the project must be able to calculate a 
latest start independently - it would be up to the project manager to 
work out what to do if there was a conflict - in reality that happens.

2. Architecture. I suggest that the PERT/CPM calculations be separated 
from the UI: i.e. defined in different classes. The UI could then pass a 
pointer to an object containing the values it wanted changed. This makes 
it easier to test algorithms outside the UI and also to replace bits of 
code. Although PERT/CPM itself is easy, resource allocation is not and 
may need to be handled by heuristics and perhaps have several 
alternative methods available.

-- 
JDL