Premium support for our pure JavaScript UI components


Post by jreece »

Hi,

I'd like to check our understanding on a few things and subsequently query your roadmap and any advice you might have.

We've hit a fairly significant road block in our adoption of Gantt. According to the docs the Calendar data model has changed so that the duration defintion values (hoursPerDay/daysPerWeek/daysPerMonth) have been moved to the project model; for our use we only care about hoursPerDay so I'm not going to talk about the others.

Our data model relies on different calendars having different definitions of a working day - for example. Dave's Calendar has him only working 8am to 1pm and for him this is a single day. While Bob's Calendar has him working 8am to 5pm and for him this is a single day. Is there any way to cover this off so that for Tasks that have Dave's Calendar, 1 day is 5 hours, while for Tasks that have Bob's Calendar, 1 day is 9 hours? From the docs I don't think there because it's per project?

I'd like to understand this change in approach and ask whether you have foreseen a way for us to do this with what's available or whether there is anything planned in the future to make this easier?


Post by alex.l »

Hi jreece,
That's doable by defining intervals for Calendars that may be assigned on a project or on a resource. So, your calendar for a resource still may have different working hours per day.
To understand this deeply please have a look at this guide: https://www.bryntum.com/docs/gantt/guide/Gantt/basics/calendars
Especially here: https://www.bryntum.com/docs/gantt/guide/Gantt/basics/calendars#calendars-and-duration-values

Let us know if you'll have questions!

All the best,
Alex


Post by jreece »

Maybe I'm missing something - but I can't see anything there that solves my problem.

I've attached some screenshots to explain our problem - We're able to define our intervals to define the working time of ours tasks just fine. Using two separate calendars:

  • We've defined the first task to fit within 8am to 5pm, Monday to Friday.

  • We've defined the second task to be a 24hr tasks.

My issue is that there is only one definition of the hoursPerDay for the entire project. In ExtJS I could configure each calendar to have it's own hoursPerDay value, so the durations would be correct for both. But now my second task has a duration of 2.7 days.

Attachments
Screenshot 2021-12-03 at 13.22.57.png
Screenshot 2021-12-03 at 13.22.57.png (18.83 KiB) Viewed 429 times
Screenshot 2021-12-03 at 13.22.39.png
Screenshot 2021-12-03 at 13.22.39.png (21.06 KiB) Viewed 429 times

Post by arcady »

Indeed in Ext Gantt you could define hoursPerDay for an individual calendar. But that value was used only when the corresponding calendar was made the project calendar: https://www.bryntum.com/docs/gantt-for-extjs/#!/guide/gantt_calendars-section-project-calendar-and-basic-features
So nothing changed that much in that matter ..you just define that proportion right on the project instead.

Using of the same ratio globally on the project ensures that all task durations and efforts are consistent and comparable.
If you need the values to be converted in a different way for each task you will need to override the project $convertDuration and convertDuration methods. Check the methods default code in Engine/scheduling/DurationConverterMixin.ts file.


Post by jreece »

But that value was used only when the corresponding calendar was made the project calendar:

We'll get back to you with a reproduction case, but I think there might be a scenario where you can set it up so the day definition is used per calendar.


Post Reply