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 vorangegangen 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.
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.
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.
Die Konfiguration der beiden Tools hängt von der ID unserer Sendergruppe ab - also dem Eintrag in der Excel-Tabelle.
Im prepared-Verzeichnis erzeugen wir zwei neue Dateien:
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.
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.
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 |