Our state of the art Gantt chart


Post by Jerther »

Hi!

In the task editor, in the resource tab, the units column of the assignment grid is locked to 100%. I've tried to set the max value to 1000 in various places (events, overrides...) with something like this:

this.widgetMap['resourcestab-grid'].columns.getAt(1).editor.max = 1000;

And it always works but when I open the task again, it's back to 100%.

Is there a preffered way of doing it?


Post by mats »

It's a percent value so not sure how 1000 will make sense. In the future we'll likely add the option to have other units than % but currently that's all we support.


Post by Jerther »

Hi Mats,

I think I understand why this makes little sens as a 200% assignment would mean working two hours into one. It makes sens though in the following two use cases

Let's say we consider all our resources to be 100% efficient in normal working conditions, and we consider the effort as being done in those same conditions. That is, being constently interrupted, phone always ringing, people errupting in the office, tons of forum posts, you know, the usual ;) So for a task with an estimated effort of 10 hours, we expect any resource to accomplish it in 10 hours. But then, for a given task and a given employee, those conditions are exceptionally optimal for : no interruptions whatsoever are possible. We need to assign this employee like 110% units, so this reflects the efficiency. If that task has two assignments including this one, the other assignment is in normal working conditions so we set it to 100% units.

Another use case is to consider a resource as actually being a team of multiple real people. Let's assume we have 10 teams of varying number of members, but they're all working the same hours. So we have a resource, let's say "The Team", that we assign to various tasks with units corresponding to the number of people in that team. So for task with an effort of 10 hours, we assign "The Team" with 1000% units because there are 10 people in the team, so we expect the task to be done after 1 hour. That's a bit far fetched though and feels more like a workaround but that's what we actually did in our previous software so we didn't have to manually add every single people of a team to every task, a level of detail we don't actually need.

So we use the effort with man-hours units in mind (which I think is correct)) and the resource units as an efficiency estimate. The latter might be wrong and maybe we need to review that practice. Your input is welcome. :)


Post by arcady »

That sounds reasonable ..and regarding a resource representing a team I think we've met such requirements a couple of times, yet this improvement never ended up in our codebase. :)
But I think it's 100% worth a feature request, so here it is: https://github.com/bryntum/support/issues/833


Post by Jerther »

Would you say it's worth more than 100%? :lol:

Thanks arcady :) I'll follow the github issue.

In the meantime, is there a workaround?


Post by arcady »

Regarding task editor you could put your code into a listener to apply max value each time task editor is shown. Something like this:

gantt.on('beforeTaskEditShow', ({ editor }) => editor.widgetMap['resourcestab-grid'].columns.getAt(1).editor.max = 1000)

Post by Jerther »

It works :)

That should work well until the feature is implemented.

Thanks!


Post Reply