Dateiverwaltung für die WebBox
ulrich
2021-01-17 85ba855c53c1c69cf913414290bc48cdd332dc0c
README.md
@@ -1,6 +1,6 @@
# Dateiverwaltung
Eine Bedienoberfläche zur Bearbeitung und Verwaltung von Dateien für die [WebBox](/data/ulrich/prg/webbox).
Eine Webanwendung zur Bearbeitung und Verwaltung von Dateien für die [WebBox](/data/ulrich/prg/webbox).
## Funktionen
@@ -14,26 +14,16 @@
- 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](/data/ulrich/prg/file-cms).
Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv).
### Konfiguration
Die Dateiverwaltung erhält den Ablageort von Dateien über den JNDI-Eintrag
````
<Environment
  name="wbxFileBase"
  type="java.lang.String"
  value="/pfad/zu/den/daten"
  override="false"
/>
````
Wenn die Angabe `wbxFileBase` wie oben als JNDI-Parameter angegeben wird, kann sie beispielsweise in der Datei `$CATALINA_BASE/context.xml` hinterlegt werden.
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]`.
#### Automatische Ermittlung des Ablageortes
Ist die Angabe `wbxFileBase` nicht zu finden oder 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`.
Ist die Angabe `wbxFileBase` nicht zu finden oder leer, wird der Ablageort `../../../daten` ausgehend von `$CATALINA_BASE/webapps` verwendet.
## Webanwendung herstellen
@@ -123,8 +113,35 @@
## Ausfuehren
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/ui`. Nutzer muessen die Rolle `ownFileAdmin` besitzen um die Webanwendung verwenden zu koennen.
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/ui`. 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
- Environment-Variable fuer den Ablageort in `$CATALINA_BASE/conf/context.xml` anlegen (Angabe fuer `wbxFileBase` wie weiter oben erwaehnt)
- `data.xml` und `home.xml` in `$CATALINA_BASE/conf/Catalina/localhost` anlegen wie in folgendem Beispiel
```
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/data" docBase="/pfad/zum/ablageort">
</Context>
```
Das `file-cms` legt beim ersten Start die Verzeichnisse www und home in dem Verzeichnis an, das mit `wbxFileBase` angegeben wurde (siehe weiter oben). Wenn beispielsweise der Ablageort `/media/rdata/cms` als `wbxFileBase` 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.
## ui2 Prototyp
Unter `file-cms/ui2` entsteht eine neue Bedienoberfläche basierend auf `app-vorlage` und `app-menu`
### Änderungen gegenüber der Bedienoberfläche des file-cms
- kein Bootstrap mehr
- kein jQuery mehr (allerdings benötigt Fancybox jQuery -> evtl. in separate .html-Datei auslagern)
- kein FontAwesome mehr, die wenigen benötigtgten Piktogramme sind mit Hilfe von Fontello aus FontAwesome entnommen und in das file-cms-Projekt kopiert (nur wenige KB)
- alle veraenderlichen HTML-Teile in Mustache Vorlagen ueberfuehrt
- lazy load fuer Mustache Vorlagen