Dateiverwaltung für die WebBox
ulrich
2017-02-25 1197b57302f1325ffb8b1878a4467cb13d710d74
commit | author | age
798463 1 # Dateiverwaltung
U 2
3 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.
4
5 ## Funktionen
6
7 Die Dateiverwaltung stellt die folgenden Funktionen bereit
8
9 - hier
10 - Funktionen
11 - auflisten
12
13 Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv).
14
15 Weitere Informationen zur Dateiverwaltung finden sich auf der Produktseite (Link noch angeben...).
16
17 ## Webanwendung herstellen
18
19 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.
20
21 Desweiteren werden die folgenden Klassenbibliotheken benötigt
22
23 ```
24 Bibliothek            Datei(en)                       Ablageort lokal
25 ----------            ---------                       ---------------
26 Commons Fileupload .. commons-fileupload-1.3.2.jar .. $JLIB
27 Commons IO .......... commons-io-2.5.jar ............ $JLIB
28 Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME
29 XStream ............. xstream-1.4.7.jar ............. $JLIB
30 Jettison ............ jettison-1.3.3.jar ............ $JLIB
31 Transit ............. Transit.jar ................... $JLIB
32 FileSystem .......... FileSystem.jar ................ $JLIB
33 ```
34 Diese sind an folgenden Orten frei erhältlich:
35
36 - [Apache Commons](http://commons.apache.org)
37 - [Apache Tomcat](http://tomcat.apache.org)
38 - [XStream](https://github.com/codehaus/xstream)
39 - [Jettison](https://github.com/codehaus/jettison)
40 - [Transit](https://uhilger.de/gitblit/summary/Transit.git)
41 - [FileSystem] (https://uhilger.de/gitblit/summary/FileSystem.git)
42
1197b5 43 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.
798463 44
U 45 Zur Herstellung der WebBox-Verwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux):
46
47 ```
48 cd $FILE-CMS
49 mkdir dist
50 mkdir build
51 cp -r web/* build
52 cd build/WEB-INF
53 mkdir classes
54 mkdir lib
55 cd ../..
56 cp $JLIB/* build/WEB-INF/lib
57
1197b5 58 $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/filecms/api/*.java src/java/de/uhilger/filecms/web/*.java src/java/de/uhilger/filecms/pub/*.java
798463 59
1197b5 60 cp src/de/uhilger/filecms/logging.properties build/WEB-INF/classes/de/uhilger/filecms
798463 61 $JDK/bin/jar -cf dist/file-cms.war -C build .
U 62 rm -r build
63 ```
64
65 Das Webarchiv der Dateiverwaltung liegt anschließend als `$FILE-CMS/dist/file-cms.war` fertig zum Deployment bereit.
66
67 ### Distributionsalternative
68
69 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.
70
71 ## Abhängigkeiten
72
73 Die Dateiverwaltung erfordert die folgenden Bestandteile auf der Instanz von Tomcat, auf der sie ausgeführt werden soll:
74
75 ```
76 $CATALINA_BASE/webapps/jslib/bootstrap ............ mindestens in Version 4.0 alpha 6
77 $CATALINA_BASE/webapps/jslib/jquery ............... mindestens in Version 1.11.1
78 $CATALINA_BASE/webapps/jslib/mustache ............. mindestens in Version 2.3.0
79 $CATALINA_BASE/webapps/jslib/font-awesome ......... mindestens in Version 4.4.0
80 $CATALINA_BASE/webapps/jslib/codemirror ........... mindestens in Version 5.24.2
81 ```
82
83 `$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:
84
85 - [Bootstrap](http://getbootstrap.com)
86 - [jQuery](http://jquery.com)
87 - [Mustache](https://github.com/janl/mustache.js)
88 - [Font Awesome](http://fontawesome.io/)
89 - [Codemirror](https://codemirror.net)