Eine Bedienoberfläche zur Bearbeitung und Verwaltung von Dateien für die WebBox.
Die Dateiverwaltung besitzt die folgenden Funktionen
Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv). Weitere Informationen zur Dateiverwaltung finden sich auf der Produktseite.
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.
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
.
Zum Herstellen der Webanwendung wird ein Java Development Kit (JDK) benötigt, wie es z.B. von Azul oder dem OpenJDK-Projekt 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
Bibliothek Datei(en) Ablageort lokal
---------- --------- ---------------
Commons Fileupload .. commons-fileupload-1.3.2.jar .. $JLIB
Commons IO .......... commons-io-2.5.jar ............ $JLIB
Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME
XStream ............. xstream-1.4.7.jar ............. $JLIB
Jettison ............ jettison-1.3.3.jar ............ $JLIB
Transit ............. Transit.jar ................... $JLIB
Diese sind an folgenden Orten frei erhältlich:
Nach Beschaffung des JDK und der oben angegebenen Klassenbibliotheken wird der Quellcode aus diesem Git-Repository an einen frei wählbaren lokalen Ablageort heruntergeladen 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 Dateiverwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux):
cd $FILE-CMS
mkdir dist
mkdir build
cp -r web/* build
cd build/WEB-INF
mkdir classes
mkdir lib
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/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
Das Webarchiv der Dateiverwaltung liegt anschließend als $FILE-CMS/dist/file-cms.war
fertig zum Deployment bereit.
Das Kommando cp $JLIB/* build/WEB-INF/lib
kann auch weggelassen werden, dann sind die Klassenbibliotheken nicht Teil des Webarchivs der Dateiverwaltung. In diesem Fall muss stattdessen der Inhalt von $JLIB
nach $CATALINA_BASE/lib
kopiert werden.
Die Dateiverwaltung erfordert die folgenden Bestandteile auf der Instanz von Tomcat, auf der sie ausgeführt werden soll:
$CATALINA_BASE/webapps/jslib/bootstrap ............ mindestens in Version 4.0 alpha 6
$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 der Tomcat-Dokumentation so bezeichnete Verzeichnis. Nachfolgend die Quellen, von denen die obigen Abhängigkeiten bezogen werden können:
Die Dateiverwaltung wird zu den Bedingungen der GNU Affero General Public License bereitgestellt. Die von der Dateiverwaltung verwendeten Komponenten unterliegen zum Teil anderen Lizenzen. Deren Nutzungsbedingungen sind an den Quellen der Komponenten angegeben.