From 54bbae3b0cdf11bb776ba7360fba2f690d6cfd50 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Tue, 31 Jan 2017 08:27:16 +0000
Subject: [PATCH] Datenbankzugriff in der Herstellungsbeschreibung ergänzt

---
 readme.md |   84 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 1 deletions(-)

diff --git a/readme.md b/readme.md
index 8264a64..dd5333d 100644
--- a/readme.md
+++ b/readme.md
@@ -2,4 +2,86 @@
 
 Eine Webanwendung zur Verwaltung von Benutzern eines Tomcat Web- und Applikationsservers in einer Derby-Datenbank.
 
-Weitere Beschreibungen folgen später hier.
+## Webanwendung herstellen
+
+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. Desweiteren werden die folgenden Klassenbibliotheken benötigt
+
+```
+Bibliothek            Datei(en)                       Ablageort lokal
+----------            ---------                       ---------------
+Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME
+XStream ............. xstream-1.4.7.jar ............. $JLIB
+Jettison ............ jettison-1.3.3.jar ............ $JLIB
+BaseLink ............ BaseLink.jar .................. $JLIB
+Transit ............. Transit.jar ................... $JLIB
+```
+Diese sind an folgenden Orten frei erhältlich:
+
+- [Apache Tomcat](http://tomcat.apache.org)
+- [XStream](https://github.com/codehaus/xstream)
+- [Jettison](https://github.com/codehaus/jettison)
+- [BaseLink](https://uhilger.de/gitblit/summary/BaseLink.git)
+- [Transit](https://uhilger.de/gitblit/summary/Transit.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=um.git&h=master&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `um` einschließlich des absoluten Pfades dorthin `$UM` 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 Nutzerverwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux):
+
+```
+cd $UM
+mkdir dist build
+cp -r web/* build
+cd build/WEB-INF
+mkdir classes lib
+cd ../..
+cp $JLIB/* build/WEB-INF/lib
+
+$JDK/bin/javac -classpath $JLIB/jettison-1.3.3.jar:$JLIB/BaseLink.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/um/*.java src/java/de/uhilger/um/api/*.java src/java/de/uhilger/um/web/*.java src/java/de/uhilger/um/daten/*.java
+
+$JDK/bin/jar -cf dist/um.war -C build .
+rm -r build
+```
+
+Das Webarchiv der Nutzerverwaltung liegt anschließend als `$UM/dist/um.war` fertig zum Deployment bereit.
+
+### Distributionsalternative
+
+Das Kommando `cp $JLIB/* build/WEB-INF/lib` kann auch weggelassen werden, dann sind die Klassenbibliotheken nicht Teil des Webarchivs der Nutzerverwaltung. In diesem Fall muss stattdessen der Inhalt von `$JLIB` nach `$CATALINA_BASE/lib` kopiert werden.
+
+## Abhängigkeiten
+
+Die Nutzerverwaltung 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 1.11.1
+$CATALINA_BASE/webapps/jslib/mustache ............. mindestens in Version 2.3.0
+```
+
+`$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)
+
+### Datenbank
+
+Zur Verwaltung von Benutzern in einer Datenbank muss ein [Derby-Datenbankserver](http://db.apache.org/derby) im Zugriff der Nutzerverwaltung sein. Im Auslieferungszustand der Nutzerverwaltung ist dies in der Datei `$UM/web/META-INF/context.xml` als Uniform Resource Locator (URL) `jdbc:derby://127.0.0.1:1528` konfiguriert. Damit wird auf einen Derby-Server auf Port 1528 der lokalen Maschine verwiesen. Dieser Eintrag muss geändert werden, wenn sich der Datenbankserver an einem anderen Ort befindet.
+
+Für den Zugriff auf den Datenbankserver muss sich der Datenbanktreiber `derbyclient.jar` aus der Distribution von Derby im Verzeichnis `$CATALINA_BASE/lib` befinden.
+
+## Funktionen
+
+Die Nutzerverwaltung stellt die folgenden Funktionen bereit
+
+- Anlegen neuer Benutzer
+- Löschen von Benutzern
+- Anlegen neuer Rollen
+- Löschen von Rollen
+- Rollen erteilen
+- Rollen entziehen
+
+Die Bedienoberfläche passt sich an verschiedene Geräteausstattungen an (responsiv) und fügt sich neben den o.a. Funktionen in den Rahmen für Verwaltungsfunktionen einer WebBox ein.
+
+Weitere Informationen zur Nutzerverwaltung finden sich auf der [Produktseite] (http://uhilger.de/dev/Software/Nutzerverwaltung/Nutzerverwaltung) 
+...dort noch nicht auf dem neuesten Stand...

--
Gitblit v1.9.3