Our state of the art Gantt chart


Post by ggalipeau »

We have a dependency setup for a start to finish of -2 days. On initial setup it works perfectly. On initial load it works perfectly.
Image

With this setup, if try to change the end date from anything other than Jan 19th, it won’t let me in the UI. That’s perfect for us. It is forcing the predecessor.

However, if I change the start date, it changes the End date on the UI. I can move it forward:
Image

So, this is the first inconsistency we noticed: when I try to manually set the End Date, the dependency works as a fixed dependency and forces the –2 days. However, when I change the Start Date, it works as a “starts after” dependency.

Thus, our first question is – can these 2 work the same way? It seems weird they work with differently.

However, that is not our biggest issue. Our biggest issue is that as soon as I change the Start date on the UI to move it forward it moves the end date forward (as you can see in my screenshot above).

However, if I save this and then reload my project, the end date goes back to the -2 days.
Image

The issue here is – the user saw it one way when they saved and doesn’t notice the dates change on them when it reloads.

So, unless I am missing something, this might be a bug. Please let us know if we are missing something?


Post by marcio »

Hey ggalipeau,

Are you able to reproduce that behavior on our demos?? Perhaps share a sample project with some fake data for us to check, that would be nice to define if it's a bug or not.

Best regards,
Márcio


Post by ggalipeau »

I can replicate the first (smaller) issue on your site. I went to the Basic Demo. I added the Duration, Start Date and End Date. I focused on 2 items. Removed all constraints, etc... Then set those items up with the same date ranges as my example and same predecessor (-2 day lag on start to finish).

Next, I tried to edit the end date directly on the successor by putting it in the future. It won't let me. However, if I edit the start date, it will push the end date out.

Thus, two separate ways it deals with predecessor based on if you edit the date directly or edit the other date and the duration pushes it out.

As for the second (larger) issue. I don't think it's possible to replicate on your site because it involves saving the data back to a datastore and reloading it. Unfortunately, your example site only allows to show issues that happen without the need for a save and re-load. I could be wrong.


Post by alex.l »

Could you please make a video with steps to reproduce that?
You refer to dates from your screenshots, but that's not clear what those columns mean because of no title on the image.
Please check the video. This is that I got from your description. It seems to be working well to me.
What else should I do to reproduce the issue?

Attachments
Screen Recording 2023-01-26 at 10.32.40.mov
(4.37 MiB) Downloaded 18 times

All the best,
Alex


Post by ggalipeau »

Hi Alex,
Thank you for the video. I agree, everything seems to work well in the scheduler. But, the issue we have is when people are editing directly in the table. Sorry it's a hard one to describe. We are just seeing different behaviors in different situations.

I created a video that I hope shows the issue. Please let me know if you need more clarification.

Attachments
BrytumPredecessor.mp4
(17.48 MiB) Downloaded 16 times

Post by alex.l »

Hi ggalipeau,

Unfortunately, I still cannot reproduce the issue on my side. It will be great if you'll show full steps to reproduce, included how did you prepare data to be like on your video. You did some manipulations before to clear initial dependencies, added constraints to make tasks not start from startDate of the project, changed duration.
I believe it helps a lot if I will be able to use same data as you did. For that please call in console gantt.project.json, copy the result and paste it here.

Regarding to the second problem you show, hard to say. You reloaded the page, so that looks like data has not been saved. We need to see what exactly you sent to server, what your server answered, and data you got after reload. We have PHP examples that has basic backend support, where we could try to reproduce this issue using your data.

All the best,
Alex


Post by ggalipeau »

Hi Alex,
Yeah, this is a tricky one. Because it is inconsistent, we are having issues recreating and showing. But, I think we hit a breakthrough in our most recent video. We noticed a Constraint Date was automatically getting set by Bryntum that might be causing the behavior. Now, we don't really use Constraint Dates in our system. Thus, we don't save to the Database. That might be why we have different experiences when we save and refresh our site.

Anyways, I try to show/explain in the video. But, in synopsis - we set a simple dependency from Start to Finish.

We then go to edit the successor of that dependency. It enforces the dependency in that it won't allow us to manually change the end date. Then we change the start date on that successor. After doing that, we can change the end date now. And, we noticed that the second we start messing with the start date, a constraint is automatically added.

I really hope my video is clear this time. We just think this behavior is so weird in how it's auto-adding constraints, changing behaviors of how it works in different scenarios. Our end users just cant figure out what is going on.

Attachments
Bryntum Predecessor Constraints.mp4
(15.04 MiB) Downloaded 14 times

Post by arcady »

..
With this setup, if try to change the end date from anything other than Jan 19th, it won’t let me in the UI. That’s perfect for us. It is forcing the predecessor.

I don't see this behavior on our demos. End date is editable and normally results the task duration resizing. Of course if you try changing end date backward and it's not allowed by the task incoming dependencies then the value won't apply.

However, if I change the start date, it changes the End date on the UI. I can move it forward:

Yes the dependency limits successor to finish >= its predecessor start date. So nothing prevents the end date to move forwards.

So, this is the first inconsistency we noticed: when I try to manually set the End Date, the dependency works as a fixed dependency and forces the –2 days. However, when I change the Start Date, it works as a “starts after” dependency.

Please provide a test case or steps how we can reproduce this to explain what happens. As I mentioned above changing end date is valid.

However, that is not our biggest issue. Our biggest issue is that as soon as I change the Start date on the UI to move it forward it moves the end date forward (as you can see in my screenshot above).

However, if I save this and then reload my project, the end date goes back to the -2 days.

If you don't see the same result after data reloading that normally means you don't save all the changes. Please make sure you save all data passed to the server.
Namely in this case I would check that task constrainType and constraintDate fields are saved.


Post by arcady »


Post by ggalipeau »

Hi arcacy,
You seem to be replying to my initial post on this thread. Since then there has been back and forth with Alex. I even put videos together showing how I can replicate this behavior in your demos. I don't think you looked at that video yet because you wrote.

"I don't see this behavior on our demos. End date is editable and normally results the task duration resizing. Of course if you try changing end date backward and it's not allowed by the task incoming dependencies then the value won't apply."

You can clearly see in my video that I can't change the end date (backwards or forwards) when I first set the dependency.

Then, you can clearly see in the video that "after" the start date changes I can then move the end date (backwards or forwards).

Please look at the last video I sent with my thread with Alex. Hopefully this shows what I am referring to.


Post Reply