taskjuggler / TaskJuggler

TaskJuggler - Project Management beyond Gantt chart drawing
http://www.taskjuggler.org
GNU General Public License v2.0
733 stars 168 forks source link

Vacations / leaves and workinghours - consistency problem #146

Open cyrildubus opened 10 years ago

cyrildubus commented 10 years ago

Hi,

I found something very illogical in the way tj3 handles vacations/leaves and working hours. The problem may be in the interval3 third format (+duration)

Example (sorry I tried to use the < code > thing but it failed) :

project test "TEST" 2014-07-16 +2m { timezone "Europe/Paris" timeformat "%Y-%m-%d" dailyworkinghours 7 workinghours mon - fri 9:00 - 12:00, 14:00 - 18:00 workinghours sat, sun off }

resource user1 "User 1" { leaves holiday 2014-07-21 +10d }

My collegue, user1, told me he was taking 10days of vacations, starting 2014-07-21, the logic would be to set his holidays as I did in the example. But it's all wrong because when my collegue took 10 days he was obvioulsy not counting the non working hours AKA saturday and sunday !!

One of the magical thing with a format like startdate +duration is that you don't care about calculating the end date. With tj3, you have to calculate the enddate then substract with the startdate, then put the number as a duration. There is no magic at all and the start +duration is totally useless ! And don't tell me that we should speak in real days instead of working days. The entire world speak in working days ;)

With leaves and vacations (and maybe some other keywords) the workinghours SHOULD be taken into consideration. It can lead to major confusion (as it did for me, I had to rebuild my whole project, with a calendar right next to me, it took me half a day...)

I understand the interval3 format is used elsewhere and this behaviour may not be generalized. You will probably have to rethink this to make it more logical for the users.

Amazing work by the way, it's so far the best gantt tool I've ever tried. Keep going ! :)

kalafut commented 10 years ago

A related issue is that interval validation always uses a 7-day week, so a booking with a duration like "1.2w" (i.e. 6 working days) fails with "Error: The interval duration must be a multiple of the specified timing resolution (60 min) of the project." The code by this error is clearly doing 1.2 * 7 days which is not falling on an hour slot...

jostber commented 8 years ago

Was this fixed in the 3.6.0 version?