File: index.html

package info (click to toggle)
fex 20200429-1
  • links: PTS, VCS
  • area: non-free
  • in suites: sid
  • size: 3,532 kB
  • sloc: perl: 32,103; sh: 410; javascript: 53; makefile: 42
file content (259 lines) | stat: -rw-r--r-- 9,384 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<HTML> 
<HEAD><TITLE>Document Exchange</TITLE></HEAD>
<BODY>
<style>
pre {
  padding: 8px;
  background: #eef;
  border: thin dashed #0076A3;
}
## table {
##   border-collapse: collapse;
## }
table, th, td {
  padding: 3px;
}
</style>

<h1>DOcument eXchange (DOX)</h1>

<h3>Overview</h3>
<a href="/dox">DOX</a> 
offers web based document exchange with versioning, syncing and user
management.<br>
DOX is designed as a modern replacement of ftp with rsync features.<br>
DOX must be enabled by the <a href="mailto:$SERVER_ADMIN$">fexmaster</a>,
it is a configuration option and not activated per default.<br>
<p>
<a href="/dox">DOX</a> consists of folders (toplevel directories) with
their specific configuration (users, access, etc), stored on the F*EX
server.<br>
A folder can contain any number of document files or subdirectories.<br>
As with <a href="/sharing/">F*EX archive sharing</a> DOX documents do not
have an expiration date. They stay online, until you delete them.<br>
<p>
DOX is <b>not</b> suitable for backup purposes, because it does not convey
file attributes like permissions, ownerships or ACLs and it cannot handle 
hard links correctly.<br>
Better use <a href="/sharing/#_">archive sharing</a> for this task.

<a name="Usage"></a>
<h3>Usage</h3>
You can use <a href="/dox">DOX</a> with any webbrowser with javascript
support.
<p>
With the CLI client 
<a href="http://fex.belwue.de/usecases/fexsync.html#fexdox">fexdox</a>
from the 
<a href="/FAQ/user.html#How_do_I_install_the_UNIX_clients">fextools</a>
package you can synchronize a local directory with DOX, either for upload or
for download.<br>

<a name="Owner_and_users"></a>
<h3>Owner and users</h3>
DOX has two different views: owner or user
<p>
<ul>
<li>For <b>owner view</b> you must be <a href="/dox">logged in</a> as owner,
    using your regular F*EX login.<br>
    It offers you an overview of all your folders and backup versions.<br>
    Entering a folder or backup version shows its content.<br>
    An owner can create any number of folders and upload files or
    directories in a folder.<br>
    Example screenshots (click for full size):
    <p>
    <table border=1><tr>
    <td valign="top"><a href="DOX_1.png"><img src="small/DOX_1.png"></a>
    <td valign="top"><a href="DOX_2.png"><img src="small/DOX_2.png"></a>
    </tr></table>
    <p>
    Files and directories with a "#" prefix are private: 
    they are blocked for user access, only the owner can read them.<br>  
<p>
<li>For <b>user view</b> you need a DOX URL from the owner, e.g.
    https://fex.rus.uni-stuttgart.de/dox/framstag@rus.uni-stuttgart.de/test/<br>
    It offers you read access only to this folder (and
    subdirectories).<br>
    A user can read or download files or directories.<br>
    A user cannot see or read blocked files or directories.<br>
    For upload he needs a special user account, see below.<br>
    Example screenshot (click for full size):
    <p>
    <table border=1><tr>
    <td valign="top"><a href="DOX_3.png"><img src="small/DOX_3.png"></a>
    </tr></table>
    <p>
</ul>
<p>
Both, owner and user, can use the CLI client 
<a href="http://fex.belwue.de/usecases/fexsync.html#fexdox">fexdox</a>
for file syncing and a webbrowser to download or upload documents.
<p>
Some document types like GIF PNG JPG PDF HTML TXT can be viewed directly
with a webbrowser.

<a name="Folders_and_configuration"></a>
<h3>Folders and configuration</h3>
You can create a folder either with your webbrowser, or with the CLI client
<a href="http://fex.belwue.de/usecases/fexsync.html#fexdox">fexdox</a><br>
A folder on the fexserver has the same name as your local directory.<br>
Allowed characters for the folder name are A-Z a-z 0-9 @ ~ ^ . , + -<br>
All other characters will be substituted with "_" (underscore).
<p>
A <code>/FOLDER/.fexdox/</code> configuration subdirectory will be
automatically created.
<p>
<code>/FOLDER/.fexdox/config</code> contains the configuration:
<p>
<table border=0>
<tr><td><code>backups=NUMBER</code>
    <td># how many backup versions fexdox automatically creates and keeps (default: 1)</tr>
<tr><td><code>useraccess=no</code>
    <td># no access for other users</tr>
<tr><td><code>useraccess=yes</code>
    <td># access for other users listed in the users file (default)</tr>
<tr><td><code>useraccess=anonymous</code>
    <td># anonymous read access for everybody</tr>
<tr><td><code>charset=NAME</code>
    <td># character set name for files (default: utf-8)</tr>
<tr><td><code>showdelete=all</code> 
    <td># show [delete] button for folders and backups (default)</tr>
<tr><td><code>showdelete=backup</code> 
    <td># show [delete] button for backups</tr>
<tr><td><code>showdelete=no</code> 
    <td># show no [delete] button</tr>
</table>    
<p>
In <code>/FOLDER/.fexdox/users</code> you can write your users with passwords:
<pre>
  USER1:PASSWORD1
  USER2:PASSWORD2
  USER3:PASSWORD3
  ...
</pre>
User and password can be any string (without spaces and colons).<br>
If the user string is an email address, this user can send files
to the owner via [send file] button.
<p>
You can further restrict user access to specific ips or ip ranges via
configuration file <code>/FOLDER/.fexdox/access</code> with the content:
<pre>
  IP1
  IP2-IP3
  ...
</pre>
<p>
User access to specific files and directories can be blocked via 
<code>/FOLDER/.fexdox/private</code> with the content:
<pre>
  FILE1
  FILE2
  DIR1/FILE3
  ...
</pre>
You can use the well known shell meta characters (wild cards)
"*" "?" "[...]" in the file and directory names.
<br>
Files and directories with names beginning with
"." or "#" or ending with "~" are implicitly blocked.
<br>
No user will see or can download blocked files.
<p>

<a name="User_upload"></a>
<h3>User upload</h3>
To allow user upload the owner has to create an upload directory for
him.<br>
This can be done in <code>/FOLDER/.upload</code> via
<p>
<em>[Create] an upload directory for user ...</em>
<p>
Below you can set a "!publish" flag.<br>
Only users with this flag are able to move their uploads to the regular
folder.<br> 
Without this flag you (the owner) have to do this manually.<br>
Otherwise the uploaded files stay in the upload directory, invisable for
other users.

<a name="Extras"></a>
<h3>Extras</h3>
In <code>.#.html</code> or <code>#.html</code> you can put
HTML code which will be displayed above the directory listing, e.g:
<pre>
&lt;h1>This directory contains great stuff about hotchpotch&lt;/h1>
</pre>

<a name="Versioning"></a>
<h3>Versioning</h3>
The owner can create or delete a backup version of a folder via
webbrowser.<br>
A backup version is represented as DATE_TIME string.<br> 
Backup versions are not accessible by users.<br>
The owner can restore single files or directories or the whole backup
version.<br>
The client 
<a href="http://fex.belwue.de/usecases/fexsync.html#fexdox">fexdox</a>
automatically creates a new backup and keeps only that number of
backups specified in <code>/FOLDER/.fexdox/config</code>,
older backups will be deleted!

<a name="Folder_actions"></a>
<h3>Folder actions</h3>
<table>
<tr><td>[backup]<td>create backup version</tr>
<tr><td>[restore]<td>restore backup version</tr>
<tr><td>[delete]<td>delete backup version</tr>
<tr><td>[DELETE]<td>delete the folder with all backups</tr>
</table>

<a name="Directory_actions"></a>
<h3>Directory actions</h3>
<table>
<tr><td>[list it]<td>list all files in all directories on one page</tr>
<tr><td>[zip it]<td>make a zip archive and offer a download link</tr>
<tr><td>[fex it]<td>fex the files to your email address</tr>
<tr><td>[sync it]<td>start <a href="http://fex.belwue.de/usecases/fexsync.html">fexsync</a> for download</tr>
<tr><td>[stream it]<td>start <a href="http://fex.belwue.de/SEX.html">sexsend</a> for download
        (prefered download methode for BIG folders)</tr>
<tr><td>[reload]<td>reload the page</tr>
</table>

<a name="File_actions"></a>
<h3>File actions</h3>
<table>
<tr><td>[zip it]<td>make a zip archive of the the selected files and offer download link</tr>
<tr><td>[fex it]<td>fex the selected files to your email address</tr>
<tr><td>[copy]<td>copy the selected files to another folder</tr>
<tr><td>[move]<td>move the selected files to another directory</tr>
<tr><td>[rename]<td>rename the selected files (you will be prompted for new names)</tr>
<tr><td>[publish]<td>move the selected files from the upload area to the regular folder directory</tr>
<tr><td>[delete]<td>delete the selected files</tr>
</table>

<a name="Other_actions"></a>
<h3>Other actions</h3>
<table>
<tr><td>[mirror]<td>mirror (download to server directory) an URL</tr>
</table>

<a name="Restrictions and limitations"></a>
<h3>Restrictions</h3>
<ul>
<li>a folder name must consist of characters [A-Za-z0-9@_.+-]
<li>DOX cannot handle files or directories with newline character in their names
<li>directory web upload is (only) possible with Google Chrome, but no file
    attributes will be conveyed besides the modification date
<li>hard links will be broken between partial updates
<li>transfers of more than 4 GB with a webbrowser are volatile, better use
    client fexdox
</ul>

<a name="Comparison"></a>
<h3>Comparison with <a href="/sharing/">archive sharing</a></h3>
#include "comparison.html"

<p><hr><p>
Names in UPPERCASE in this document are placeholders, you have to
substitute them with real values!
</BODY>
</HTML>