From a4f417f66f12a8e99cddc2f012f7bacb13e59995 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Fri, 29 Jan 2021 08:44:58 +0000
Subject: [PATCH] Schriftart in Webarchiv uebernommen, Angaben zur Schriftart in Readme ergaenzt

---
 README.md |   92 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 68 insertions(+), 24 deletions(-)

diff --git a/README.md b/README.md
index 836750c..2aa3d50 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Dateiverwaltung
 
-Eine Bedienoberfläche zur Bearbeitung und Verwaltung von Dateien für die [WebBox](/dev/Software/WebBox/WebBox).  
+Eine Webanwendung zur Bearbeitung und Verwaltung von Dateien für die [WebBox](/data/ulrich/prg/webbox).  
 
 ## Funktionen
 
@@ -14,7 +14,17 @@
 - Hochladen per Drag and Drop direkt in Ordner
 - Listen- und Kachelansicht
 
-Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv). Weitere Informationen zur Dateiverwaltung finden sich auf der [Produktseite](/dev/Software/filecms/Dateiverwaltung).
+Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv).
+
+### Konfiguration
+
+Die Dateiverwaltung bezieht den Ablageort von Dateien über die Systemvariable `wbx.data`. Diese Angabe muss beim Start des Java-Prozesses als Parameter gesetzt sein wie in `java -Dwbx.data=/pfad/zu/den/daten [weitere Parameter]`. Bei Verwendung von Tomcat kann diese Angabe auch in der Environment-Variable `JAVA_OPTS` hinterlegt werden.
+
+#### Automatische Ermittlung des Ablageortes
+
+Ist die Angabe `wbx.data` nicht zu finden oder leer, wird der Ablageort ausgehend von `$CATALINA_BASE/webapps` ermittelt. Dieser Vorgang kann in der Datei `WEB-INF/web.xml` mit den Parametern `tiefe` und `datenOrdner` beeinflusst werden.
+
+Der Vorgang zur Ermittlung des Ablageortes für Daten geht ausgehend von `$CATALINA_BASE/webapps` die Anzahl Ordner `tiefe` nach oben und verwendet von diesem Ordner aus den Pfad in `datenOrdner`. 
 
 ## Webanwendung herstellen
 
@@ -30,6 +40,8 @@
 Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME
 XStream ............. xstream-1.4.7.jar ............. $JLIB
 Jettison ............ jettison-1.3.3.jar ............ $JLIB
+Thumbnailator ....... thumbnailator.jar ............. $CATALINA_BASE
+wbx-lib ............. wbx-lib.jar ................... $CATALINA_BASE
 Transit ............. Transit.jar ................... $JLIB
 ```
 Diese sind an folgenden Orten frei erhältlich:
@@ -38,9 +50,39 @@
 - [Apache Tomcat](http://tomcat.apache.org)
 - [XStream](https://github.com/codehaus/xstream)
 - [Jettison](https://github.com/codehaus/jettison)
+- [Thumbnailator](https://github.com/coobird/thumbnailator)
 - [Transit](/gitblit/docs/Transit.git)
+- [wbx-lib](/gitblit/docs/wbx-lib.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.
+Ferner erfordert die Dateiverwaltung die folgenden Javascript-Bibliotheken und Schriftarten:
+
+```
+$JSLIB/jquery ............... mindestens in Version 3.2.1
+$JSLIB/mustache ............. mindestens in Version 2.3.0
+$JSLIB/codemirror ........... mindestens in Version 5.24.2
+$JSLIB/tinymce .............. mindestens in Version 4.3.4
+$JSLIB/fancybox ............. mindestens in Version 3
+$JSLIB/lightbox ............. mindestens in Version 2.7.1
+$JSLIB/highlight-adoc ....... mindestens in Version 9.18.1
+$JSLIB/moment ............... mindestens in Version 2.8.1
+$JSLIB/numeral .............. mindestens in Version 2.0.6
+$FONTS/Roboto_Condensed ..... Version beliebig
+```
+
+Nachfolgend die Quellen, von denen die obigen Abhängigkeiten bezogen werden können:
+
+- [jQuery](http://jquery.com)
+- [Mustache](https://github.com/janl/mustache.js)
+- [Codemirror](https://codemirror.net)
+- [TinyMCE](https://tinymce.com)
+- [Fancybox](http://fancyapps.com/fancybox/3/)
+- [Lightbox](https://lokeshdhakar.com/projects/lightbox2/)
+- [highlight.js](https://highlightjs.org/download/)
+- [Moment](http://momentjs.com/)
+- [Numeral](http://numeraljs.com/)
+- [RobotoCondensed](https://fonts.google.com/specimen/Roboto+Condensed)
+
+Nach Beschaffung des JDK und der oben angegebenen Bibliotheken 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 Bliotheken und Schriftarten lokal an Orten abgelegt sind, deren Pfade mit den Platzhaltern `$JLIB`, `$FONTS` und `$JSLIB` 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):
 
@@ -52,10 +94,15 @@
 cd build/WEB-INF
 mkdir classes
 mkdir lib
-cd ../..
+cd ..
+mkdir jslib
+mkdir fonts
+cd ..
 cp $JLIB/* build/WEB-INF/lib
+cp -r $JSLIB/* build/jslib
+cp -r $FONTS/* build/fonts
 
-$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
+$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:$CATALINA_BASE/lib/thumbnailator.jar:$CATALINA_BASE/lib/wbx-lib.jar.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 .
@@ -64,34 +111,31 @@
 
 Das Webarchiv der Dateiverwaltung liegt anschließend als `$FILE-CMS/dist/file-cms.war` fertig zum Deployment bereit.
 
+Die im obigen Build-Skript bereits mit `$CATALINA_BASE` gekennzeichneten Klassenbibliotheken werden nicht als Teil des Webarchivs der Dateiverwaltung gebaut und im Verzeichnis `$CATALINA_BASE/lib` der WebBox erwartet.
+
 ### Distributionsalternative
 
 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.
 
-## Abhängigkeiten
+## Ausfuehren
 
-Die Dateiverwaltung erfordert die folgenden Bestandteile auf der Instanz von Tomcat, auf der sie ausgeführt werden soll:
+Zum Ausfuehren wird die Datei `file-cms.war` in den Ordner `$CATALINA_BASE/webapps` von Tomcat gelegt. Der Aufruf erfolgt anschliessend mit dem URL `https://example.com/file-cms/ui2`. Nutzer muessen die Rolle `ownFileAdmin` besitzen um die Webanwendung verwenden zu koennen. 
+
+Die Ausfuehrung gelingt in der hier beschriebenen Konfiguration auch ohne die WebBox auf einem Tomcat, wie er ab Werk ausgestattet ist. Die folgenden Einstellungen muessen in diesem Fall von Hand an Tomcat vorgenommen werden:
+
+- SingleSignOn Valve in `$CATALINA_BASE/conf/server.xml` einschalten
+- Parameter fuer den Ablageort uebergeben (Angabe fuer `wbx.data` wie weiter oben erwaehnt)
+- `data.xml` und `home.xml` in `$CATALINA_BASE/conf/Catalina/localhost` anlegen wie in folgendem Beispiel
 
 ```
-$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
+<?xml version="1.0" encoding="UTF-8"?>
+<Context path="/data" docBase="${wbx.data}/www/">
+</Context>
 ```
 
-`$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:
-
-- [Bootstrap](http://getbootstrap.com)
-- [jQuery](http://jquery.com)
-- [Mustache](https://github.com/janl/mustache.js)
-- [Font Awesome](http://fontawesome.io/)
-- [Codemirror](https://codemirror.net)
-- [TinyMCE](https://tinymce.com)
-- [Fancybox](http://fancyapps.com/fancybox/3/)
+Das `file-cms` legt beim ersten Start die Verzeichnisse www und home in dem Verzeichnis an, das mit `wbx.data` angegeben wurde (siehe weiter oben). Wenn beispielsweise der Ablageort `/media/rdata/cms` als `wbx.data` angegeben wurde ist der Eintrag fuer `docBase` in `data.xml` `/media/rdata/cms/www` und in `home.xml` `/media/rdata/cms/home`.
 
 ## 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.
\ No newline at end of file
+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.
+

--
Gitblit v1.9.3