Support for v6.x of our Scheduling components


Post by Vineela »

Hello,

This is in continuation to the following forum post:
viewtopic.php?f=9&t=10900

Is there any reason why summary tasks should always be normal?

To give you the context, we have support to only either effort driven or duration driven projects in our application and if you stop supporting, effort driven/duration driven for summary tasks it would have a impact. So, I would like to know the exact reason on why should you stop support to effort driven/duration driven for summary tasks rather than to consider automatic tasks to always have rolled up values from the child tasks irrespective of the task mode. An automatic task irrespective of the task mode should always have the rolled up values from the child tasks. But, once the task is change to Manually Scheduled, then respective task mode logic should be applied.

Also, if summary tasks support only Normal mode - what does % complete mean which is always calculated based on duration?

Thanks,
Vineela

Post by arcady »

I don't understand why you decided that we are going to stop supporting any modes?

Post by arcady »

Historically summary tasks are bound to "Normal" mode and as far as I understand you don't want that.

If that's what you need just extend standard Task model and implement any logic you need. In this particular case switching of a task to "Normal" mode (when the task becomes summary) happend in appendChild method:
                // since the task became a parent we switch its scheduling mode to 'Normal' (ticket #1441)
                this.set(this.schedulingModeField, 'Normal');
So just override the class methods to avoid that operation:
Ext.define('Gnt.examples.advanced.model.Task', {
    extend  : 'Gnt.model.Task',

    ...

    set : function (field, value) {
        // if we are in the appendChild() call and setting "SchedulingMode" field
        // let's ignore set() call to keep the existing scheduling mode intact
        if (!this._inAppendChild || field != this.schedulingModeField) {
            return this.callParent([field, value]);
        }
    },

    appendChild : function () {
        // raise a special flag indicating that we are in the appendChild() call
        this._inAppendChild = true;

        var result = this.callParent(arguments);

        this._inAppendChild = false;

        return result;
    }
});

Post by sonakshi.bajaj »

Hi arcady,
We observed the following issue reproducible in the advanced gantt demo as well. Steps to reproduce
1. Create two fixed duration tasks and indent the second one.
2. Changed the mode for the new parent task back to fixed duration as it was automatically changed to normal in the demo.
3. Add a resource and duration to the child task. effort is calculated.
4. Update the start date on the child task. Observed that effort at the summary task became 0 at this point.
Attaching a screenshot for your reference. This looks like a bug to us. Could you please confirm?
Attachments
SummaryEffort.png
SummaryEffort.png (74.33 KiB) Viewed 2625 times

Post by sonakshi.bajaj »

Any update on the above issue please?

Post by pmiklashevich »

Hello,

Only leaf tasks can have Fixed Duration. All parents behave as they are Normal and show values calculated based on its children. This is described in docs: https://www.bryntum.com/docs/gantt-for-extjs/#!/api/Gnt.model.Task-field-SchedulingMode
NOTE: Parent tasks are always Normal and accumulate results from their children, except those which are ManuallyScheduled.
That's why "it was automatically changed to normal in the demo". Since you break the behaviour by setting Fixed Duration to a parent and you have no resources assigned, you get 0 there.

Therefore it's not a bug.

Cheers,
Pavel

Pavlo Miklashevych
Sr. Frontend Developer


Post by sonakshi.bajaj »

Hi Pavel,
An automatic task irrespective of the task mode should always have the rolled up values from the child tasks. But, once the task is change to Manually Scheduled, then respective task mode logic should be applied.
As per the response from Arcady above, it is possible for us to have fixed duration or effort driven summary tasks. If that is not the case, could you please address the original question posted above and let us know why summary task should always be normal?
Regards,
Sonakshi

Post by pmiklashevich »

Having summary tasks Normal is what Bryntum supports. Arcady provided you with a workaround to adjust the behaviour. What you said in your previous message was based on default behaviour as far as I got it and I checked it against our Advanced demo. The UI allows you to set summary task to Fixed Duration, but then it has to behave as a Fixed Duration task. Fixed duration task has 0 effort if there is no assignments. So I don't understand why 0 is confusing for you. The idea of summary task is to accumulate values from its children, so setting own scheduling mode sounds against the concept. When you set Fixed Duration for summary task what do you expect to see: calculated effort based on children or its own effort based on duration and assigned resources?

Pavlo Miklashevych
Sr. Frontend Developer


Post by sonakshi.bajaj »

Hi Pavel,
We expect that if summary task is an automatic task then irrespective of the task mode it should always have the rolled up values from the child tasks. But, once the task is change to Manually Scheduled, then respective task mode logic should be applied. This is the behaviour that we have observed even in MSP.
Regards,
Sonakshi

Post by sonakshi.bajaj »

Any update on the above issue please?

Post Reply