| | |
| | | |
| | | Eine Webanwendung zum Verwalten von Webradiosendern, Abspielgeräten und zum Spielen von Radio-Livestreams über die betreffenden Abspielgeräte. |
| | | |
| | | ## Im Bau |
| | | ### Bedienoberfläche |
| | | |
| | | Diese Anwendung ist noch im Bau. Der neueste lauffähige Stand erscheint demnächst als Prototyp und wird dann von hier aus per Verknüpfung zugänglich. |
| | | Die Bedienoberfläche setzt auf eine an die radiozentrale angepasste Version des [radio-ui](/gitblit/docs/web!radio-ui.git) auf. |
| | | |
| | | ## Voraussetzungen |
| | | |
| | |
| | | + einen Server wie beispielsweise [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat) |
| | | + eine [Derby-Datenbank](https://de.wikipedia.org/wiki/Apache_Derby) |
| | | |
| | | Eine komplette Ablaufumgebung für die radiozentrale steht zum Beispiel mit der [WebBox](/dev/Software/WebBox/WebBox) bereit. |
| | | Eine komplette Ablaufumgebung für die radiozentrale steht zum Beispiel mit der [WebBox](/data/ulrich/prg/webbox/) bereit. |
| | | |
| | | Anstelle der WebBox können Java, Tomcat und Derby auch getrennt voneinander installiert und ausgeführt werden, wie es z.B. die Beiträge [Tomcat auf Linux](/dev/Tipps/Tomcat%20auf%20Ubuntu) und [Datenbankserver im Handumdrehen](/dev/Tipps/tipp-derby-network-server) beschreiben. |
| | | |
| | | ### Bedienoberfläche |
| | | |
| | | Die Bedienoberfläche setzt auf eine für die Schnittstelle der radiozentrale angepasste Version des [radio-ui](/gitblit/docs/web!radio-ui.git) auf. |
| | | |
| | | ## Installation |
| | | |
| | | Hier noch die Installation beschreiben |
| | | |
| | | ## Herstellung aus dem Quellcode |
| | | Anstelle der WebBox können Java, Tomcat und Derby auch getrennt voneinander installiert und ausgeführt werden, wie es z.B. die Beiträge [Tomcat auf Linux](/data/ulrich/artikel/2013/05/tomcat-auf-linux.htmi) und [Derby Network Server](/data/ulrich/artikel/2018/02/derby-server-artikel.htmi) beschreiben. |
| | | |
| | | ## 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/) frei erhältlich ist. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt. |
| | | Zum Herstellen der Webanwendung wird ein Java Development Kit (JDK) benoetigt, wie es z.B. von [Azul](http://azul.com) oder dem [OpenJDK-Projekt](http://openjdk.java.net/) frei erhaeltlich ist. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt. |
| | | |
| | | Desweiteren werden die folgenden Klassenbibliotheken benötigt |
| | | Desweiteren werden die folgenden Klassenbibliotheken benoetigt |
| | | |
| | | ``` |
| | | Bibliothek Datei(en) Ablageort lokal |
| | | ---------- --------- --------------- |
| | | Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME |
| | | derbyclient ......... lib/derbyclient.jar ........... $CATALINA_BASE |
| | | XStream ............. xstream-1.4.7.jar ............. $JLIB |
| | | Jettison ............ jettison-1.3.3.jar ............ $JLIB |
| | | Transit ............. Transit.jar ................... $JLIB |
| | | BaseLink ............ BaseLink.jar .................. $JLIB |
| | | derbyclient ......... derbyclient.jar ............... $JLIB |
| | | ``` |
| | | Diese sind an folgenden Orten frei erhältlich: |
| | | Diese sind an folgenden Orten frei erhaeltlich: |
| | | |
| | | - [Apache Tomcat](http://tomcat.apache.org) |
| | | - [Apache Derby](http://db.apache.org/derby) |
| | | - [XStream](https://github.com/codehaus/xstream) |
| | | - [Jettison](https://github.com/codehaus/jettison) |
| | | - [Transit](/gitblit/docs/Transit.git) |
| | | - [BaseLink](/gitblit/docs/BaseLink.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=radiozentrale.git&h=master&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `radiozentrale-master` einschließlich des absoluten Pfades dorthin `$RZ` 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. |
| | | Nach Beschaffung des JDK und der oben angegebenen Klassenbibliotheken wird der Quellcode aus diesem Git-Repository an einen frei waehlbaren lokalen Ablageort [heruntergeladen](http://uhilger.de/gitblit/zip/?r=radiozentrale.git&h=master&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `radiozentrale-master` einschliesslich des absoluten Pfades dorthin `$RZ` genannt. Ferner wird angenommen, dass die oben aufgefuehrten 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 Dateiverwaltung werden die folgenden Kommandos ausgeführt (Beispiel für Linux): |
| | | Zur Herstellung der radiozentrale werden die folgenden Kommandos ausgefuehrt (Beispiel fuer Linux): |
| | | |
| | | ``` |
| | | cd $RZ |
| | |
| | | rm -r build |
| | | ``` |
| | | |
| | | Das Webarchiv der Dateiverwaltung liegt anschließend als `$RZS/dist/rz.war` fertig zum Deployment bereit. |
| | | Das Webarchiv der rediozentrale liegt anschliessend als `$RZS/dist/rz.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 Dateiverwaltung. In diesem Fall muss stattdessen der Inhalt von `$JLIB` nach `$CATALINA_BASE/lib` kopiert werden. |
| | | Das Kommando `cp $JLIB/* build/WEB-INF/lib` kann auch weggelassen werden, dann sind die Klassenbibliotheken nicht Teil des Webarchivs der rediozentrale. In diesem Fall muss stattdessen der Inhalt von `$JLIB` nach `$CATALINA_BASE/lib` kopiert werden. |
| | | |
| | | ### Datenbanktreiber |
| | | |
| | | Die radiozentrale erfordert den Derby Client Datenbanktreiber (derbyclient.jar). Der Treiber ist nicht im Verteilpaket enthalten und sollte stattdessen im Ordner `$CATALINA_BASE/lib` von Tomcat hinterlegt sein. |
| | | |
| | | ## Abhängigkeiten |
| | | ### Abhaengigkeiten der Bedienoberflaeche |
| | | |
| | | Die Dateiverwaltung erfordert die folgenden Bestandteile auf der Instanz von Tomcat, auf der sie ausgeführt werden soll: |
| | | (die nachfolgende Liste noch aktualisieren für das radio.ui) |
| | | |
| | | ``` |
| | | $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 |
| | | ``` |
| | | |
| | | `$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: |
| | | (die nachfolgende Liste noch aktualisieren für das radio.ui) |
| | | |
| | | - [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/) |
| | | Die radiozentrale erfordert zudem Javascript-Bibliotheken und Zeichensaetze, die vom [radio-ui](/gitblit/docs/web!radio-ui.git) benoetigt werden (siehe Beschreibung dort). Diese Bestandteile muessen auf dem Server hinterlegt werden, auf dem die radiozentrale ausgefuehrt werden soll. |
| | | |
| | | ## Lizenz |
| | | |