We are excited to help you make one more step forward in exploring the capabilities of DHTMLX Gantt. If you are not new to DHTMLX, you are familiar with numerous Gantt features that can be implemented on the client-side for effective project management. But how about using DHTMLX Gantt on the server? Our Gantt component can be complemented with a special Node.js server module designed for running and managing Gantt charts on the back-end, but some developers still have a vague notion of how it can benefit them.
It is time to fill this knowledge gap with possible use cases of the Node.js module in real projects.
Making Gantt-related calculations on the server-side
In general, the Node.js server module makes it possible to utilize sophisticated algorithms of the Gantt component on the server. In other words, it enables you to create a separate build of DHTMLX Gantt that can operate in the Node environment and perform all kinds of Gantt-related calculations on the fly. It is essential when working with such PRO features as the critical path, working calendars, and auto-scheduling. This capability serves as a basis for other usage scenarios described below.
Integrating Gantt data with complex systems
Our JavaScript Gantt component is frequently integrated into advanced software solutions such as ERP, CRM, or PM systems. In such complex projects, data on project tasks can be presented in a custom view without the actual Gantt chart. Users may need to alter some things such as the start and end dates of a specific task. And here comes the question: how to recalculate the duration for this task and other dependent tasks? That’s when the server-side Gantt instance comes into play. After a user changes the duration of a task, this data is sent to the server, where the Gantt instance is used to recalculate the whole project schedule and update the Gantt data. As a result, all users are provided with a current project state.
Synchronizing actions of multiple Gantt users
It is often the case that several users interact with the Gantt timeline at the same time. For instance, one user wants to add a new dependency between some project tasks, while the other one may need to prolong the duration of a specific task. Such actions usually affect the whole project and it is important to ensure that the database contains valid data, taking into account all the introduced changes. The problem with the incorrect state of the project may often occur if the data is presented somewhere outside the Gantt. And as you may have guessed, our Gantt module helps to avoid any inconsistencies. It can serve as a single source of truth, preprocessing the project data before writing it to the database. After each change is made, you can load the project into the server Gantt, perform the action and run auto-scheduling. That way, the database will always contain the correct state of the project.
Implementing Web API for your app
The Node.js server module can help create a server API for managing the Gantt timeline via a web API using HTTP requests rather than a user interface. It can be necessary if you need to add a mobile client to your project or integrate it with a third-party application. Any changes to the Gantt chart made through the web API are processed on the server similarly to two previous cases.
Wrapping up
As you can see, the Node.js server module is absolutely indispensable for the cases reviewed above. It is provided separately as an add-on to our JavaScript Gantt component distributed under all three commercial licensing options. If you have any doubts about investing in the module, you can test it free of charge in combination with the Gantt component before making the final decision. Just download our 30-day trial version of DHTMLX Gantt. This section of our documentation will help you to add the Gantt module to your project.