Our state of the art Gantt chart


Post by SIM-LTD »

Hi

As we are taking over the component Gantt, based on the "Advanced Demo" we might have raised an issue.

Indeed, we intend to load the Gantt Data directly from the Store ( gantt.taskStore.data + gantt.dependencyStore)
Our tests have pointed out that in some case all tasks StartDate are aligned to the Project StartDate.

Indeed, (have a glance at our screenshot), If the function "project.propagate()" is not used then the Gantt is OK
But when that function "project.propagate()" is used then all the Task StartDate are aligned to the Project StartDate.

To be honest we do not know what this "project.propagate()" does exactly since we did not find anything about that in the online user guide.

So could you be nice an tell us what "Propagate()" is about and why using it makes all Task StartDate aligned to the Project StartDate
Attachments
Capture d’écran 2019-05-17 à 20.09.18.png
Capture d’écran 2019-05-17 à 20.09.18.png (220.66 KiB) Viewed 2143 times
Capture d’écran 2019-05-17 à 20.10.04.png
Capture d’écran 2019-05-17 à 20.10.04.png (325.77 KiB) Viewed 2143 times

Post by mats »

It's correct behavior. If a task is not manually scheduled, lacks predecessors or using constraints it should align with its parent or Project start date. This is standard behavior in a Gantt chart. For information about propagation, please read: https://bryntum.com/docs/gantt/#guides/project_data.md

Post by SIM-LTD »

Sorry, we did not really understand your point.

As you can see our screenshot :
  • 1- without "propagation" the startDate of the child event "Release Doc" is correct.
    2- With "propagation" the startDate of the child event "Release Doc" is aligned to the Project StartDate
So, what is for you the standard behavior?
If an event has a StartDate defined, so why its startDate should be updated in the background?

Post by mats »

Please describe steps to reproduce the situation where behavior differs if you call propagate. Propagate is always called when making data changes to ensure data is consistent

Post by SIM-LTD »

Here is the case:

1) Without "Propagation" function
// Add some Events
gantt.taskStore.add({ 
  id : id+1,
  name : 'Write docs',
   startDate : '2017-01-02', 
    endDate : '2017-01-10',
     expanded : true,
     children : [
     { id : id+2, name : 'Proof-read docs', startDate : '2017-01-02', endDate : '2017-01-06' },
     { id : id+3, name : 'Release docs', startDate : '2017-01-06', endDate : '2017-01-10' }
     ]
});                                        
All StartDate are OK and refer to the data added

2) With "Propagation" function
// Add some Events
gantt.taskStore.add({ 
  id : id+1,
  name : 'Write docs',
   startDate : '2017-01-02', 
    endDate : '2017-01-10',
     expanded : true,
     children : [
     { id : id+2, name : 'Proof-read docs', startDate : '2017-01-02', endDate : '2017-01-06' },
     { id : id+3, name : 'Release docs', startDate : '2017-01-06', endDate : '2017-01-10' }
     ]
});           

// run propagation to calculate new task fields
await project.propagate();                             
The StardDate of the Child event "Release Doc" is aligned to the Project StartDate

Our screenshots show the Gantt within both situations as described above.

Post by mats »

Ok, for now you should always call propagate if you make changes to the data/tree structure using the API - so case #1 above is invalid.

Post by SIM-LTD »

Hi,

Sorry, but we do not understand your point.

You mentioned that case#1 is invalid. BUT this case works perfectly and set the Task correctly on the Gantt, according to the task startDate itself.

In the other hand, when using the function "Propagate" the task is not set according to its own startDate but according to the Parent or Project StartDate; which is wrong, somehow.

Thus, maybe "Propagate" is mandatory, when adding ONLY ONE task; but not when adding a full branch (Parent + Childs)?

Post by mats »

task is not set according to its own startDate but according to the Parent or Project StartDate; which is wrong, somehow.
This is correct scheduling behavior. Please read what I wrote above: "If a task is not manually scheduled, lacks predecessors or using constraints it should align with its parent start date or the Project start date."

Post by SIM-LTD »

Hi

We read your post, don't worry :D

Then, if this is the standard behavior, we'll be using the "propagate" function accordingly.

Thank you

Post by SIM-LTD »

Hi Mats

Sorry to come back to you on that matters. But we need a little help from you.

We are having an issue with that standard process that realigns all tasks on the Project Start Date.

Please just have a glance at the screenshot:
When loading the Gantt it appears correctly, but 1-2 second later all the Tasks are realigned to the project Start Date :cry:

Is there any way to force stopping that realignment, when the Gantt is loaded at first?
Because as per our process, the Gantts are stored in the database, and then the user can select in a list which Gantt to display; but the point is whenever the Gantt is loaded then 1-2 second later (depending on the Gantt Size) all task are realigned, to the Project Start Date; This is an issue for us, because (so far we did not activate the update of the Gantt) but once activated, it will corrupt all the user Gantt store in DataBase.

Thank you for your return.
Attachments
Capture d’écran 2019-05-26 à 20.56.03.png
Capture d’écran 2019-05-26 à 20.56.03.png (133.5 KiB) Viewed 2116 times
Capture d’écran 2019-05-26 à 20.56.12.png
Capture d’écran 2019-05-26 à 20.56.12.png (127.02 KiB) Viewed 2116 times

Post Reply