Programming languages
Xeditor is built using JavaScript (with ExtJS 6), HTML, and CSS. Currently it ships with Node.js in order to serve the files, although you are free to use the server-side language of your choice.
Technical Requirements
npm / Node.js
We use npm for the delivery of the Xeditor package. npm is a package manager for the JavaScript runtime environment Node.js. To use npm for Xeditor you need to install Node.js (version 14). This will install everything you need to use commands node and npm.
Schemas
In general Xeditor works with every schema format available, both XSD and DTD schemas. Customers using standards like DITA, s1000d, Akoma Ntoso, Docbook, JATS and lots more are already working with Xeditor.
For more information about how to configure your custom schema read here
Browsers
You can work with Xeditor on Chrome, Firefox, Safari and Microsoft Edge.
But in general Chrome offers the best user-experience and is our recommendation for working with Xeditor. We also support the two latest stable major versions of Firefox and the latest stable major version of Microsoft Edge and Safari.
Open Source Software
With this Link you can download a list with all the used open source software.
Hardware requirements
We don't really have system requirements / recommendations since this is related to many circumstances.
The Xeditor itself (everything in the /dist
folder), you can easily host using NGINX or another webserver. For NGINX you don't really need to plan a lot of resources. These usually run very sparingly. Of course, it also depends on whether you run this in a virtual machine or deploy one (or more) containers here.
If you follow the NGINX Plus Sizing Guide, you should be able to process about 90,000 requests per second with 2 CPU cores and 4 GB Ram. Xeditor itself needs in the built state /dist
in about 50-100MB disk space. So 10-15GB disk space should be enough here.
Link: https://www.nginx.com/resources/datasheets/nginx-plus-sizing-guide/
In addition, the middleware / blackbox must also be hosted. This is a NodeJS application but you can also host this as a container. As long as the WebSockets are not activated here (These are deactivated by default anyway), this docker container also works stateless, so you can also provide multiple containers here to ensure high performance and failover. These also do not require much resources. You can also expect 2 CPU cors and 4-6 GB of RAM.
If there are a lot of users working at the same time, we recommend to provide at least 2 containers of the middleware to ensure fail-safety. The webserver usually fails extremely rarely, but here multiple containers can be used, too. When using multiple containers, some kind of load balancing must also be used.
For more details to the server setup and the integration part of Xeditor read here.