Dateiverwaltung für die WebBox
ulrich
2018-03-04 c30d2d7b5f87d6a3aaeffbb6b0298a1ac3647afe
README.md
@@ -1,22 +1,32 @@
# Dateiverwaltung
Die Dateiverwaltung ist eine Webanwendung, die eine Bedienoberfläche und Funktionen zur Verwaltung von Dateien auf einem [Tomcat Servlet Container] (http://tomcat.apache.org) bereitstellt.
Eine Bedienoberfläche zur Bearbeitung und Verwaltung von Dateien für die [WebBox](/dev/Software/WebBox/WebBox).
## Funktionen
Die Dateiverwaltung stellt die folgenden Funktionen bereit
Die Dateiverwaltung besitzt die folgenden Funktionen
- hier
- Funktionen
- auflisten
- Persönliches und öffentliches Verzeichnis je Benutzer
- Auflisten von Verzeichnissen und ihrer Inhalte
- Ansehen der Datei-Inhalte
- Erstellen und Bearbeiten von Texten und Dokumenten
- Dateien und Ordner kopieren, verschieben und löschen
- Hochladen per Drag and Drop direkt in Ordner
- Listen- und Kachelansicht
Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv).
Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv). Weitere Informationen zur Dateiverwaltung finden sich auf der [Produktseite](/dev/Software/filecms/Dateiverwaltung).
Weitere Informationen zur Dateiverwaltung finden sich auf der Produktseite (Link noch angeben...).
### Konfiguration
Die Dateiverwaltung arbeitet mit relativen Pfadangaben und erhält den Ablageort von Dateien über die Angabe `de.uhilger.filecms.web.Initialiser.FILE_BASE` des Servlet-Kontext. Diese Angabe wird beim Start der Dateiverwaltung gebildet und kann im Deployment Descritor der Dateiverwaltung (Datei `WEB-INF/web.xml`) mit dem Context-Parameter `datenAblage` festgelegt werden.
#### Automatische Ermittlung des Ablageortes
Ist die Angabe `datenAblage` im Deployment Descriptor der Dateiverwaltung leer, wird der Ablageort `../../../daten` ausgehend von `$CATALINA_BASE/webapps` verwendet. Wenn also z.B. das webapps-Verzeichnis in `/usr/local/tomcat/webapps` liegt, dann wird das Datenverzeichnis der Dateiablage in `/usr/daten` vermutet. Liegt es stattdessen in `/media/extmirror/srv/wbx/sys/base/webapps` dann lautet der Datenpfad `/media/extmirror/srv/wbx/daten`.
## Webanwendung herstellen
Zum Herstellen der Webanwendung wird ein Java Development Kit (JDK) benötigt, wie es z.B. von [Azul](http://azul.com) oder dem [OpenJDK-Projekt](http://openjdk.java.net/) erhältlich ist. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt.
Zum Herstellen der Webanwendung wird ein Java Development Kit (JDK) benötigt, wie es z.B. von [Azul](http://azul.com) oder dem [OpenJDK-Projekt](http://openjdk.java.net/) frei erhältlich ist. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt.
Desweiteren werden die folgenden Klassenbibliotheken benötigt
@@ -29,7 +39,6 @@
XStream ............. xstream-1.4.7.jar ............. $JLIB
Jettison ............ jettison-1.3.3.jar ............ $JLIB
Transit ............. Transit.jar ................... $JLIB
FileSystem .......... FileSystem.jar ................ $JLIB
```
Diese sind an folgenden Orten frei erhältlich:
@@ -37,12 +46,11 @@
- [Apache Tomcat](http://tomcat.apache.org)
- [XStream](https://github.com/codehaus/xstream)
- [Jettison](https://github.com/codehaus/jettison)
- [Transit](https://uhilger.de/gitblit/summary/Transit.git)
- [FileSystem] (https://uhilger.de/gitblit/summary/FileSystem.git)
- [Transit](/gitblit/docs/Transit.git)
Nach Beschaffung des JDK und der oben angegebenen Klassenbibliotheken wird der Quellcode aus diesem Git-Repository an einen frei wählbaren lokalen Ablageort [heruntergeladen](http://uhilger.de/gitblit/zip/?r=file-cms.git&h=master&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `file-cms-master` einschließlich des absoluten Pfades dorthin `$FILE_CMS` genannt. Ferner wird angenommen, dass die oben aufgeführten Klassenbibliotheken lokal an Orten abgelegt sind, deren Pfade mit den Platzhaltern `$JLIB` und `$CATALINA_HOME` gemeint sind. Anstelle der Platzhalter in den folgenden Kommandos muss also der absolute Pfad des lokalen Ablageortes eingesetzt werden.
Nach Beschaffung des JDK und der oben angegebenen Klassenbibliotheken wird der Quellcode aus diesem Git-Repository an einen frei wählbaren lokalen Ablageort [heruntergeladen](http://uhilger.de/gitblit/zip/?r=file-cms.git&h=master&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `file-cms-master` einschließlich des absoluten Pfades dorthin `$FILE-CMS` genannt. Ferner wird angenommen, dass die oben aufgeführten Klassenbibliotheken lokal an Orten abgelegt sind, deren Pfade mit den Platzhaltern `$JLIB` und `$CATALINA_HOME` gemeint sind. Anstelle der Platzhalter in den folgenden Kommandos muss also der absolute Pfad des lokalen Ablageortes eingesetzt werden.
Zur Herstellung der WebBox-Verwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux):
Zur Herstellung der Dateiverwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux):
```
cd $FILE-CMS
@@ -55,8 +63,9 @@
cd ../..
cp $JLIB/* build/WEB-INF/lib
$JDK/bin/javac -classpath $JLIB/commons-fileupload-1.3.2.jar:$JLIB/commons-io-2.5.jar:$JLIB/jettison-1.3.3.jar:$JLIB/Transit.jar:$JLIB/FileSystem.jar:$JLIB/xstream-1.4.7.jar:$CATALINA_HOME/lib/servlet-api.jar -d ./build/WEB-INF/classes src/java/de/uhilger/wbx/api/*.java src/java/de/uhilger/wbx/web/*.java
$JDK/bin/javac -classpath $JLIB/commons-fileupload-1.3.2.jar:$JLIB/commons-io-2.5.jar:$JLIB/jettison-1.3.3.jar:$JLIB/Transit.jar:$JLIB/xstream-1.4.7.jar:$CATALINA_HOME/lib/servlet-api.jar -d ./build/WEB-INF/classes src/java/de/uhilger/filecms/api/*.java src/java/de/uhilger/filecms/web/*.java src/java/de/uhilger/filecms/pub/*.java
cp src/java/logging.properties build/WEB-INF/classes
$JDK/bin/jar -cf dist/file-cms.war -C build .
rm -r build
```
@@ -73,10 +82,12 @@
```
$CATALINA_BASE/webapps/jslib/bootstrap ............ mindestens in Version 4.0 alpha 6
$CATALINA_BASE/webapps/jslib/jquery ............... mindestens in Version 1.11.1
$CATALINA_BASE/webapps/jslib/jquery ............... mindestens in Version 3.2.1
$CATALINA_BASE/webapps/jslib/mustache ............. mindestens in Version 2.3.0
$CATALINA_BASE/webapps/jslib/font-awesome ......... mindestens in Version 4.4.0
$CATALINA_BASE/webapps/jslib/codemirror ........... mindestens in Version 5.24.2
$CATALINA_BASE/webapps/jslib/tinymce .............. mindestens in Version 4.3.4
$CATALINA_BASE/webapps/jslib/fancybox ............. mindestens in Version 3
```
`$CATALINA_BASE` meint das in der der Datei [RUNNING.txt](http://tomcat.apache.org/tomcat-8.5-doc/RUNNING.txt) der Tomcat-Dokumentation so bezeichnete Verzeichnis. Nachfolgend die Quellen, von denen die obigen Abhängigkeiten bezogen werden können:
@@ -85,4 +96,10 @@
- [jQuery](http://jquery.com)
- [Mustache](https://github.com/janl/mustache.js)
- [Font Awesome](http://fontawesome.io/)
- [Codemirror](https://codemirror.net)
- [Codemirror](https://codemirror.net)
- [TinyMCE](https://tinymce.com)
- [Fancybox](http://fancyapps.com/fancybox/3/)
## Lizenz
Die Dateiverwaltung wird zu den Bedingungen der [GNU Affero General Public License](/gitblit/doc/file-cms.git/master/web!agpl.txt) bereitgestellt. Die von der Dateiverwaltung verwendeten Komponenten unterliegen zum Teil anderen Lizenzen. Deren Nutzungsbedingungen sind an den Quellen der Komponenten angegeben.