Re: Simple priority scheduling



Hey,

On Thu, Mar 12, 2015 at 8:24 AM, Terry Barnaby <terry beam ltd uk> wrote:
Hi, I have been using planner on and off for a few years now for some
projects. Its not ideal but works ok for us. The biggest issue though has
been the lack of some form of automatic scheduling of tasks that share the
same resource.
There was the --enable-simple-priority-scheduling build option but
this did not seem to do much if anything.

Yeah, as far as I know this was more of an experiment, which is why it
is not enabled by default.

Anyway, we wanted to have some basic priority scheduling for a project
and after looking around at alternative programs decided to modify
planner a bit.

Cool!

So we have implemented a basic priority scheduler, enabled with the
--enable-simple-priority-scheduling build option. What this does
is:

If it is good enough, and has no undesirable side effect, we could
enable this by default (and maybe use a
--disable-simple-priority-scheduling if we still want to be able to
disable it, though I'm not sure why we'd want that).

1. Has a "scheduling" checkbox in the project dialog to enable
   the feature. This is saved to/restored from the xml project file.

Are you talking about the project properties dialog that can be
launched from Project → Edit project properties?

2. When enabled if there is any degree of clash between two tasks
   that use the same resource the task with the lowest priority
   and its dependants is/are moved in time to be after the task with
   the higher priority.

What kind of move are we talking about here? Is it only computed and
displayed, or is the new start date saved in the file? Will the
scheduling happen everytime I open the file? Everytime I edit a task?

3. If the clashing tasks have the same priority, the earliest task
   in the list of tasks (nearer the top) are deemed to have higher
   priority than the ones below.

Simple no-nonsense behaviour. I like that. Are there complex cases
where the scheduler messes up or gets lost? E.g. what happens with
lots of dependencies or when several people work on the same task, but
with different calendars? Or any other corner case you might think of…

At the moment I use a simple toggle button to enable, but an integer
is stored in the xml file to enable it so it would be possible to
extend this with various simple algorithms.

Seems fair enough.

I can provide a patch for this, but I don't have much time to really
polish it and update the main sources. Some things may need to
be changed (for example I have modified the mrproject-0.6.dtd file
it may be better to have an updated version dtd file etc).
I'm not sure if anyone is actively maintaining the code and/or
thinks this patch would be a good idea and would like to take the
patch and update the code ?

Let's say I'm semi-actively maintaining it. The code is not moving
much currently because we're transitionning to GTK+3 and I'm waiting
for GSK to arrive to replace our current gnome-canvas based Gantt
chart.

But sure, your contribution is welcome and I'd be happy to have it merged.

-- 
Alexandre Franke


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]