Dateiverwaltung für die WebBox
ulrich
2018-02-17 fe50f98aae09eaf8c360857f9fc8a024409469d9
Auf Nutzung mit Docker umgestellt
1 files modified
18 files added
290 ■■■■■ changed files
web/META-INF/daten/www/dok/wbx/App.htmi 25 ●●●●● patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bedienung.htmi 172 ●●●●● patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Betrieb-Docker.htmi 27 ●●●●● patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Betrieb.htmi 34 ●●●●● patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/apps.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/benutzerverwaltung.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/dateiverwaltung.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/db_neu.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/dbcon.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/dokeditor.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/nutzer-neu.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/rollen.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/speichern-unter.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/startseite.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/texteditor.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Bilder/verwaltung.png patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/Installation.htmi 25 ●●●●● patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/js-info.htmi 5 ●●●●● patch | view | raw | blame | history
web/WEB-INF/web.xml 2 ●●● patch | view | raw | blame | history
web/META-INF/daten/www/dok/wbx/App.htmi
New file
@@ -0,0 +1,25 @@
<h1>Apps</h1>
<p>Dieses Dokument beschreibt Programme, die von der <a href="http://uhilger.de/dev/Software/WebBox/WebBox">WebBox</a> ausgef&uuml;hrt werden k&ouml;nnen, die Apps. Das ist interessant, wenn man selbst Apps erstellen m&ouml;chte. Anwender, die fertige Apps auf einer WebBox nutzen m&ouml;chten, m&uuml;ssen hier nicht weiterlesen.</p>
<p>Apps m&uuml;ssen gem&auml;&szlig; der <a href="http://www.oracle.com/technetwork/java/javaee/tech/index.html">Java Servlet Spezifikation</a> aufgebaut sein, damit sie von der WebBox ausgef&uuml;hrt werden k&ouml;nnen. In diesem Dokument wird nicht der gesamte Standard der Java Servlet Spezifikation beschrieben. Es werden hier nur Teile erw&auml;hnt, die als Minimalansatz f&uuml;r eine App dienen k&ouml;nnen.</p>
<p style="padding-left: 30px;"><a href="#run">Laufzeitumgebung und -voraussetzungen</a><br /><a href="#strukt">Aufbau einer App</a></p>
<p style="padding-left: 60px;"><a href="#app-folder">App-Ordner</a><br /><a href="#web-inf-folder">Der Ordner WEB-INF</a><br /><a href="#webxml">Deployment Descriptor</a></p>
<h2><a name="run"></a>Laufzeitumgebung und -voraussetzungen</h2>
<p>Apps laufen auf der Maschine, auf der die WebBox gestartet wurde. Sie werden von der WebBox als Teil des Prozesses ausgef&uuml;hrt, in dem die WebBox l&auml;uft.</p>
<p>Prizipiell kann jede App, die die Java Servlet Spezifikation implementiert, auf der WebBox laufen. Einzelheiten zu besonderen Laufzeitvoraussetzungen m&uuml;ssen der Dokumentation der betreffenden App entnommen werden.</p>
<p>Die nachfolgenden Abschnitte beschreiben Aspekte einer App, die mindestens gegeben sein m&uuml;ssen. Diese werden in aller Regel von Apps erf&uuml;llt, die der Java Servlet Spezifikation entsprechen. Die Angaben an dieser Stelle richten sich an Nutzer, die selbst Apps f&uuml;r die WebBox herstellen m&ouml;chten.</p>
<h2><a name="strukt"></a>Aufbau einer App</h2>
<p>Eine App ist eine Sammlung aus Dateien in einem Ordner des Dateisystems, dem App-Ordner. Apps m&uuml;ssen wie folgt aufgebaut sein:</p>
<p style="padding-left: 30px;"><code>/App-Ordner</code><br /><code>&nbsp; /WEB-INF</code><br /><code>&nbsp;&nbsp;&nbsp; web.xml</code><br /><code>&nbsp;&nbsp;&nbsp; /classes</code><br /><code>&nbsp;&nbsp;&nbsp; /lib</code></p>
<p>Der Hersteller einer App kann frei entscheiden, wie Struktur und Inhalt innerhalb dieses Rahmens beschaffen ist. NAchfolgend sind relevante Teile der obigen Struktur beschrieben.</p>
<h3><a name="app-folder"></a>App-Ordner</h3>
<p>Der App-Ordner enth&auml;lt alle Bestandteile der App, z.B. Webseiten, Konfigurationsdateien, als Programm ausf&uuml;hrbare Teile. Was sich nicht im Ordner <code>WEB-INF</code> befindet liefert die WebBox zur Laufzeit der App als Inhalt aus. Liegt im App-Verzeichnis z.B. eine HTML-Datei, wird diese als Webseite ausgeliefert. Ebenso werden Bilddateien ausgegeben.</p>
<p>Die so im App-Ordner vorgefundenen Inhalte erhalten von der WebBox jeweils ihren eigenen Uniform Resource Locator (URL) unter dem sie zug&auml;nglich sind. Den URL bildet die WebBox aus dem Ablageort des Inhalts innerhalb des App-Ordners und seinem Dateinamen. Dabei wird der Name des App-Ordners ebenfalls Teil des URL. Befindet sich beispielsweise eine Datei namens <code>Infos.html</code> im Ordner <code>/App-Ordner/meine</code> wird der Inhalt &uuml;ber die WebBox &uuml;ber folgenden URL zug&auml;nglich</p>
<p style="padding-left: 30px;"><code>http://localhost:8098/App-Ordner/meine/Infos.html</code></p>
<p>Aus diesem Schema ergibt sich, dass der Name eines App-Ordners nur einmal verwendet werden kann. Er dient der WebBox als eindeutige Zuordnung.</p>
<h3><a name="web-inf-folder"></a>Der Ordner WEB-INF</h3>
<p>Im Ordner <code>/App-Ordner/WEB-INF</code> werden Java-Klassen, Java-Klassenbibliotheken und Konfigurationsdateien abgelegt. Diese werden von der WebBox dynamisch geladen und ausgef&uuml;hrt wie vom Hersteller der App programmiert.</p>
<h3><a name="webxml"></a>Deployment Descriptor</h3>
<p>Als Deployment Descriptor wird die Datei <code>web.xml</code> bezeichnet. Der Deployment Descriptor beschreibt die App in einer standardisierten Weise und muss im Ordner <code>/App-Ordner/WEB-INF</code> abgelegt sein. Die WebBox zieht den Inhalt des Deployment Descriptors heran, um die ausf&uuml;hrbaren Teile einer App zu erkennen und so auszuf&uuml;hren, wie es konfiguriert wurde. Die Beschreibung des Aufbaus eines Deployment Descriptors findet sich in der <a href="http://www.oracle.com/technetwork/java/javaee/tech/index.html">Java Servlet Spezifikation</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
web/META-INF/daten/www/dok/wbx/Bedienung.htmi
New file
@@ -0,0 +1,172 @@
<h1>Bedienung</h1>
<p>Hier ist die Bedienung der <a href="http://uhilger.de/dev/Software/WebBox/WebBox">WebBox</a> beschrieben.</p>
<p style="padding-left: 30px;"><a href="#aufruf">WebBox aufrufen</a><br /><a href="#perspub">Pers&ouml;nliche und &ouml;ffentliche Inhalte</a><br /><a href="#edittext">Dateien erstellen und &auml;ndern</a><br /><a href="#dokedit">Textdokumente erstellen und bearbeiten</a><br /><a href="#bearb">Ordner anlegen, Inhalte verschieben, kopieren, l&ouml;schen</a><br /><a href="#view">Inhalte ansehen</a><br /><a href="#upload">Inhalte zur WebBox &uuml;bertragen</a><br /><a href="#bilder">Bilder verwenden</a><br /><a href="#mng-user">Benutzer verwalten</a><br /><a href="#mng-apps">Apps verwalten</a><br /><a href="#mng-db">Datenbanken verwalten</a></p>
<p>&nbsp;</p>
<h2><a name="aufruf"></a>WebBox aufrufen</h2>
<p>Nach <a href="Installation.htmi">Installation</a> und Start ist die WebBox mit einem Browser bedienbar. Wird der Uniform Resource Locator (URL)</p>
<p style="padding-left: 30px;"><code>http://localhost:8098</code> (unverschl&uuml;sselt) oder</p>
<p style="padding-left: 30px;"><code>https://localhost:8442</code> (verschl&uuml;sselt)&nbsp;</p>
<p>im Browser aufgerufen, erscheint unter diesen Adressen jeweils die Hauptseite der WebBox.</p>
<p style="padding-left: 30px;"><a href="Bilder/startseite.png" data-lightbox="startseite"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/startseite_tn.png" alt="foto" width="120" height="80" /></a></p>
<p style="padding-left: 30px;"><em>Die Hauptseite der WebBox</em> <br /><span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<h2><a name="perspub"></a>Pers&ouml;nliche und &ouml;ffentliche Inhalte</h2>
<p>Die WebBox unterscheidet f&uuml;r jeden Benutzer einen &ouml;ffentlichen und einen nicht &ouml;ffentlichen Bereich. Im &ouml;ffentlichen Bereich befindliche Inhalte sind ohne Einschr&auml;nkung sichtbar. Inhalte im pers&ouml;nlichen Bereich sind nur f&uuml;r den angemeldeten Benutzer sichtbar. Jeder angemeldete Benutzer sieht dabei im pers&ouml;nlichen Bereich nur seine eigenen Inhalte. Beide Bereiche sind mit einem eigenen Uniform Resource Locator (URL) zug&auml;nglich:</p>
<p style="padding-left: 30px;"><code>https://localhost:8442/home/[benutzername]/</code> (pers&ouml;nliche Inhalte)</p>
<p style="padding-left: 30px;"><code>https://localhost:8442/data/[benutzername]/</code> (&ouml;ffentliche Inhalte)</p>
<p>Die URLs f&uuml;r pers&ouml;nliche und &ouml;ffentliche Inhalte wie sie oben beschrieben sind geben dabei Inhalte aus den Ordnern <code>Persoenlich</code> und <code>Oeffentlich</code> wieder. Deren Inhalt wird erstellt und verwaltet wie in den folgenden Kapiteln beschrieben.</p>
<h2><a name="edittext"></a>Dateien erstellen und &auml;ndern</h2>
<p>Die WebBox ist mit einer Dateiverwaltung ausgestattet, mit der <a href="https://de.wikipedia.org/wiki/Datei">Dateien</a> erstellt und deren Inhalte bearbeitet werden k&ouml;nnen. Die Dateiverwaltung der WebBox wird mit der Schaltfl&auml;che <code>Dateien</code> auf der Hauptseite aufgerufen.&nbsp;</p>
<p style="padding-left: 30px;"><a href="Bilder/verwaltung.png" data-lightbox="verwaltung"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/verwaltung_tn.png" alt="foto" width="120" height="50" /></a></p>
<p style="padding-left: 30px;"><em>Die Schaltfl&auml;che 'Dateien'</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Mit Bet&auml;tigen der Schaltfl&auml;che <code>Dateien</code> erscheint zun&auml;chst die Anmeldeseite und mit erfolgreicher <a href="#mng-user">Anmeldung</a> die Dateiverwaltung</p>
<p style="padding-left: 30px;"><a href="Bilder/dateiverwaltung.png" data-lightbox="dateiverwaltung"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/dateiverwaltung_tn.png" alt="foto" width="120" height="70" /> </a></p>
<p style="padding-left: 30px;"><em>Die Dateiverwaltung der WebBox</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Mit Klick auf den Ordner <code>Persoenlich</code> wird dessen Inhalt angezeigt, anfangs ist dieser leer. Auswahl des Punkts <code>Neuer Text...</code> im Men&uuml; <code>Datei</code> &ouml;ffnet den Texteditor.</p>
<p style="padding-left: 30px;"><a href="Bilder/texteditor.png" data-lightbox="texteditor"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/texteditor_tn.png" alt="foto" width="120" height="80" /> </a></p>
<p style="padding-left: 30px;"><em>Der Texteditor der WebBox</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Hier kann nun beliebiger Textinhalt eingetragen werden. Auswahl des Punkts <code>Speichern</code> oder&nbsp;<code>Speichern unter..</code> im Men&uuml; <code>Datei</code> fragt einen Namen f&uuml;r die neue Datei ab.</p>
<p style="padding-left: 30px;"><a href="Bilder/speichern-unter.png" data-lightbox="speichern-unter"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/speichern-unter_tn.png" alt="foto" width="120" height="60" /> </a></p>
<p style="padding-left: 30px;"><em>Dialog Datei speichern</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Mit Bet&auml;tigen der Schaltfl&auml;che <code>Speichern</code> wird die neue Textdatei unter dem eingetragenen Namen in dem Ordner gespeichert, von dem aus der Texteditor gestartet wurde, in diesem Fall also im Ordner <code>Persoenlich</code>. Die Auswahl <code>Schlie&szlig;en</code> aus dem Men&uuml; <code>Datei</code> schlie&szlig;t den Texteditor und es wird wieder der Inhalt des Ordners <code>Persoenlich</code> angezeigt. Dort ist jetzt die neu angelegte Datei dargestellt.</p>
<p>Zum Bearbeiten einer Textdatei w&auml;hlt man <code>Als Text &ouml;ffnen</code> aus dem Men&uuml; <code>Datei</code>.</p>
<h2><a name="dokedit"></a>Textdokumente erstellen und bearbeiten</h2>
<p>Mit der Dateiverwaltung lassen sich auch Textdokumente schreiben und bearbeiten. Die Vorgehensweise ist genauso wie im vorigen Abschnitt f&uuml;r Textdateien beschrieben. F&uuml;r Textdokumente wird <code>Neues Dokument</code> aus dem Men&uuml; <code>Datei </code>gew&auml;hlt woraufhin sich der Dokumenteditor der Dateiverwaltung &ouml;ffnet.</p>
<p style="padding-left: 30px;"><a href="Bilder/dokeditor.png" data-lightbox="dokeditor"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/dokeditor_tn.png" alt="foto" width="120" height="90" /> </a></p>
<p style="padding-left: 30px;"><em>Der Dokumenteditor der WebBox</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Hier kann ein Textdokument mit Formatierungen direkt im Browser erstellt und bearbeitet werden, wie man es von &uuml;blichen Textverarbeitungen gewohnt ist. Das Speichern oder bearbeiten erfolgt wie im vorigen Abschnitt beschrieben. Textdokumente werden dabei als reines HTML gespeichert, der Autor ben&ouml;tigt keine HTML-Kenntnisse f&uuml;r das Schreiben oder Bearbeiten. Die Dokumente sind so bestens f&uuml;r die Verwendung im Netz geeignet.</p>
<h2><a name="bearb"></a>Ordner anlegen, Inhalte verschieben, kopieren, l&ouml;schen</h2>
<p>Mit den Punkt <code>Neuer Ordner</code> im Men&uuml; <code>Datei</code> kann im gerade angezeigten Ordner ein neuer Ordner erstellt werden. Nach Eingabe eines Namens f&uuml;r den neuen Ordner wird der neue Ordner im aktuell ge&ouml;ffneten Ordner angelegt. Ordner und deren Inhalte k&ouml;nnen mit den Optionen im Men&uuml; <code>Bearbeiten</code> verschoben, kopiert oder gel&ouml;scht werden. Hierzu werden folgende Schritte ausgef&uuml;hrt</p>
<ol>
<li>Inhalt ausw&auml;hlen, der bearbeitet werden soll,</li>
<li>Men&uuml; <code>Bearbeiten</code> -&gt; <code>Kopieren</code> oder <code>Ausschneiden</code> w&auml;hlen,<code></code></li>
<li>Ordner &ouml;ffnen, in den die ausgew&auml;hlten Inhalte verschoben oder kopiert werden sollen und</li>
<li><code>Men&uuml; <code>Bearbeiten</code> -&gt; Einf&uuml;gen</code> w&auml;hlen.</li>
</ol>
<p>Die gew&auml;hlten Inhalte werden kopiert bzw. verschoben und befinden sich anschlie&szlig;end am gew&auml;hlten Ort.</p>
<h2><a name="view"></a>Inhalte ansehen</h2>
<p>&Uuml;ber den Punkt <code>Ansehen</code> im Men&uuml; <code>Datei</code> wird der Inhalt der gew&auml;hlten Datei im Browser angezeigt. Auf diese Weise l&auml;sst sich auch der URL bestimmen, unter dem die Datei im Browser aufgerufen werden kann. Freilich werden so nur Inhalte dargestellt, die im Browser angesehen werden k&ouml;nnen. Dateien mit nicht darstellbaren Formaten werden heruntergeladen.</p>
<h3>Textdokumente und HTML-Seiten</h3>
<p>Ein Textdokument wie es mit der WebBox erstellt werden kann ist einer HTML-Seite &auml;hnlich, insbesondere, da sein Inhalt als HTML gespeichert wird. Es beinhaltet den Teil einer HTML-Seite, der in einer HTML-Seite im Element <code>body</code> untergebracht ist. Zu vollwertigen HTML-Seiten fehlt den Textdokumenten der WebBox allerdings die Gesamtstruktur mit dem Kopf-Teil, dem HTML-Element <code>head</code>.</p>
<p>Werden mit der WebBox erstellte Textdokumente mit der zuvor beschriebenen Funktion <code>Inhalte ansehen</code> dargestellt, also &uuml;ber ihren URL aufgerufen, gibt die WebBox deren HTML-Inhalt aus, was im Webbrowser wie eine HTML-Seite aussieht. Der Webbrowser verwendet zur Anzeige Standardeinstellungen f&uuml;r die Gestaltung des Dokuments, deshalb kann die Darstellung von Browser zu Browser unterschiedlich ausfallen.</p>
<p>Gibt man beim Speichern des Textdokuments einen Namen an der mit <code>.htm i</code> endet bettet die WebBox den Inhalt des Textdokuments in eine komplette HTML-Struktur bestehend aus <code>head</code>- und <code>body</code>-Element ein und f&uuml;gt Verweise auf Gestaltungsvorlagen hinzu (CSS-Stylesheets). Als Gestaltungsvorlage wird das der WebBox beiliegende Stylesheet von Bootstrap <code>/jslib/bootstrap/css/bootstrap.min.css</code> sowie die Datei <code>stile.css</code> eingebettet. Legt man im Ordner, in dem das betrffende Textdokument abgelegt ist, eine Datei <code>stile.css</code> an, k&ouml;nnen dem Textdokument auf diese Weise eigene Gestaltungsvorgaben mitgegeben werden.</p>
<h3>Textdokumente als HTML exportieren</h3>
<p>Um ein Textdokument, das mit der WebBox erstellt wurde, auch ohne eine WebBox einfach im Browser ansehen zu k&ouml;nnen, muss es als HTML-Seite vorliegen. Mit dem Punkt <code>Export HTML</code> im Men&uuml; <code>Datei</code> werden zu diesem Zweck alle Textdokumente, also die <code>.htm i</code>-Dateien, des aktuell ge&ouml;ffneten Ordners als HTML-Seiten erzeugt. Die HTML-Seiten werden dazu in einen Ordner gelegt, der genauso hei&szlig;t wie der aktuell ge&ouml;ffnete Ordner und dessen Name der Zusatz _html angeh&auml;ngt wurde. Dieser neue Ordner liegt nach dem HTML-Export in dem Ordner, in dem der aktuell ge&ouml;ffnete Ordner liegt.</p>
<h2><a name="upload"></a>Inhalte zur WebBox &uuml;bertragen</h2>
<p>Lokale Inhalte werden zur WebBox &uuml;bertragen und im aktuellen Verzeichnis abgelegt, wenn sie per Ziehen und Ablegen (Drag and Drop) im gerade ge&ouml;ffneten Ordner der Dateiverwaltung 'fallengelassen' werden.</p>
<h3>WebDAV verwenden</h3>
<p>Die WebBox stellt einen zentralen Ordner zur Verwendung von WebDAV bereit. &Uuml;ber folgenden URL kann per WebDAV auf die WebBox zugegriffen werden.</p>
<p><code>https://localhost:8442/dav</code></p>
<p>Der obige URL verweist auf den Ordner <code>dav</code> im Datenverzeichnis der WebBox, also den Ordner <code>$wbx/daten/dav</code>. Benutzer mit Rolle <code>wbxAdmin</code>&nbsp;k&ouml;nnen in der Dateiverwaltung der WebBox den Ordner <code>$daten</code> verwenden, um auf Inhalte des dort zug&auml;nglichen Ordners <code>dav</code> zuzugreifen. Auf diese Weise k&ouml;nnen via WebDAV auf die WebBox &uuml;bertragene Dateien auch &uuml;ber die Dateiverwaltung der WebBox an andere Ablageorte kopiert werden.</p>
<p>Benutzer, die den Zugriff via WebDAV nutzen sollen m&uuml;ssen die Rolle <code>davNutzer</code> besitzen.&nbsp;</p>
<h2><a name="bilder"></a>Bilder verwenden</h2>
<p>Werden Bilder des Typs JPEG, PNG oder GIF auf die WebBox &uuml;bertragen, erscheint f&uuml;r sie als Dateisymbol eine Minituransicht des Bildinhalts. Das Bild kann angesehen werden wie im Abschnitt Inhalte ansehen beschrieben. Die Miniaturansicht eines Bildes wird zudem von der WebBox dynamisch erzeugt und kann angesehen werden, wenn dem Namen des Bildes im URL der Zusatz <code>_tn</code> hinzugef&uuml;gt wird.</p>
<p>Ist beispielsweise eine Bilddatei <code>MeinBild.png</code> im Ordner <code>Persoenlich/Bilder</code> des Nutzers <code>fred</code> abgelegt, kann ihre Minituransicht mit folgendem URL angesehen werden:</p>
<p style="padding-left: 30px;"><code>http://localhost:8098/home/fred/Bilder/MeinBild_tn.png</code></p>
<p>Auf diese Weise m&uuml;ssen nicht die unter Umst&auml;nden gro&szlig;en Datenmengen des Originalbildes f&uuml;r eine Miniatur-Vorschau &uuml;bertragen werden.&nbsp;<span style="font-size: 1em;">Neben der Miniaturansicht lassen sich die folgenden weiteren Bildgr&ouml;&szlig;en erzeugen:</span></p>
<table>
<tbody>
<tr>
<td><strong>Gr&ouml;&szlig;e</strong></td>
<td><strong>Endung</strong></td>
</tr>
<tr>
<td>120</td>
<td>_tn</td>
</tr>
<tr>
<td>240</td>
<td>_kl</td>
</tr>
<tr>
<td>500</td>
<td>_dd</td>
</tr>
<tr>
<td>700</td>
<td>_mt</td>
</tr>
<tr>
<td>1200</td>
<td>_gr</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Ohne Endung wird das Bild in Originalgr&ouml;&szlig;e ausgegeben.</p>
<p>Bilder k&ouml;nnen mit Hilfe des Dokumenteditors in Dokumente eingebunden werden. Vom Ablageort des betreffenden Dokuments ausgehend gen&uuml;gt eine relative Pfadangabe. Zum Beispiel k&ouml;nnte ein Dokument im Ordner <code>Persoenlich</code> des Nutzers <code>fred</code> das oben erw&auml;hnte Bild mit der relativen Angabe <code>Bilder/MeinBild.png</code> einbinden.</p>
<h3>Bilder betrachten (Diashow)</h3>
<p>Aus der Dateiverwaltung der WebBox heraus k&ouml;nnen Bilder als Diashow betrachtet werden. Dazu wird die Diashow-Funktion zun&auml;chst eingeschaltet, indem der Punkt "Diashow nicht zeigen" gew&auml;hlt wird. Damit wird die standardm&auml;&szlig;ig ausgeschaltete Diashow-Funktion aktiviert. Anschlie&szlig;end wird ein Ordner ge&ouml;ffnet, der Bilder enth&auml;lt. Mit Klick auf eines der Bilder wird die Diashow gestartet.</p>
<p>Sollen Bilder wieder als Dateien in der Dateiverwaltung behandelt werden, beispielweise zum Markieren einzelner Bilddateien, wird die Funktion "Diashow zeigen" im Men&uuml; gew&auml;hlt. Damit wird die Diashow-Funktion ausgeschaltet.</p>
<h2><a name="mng-user"></a>Benutzer verwalten</h2>
<p>Eine WebBox kann von verschiedenen Benutzern zugleich verwendet werden. Jedem Nutzer muss in der Benutzerverwaltung ein Benutzerkonto angelegt werden.&nbsp;</p>
<h3>Rollen und der Benutzer <code>admin</code></h3>
<p>Den Zugang zu Inhalten regelt die WebBox &uuml;ber Rollen, die ein Benutzer besitzen kann. &Uuml;ber die Benutzerverwaltung k&ouml;nnen Rollen erteilt und entzogen werden. Im Auslieferungszustand der WebBox ist diese mit einem Benutzer namens <code>admin</code> ausgestattet. Der Benutzer <code>admin</code> besitzt die folgenden Rollen:</p>
<p style="padding-left: 30px;"><code>nutzerAdmin</code> - Benutzer verwalten<br /><code>wbxAdmin</code> - Apps verwalten<br /><code>ownFileAdmin</code> - eigene Dateien verwalten<br /><code>sqlKonsole</code> - Datenbanken verwalten<br /><code>nutzerProfil</code> - Angaben zur Person und eigenes Kennort &auml;ndern<br /><code>manager-script</code> - interne Rolle zur Verwaltung von Apps</p>
<p>Mit dem Benutzer <code>admin</code> kann die erste Einrichtung der WebBox erfolgen. Das Kennwort des Benutzers <code>admin</code> lautet <code>admin</code>. Bevor die WebBox f&uuml;r andere Zwecke verwendet wird sollte mit Hilfe des Benutzers <code>admin</code> mindestens ein anderer Benutzer angelegt werden, der die obigen Rollen besitzt. Anschlie&szlig;end sollte der Benutzer <code>admin</code> gel&ouml;scht werden.</p>
<p>Um die Verwaltung der WebBox von deren Nutzung abzugrenzen empfiehlt es sich, mindestens einen weiteren Benutzer anzulegen, der nur die Rolle <code>ownFileAdmin</code> besitzt. Nur Benutzer, die Teile der WebBox administrieren sollen, ben&ouml;tigen die Rollen <code>nutzerAdmin</code>, <code>wbxAdmin</code> und <code>manager-script</code>.</p>
<h3>Aufruf der Benutzerverwaltung</h3>
<p>Die Benutzerverwaltung der WebBox wird mit der Schaltfl&auml;che <code>Benutzer</code> auf der Hauptseite aufgerufen.&nbsp;</p>
<p style="padding-left: 30px;"><a href="Bilder/verwaltung.png" data-lightbox="verwaltung2"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/verwaltung_tn.png" alt="foto" width="120" height="50" /></a></p>
<p style="padding-left: 30px;"><em>Die Schaltfl&auml;che 'Benutzer'</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Mit Bet&auml;tigen der Schaltfl&auml;che <code>Benutzer</code> erscheint zun&auml;chst die Anmeldeseite und nach erfolgreicher Anmeldung die Benutzerverwaltung.</p>
<p style="padding-left: 30px;"><a href="Bilder/benutzerverwaltung.png" data-lightbox="benutzerverwaltung"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/benutzerverwaltung_tn.png" alt="foto" width="120" height="100" /> </a></p>
<p style="padding-left: 30px;"><em>Die Benutzerverwaltung der WebBox</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Nur Benutzer mit der Rolle <code>nutzerAdmin</code> k&ouml;nnen die Benutzerverwaltung aufrufen.</p>
<h3>Benutzer anlegen</h3>
<p>Mit Bet&auml;tigen der Schaltfl&auml;che <code>Neu</code> erscheint das Formular zur Anlage eines Benutzers.&nbsp;</p>
<p style="padding-left: 30px;"><a href="Bilder/nutzer-neu.png" data-lightbox="nutzer-neu"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/nutzer-neu_tn.png" alt="foto" width="120" height="100" /> </a></p>
<p style="padding-left: 30px;"><em>Formular zur Anlage eines Benutzers</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Hier k&ouml;nnen Angaben zum Benutzer gemacht und ein Kennwort erteilt werden. Der neue Benutzer wird angelegt, wenn die Schaltfl&auml;che <code>Speichern</code> bet&auml;tigt wird.</p>
<p>Die WebBox speichert die Angaben zum Benutzer in einer Datenbank im Ordner <code>$wbx/daten/db</code>. Kennworte werden dabei verschl&uuml;sselt in der Datenbank abgelegt und sind auch f&uuml;r Administratoren der Maschine, auf der die WebBox l&auml;uft nicht im Klartext lesbar.</p>
<h3>Rollen erteilen und entziehen</h3>
<p>Wird in der Liste der Benutzer einer der Anmeldenamen geklickt erscheint die Rollen-Ansicht.</p>
<p style="padding-left: 30px;"><a href="Bilder/rollen.png" data-lightbox="rollen"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/rollen_tn.png" alt="foto" width="120" height="100" /> </a></p>
<p style="padding-left: 30px;"><em>Die Rollen-Ansicht der WebBox</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Oben sind die Rollen zu sehen, die der Benutzer besitzt. Unten erscheinen die verf&uuml;gbaren Rollen. Mit den Schaltfl&auml;chen <code>Erteilen</code> und <code>Entziehen</code> werden dem Benutzer Rollen erteilt und entzogen. Eine neue Rolle kann mit der Schaltfl&auml;che <code>Neu</code> angelegt werden.</p>
<h3>Eigenes Kennwort &auml;ndern</h3>
<p>Jeder Benutzer kann sein eigenes Kennwort und die Angaben zur eigenen Person selbst &auml;ndern. Die Funktion ist unabh&auml;ngig von den &uuml;brigen Funktionen der Benutzerverwaltung und an die Rolle <code>nutzerProfil</code> gekn&uuml;pft, die jedem Benutzer erteilt sein muss.</p>
<p>Zur &Auml;nderung dieser Angaben wird im Men&uuml; der Punkt <code>Profil</code> gew&auml;hlt.</p>
<h2><a name="mng-apps"></a>Apps verwalten</h2>
<p>Die WebBox kann Programme ausf&uuml;hren, die ein Benutzer zu diesem Zweck auf die WebBox &uuml;bertr&auml;gt. Solche Programme werden an dieser Stelle Apps genannt. Ob eine App auf der WebBox l&auml;uft ist gew&ouml;hnlich an ihrer Dateiendung <code>.war</code> erkennbar und in der Dokumentation zur App erw&auml;hnt.</p>
<h3>Aufruf der App-Verwaltung</h3>
<p>Die App-Verwaltung der WebBox wird mit der Schaltfl&auml;che <code>Apps</code> auf der Hauptseite aufgerufen.&nbsp;</p>
<p style="padding-left: 30px;"><a href="Bilder/verwaltung.png" data-lightbox="verwaltung3"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/verwaltung_tn.png" alt="foto" width="120" height="50" /></a></p>
<p style="padding-left: 30px;"><em>Die Schaltfl&auml;che 'Apps'</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Mit Bet&auml;tigen der Schaltfl&auml;che <code>Apps</code> erscheint zun&auml;chst die Anmeldeseite und nach erfolgreicher Anmeldung die App-Verwaltung.</p>
<p style="padding-left: 30px;"><a href="Bilder/apps.png" data-lightbox="apps"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/apps_tn.png" alt="foto" width="120" height="70" /> </a></p>
<p style="padding-left: 30px;"><em>Die App-Verwaltung der WebBox</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Nur Benutzer mit der Rolle <code>wbxAdmin</code> k&ouml;nnen die App-Verwaltung aufrufen.</p>
<h3>App an die WebBox &uuml;bertragen</h3>
<p>Bet&auml;tige zur &Uuml;bertragung einer App auf die WebBox zun&auml;chst die Schaltfl&auml;che <code>Durchsuchen</code>. Navigiere zum Ablageort des Webarchivs, das die App enth&auml;lt und w&auml;hle sie aus. Der Name eines solchen Webarchivs endet &uuml;blicherweise mit <code>.war</code> und erscheint neben der Schaltfl&auml;che <code>Durchsuchen</code>, sobald er ausgew&auml;hlt wurde.</p>
<p>Die App wird an die WebBox &uuml;bertragen, wenn die Schaltfl&auml;che <code>Deploy</code> bet&auml;tigt wird. In aller Regel wird die App von der WebBox ausgef&uuml;hrt, nachdem die &Uuml;bertragung abgeschlossen ist. Die Kombination aus dem &Uuml;bertragen der App an die WebBox, deren dortige Vorbereitung zur Ausf&uuml;hrung und ggf. das Ausf&uuml;hren wird <em>Deploy</em> genannt.</p>
<p>Die App erscheint in der Liste der Apps, sobald die &Uuml;bertragung abgeschlossen ist.</p>
<h3>Ausf&uuml;hrung einer App stoppen</h3>
<p>Die Ausf&uuml;hrung einer App wird gestoppt, indem ihr Eintrag in der Liste der Apps gew&auml;hlt und die Schaltfl&auml;che <code>Stopp</code> bet&auml;tigt wird. Mit der Schaltfl&auml;che <code>Start</code> kann die App wieder ausgef&uuml;hrt werden. Die App bleibt gestoppt bis sie von einem Administrator der App-Verwaltung wieder gestartet wird.</p>
<h3>App l&ouml;schen</h3>
<p>Auswahl einer App aus der Liste der Apps und Bet&auml;tigen der Schaltfl&auml;che <code>Entfernen</code> stoppt die App und l&ouml;scht sie von der WebBox.</p>
<h3>Interne Apps entsperren</h3>
<p>Teile der WebBox sind selbst als Apps angelegt. Diese sollen nicht unbeabsichtigt gestoppt oder gel&ouml;scht werden und sind in der App-Verwaltung f&uuml;r solche Aktionen gesperrt. Die Sperre gilt f&uuml;r folgende Apps:</p>
<p style="padding-left: 30px;"><code>/wbx</code> - Bedienoberfl&auml;che der App-Verwaltung<br /><code>/um</code> - Benutzerverwaltung<br /><code>/file-cms</code> - Dateiverwaltung der WebBox<br /><code>/wbx-dbcon</code> - Datenbank-Konsole der WebBox<br /><code>/home</code> - Pers&ouml;nliche Nutzerdaten<br /><code>/data</code> - &Ouml;ffentliche Nutzerdaten<br /><code>/</code> - Hauptseite der WebBox, der sogennante ROOT-Kontext<br /><code>/manager</code> - interner Teil der App-Verwaltung<br /><code>/jslib</code> - Javacsript-Ressourcen der WebBox</p>
<p>Mit dem Punkt <code>Interne Apps entsperren</code> im Men&uuml; <code>Apps</code> kann die Sperre gel&ouml;st werden. <strong>Vorsicht:</strong> Das Stoppen oder Entfernen einer der oben aufgef&uuml;hrten Apps f&uuml;hrt dazu, dass die WebBox nicht mehr richtig funktioniert.</p>
<h2><a name="mng-db"></a>Datenbanken verwalten</h2>
<p>Die WebBox stellt Datenbanken und deren Inhalt &uuml;ber einen eigenen Derby Network Server bereit. Die Datenbankfunktion der WebBox ist haupts&auml;chlich f&uuml;r Apps vorgesehen, die sie zur strukturierten Ablage und Verwaltung von Daten verwenden k&ouml;nnen.</p>
<p>Die Datenbanken der WebBox sind nur auf der Maschine zug&auml;nglich, auf der die WebBox l&auml;uft. Aufruf und Nutzung des Datenbankservers erfolgt &uuml;ber die Java Database Connectivity (JDBC) mit folgendem URL</p>
<p style="padding-left: 30px;"><code>jdbc:derby://localhost:1528/[Name der Datenbank];create=true</code></p>
<p>Datenbanken verwaltet der Datenbankserver der WebBox im eigenen Datenverzeichnis selbstt&auml;tig. Der Zusatz <code>;create=true</code> veranla&szlig;t den Datenbankserver der WebBox, die betreffende Datenbank im Datenverzeichnis zu erstellen, wenn sie noch nicht existiert. Dabei wird keine Datenbankstruktur wie z.B. Tabellen oder Indizes erstellt, diese muss mit entsprechenden SQL-Kommandos von der App oder von Hand in der Datenbank-Konsole erzeugt werden.</p>
<h3>Aufruf der Datenbank-Konsole</h3>
<p>Zum Umgang mit Datenbanken enth&auml;lt die WebBox eine Datenbank-Konsole. Kommandos der Structured Query Language (SQL) k&ouml;nnen &uuml;ber die Datenbank-Konsole eingegeben und ausgef&uuml;hrt werden. Sie wird mit der Schaltfl&auml;che <code>Datenbank</code> auf der Hauptseite aufgerufen.&nbsp;</p>
<p style="padding-left: 30px;"><a href="Bilder/verwaltung.png" data-lightbox="verwaltung4"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/verwaltung_tn.png" alt="foto" width="120" height="50" /></a></p>
<p style="padding-left: 30px;"><em>Die Schaltfl&auml;che 'Datenbank'</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Mit Bet&auml;tigen der Schaltfl&auml;che <code>Datenbank</code> erscheint zun&auml;chst die Anmeldeseite und nach erfolgreicher Anmeldung die Datenbank-Konsole.</p>
<p style="padding-left: 30px;"><a href="Bilder/dbcon.png" data-lightbox="dbcon"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/dbcon_tn.png" alt="foto" width="120" height="70" /> </a></p>
<p style="padding-left: 30px;"><em>Die Datenbank-Konsole der WebBox</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Nur Benutzer mit der Rolle <code>sqlKonsole</code> k&ouml;nnen die Datenbank-Konsole aufrufen.</p>
<h3>Datenbank-Verbindung erstellen</h3>
<p>Die Arbeit mit einer Datenbank aus der Datenbank-Konsole heraus erfordert die Anlage einer Datenbank-Verbindung. Mit Auswahl von <code>Neu..</code> aus dem Mne&uuml; <code>Datenbank</code> erscheint der Dialog zur Anlage einer neuen Datenbank-Verbindung.</p>
<p style="padding-left: 30px;"><a href="Bilder/db_neu.png" data-lightbox="dbneu"> <img style="margin: 5px 10px; border: 1px solid black;" src="Bilder/db_neu_tn.png" alt="foto" width="120" height="70" /> </a></p>
<p style="padding-left: 30px;"><em>Der Dialog Neue Datenbankverbindung</em> <br /> <span style="font-size: x-small;">(f&uuml;r eine gr&ouml;&szlig;ere Ansicht das Bild anklicken)</span></p>
<p>Hier wird der Name der Datenbank angegeben und die Schaltfl&auml;che <code>Neu</code> bet&auml;tigt. Die Datenbankverbindung wird erstellt und ihr Name erscheint in der Seitenleiste links.</p>
<h3>SQL-Kommandos anwenden</h3>
<p><a href="https://builds.apache.org/job/Derby-docs/lastSuccessfulBuild/artifact/trunk/out/ref/crefsqlj23296.html">Kommandos der Structured Query Language</a> (SQL) sind ein m&auml;chtiges Werkzeug zur Arbeit mit Datenbanken. Mit ihnen lassen sich Datenbankstrukturen ebenso wie Datenbankinhalte erstellen und &auml;ndern. Mit der Datenbank-Konsole der WebBox k&ouml;nnen beliebige einzelne SQL-Kommandos wie auch SQL-Skripte an die Datenbank abgesetzt werden.</p>
<p>Die betreffenden SQL-Kommandos werden dazu in der Textbox rechts oben in der Datenbank-Konsole eingetragen und die Schaltfl&auml;che Ausf&uuml;hren bet&auml;tigt. Ergebnisse der Ausf&uuml;hrung wie zum Beispiel die Antwort auf ein SELECT-Kommando werden im unteren Teil der Datenbank-Konsole als Ergebnistabelle dargestellt.</p>
<p><strong>Vorsicht</strong>: Ein falsches SQL-Kommando kann Inhalt oder Struktur einer Datenbank besch&auml;digen und zu Datenverlust f&uuml;hren. Die Datenbank-Konsole darf nur mit gr&ouml;&szlig;tem Bedacht verwendet werden, ihre Verwendung geschieht auf eigenes Risiko.</p>
web/META-INF/daten/www/dok/wbx/Betrieb-Docker.htmi
New file
@@ -0,0 +1,27 @@
<h1>Betrieb</h1>
<p>In den folgenden Abschnitten ist der Betrieb der <a href="http://uhilger.de/dev/Software/WebBox/WebBox">WebBox</a>&nbsp;als Docker-Container beschrieben:</p>
<p style="padding-left: 30px;"><a href="#start">WebBox starten</a><br /><a href="#stopp">WebBox stoppen</a><br /><a href="#bak">Daten sichern</a><br /><a href="#sec">Datensicherheit</a><br /><a href="#anpassen">WebBox an eigene Zwecke anpassen</a></p>
<p>&nbsp;</p>
<h2><a name="start"></a>WebBox starten</h2>
<p>Nach der <a href="Installation.htmi">Installation</a> werden zum Start der WebBox die folgenden Schritte ausgef&uuml;hrt.</p>
<ol>
<li>Datenbank-Container starten<br /><code>docker run -v `pwd`/derby-daten:/dbs --name derby --rm -d -p 1527:1527 az82/docker-derby</code></li>
<li>WebBox starten<br /><code>docker run -it --rm --name tc -d -p 8080:8080 -p 8443:8443 -v `pwd`/tc-daten:/tc-daten --link derby:dbsrv wbx</code></li>
</ol>
<p>Damit&nbsp;ist die WebBox bereit zur <a href="Bedienung.htmi">Verwendung</a>.</p>
<h2><a name="stopp"></a>WebBox stoppen</h2>
<p>Zum Stoppen der WebBox werden die folgenden Schritte ausgef&uuml;hrt.</p>
<ol>
<li>WebBox stoppen<br /><code>docker exec tc "bin/shutdown.sh"</code></li>
<li>Datenbank-Container stoppen<br /><code>docker exec derby java org.apache.derby.drda.NetworkServerControl shutdown</code></li>
</ol>
<h2><a name="bak"></a>Daten sichern</h2>
<p>Die WebBox legt alle ver&auml;nderlichen Nutzerdaten in den Volumes&nbsp;<code>/derby-daten</code>&nbsp;und <code>/tc-daten</code>&nbsp;im Arbeitsverzeichnis ab, aus dem heraus die Docker-Container gestartet werden. Eine regelm&auml;&szlig;ige Kopie von <code>/derby-daten</code>&nbsp;und <code>/tc-daten</code> v<span style="font-size: 1em;">ermeidet Datenverlust im Falle von St&ouml;rungen oder Fehlern.</span></p>
<h3><a name="sec"></a>Datensicherheit</h3>
<p>Die WebBox bewirkt keine Zugriffsbeschr&auml;nkungen auf der Ebene des Betriebssystems des Docker-Containers, in dem die WebBox l&auml;uft, dem WebBox-Container. Jeder Benutzer des WebBox-Containers kann so auf Inhalte des Rechners zugreifen, wie es der Systemadministrator von Docker festgelegt hat.</p>
<p>&Uuml;ber die Benutzerverwaltung der WebBox erteilte Berechtigungen bewirken Beschr&auml;nkungen des Zugriffs &uuml;ber die WebBox. Solange die WebBox l&auml;uft, unterliegen Zugriffe den Regeln, die in der Benutzerverwaltung der WebBox festgelegt sind. Diese Regeln bewirken im Auslieferungszustand der WebBox, dass nur Daten im Verzeichnis <code>/usr/local/wbx/daten </code>des WebBox-Containers &uuml;ber die WebBox zug&auml;nglich sind.</p>
<h3>Programme</h3>
<p>Die WebBox erm&ouml;glicht die Ausf&uuml;hrung von Programmen auf dem WebBox-Container. Benutzer der WebBox k&ouml;nnen mit der WebBox Programme ausf&uuml;hren, mit denen es m&ouml;glich ist, auf Daten des WebBox-Containers zuzugreifen.</p>
<p>Um zu verhindern, dass auf diesem Weg der Benutzer einer WebBox auf Daten des WebBox-Containers zugreift, d&uuml;rfen in der Benutzerverwaltung der WebBox die Rollen <code>manager-script</code>, <code>manager-gui</code>, <code>nutzerAdmin</code> und <code>wbxAdmin</code> nur Nutzern erteilt werden, die berechtigt sind, auf Daten des WebBox-Containers zuzugreifen.</p>
<h2><a name="anpassen"></a>WebBox an eigene Zwecke anpassen</h2>
<p>Kundige Benutzer k&ouml;nnen die WebBox an ihre Bed&uuml;rfnisse anpassen. Informationen &uuml;ber ihren Aufbau liefert die <a href="http://uhilger.de/gitblit/docs/wbx-shell.git">Dokumentation im Repository</a>.</p>
web/META-INF/daten/www/dok/wbx/Betrieb.htmi
New file
@@ -0,0 +1,34 @@
<h1>Betrieb</h1>
<p>In den folgenden Abschnitten ist der Betrieb der <a href="http://uhilger.de/dev/Software/WebBox/WebBox">WebBox</a> beschrieben:</p>
<p style="padding-left: 30px;"><a href="#start">WebBox starten</a><br /><a href="#stopp">WebBox stoppen</a><br /><a href="#bak">Daten sichern</a><br /><a href="#sec">Datensicherheit</a><br /><a href="#anpassen">WebBox an eigene Zwecke anpassen</a></p>
<p>&nbsp;</p>
<h2><a name="start"></a>WebBox starten</h2>
<p>Nach der <a href="Installation.htmi">Installation</a> wird zum Start der WebBox das Skript <code>$wbx/start.sh</code> bzw. sein Windows-Pendant <code>$wbx/start.bat</code> ausgef&uuml;hrt wie nachfolgend im Detail beschrieben. Nach dem Start ist die WebBox bereit zur <a href="Bedienung.htmi">Verwendung</a>.</p>
<h3>Linux und Mac OS</h3>
<p>Wir nehmen an, die WebBox ist im Verzeichnis <code>/home/fred/wbx</code> abgelegt. Zum Start der WebBox wird auf der Kommandozeile eingegeben</p>
<p style="padding-left: 30px;"><code>cd /home/fred/wbx</code><br /><code>./start.sh</code></p>
<p>Stattdessen kann die WebBox auch aus der Dateiverwaltung bzw. dem Finder heraus gestartet werden indem ein Doppelklick auf das Symbol der Datei <code>start.sh</code> ausgef&uuml;hrt wird. Siehe hierzu gegebenenfalls <a href="http://uhilger.de/dev/Tipps/Skript-starten-mit-Ubuntu-Unity">diesen Tipp</a>.</p>
<h3>Windows</h3>
<p>Unter Windows l&auml;&szlig;t sich die WebBox aus der Dateiverwaltung heraus durch Doppelklick auf das Symbol der Datei <code>start.bat</code> ausf&uuml;hren. Auch unter Windows kann man stattdessen das Skript von der Kommandozeile starten.</p>
<h3>Kein Eingriff ins System</h3>
<p>Start und Betrieb der WebBox machen keine &Auml;nderungen am System der Maschine, auf der die WebBox installiert wurde. Alle Aktivit&auml;ten der WebBox finden im Ordner <code>$wbx</code> statt, der bei der <a href="Installation.htmi">Installation</a> angelegt wurde.</p>
<h2><a name="stopp"></a>WebBox stoppen</h2>
<p>Zum Stoppen der WebBox wird genauso vorgegangen wie beim Start, allerdings wird zum Stoppen das Skript <code>stopp.sh</code> bzw. <code>stopp.bat</code> verwendet.</p>
<h2><a name="bak"></a>Daten sichern</h2>
<p>Die WebBox legt alle ver&auml;nderlichen Nutzerdaten im Verzeichnis <code>$wbx/daten</code> ab. Dort finden sich die Unterverzeichnisse</p>
<ul>
<li><code>db</code> (Datenbanken)</li>
<li><code>home</code> (pers&ouml;nliche Daten)</li>
<li><code>www</code> (&ouml;ffentliche Daten)</li>
</ul>
<p>Eine regelm&auml;&szlig;ige Kopie von <code>$wbx/daten</code> vermeidet Datenverlust im Falle von St&ouml;rungen oder Fehlern.</p>
<h3>Protokolle</h3>
<p>Neben den oben erw&auml;hnten Ablageorten legt die WebBox im Ordner <code>$wbx/sys/base/logs</code> Protokolle an. Mit den Protokollen k&ouml;nnen z.B. nachtr&auml;glich St&ouml;rungen nachvollzogen werden. Die dort entstehenden Daten sollten regelm&auml;&szlig;ig gel&ouml;scht werden um ein unkontrolliertes Anwachsen des Protokollverzeichnisses zu vermeiden.</p>
<h2><a name="sec"></a>Datensicherheit</h2>
<p>Die WebBox bewirkt keine Zugriffsbeschr&auml;nkungen auf der Ebene des Betriebssystems des Rechners, auf dem die WebBox l&auml;uft, dem WebBox-Rechner. Jeder Benutzer des WebBox-Rechners kann so auf Inhalte des Rechners zugreifen, wie es der Systemadministrator des Rechners festgelegt hat.</p>
<p>&Uuml;ber die Benutzerverwaltung der WebBox erteilte Berechtigungen bewirken Beschr&auml;nkungen des Zugriffs &uuml;ber die WebBox. Solange die WebBox l&auml;uft, unterliegen Zugriffe den Regeln, die in der Benutzerverwaltung der WebBox festgelegt sind. Diese Regeln bewirken im Auslieferungszustand der WeBox, dass nur Daten im Verzeichnis <code>$wbx/daten </code>des WebBox-Rechners &uuml;ber die WebBox zug&auml;nglich sind.</p>
<h3>Programme</h3>
<p>Die WebBox erm&ouml;glicht die Ausf&uuml;hrung von Programmen auf dem WebBox-Rechner. Benutzer der WebBox k&ouml;nnen mit der WebBox Programme ausf&uuml;hren, mit denen es m&ouml;glich ist, auf Daten des WebBox-Rechners zuzugreifen.</p>
<p>Um zu verhindern, dass auf diesem Weg der Benutzer einer WebBox auf Daten des WebBox-Rechners zugreift, d&uuml;rfen in der Benutzerverwaltung der WebBox die Rollen <code>manager-script</code>, <code>manager-gui</code>, <code>nutzerAdmin</code> und <code>wbxAdmin</code> nur Nutzern erteilt werden, die berechtigt sind, auf Daten des WebBox-Rechners zuzugreifen.</p>
<h2><a name="anpassen"></a>WebBox an eigene Zwecke anpassen</h2>
<p>Kundige Benutzer k&ouml;nnen die WebBox an ihre Bed&uuml;rfnisse anpassen. Informationen &uuml;ber ihren Aufbau liefert die <a href="http://uhilger.de/gitblit/docs/wbx-shell.git">Dokumentation im Repository</a>.</p>
web/META-INF/daten/www/dok/wbx/Bilder/apps.png
web/META-INF/daten/www/dok/wbx/Bilder/benutzerverwaltung.png
web/META-INF/daten/www/dok/wbx/Bilder/dateiverwaltung.png
web/META-INF/daten/www/dok/wbx/Bilder/db_neu.png
web/META-INF/daten/www/dok/wbx/Bilder/dbcon.png
web/META-INF/daten/www/dok/wbx/Bilder/dokeditor.png
web/META-INF/daten/www/dok/wbx/Bilder/nutzer-neu.png
web/META-INF/daten/www/dok/wbx/Bilder/rollen.png
web/META-INF/daten/www/dok/wbx/Bilder/speichern-unter.png
web/META-INF/daten/www/dok/wbx/Bilder/startseite.png
web/META-INF/daten/www/dok/wbx/Bilder/texteditor.png
web/META-INF/daten/www/dok/wbx/Bilder/verwaltung.png
web/META-INF/daten/www/dok/wbx/Installation.htmi
New file
@@ -0,0 +1,25 @@
<h1>Installation</h1>
<p>Die WebBox kann in zwei Arten installiert werden:</p>
<ul>
<li><a href="#docker-inst">Als Docker-Container</a>,</li>
<li><a href="#filesys-inst">auf dem&nbsp;Dateisystem eines Rechners</a>.</li>
</ul>
<p>Nachfolgend ist beschrieben, wie diese Formen der Installation ausgef&uuml;hrt werden.</p>
<h2><a name="docker-inst"></a>Installation als Docker-Container</h2>
<p>Damit die WebBox als Docker-Container installiert werden kann, muss auf der betreffenden Maschine zun&auml;chst Docker installiert sein. Docker kann auf viele verschiedene Arten genutzt werden, zum Beispiel auch mit Hilfe von VirtualBox in einer virtuellen Maschine, wie es der Artikel <a href="http://uhilger.de/dev/Artikel/coreos/Docker-CoreOS-VirtualBox">Docker mit CoreOS und VirtualBox</a> beschreibt. Wird die WebBox als Docker-Container aus VirtualBox heraus genutzt, m&uuml;ssen in den Netzwerkeinstellungen der virtuellen Maschine Weiterleitungen f&uuml;r Port 8098 (http) und 8442 (https) eingerichtet werden.&nbsp;</p>
<p>Ist Docker betriebsbereit, werden zur Installation der WebBox als Docker-Container die folgenden Schritte ausgef&uuml;hrt.</p>
<ol>
<li>Das Docker-Image der WebBox&nbsp;erzeugen<br /><code>docker build -t wbx http://uhilger.de/dl/wbx/wbxd.tar.gz</code></li>
</ol>
<p>&nbsp;<span style="font-size: 1em;">Nun ist die WebBox bereit zum</span><span style="font-size: 1em;">&nbsp;</span><a style="font-size: 1em;" href="Betrieb-Docker.htmi">Start als Docker-Container</a><span style="font-size: 1em;">.</span></p>
<h2><a name="filesys-inst"></a>Installation im Dateisystem</h2>
<p>Zur Installation der <a href="http://uhilger.de/dev/Software/WebBox/WebBox">WebBox</a>&nbsp;im lokalen Dateisystem werden die folgenden Schritte ausgef&uuml;hrt.</p>
<h3>Herunterladen und Entpacken</h3>
<p>Mit der folgenden Verkn&uuml;pfung kann die WebBox heruntergeladen werden:</p>
<p style="padding-left: 30px;"><a href="http://uhilger.de/dl/wbx/wbx.zip">Herunterladen</a></p>
<p>Die heruntergeladene Datei <code>wbx.zip</code> muss zun&auml;chst entpackt werden. Ihr Inhalt kann an einen frei w&auml;hlbaren Ort abgelegt werden. Dieser Ablageort wird hier <code>$wbx</code> bezeichnet.</p>
<h3>Java hinzuf&uuml;gen</h3>
<p>Vor dem ersten Start der WebBox muss ein aktuelles Java Development Kit (JDK) beschafft werden, wie es z.B. von <a href="http://zulu.org/">Azul</a> erh&auml;ltlich ist. Auch das JDK muss zun&auml;chst entpackt werden. Nach dem Entpacken wird der Inhalt in das Verzeichnis <code></code></p>
<p style="padding-left: 30px;"><code>$wbx/sys/jrs/jvm</code></p>
<p>verschoben.</p>
<p>Nun ist die WebBox bereit zum <a href="Betrieb.htmi">Start aus dem Dateisystem</a>.</p>
web/META-INF/daten/www/dok/wbx/js-info.htmi
New file
@@ -0,0 +1,5 @@
<h1>&Uuml;ber Javasacript</h1>
<p><a href="https://de.wikipedia.org/wiki/JavaScript">Javascript</a> ist eine Skriptsprache, die von Webbrowsern ausgef&uuml;hrt werden kann. Die WebBox verwendet Javascript zum Beispiel bei der Anzeige von Bildern. Auch die Apps, die der WebBox beiliegen verwenden Javascript.</p>
<p>Javascript wird dabei in einer unsch&auml;dlichen Weise verwendet und verletzt nicht die Privatsph&auml;re. Jeder kann sich selbst von der Unbedenklichkeit &uuml;berzeugen, alle Teile des <a href="http://uhilger.de/gitblit/docs/wbx-shell.git">Codes</a> sind frei zug&auml;nglich.</p>
<p>&nbsp;</p>
<p><a href="/">zur&uuml;ck zur Hauptseite</a></p>
web/WEB-INF/web.xml
@@ -7,7 +7,7 @@
          Bleibt der Eintrag leer oder wird er ganz weggelassen, wird ein hart 
          kodierter Pfad fuer die WebBox verwendet.</description>
        <param-name>datenAblage</param-name>
        <param-value> </param-value>
        <param-value>/tc-daten</param-value>
    </context-param>
    <listener>
        <description>Der Initialiser setzt globale Variable fuer die Dateiverwaltung</description>