Technologies

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.

We also offer some pre-configured schemas that you can easily get via NPM and adjust to your requirements (for more information read here). Those schemas are DITA, JATS, XHTML (XDoc) and lightweiht DITA (a miminized set of DITA).

Feel free to contact us if you would like to know more about the configuration of these schemas or what it would take to configure unlisted or specialized elements and attributes.

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.