Re: Recent progress?
Dag Andersen <[email protected]>
| Newsgroups | gmane.comp.kde.kplato |
|---|---|
| Message-ID | <[email protected]> |
On Monday 17 February 2003 08:05, Bo Thorsen wrote: > On Sunday 16 February 2003 19:11, John Lamb wrote: > > Has there been any progress recently on kplato? > > > > I did a CVS build a few days ago and it certainly seems to have > > improved since I last looked. From what I can see, there is not > > too much to do to get kplato to do something useful. > > No real progress have happened since I did a little work on it > around June last year. There was some checkins from a guy during > the fall, but he quickly stopped working. Not totally stopped, but slowing to a crawl ;) > > > I see two things that are needed to get kplato to the stage where > > it could do a simple project plan. > > > > 1. The GUI needs to allow relations between nodes: i.e. to > > specify that node A (a task, milestone, etc.,) must be done befor > > node B. I don't know what the best way of specifying this within > > the GUI is, but it shouldn't be hard to represent in XML or using > > KPTRelation. I have made simple dialogs just to get data into the program, nothing that can really be used as is, though. > > The problem really is the GUI. In the underlying code and the XML > file, this is pretty easy to do. > > > 2. (Some) nodes must have some time specification: a KPTDuration > > or better a Distribution. Initially, a Fixed distribution could > > be used, but later distributions such as Pert (5th percentile, > > median, 95th percentile), Beta, etc., could be used. The GNU > > Scientific library already has most of the code we'd need. > > Probably. I never even got around to start thinking about this > part. > > > The DTD probably needs some fixing. > > Definately! This is a quick mock-up I did to have some basic saving > and loading of files. I basically figured out what XML was and what > should be in the file as I did it. I have just added a few things to avoid typing in the same data every time. I had a look at the mrproject DTD but I don't know XML so... > > > Although it's probably sensible for > > the GUI to call all nodes tasks this may not be the best > > representation in the DTD because durations are calculated in > > different ways. I'd suggest either > > > > <!ELEMENT node (project|node|task|milestone|relation|resource)*> > > > > and > > > > <!ELEMENT task (distribution|relation|resource)*> > > > > The logic of this is that calculations need to be done > > recursively through the work breakdown structure, starting with > > the top-level project. Nodes (here I'm suggesting tasks) that > > have no subnodes would need to contain a duration (through a > > distribution). Other nodes just calculate values as needed. As an > > analogy, think of the factorial function. Nodes are like positive > > integers, tasks like zero. The function can be defined > > recursively but there must be different treatment for zero so > > that recursion stops. > > > > An alternative might be to call everything in XML a task: > > > > <!ELEMENT task > > (project|task|milestone|relation|resource)*|distribution)> > > > > This might reflect better the idea that a task could be broken > > down infinitely. When a subtask is added, the distribution is no > > longer needed. > > > > I think the terminal nodes are not needed in the DTD. They are > > just an artefact needed for CPM calculations and both can be > > created as needed from the rest of the project definitions. > > > > I'm happy to help with code (at least concept code ;-)) for > > anything that's needed. Either GUI code or code for the > > algortithms, though I have to admit I've never liked writing GUIs > > much, even in Qt, which is the only thing I've seen in C++ > > comparable to Java's elegance. > > IMHO it's currently a GUI job to work on KPlato. We need to be able > to manipulate the things there to be able to work on fixing the > internals. > > GUI wise it should be interesting to note that in kdepim we > (Klarälvdalens Datakonsult AB) contributed a full gantt widget. We > should be able to use this easily. I have made Gantt/pert widgets (not based on kdepim). They need som cleanup and functions are missing, but I'll see if I can get something commitable this week. (No promisses) > > Bo. -- Mvh, Dag Andersen