Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Days off have no impact on a project schedule #18

Open
GoogleCodeExporter opened this issue Jun 28, 2015 · 62 comments
Open

Days off have no impact on a project schedule #18

GoogleCodeExporter opened this issue Jun 28, 2015 · 62 comments

Comments

@GoogleCodeExporter
Copy link

Copied from the bug tracker on SourceForge:
https://sourceforge.net/tracker/index.php?func=detail&aid=1575592&group_id=72728
&atid=535427

Having defined the resources for the project I keyed in
"Days Off" and then planned tasks to be done. When it
came to allocating a resources to the tasks the "Days
Off" were ignored. The end date does not take into
account "Days Off".

Original issue reported on code.google.com by dbarashev on 5 Dec 2008 at 11:55

@GoogleCodeExporter
Copy link
Author

Are we wtill not fixed with the 'Days Off' problem after 3+ years of this being 
detected? Is there a plan to fix this in Loire M3?
This little defect makes it unsuable - an otherwise extremely useful tool, 
comparable to MS Project (at least for the purposes that I need to use it for).

Thanks

Original comment by ggan...@gmail.com on 17 Apr 2009 at 3:59

@GoogleCodeExporter
Copy link
Author

It is impossible to fix anything in M3 just because M3 is already published. 
But we
know that this problem is important enough and do want to fix it in Loire.

Original comment by dbarashev on 17 Apr 2009 at 6:02

@GoogleCodeExporter
Copy link
Author

Is there an estimated release date for this fix?

Original comment by qtec...@gmail.com on 23 Apr 2010 at 12:33

@GoogleCodeExporter
Copy link
Author

We have no release date plans.

Original comment by dbarashev on 23 Apr 2010 at 7:36

@GoogleCodeExporter
Copy link
Author

Issue 124 has been merged into this issue.

Original comment by dbarashev on 18 Jun 2010 at 4:25

@GoogleCodeExporter
Copy link
Author

In the meantime (waiting for this fix), is there any "trick" to avoid the 
problem ?
Create a task holiday ? I am welcoming any suggestion, otherwise I might have 
to switch to another software. It would be a pity as I love Ganttproject 
ergonomy.
Thanks in advance

Original comment by elise.jo...@gmail.com on 16 Dec 2010 at 9:50

@GoogleCodeExporter
Copy link
Author

dbarashev,
I would like to help with this issue. I've been going through the code with
eclipse but I'm not that familiar with it.
Would you have any hints as to where I should start looking to fix this
issue - or to better understand how it works :-) and what needs to be done?

Original comment by fjmalo...@gmail.com on 16 Dec 2010 at 10:53

@GoogleCodeExporter
Copy link
Author

@fjmaloney: thanks for volunteering. However, this issue is really difficult 
and touches a lot of quite fragile code which is not covered with unit tests, 
so it is better to think twice before you start diving into it. And although I 
don't mind giving small hints, I can't promise any detailed or continuous 
guidance (because it will be easier for me to just do it myself in this case).

ResourceAssignment, GanttDaysOff classes and TaskImpl.recalculateActivities 
methods are probably the key entry points.

Original comment by dbarashev on 17 Dec 2010 at 12:15

@GoogleCodeExporter
Copy link
Author

Has this issue been addressed yet?  

Original comment by pennybmi...@gmail.com on 28 Apr 2011 at 7:05

@GoogleCodeExporter
Copy link
Author

No

Original comment by dbarashev on 28 Apr 2011 at 7:30

@GoogleCodeExporter
Copy link
Author

I'm very interested in this issue too. So far a very lightweight, intuitive 
tool.

Original comment by pdeutsc...@googlemail.com on 5 May 2011 at 2:51

@GoogleCodeExporter
Copy link
Author

I'm no coder at all, but I'd sure love this issue to be resolved ;-)
In the meantime, I join Elise in asking : is there a get around? Creating a 
"holidays" task or somethng like that?

Original comment by pierre.s...@gmail.com on 18 May 2011 at 1:14

@GoogleCodeExporter
Copy link
Author

This error unfortunately makes me strongly considering switching to MS which is 
a shame because GanttProject otherwise works well

Original comment by lars.h.j...@gmail.com on 28 Jun 2011 at 12:22

@GoogleCodeExporter
Copy link
Author

Seems this will never be fixed - oh the trials and tribulations of 
free-software!

Original comment by phlerb...@gmail.com on 5 Jul 2011 at 2:23

@GoogleCodeExporter
Copy link
Author

Though the software schedules project activities irrespective of days off , it 
still shows the respective resource on the off day as yellow in the right pane 
of "Resources" tab. So if we happen to have a look at this pain , we can at 
least get an indication of wrong planning.

But yeah , it's a bug which should be fixed for my plan to be accurate.

Original comment by gurpreet...@gmail.com on 28 Jul 2011 at 7:50

@GoogleCodeExporter
Copy link
Author

Hi are there any plan to fix this bug? Like they say, out of sight is out mind. 
I thought to use this comment to bring this bug back to life to the forefront. 

Original comment by oni...@gmail.com on 15 Oct 2011 at 8:34

@GoogleCodeExporter
Copy link
Author

Can one of the devs please point to sections of the code to look for if I want 
to work in this issue? This otherwise great software is pretty much unusable 
because of this feature.

Without looking at the code I can see why this is not straightforward to "fix": 
a task can have multiple resources assigned to it, and they don't necessarily 
have the same days off, apart from the ones defined in the project's calendar.

If I define a task as having a duration of 10 days, and it has one resource 
with 3 personal days off during those 10 days, but the other resource does not 
have any day off, then it's not straightforward to extend the end date of the 
task to account for those 3 days.

Other users mention that MS Project does not have this "bug" (being careful to 
put bug between quotes because it's more of a huge inconvenience than a bug). 
Having never used MS Project I do not know how this is addressed in MSP. A 
possible "fix" could be to flag a task-resource as being indispensable, which 
would extend the task by that resource's days off. The timeline would then show 
the yellow days off like it currently does, but would not overlay a blue 
ongoing task layer on them (or make it semi-transparent). Another possible 
solution would be to separate the number of work days of a task from the start 
and end dates, and define "days off for a task". This wouldn't be as effective 
because it would somehow duplicate information and would not make use of the 
personal days off of the resource.

If someone wants to give input on the way this is implemented in MS Project I 
would be glad to have a shot at implementing it.

Thanks

Original comment by ziad.saab on 4 Jan 2012 at 12:09

@GoogleCodeExporter
Copy link
Author

What about just asking a user what to do with the tasks a resource is assigned 
to when a user edits days off? If he chooses to increase task durations, then 
do it, otherwise ignore as it is now.

Original comment by dbarashev on 4 Jan 2012 at 11:03

@GoogleCodeExporter
Copy link
Author

The issue with this is that a resource might not have the same level of 
importance for all tasks. My first naive idea was to use the units ratio to 
extend the task by the number of personal days off of the resource multiplied 
by the units ratio of that resource for that task. Not only would that lead to 
fractional days off, but it wouldn't be representable on a timeline because it 
wouldn't be linked to reality (the resource will be away for X days, not X days 
times unit ratio per task). That's what led me to the idea of making a resource 
indispensable for a given task.

Original comment by ziad.saab on 4 Jan 2012 at 11:18

@GoogleCodeExporter
Copy link
Author

Many tasks are assigned just 1 resource, so for many of them GanttProject can 
give reasonable assumptions: resource is off 3 days => task becomes 3 days 
longer. Show these assumptions to the user and ask to confirm; for the 
remaining maybe just show the tasks and ask what to do and let the user decide. 
The problem is that users often just don't want to search for assigned tasks 
and change their dates in many places (many times open dialog, etc.). If they 
could do it from a single place (from days off dialog), they would be happy.

Original comment by dbarashev on 4 Jan 2012 at 11:32

@GoogleCodeExporter
Copy link
Author

Actually you are correct about the 1 resource 1 task thing as far as my project 
is concerned so far. I haven't done many of these in the past but I feel that 
if more than one resource is assigned then the task can usually be split into 
sub-tasks.

I am liking your solution more and more. We just have to add the case where the 
personal days off were defined before the task was defined. Also, with the 
current system where the task days are tied to the start and end date, simply 
extending the task won't give an accurate representation of the actual number 
of days worked. That part of the model would have to be modified to separate 
work days from start and end date. Here I'm making an assumption since I 
haven't checked the code. Is the tying of the days to start/end dates only a UI 
thing or is it actually part of the model?

Original comment by ziad.saab on 4 Jan 2012 at 11:37

@GoogleCodeExporter
Copy link
Author

It must be a pure UI. In the model there is just a start date and a duration, 
no separation of work days from start/end dates.

Original comment by dbarashev on 4 Jan 2012 at 11:49

@GoogleCodeExporter
Copy link
Author

Right. Since the current model assumes that a task will never be interrupted, 
then only two fields are needed. end_date = start_date + days. What I am saying 
is, now that a task can be interrupted, we need to have a notion of the total 
number of days the task will be ongoing, but also the total number of days the 
task will be active i.e. have someone working on it. The current Task::days 
property would be refactored to Task::working_days, a new Task::days_off 
property of type List would be added containing a list of date ranges where the 
task will be paused. getEndDate (assumed name) would be changed to return start 
date + working days + sum of the date ranges where the task is paused.

If you could quickly throw some class names in here I'll gladly take a look as 
I'm extremely motivated to create at least a working solution even if it's not 
perfect.

Original comment by ziad.saab on 4 Jan 2012 at 11:58

@GoogleCodeExporter
Copy link
Author

Other point: if I cancel my vacations due to unforeseen circumstances then I 
also have to be shown a list of tasks that could be affected by this change and 
decide if I want to remove the days off from the task.

One practical example of this: Resource A is working a regular Mon-Fri 9-5 
schedule. Resource is scheduled to be off from Wed-Fri of this week because 
they're attending a conference for ongoing education purposes. Thursday's 
conference gets canceled so there are now two one-day off ranges. If we weren't 
displaying the project on a Gantt chart then we wouldn't care about the actual 
dates off, only # of days. But since we want a visual representation then we 
need to know the dates and be able to modify them.

Original comment by ziad.saab on 5 Jan 2012 at 12:06

@GoogleCodeExporter
Copy link
Author

Such changes will have much more serious and risky impact, while this 
particular problem in my opinion can be fixed by just UI means: task was 5 days 
long, resource is 3 days off=>task becomes 8 days long, with the same semantics 
of what task duration is and no changes in the model.

GanttDialogPerson edits resource properties, TaskManager holds all the tasks, 
HumanResourceManager holds all resources, IGanttProject provides access to both 
of them, ResourceAssignment and ResourceAssignmentCollection bind tasks and 
resources

Original comment by dbarashev on 5 Jan 2012 at 12:10

@GoogleCodeExporter
Copy link
Author

Yes that would be one quick way to patch it up. I'll have a look at the classes 
you just posted. Many thanks for renewing interest in this issue. It's 2AM here 
so I'll have a look at this tomorrow.

Original comment by ziad.saab on 5 Jan 2012 at 12:13

@GoogleCodeExporter
Copy link
Author

I suggest either disabling "days off" or implementing the simplest approach to 
taking "days off" into account when using task duration to calculate end dates.

Without this feature, the tool may only be useful for rough, long-term 
planning, i.e. less than 5% of the time.

Original comment by tom.nak....@gmail.com on 9 Jun 2015 at 7:41

@GoogleCodeExporter
Copy link
Author

Hello Tom,

I'm totally agree with you : gantt project is unusable in almost all the cases 
without "days off" functionality.

For my own, gantt project would be great if "days off" was took into account to 
calculate end dates.

Regards

Original comment by kriss...@gmail.com on 9 Jun 2015 at 7:48

@GoogleCodeExporter
Copy link
Author

Same here. 

This software is really useful and could be used as a profesionnal tool....if 
this bug was fixed.

I don't understand why this very basic function has not been implemented after 
7 years ?! 

Original comment by testat...@gmail.com on 26 Jun 2015 at 6:31

@kiltannen
Copy link

Is this something that is being looked at? Any chance it may have a fix soon :) ?

I do like the software - and I love that it's open source & free for all uses.

I am encouraging others to use it - my workaround for this "feature" is to have an annual leave task for each resource that goes on leave and make it a predeccesor of any task that falls in the "wrong" slot.

Manual and a little bit clumsy - but does work...

@RoDoerIng
Copy link

I'm just using your software the first time and I'm very happy with it. But this bug/feature makes it a little hard to do detailed planning.
Please solve this issue.

In the meantime I try to get along with the workaround @kiltannen mentioned.

@jesus2099
Copy link

my workaround for this "feature" is to have an annual leave task for each resource that goes on leave and make it a predeccesor of any task that falls in the "wrong" slot.

@kiltannen could you explain your work around in step by step or with a screenshot, please?
Let’s say the unique resource of a 10 day task (with automatic start date by a dependency), has 3 days off in the middle, how do you make this task end up 3 days later but still automatically shift with the dependency anterior task, if it slides?

@Docteur-RS
Copy link

Is the project dead ? Because we are in 2017 and its still not fixed.

I've got some people working in part-time. How should I represent them when they are only working 3 days a week... Its not convenient at all.
Thats a pitty because its a good peace of software.

@derarnold
Copy link

Hi there.

How can we can develop / fund this fix? @Ganttproject team: How much money would you need to implement this?

@derarnold
Copy link

My problem here is, that I try to use the personal holidays to introduce a schift schedule. I have some companies work 7 days a week and some 5 days. Is there perhaps an other solution for this?

@derarnold
Copy link

Perhaps, we can implement the feature easy as follows:
When you assign several resources to a task and one is available to work on that day, the day counts as a working day towards the duration.
When no resource is assigned all days count as working days
If at least one resource is assigned to the task and has holiday that day, the day does not count as a working day towards the progress.

This should make the feature easy to implement. What do you think?

@dbarashev
Copy link
Contributor

@derarnold this is a complex story.
Some people love complete automation of this process and don't mind when resource calendar change introduces side effects by changing the assigned task dates. However, there is other side: people do not like when something changes out of their control, and that's one of the reasons why they like GanttProject comparing to MS Project: we do not try to be excessively smart.

My current view is that we can search for affected tasks after changing resource calendar and leave user a choice how they shall be handled. Such approach requires quite a lot of polished UI work, and is not really cheap. However, we have some funds from the donations and we are ready to pay to someone who loves UI and is willing to take this up. If you can recommend anyone, please let us know.

@callbarberd
Copy link

Found GanttProject and I just tried it. Pleased to be able to add in Days Off as well as the main resource only does a 3 day week. However, disappointed when the Days Off didn't work. Did some testing and then started searched and found this stream.
I wasn't going to donate because this is a big hole for this one project and is necessary for my other projects. BUT I realise it's a complicated area and will need good resource. I can just put in a Blanket 4 day weekend for this project and then I'm ok. I like GanttProject - it's pitched at the right level and I'll use other workarounds for other projects.
So I think I will donate and hope that sometime in the years to follow it does get done.

@k3yma
Copy link

k3yma commented Jul 30, 2019

Just started looking at this tool, however unfortunately this bug makes it completely useless for my requirements as there is no easy way to cater for holidays without re-doing a load of tasks.
Looking at the history though it seems it's probably not going to be fixed unfortunately. :(

@ktor
Copy link

ktor commented Apr 14, 2021

hi @dbarashev , how about a separate menu action: "Recalculate end-dates with days-off"? I would have a use for such action. Please let me if you know anybody that have already implemented that or is implementing. I could try and support the effort even though I don't know the project very well :)

@deoscode
Copy link

deoscode commented Dec 5, 2022

Ok, heres my proposal.as a developer.

How about a 'project setting tick box" for "single resource per task scheduling".
If ticked, then GP will only allow one resource to be assigned per task.

This should keep scheduling calculations easy, as its a simple extension of the global calendar logic. I could show days off as a short orange vertical bar in the task for the single resource (similar to long vertical bar for global calendar days off).

This will meet the majority of my project planning needs. If you have more than 1 resource working on a task, then you can manually split it into multiple tasks (1 per resource)

Dbarashev, you good with this, or should i fork off?

@dbarashev
Copy link
Contributor

I don't see any point in a check box that explicitly restricts the number of assigned resources, sorry.

@deoscode
Copy link

deoscode commented Dec 5, 2022

It's there to simplify resource "days off" scheduling.

No worries, I' ll fork off and try it out.

Good product but not usable without a resource based days off feature.

@philipmcgaw-cpi
Copy link

I came here looking for an answer as to why, when I added my Christmas holiday into myself as a resource it didn't move out my deadline, etc…

I use GanttProject to track my end dates for reasonably complex project work.

I would have expected this to be a solved problem after about seven (7) years as an open ticket.

@jesus2099
Copy link

Because of this, I cannot take my new year holidays… ;)

@antoine-pous
Copy link

Any news about this awesome feature ?

@deoscode
Copy link

deoscode commented Jan 11, 2023 via email

@deoscode
Copy link

deoscode commented Jan 12, 2023

I have "Good News" & "Bad News".

The "Good News" is that my proposed fix for scheduled dates to use both public and resource (DaysOff) calendars when scheduling for a task with a SINGLE resource, now works.

In the example below, I have setup public hols: Mon 26/12/22, Tue 27/12/22, Mon 2/1/23
For resource "ravi", I have assigned "Days Offf": Wed 28/12/22 - Fri 30/12/22
For resource "john", I have assigned "Days Offf": Wed 28/12/22 - Thu 29/12/22
task_0 is assigned a single resource "ravi" from 20 Jan for 5 days
task_1 is assigned a single resource "john" from 21 Jan for 6 days

Screenshots are attached of the results:
image

image

image

image

image

The "Bad News" is that my proposed fix to make this a configurable option (limiting it to 1 task per resource) was rejected by Dmitri. I can understand his reasoning, after browsing through the vast code, and the desire to retain backward compatability.

So, I have "forked off" my own github repository with this fix. I have a few other "itches" with GanttProject which I also intend to fix, and don’t really want to jump through hoops seeking approval. That’s the beauty of opensource, as you can always "roll your own" the way you want it.

Dmitri, you are welcome to integrate this code fix (along with the additional work required to make it work for "multiple resources assigned to a single task"). However, it’s a rabbit hole I'd rather not enter. For me, limiting 1 task to 1 resource works fine, as you can always run parallel tasks for additional resources.

I have some more testing to do but will make my "GanttOne" repository public as soon as its ready. More info on "GanttOne" will be made available on my github repo.

@UKfilmNetadmin
Copy link

I have ALWAYS been a HUGE fan of Gantt Project - and I came here just to make sure this terrible bug had been fixed after 7 years. It hasn't. It is now March 2023 - and if the ability to add holidays doesnt work - then I'm genuinely sorry - but its time to say good bye and leave this software for all but the most basic free demo for students learning how Gantt projects SHOULD work

This is a truly sad day. Now I have to use MS Project

@arrenwu
Copy link

arrenwu commented Jun 15, 2023

I have "Good News" & "Bad News".
The "Bad News" is that my proposed fix to make this a configurable option (limiting it to 1 task per resource) was rejected by Dmitri. I can understand his reasoning, after browsing through the vast code, and the desire to retain backward compatability.

So, I have "forked off" my own github repository with this fix. I have a few other "itches" with GanttProject which I also intend to fix, and don’t really want to jump through hoops seeking approval. That’s the beauty of opensource, as you can always "roll your own" the way you want it.

Dmitri, you are welcome to integrate this code fix (along with the additional work required to make it work for "multiple resources assigned to a single task"). However, it’s a rabbit hole I'd rather not enter. For me, limiting 1 task to 1 resource works fine, as you can always run parallel tasks for additional resources.

I have some more testing to do but will make my "GanttOne" repository public as soon as its ready. More info on "GanttOne" will be made available on my github repo.

Do you still intend to release the repo in the near future?
I will be excited to see your solution with single-resource-per-task restriction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests