Our state of the art Gantt chart


Post by gearheart »

Hello,

We are using Gantt chart with auto scheduling function. In our application user can edit items on different pages, not only using Gantt. So we need to apply auto scheduling on the backend as well.

Is there a backend library that we can use that implements, Bryntum's auto scheduling features for Gantt?
In Python preferrably :)


Post by mats »

The engine is isomorphic and built in TypeScript so you can run it easily, please see this guide: https://bryntum.com/products/gantt/docs/guide/Gantt/integration/nodejs


Post by gearheart »

Last time we did frontend-only version and now need to actually implement the backend, so I have some further questions :)

In our system, a single account can have hundreds of projects and many-many tasks. Some times there are dependencies set across different projects tasks.

Users can edit individual tasks using different methods, including direct API calls with their Zapier integrations. We need to implement schedule update on the backend, when single task is changed.

As far as I understand, I need to provide the node.js engine with a set of existing tasks and then initiate an edit. What worries me is that I really don't want to pull all accounts tasks into memory just to check if anything needs rescheduling.

How would you recommend to approach this task? Is there a smart way to gradually pull tasks from the store only if they are affected by the task change?


Post by arcady »

Hello,

Well if you plan to use our scheduling Engine then yes you'll have to load all tasks into it.
Otherwise you are risking to leave some dependent data outdated.

You can of course try implementing some smart approach and load for example only dependent tasks. But then it might be not 100% enough since task values roll up to their parents. So you'll need to update parents too. That of course depends on your application data structure.
But at first glance loading only related data is not something trivial I'm afraid.

Best regards,
Arcady


Post by Maxim Gorkovsky »

Hello.

As far as I understand, I need to provide the node.js engine with a set of existing tasks and then initiate an edit. What worries me is that I really don't want to pull all accounts tasks into memory just to check if anything needs rescheduling.

I'm afraid that is the only way. To calculate the project and all the changes Project Model has to know about the project tasks, dependencies etc. You would need to load the entire project anyway.

How would you recommend to approach this task? Is there a smart way to gradually pull tasks from the store only if they are affected by the task change?

I would recommend creating a NodeJS app which loads the entire project and then using API to modify fields, calculate project and send changes to client.

You may be interested in the revisions API, they would help keeping changes organized https://bryntum.com/products/gantt/docs/guide/Gantt/revisions/overview


Post by gearheart »

Got it, thank you.


Post Reply