[kplato] progress :-)

Dag Andersen kplato@kde.org
Mon, 10 Mar 2003 08:30:39 +0100


On S=F8ndag den 9. marts 2003 21:24, John Lamb wrote:
> 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.
If you didn't find out:
Add some tasks, select pert diagram (if not already there), click on=20
parent task, then click on child task and you should get a dialog to=20
select releation type.=20
(note that if you select project->calculate the presentation is not=20
updated atm)
>
> 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
> ;-) ).
The calculations are in files kptproject.cc/kptnode.cc.
>
> I like the Gantt widget.
It's very simple with a few bugs thrown in ;) Also, as Bo pointed out,=20
there is already a Gantt widget in pim, so possibly that should be=20
used... Any takers?
>
> 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.
Atm. I put in following scheduling/contstraints:
As Soon As Possible, As Late As Possible, Start No Earlier Than,=20
=46inish No Later Than & Must Start On.
Should also have Must Finish On ?
All these are applicable to tasks.
=46or summary tasks & sub-projects a I'm not sure if all or only some=20
are relevant.
=46or Main project I think we need to be able to set Start time or=20
=46inish time. (Different dialog from sub-projects)
>
> 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.
As said above, calculations are placed in the node files. I also put=20
drawing there as it was the simplest but I also think it should be=20
moved into separate classes (partly done for pert).
=2D-=20
Mvh,
Dag Andersen