Dateiverwaltung für die WebBox
Ulrich
2017-02-27 fc8db104e8c70f6a431827b17210a29934a232bf
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
1ac489 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/) frei erhältlich ist. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt.
798463 20
U 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)
2d4415 40 - [Transit](/gitblit/docs/Transit.git)
U 41 - [FileSystem] (/gitblit/docs/FileSystem.git)
798463 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
1ac489 45 Zur Herstellung der Dateiverwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux):
798463 46
U 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
30a32f 60 cp src/java/logging.properties build/WEB-INF/classes
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/)
85053f 89 - [Codemirror](https://codemirror.net)
U 90
91 ## Lizenz
92
db9792 93 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.