| | |
| | | # 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 |
| | | |
| | |
| | | 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: |
| | | |
| | |
| | | - [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 |
| | |
| | | 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 |
| | | ``` |
| | |
| | | |
| | | ``` |
| | | $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: |
| | |
| | | - [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. |