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-logserve
r 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 to download and install this add-on
and then starting
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 equal to
u=rwx,g=rwx,o=rx. |
(1) | If needed to, the parent directories of this file are automatically created too. |