Sehr geehrte Damen und Herren,
ein wenig Vorgeschichte um den Post in die Länge zu ziehen.
Nach langer Zeit wollte ich mal wieder was an vdr-jonglisto machen und habe dabei festgestellt, daß die Abhängigkeiten mit aktuellen VDR Versionen eher schwierig zu erfüllen sind. In der alten Version musste ich auch zuviel auf dünnem Eis mit HTML/CSS/Javascript laufen und fand den Wiedereinstieg etwas schwierig .
Doch bei der üblichen Suche nach Neuerungen und interessanten Technologien bin ich dann über Xtend (Modernized Java) und Vaadin (Web Framework) gestolpert (obwohl beide schon älter - aber an mir vorbeigelaufen - sind) und fing an damit zu spielen. Es war geradezu eine Offenbarung und ich wollte immer mehr probieren. Aus dem Sandkasten entsprang dann eine völlige Neuimplementierung von vdr-jonglisto ohne die alten Fehler und Probleme.
Minimale Voraussetzung:
Ein VDR (am besten > 2.3.1) ohne besondere Plugins. Die Kommunikation von jonglisto-ng mit dem VDR findet nur über SVDRP statt.
Java 8 (ich weiß gar nicht, ob Java 9 läuft) und ein Application Container. Welche von mir getestet wurden, wie diese konfiguriert und gestartet werden können, kann man auf der GitHub Seite nachlesen.
Optionale Erweiterungen:
- epgsearch Plugin, falls epgsearch-Suchtimer bearbeitet oder erstellt werden sollen
- svdrposd Plugin, falls man einen minimalen Zugriff auf das OSD in der Web-Oberfläche haben will
- epgd (bzw. die Datenbank), falls dort Suchtimer bearbeitet oder erstellt werden sollen
Features:
- EPG Ansichten in verschiedenen Variationen (Tag, Kanal, Suche, verschiedene Filter). Die Spalten in der Ansicht können über die Config-Datei konfiguriert werden, falls andere Informationen angezeigt werden sollen. Mir waren z.B. Serieninformationen wichtig. Das läuft alles über regular Expressions über die EPG Daten. Es können direkt Timer erstellt werden, Wiederholungen gesucht, der EPG Eintrag kann bearbeitet und gespeichert werden.
- Channel-Logos können optional mit dem Build erstellt und eingebunden werden.
- Timer können bearbeitet, erstellt, gelöscht oder auf einen anderen VDR verschoben werden (sofern vorhanden)
- epgsearch Suchtimer (falls das Plugin vorhanden ist) können bearbeitet und erstellt werden
- epgd Suchtimer (falls die Datenbank konfiguriert wurde) können bearbeitet und erstellt werden
- Aufnahmen oder ganze Verzeichnisse (samt Unterverzeichnissen) können per Drag-and-Drop hin und hergeschoben werden. Neue Verzeichnisse können erstellt werden. Ein Löschen ist auch vorgesehen. Eine Aufnahme kann auch direkt auf dem gewählten VDR abgespielt werden.
- OSD und Fernbedienung. Es gibt eine Fernbedienung, die in Maßen konfigurierbar ist: Icons, als auch Label, die Anordnung der Tasten und welche Keys an den VDR gesendet werden sollen (auch mehrere pro Taste)). Das aktuelle OSD des VDR wird dargestellt, wenn das svdrposd Plugin verfügbar ist.
- Kanalkonfiguration. Diese View dient dazu, eine channels.conf zu sortieren (und zu exportieren). Die Sortierung kann per Drag-and-Drop erfolgen, Kanalgruppen erstellt und gelöscht werden. Falls die epgd Datenbank konfiguriert wurde, kann damit auch eine channelmap.conf per Drag-und-Drop mit aktuell 2 EPG Providern zusammengebastelt und exportiert werden. Ein Automapping der IDs ist ebenfalls vorhanden und in großen Teilen sehr zuverlässig.
- Security: Es gibt eine Konfigurationsdatei, in der User/Password (plaintext oder salted Hash) und zugehörigen Rollen mit möglichen Berechtigungen konfiguriert werden können. Die Anzahl bereits möglicher Berechtigungen ist aktuell zwar begrenzt, kann aber bei Bedarf erweitert werden, wenn gewünscht. Mittels der Konfigurationsdatei kann jeder eigene Rollen festlegen und den Benutzern zuweisen, ganz so wie es gebraucht und gewünscht wird.
Verschiedene Kommandos sind im VDR leider nicht nativ verfügbar (z.B. Liste gelöschter Aufnahmen und die Wiederherstellung). Mir schwebt da noch ein SVDRP-only Utility Plugin vor. Aber alles zu seiner Zeit.
Das neue Repository mitsamt Build / Deployment Anleitungen und einer Einführung in die Konfiguration befindet sich in GitHub: jonglisto-ng
Bugs und Wünsche sollten am Besten als Issue erstellt werden Github Issues
Für Fragen, Diskussionen und Kritik könnte das Forum benutzt werden.
Viele Grüße
Zabrimus