PROGRAMMDATEN FÜR TV-BROWSER ANBIETEN

unter Verwendung der TV-Browser-Tools

Teil II

Das ist Teil II des TV-Daten-anbieten-Tutorials. Ich gehe davon aus, daß Teil I erfolgreich durchgearbeitet worden ist. Wir werden wieder die selben Tools verwenden.

Während wir im vorangegangenen Teil keine Möglichkeit hatten, eigene Programmdaten zu verwenden, werden wir nun das TV-Programm eines oder mehrerer Sender händisch erzeugen und wie in Teil I auf einen Webserver laden.

Wie in Teil I ist auch hier keine Programmierarbeit erforderlich.

Ein bißchen Background: PrimaryDataServices

Im 1. Teil haben wir SimplePDS bereits kennengelernt.
PrimaryDataServices (PDS) sind kleine Java-Programme, die TV-Daten einsammeln. Um TV-Daten automatisch einzusammeln, müssen PrimaryDataServices vom Daten-Anbieter selber geschrieben (programmiert) werden.
Neben dem SimplePDS, das wir in Teil I des Tutorials verwendet haben, liegt dem Tutorial ein weiteres PDS bei: ExcelPDS (Autor des ExcelPDS ist Til Schneider).

Dieses PDS werden wir nun näher kennenlernen und konfigurieren.

ExcelPDS

Dazu öffnen wir zunächst die Datei TvData.xls mit OpenOffice bzw. MS-Excel.
Die Datei ist bereits mit ein paar Musterdaten gefüllt. Die Verwendung sollte also nicht schwer fallen.
Für jeden Sender brauchen wir zunächst eine eigene Tabelle. Unser Excel-File hat im Moment zwei solcher Tabellen (wir sind also für zwei Sender gerüstet).
Je nachdem, ob wir beabsichtigen, mehr oder weniger Sender anzubieten, fügen wir nun Tabellen hinzu oder löschen die zweite Tabelle.
Die fett-gedruckten Zellen müssen bei jeder Tabelle an der gleichen Position sein.

In die zweite Zeile jeder Sender-Tabelle fügen wir nun Sender-ID des Senders ein:

Channel ID Unter diesem Namen behandelt TV-Browser den Sender. Einmal festgelegt, sollte man die ID nicht mehr ändern. Ändert man die ID, so entspricht das einem neuen Sender.
Als ID sind alphanumerische Zeichen erlaubt (d.h. Ziffern und Buchstaben, keine Sonderzeichen).
Innerhalb des TV-Browsers muß die ID eindeutig sein (d.h. es darf es keinen anderen Sender mit dieser ID geben). Also bitte keine schon vorhandene ID benutzen.
Hier muß der selbe Name verwendet werden, wie in gruppe_channellist.txt im config-Verzeichnis.
Country Code Zweistelliger Ländercode nach ISO 3166. Für Deutschland ist das z.B. de.

In der darunterliegenden Tabelle fügen wir nun die Programmvorschau des Senders ein. Die Tabelle ist selbsterklärend.
Datum, Beginnzeit und Titel sind Pflichtfelder. Der Rest kann ausgefüllt werden, wenn die entsprechenden Informationen bekannt sind.

Wenn alles fertig ausgefüllt ist, speichern wir die Datei unter dem Namen "TvData.xls" im workspace-Verzeichnis ab.
Damit können wir einen ersten Problelauf starten. Starten wir also den PDSRunner mit

pdsrunner ExcelPDS

Den PDSRunner kennen wir bereits. Diesmal führen wir ihn aber mit dem ExcelPDS aus.
Sollten Fehler aufgetreten sein, so finden wir die Fehlermeldung im Verzeichnis pdslog.
War PDSRunner erfolgreich, so haben wir wieder unsere Rohdaten im Verzeichnis raw.
Nun fehlen noch die anderen beiden Tools: DataManager und MirrorUpdater. Diese müssen wir aber vorher noch konfigurieren.

Konfiguration von DataManager und MirrorUpdater

Die Konfiguration der beiden Tools hängt von der ID unserer Sendergruppe ab.

Im prepared-Verzeichnis erzeugen wir insgesamt drei neue Dateien:

Statt GRUPPENID ist natürlich die ID der Gruppe einzusetzen. Der Inhalt entspricht dem Inhalt der Dateien myfirstgroup.txt und myfirstgroup_mirrorlist.txt von Teil I und sollte inzwischen klar sein. GRUPPENID_channellist.txt brauchen wir f�r den MirrorUpdater und wird in dem entsprechenden Abschnitt genauer besprochen.

Damit ist der DataManager konfiguriert. Starten wir ihn also:

datamanager [GRUPPENID]

Dem DataManager muß - wie in Teil 1 - die Gruppen-ID übergeben werden.
Damit fehlt uns nur noch der MirrorUpdater. Die Konfigurationsdatei für den MirrorUpdater ist MirrorUpdater.ini. Öffnen wir also diese Datei und passen wir die Zeile

  groups=GRUPPENID

an. Falls wir mehrere Gruppen-IDs verwenden möchten, trennen wir sie mit einem : ab. Also z.B:

groups=groupid1:groupid2:groupid3

In der Regel sollte aber eine Gruppen-ID genügen.

Erstellen wir nun die Datei GRUPPENID_channellist.txt, die Angaben zu den einzelnen Sendern enzhält:

Der Aufbau der Senderliste ist ganz einfach: In jeder Zeile befinden sich die Angaben zu einem Sender.
Aufbau einer Zeile:

land;zeitzone;senderID;sendername;copyright;sender-url;icon-url;senderkategorie

Land, Zeitzone, Sender-ID und Sendername sind unbedingt erforderlich. Die restlichen Angaben können auch weggelassen werden. Eine Datei könnte z.B. so aussehen:

de;GMT+01:00;ard;ARD;(c) by DasErste/TV-Browser;http://www.ard.de;http://www.tvbrowser.org/icons/ard01.gif;3
de;GMT+01:00;rtl;RTL;;;;4
de;GMT+01:00;superrtl;SuperRTL
de;MET;zdf;ZDF;(c) by ZDF/TV-Browser
de;MET;vox;Vox;(c) by Vox;http://www.vox.de

Wichtig ist, daß alle Sender der Gruppe in dieser Datei vertreten sind.
Die Angabe eines Icon-URL ist dabei optional. Fehlt diese, so stellt TV-Browser eben kein Icon zum Sender dar. (Der Strichpunkt muß aber trotzdem gesetzt werden!)
TV-Browser lädt das Icon jeweils nur 1x herunter. Erst wenn eine neue URL angegeben ist, wird TV-Browser veranlaßt, das Icon neu zu laden. Sollte also ein Sender sein Logo ändern, so muß in dieser Datei eine neue URL eingetragen werden. Das Icon muß in einer Größe von 40x20 Pixel vorliegen.

Der letzte Eintrag in der Zeile, senderkategorie bestimmt die Kategorie des Senders. Seit TV-Browser 2 können die Sender nach Kategorie gefiltert werden. Die Zahl für die Senderkategorie kann auf unserer Website ermittelt werden.

Führen wir nun den MirrorUpdater aus:

  mirrorupdater MirrorUpdater.ini

Geschafft! Die Daten sind nun auf dem Webserver. Wir können also die neue Gruppe in TV-Browser einfügen. Die URL hängt natürlich wieder von der Gruppen-ID ab:
http://meinwebspace/tv-daten-test/GRUPPENID

Fragen? Hat's doch nicht geklappt? Bei Problemen helfe ich gerne im Forum weiter.

Regelmäße Aktualisierung

Die Daten auf dem Server müssen nun regelmäßig aktualisiert werden. Dazu müssen wir die obigen Tools bei jeder Aktualisierung ausführen:

pdsrunner ExcelPDS
datamanager [GRUPPENID]
mirrorupdater mirrorupdater.ini

Vorher müssen die Daten natürlich wieder im Excel-File bearbeitet werden.

Wichtig: Damit verhindert wird, daß TV-Browser auf Server zugreift, deren TV-Daten veraltet sind, wird auf jedem Server eine Datei mit dem Namen lastupdate gespeichert (dies übernimmt der MirrorUpdater für uns).
TV-Browser lädt keine Daten von Servern, die länger als 5 Tage keine neuen Daten erhalten haben. Ein Daten-Anbieter muß also mindestens alle 5 Tage aktualisieren.

Der DataManager benötigt die Dateien im prepared-Verzeichnis, um daraus die Programmänderungen zu erstellen. Daher dürfen die Dateien im prepared-Verzeichnis niemals gelöscht werden.
Löscht man Dateien aus dem prepared-Verzeichnis, so stimmen die Daten nicht mehr mit denen zusammen, die der Benutzer bereits heruntergeladen hat. Folglich lädt TV-Browser keine Programmänderungen mehr für den entsprechenden Tag und Sender.

Zurück zu Teil I Übersicht Weiter zu Teil III