xxeserver command-line options xxeserver, a WebSocket server, is the backend
of XMLmind XML Editor Web Edition (XXEW). Its client is custom HTML
element <xxe-client>.
xxeserver [Advanced option]* [Server option]*
ImportantHere the term user
refers to the user who started
xxeserver, not to the
user who is using
<xxe-client>. |
-putprefs property_file-putpref except that several key/value pairs may be
read from specified property file..-putpref key
value-delpref key-index fileXXE_INSTALL_DIR/web/webapp/index.html,
XXE_INSTALL_DIR being the directory where XMLmind
XML Editor Web Edition (XXEW for short) has been installed.
This file contains the sample XML editor application included in
XXEW distribution.
RememberThis option implicitly sets the document
root of
xxeserver as an HTTP server. For
example, "-index C:\temp\myapp.html" sets the document root
to "C:\temp\". Therefore any file outside
"C:\temp\" cannot be accessed using an
"http://" URI.This also implies that all
<xxe-client> code
(xxeclient.js,
xxeclient.css, etc) must be found somewhere
inside "C:\temp\" in order to be accessed by
xxeserver. |
-port port-keystore below.-keystore file-storetype type-storepass password-keypass password-certalias alias-selfsign dname
cert_file-keystore is used. No default.
NoteThe syntax of distinguished names
(dname) is:
CN=cName,OU=orgUnit,O=org,L=city,S=state,C=countryCode
Each field must appear in the above order but it is not
necessary to specify all fields. Examples:
CN=192.168.1.203 CN=192.168.1.203,OU=Dev tests,O=ACME Corp. CN=www.acme.com,O=ACME Corp.,L=San Diego,S=California,C=US |
TipIf dname is "auto", then
cert_file may also optionally contain substring
"auto". In dname, "auto" is
replaced by "CN=IPv4_ADDRESS_OF_THIS_COMPUTER" and
in cert_file, "auto" is replaced by
"selfsignIPv4_ADDRESS_OF_THIS_COMPUTER.pfx".
This
spares you the effort of determining the IPv4 address of the
computer running
xxeserver, which is handy in the
case of a quick test. Example, if the IPv4 address of the computer
is 192.168.1.26 then "-selfsign auto
..\etc\auto" is equivalent to "-selfsign
CN=192.168.1.26
..\etc\selfsign192.168.1.26.pfx". |
-loglevel
level[,level]?-logrequests dir-logserver dir-pid pid_out_filexxeserver process ID to specified file. Fails if
specified file already exists. No default.
xxeserver by executing a command equivalent to
the Linux example below:kill -SIGTERM `cat pid_out_file`
-faccess
config_file|-|~|+|dir_listxxeserver.
Default value.-maxeditors integer-recoverdocgracetime
secondsxxeserver, the XML editor backend, may
be configured to let <xxe-client>, the XML editor
frontend, access files belonging to its files system. These are called
remote files as opposed to local files which are
found in the file system of the computer running the web
browser.xxeserver using command-line option
-faccess. The syntax of this JSON
configuration file is:[
object [ , object ]*
]
object = {
"label": label_string ,
"uri": uri_string ,
"readonly": true|false ,
"prompt": prompt_string ,
"scheme": scheme_string ,
"username": username_string ,
"password": password_string
}
<xxe-client> may access any file
contained directly or indirectly in a remote file root.
TipThis is best done by running the XMLmind XML
Editor desktop application, using menu item
Options|Install
Add-ons
xxeserver (which shares its
add-ons with the desktop application included in XXEW
distribution). |
xxeserver by the means of the
@clientproperties attribute of
<xxe-client> or
<xxe-app>See example below.
RememberAlways
use pseudo-scheme "FTP LOGIN" when a remote file root has
an "ftp://" URI.
|
[
{ "label": "Home", "uri": "file:///home/~(user)/" },
{ "label": "Source Code", "uri": "file:///usr/local/src/",
"readonly": true },
{ "label": "Documents", "uri": "http://192.168.1.203/dav/docs/",
"username": "~(user)", "password": "~(DAV.password)",
"scheme": "DIGEST" },
{ "label": "Backup", "uri": "ftp://192.168.1.203/backup/",
"username": "admin", "password": "changeit",
"scheme": "FTP LOGIN" }
]
xxeserver by
the means of
the @clientproperties attribute of
<xxe-client> or
<xxe-app>. Example:
<xxe-client clientproperties="user=john;group=reviewers\u003Bauthors;DAV.password=changeit">

file:///home/~(user)/. This means
that when <xxe-client>
has been “personalized” with attribute
@clientproperties="user=john",
xxeserver will access all files found in
file:///home/john/. With
@clientproperties="user=jane", this will
be file:///home/jane/, with
@clientproperties="user=jack", this will
be file:///home/jack/, etc.xxeserver was started on the server by user
U belonging to group G, this implies
that:file:///home/john/,
file:///home/jane/,
file:///home/jack/, etc.xxeserver in
file:///home/~(user)/ will
belong to user U/group G and not
to user john, jane or jack. So what if user
john, jane or jack wants to read and/or
modify such files using tools other than XXEW?xxeserver and is out
of the scope of this document.
TipOn Linux/macOS, a
simple solution is to make all users U, john,
jane, jack, etc, belong to the same group
G (e.g. staff) and to have all the members of
this group have an
umask |
| (1) | If needed to, the parent directories of this file are automatically created too. |