We're using Scheduler Pro and want to use the same scheduling logic also on the server side. It looks like the Bryntum Scheduling Engine (https://bryntum.com/dist/gantt/docs/engine/) would be the way to implment it.
Do we need to buy another licencse (https://bryntum.com/products/license/) to use it on the server side (part of the same application as the client which uses Scheduler Pro)?
The Scheduling Engine uses Chronograph (https://github.com/bryntum/chronograph) under the hood, but not much happened on the public repository in the last few years. Is this the same code that is actually used in Scheduler Pro?
The documentation of Chronograph is completely broken (all links on the right resulting in "404 Not Found") for at least a year (https://github.com/bryntum/chronograph/issues/20). Are there plans to fix it in the near future or is there another documentation?
You should be able to use the same module on server side, in Node.js, the model/store/project APIs should work (if they won't - please file a ticket). Trying to instantiate a widget will throw of course. You probably will need to implement your own "Transport" class for the CRUD manager, to avoid pulling in browser dependencies.
No, it is covered by the Scheduler Pro license
Yes, Scheduler Pro and Gantt are based on the ChronoGraph v1 (master branch of https://github.com/bryntum/chronograph). There's also v2 branch in the same repository, which however, has contradicting metrics (faster regular computations, slower initial instantiation), so we don't put it into production. ChronoGraph v1 receives bug fixes and small improvements as long as that is required by the general course of Gantt/Scheduler Pro development.
ChronoGraph documentation is written inline, in the source files. It is then extracted with the TypeDoc. There are very little pure-doc files (only guides).
Currently not that many clients are performing scheduling on the server-side, so we don't have any specific best-practices for that. Current "contract" is that "everything should work the same way as in browsers", except trying to "touch" the browser-related globals of course. In general you should just give it a try and let us know if you'll find any issues - we'll fix them promptly.
We haven't tested Scheduling Engine with GraalVM so far. In theory it should just work, as scheduling engine was written as pure TS codebase, w/o using any browser-related APIs. Need to verify that of course.
Hopefully this clarifies the things and please feel free to ask any further questions.
I've set up a Node.js project (get it running on GraalVM was too hard) and pulled in the Bryntum Scheduler Pro library. As far as I've understood this is the way to use the Scheduling Engine (though a smaller library would be sufficient in principle, but I haven't found one). However, if I try to instantiate a class from the documentation (new SchedulerProProjectMixin) the class can not be found.
SyntaxError: Unexpected token 'export'
at internalCompileFunction (node:internal/vm:73:18)
at wrapSafe (node:internal/modules/cjs/loader:1176:20)
at Module._compile (node:internal/modules/cjs/loader:1218:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Function.Module._load (node:internal/modules/cjs/loader:958:12)
at Module.require (node:internal/modules/cjs/loader:1141:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object.<anonymous> (C:\my-project\src\app.service.ts:2:1)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
It looks like somethind would be wrong with the module system in use. I tried several settings in the tsconfig.json, but nothing worked so far. The tsconfig.json looks like this
Sorry, it seems as mentioned in the guide, the special Node.js bundles are not included in the trial packages. We'll be fixing this problem in one of the nearest releases.
I'm a coworker of drichter. Could you please let us know here when the trial release is fixed? (But maybe the purchase would be completed then, anyway.)