I recently encountered situation where web services used as CRUD methods for gantt widget to be very slow (6+ seconds TTFB per request). This has caused every action on the gantt widget to be slow, and widget looks as it hangs with spinning wheel. Basically, widget is unusable, specially when user moves tasks between groups where a few tasks need to be updated to adjust hierarchy.
Unfortunately, at the moment, I am forced to remain with this services as endpoints.
Do you have any suggestion how to approach this problem?
Only thing that came to my mind was to build local datasource and handle actions manually, but I am not sure that this is best approach.
Thank you in advance.
5 Answers, 1 is accepted
I am afraid, currently, if you are fetching a lot of data from these service end-points there is no possible way to somehow improve the performance. We have a logged feature request for adding a load-on-demand functionality, you can cast your vote for this item as it might help out with the case.
thank you for the prompt response. Unfortunately, my case isn't related to the amount of data received, but to overall slowness of the web server I have to target. Even if I do a single action, such as move task to the future, only one PUT request is sent and it sometimes lasts more than 3-4 s TTFB. During this period, everything on the widget is unusable.
Basically, I am looking for a way to disconnect CRUD operations from UI in terms of waiting, but without ability to use websocket at the moment.
Thanks for the clarification. Then, yes, what you aim doing will be sufficient by creating as local mapping to the data. That way you will decouple the UI from the web server and update it only when you need to. I assume that will work.
I made a small test/POC for me locally, and I simulated websocket server for my app. I was hoping this will "release" ui from waiting from server response, but nevertheless, app still waits response message. Is there something in config that i should do to decouple these two?
Or, only option is standalone local array datasource? (I am trying to avoid this, because i would need to handle a number of things mamually)
Thanks and cheers
I am afraid the Gantt will always wait for the response in order to release the UI. This is a major UX behavior. Currently, there is no way to somehow decouple the data operation and the UI updates.