Zugriff auf Lieblingssendungseinträge von Plugin aus?

Ideen, wie TV-Browser verbessert werden kann
Antworten
Gast

Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von Gast »

Ich spiele mit dem Gedanken ein Plugin zu schreiben mit dem man aus einer Open Document Spreedsheet Datei (ODS) Einträge als Suchbegriffe auslesen und in die Liste des Lieblingssendungen Plugins eintragen kann.
Zum Zugriff auf die ODS Datei wollte ich die jOpenDocument Library verwenden, die bietet diese Funktion schon an und steht unter der GPL.

Jedoch habe ich auf der TV Browser Seite keine für die Pluginentwicklung zugelassene Klasse aus den Paketen devplugin, tvdataservice und util gefunden, die das bewerkstelligen könnte, falls ich da etwas übersehen habe, dann bitte nennen.
Die Methode addTitleFavorites aus der Klasse tvbrowser.extras.favoritesplugin.FavoritesPlugin scheint wohl das zu sein, was ich suche, allerdings soll die ja nicht von fremden Plugins aus benutzt werden und gegen ein moving target will ich auch nicht entwickeln.

Ansonsten habe ich auch herausgefunden, dass das Lieblingssendungen Plugin selbst schon eine Importfunktion für Daten aus TVGenial eingebau hat und dafür auch einen entsprechenden Button in der GUI bereitstellt.
Hier könnte man natürlich ansetzen, und einen weiteren Button für den ODS Import hinzufügen und den Rest unter der Haube ins Plugin einbauen, aber hier schätze ich mal, dass der direkte Einbau dieser Features in den Code des Plugins, ohne also dafür ein extra Plugin zu schreiben, auch nicht gewünscht ist, denn dann würde man sich ja die Abhängigkeit zur jOpenDocument Library standardmäßig in das Plugin holen. Das wird wohl, so meine Vermutung, niemand wollen.

Wünschenswert wäre also eine für Plugins verfügbare Klasse mit der man neue Einträge (also als Suchbegriff) in der Lieblingsliste anlegen bzw, einfügen kann.
Das ganze sollte natürlich automatisiert möglich sein, d.h. wenn ich z.B. "Star Wars" und "Doktor Schiwago" als Suchbegriff übermitteln möchte, dann sollte es auch möglich sein Ausschlusskritieren automatisiert festzulegen, also z.B. nicht auf den Sendern X, Y und Z, sowie die ganzen anderen Einstellungen vornehmbar sein, die man beim anlegen einer neuen Lieblingssendung einstellen kann.
Und hier wird es etwas kompliziert, denn über die Sendernamen weiß ja nur der TV-Browser bescheid, nicht aber OpenCalc bzw die ODS Datei und letztere will ich von diesen Informationen auch sauber halten.

Deswegen dachte ich da an eine Vereinfachung, dass diese Einstellungen beim Import nur einmal vorgenommen wird und dann für alle Suchbegriffe gilt, die die ODS Import Funktion übermittelt.
Damit bleibt die ODS Datei weitgehend aufgeräumt, da sie nur die Titel der Sendungen enthalten muss und TV Browser spezifische Einstellungen wie z.B. welche Sender ausgeschlossen werden sollen, bleiben dann auf der TV-Browser Seite bzw. der des Lieblingssendungen Plugins.
Für eine Feinjustierung müßte der Benutzer dann zwar separate manuelle Einstellungen über die schon vorhandenen GUI Funktionen des Lieblingssendungen Plugins vornehmen, aber ich denke, damit kann man Leben so dass dies ein akzeptabler Kompromiss wäre.


Das wäre das, was mir so vorschwebt.
Tja, jetzt stehe ich aber immer noch vor der zuvor erwähnten Frage, wo man hier ansetzen soll. Soll das Lieblingssendungen Plugin direkt erweitert werden oder gibt es eine Klasse die für externe Plugins für obiges Vorhaben geeignet bzw. für Plugins zulässig ist, so dass man diese Funktion in ein eigenständiges Plugin auslagern könnte?
Diese Frage geht jetzt daher an die Entwickler des TV-Browsers und des Lieblingssendungen Plugins, wenn ihr mir aufzeigen könntet, wie man hier am besten ansetzen könnte oder was ihr davon haltet, würde ich das super finden.
Gast

Re: Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von Gast »

Noch eine kleine Anmerkung.

Die ODS Datei ist dazu gedacht, ständig erweitert und verändert zu werden.
D.h. es werden neue Einträge eingefügt oder alte gelöscht.
Daher würde der Import aus der ODS Datei in den TV-Browser nicht nur einmalig vorkommen, sondern mehrmals.
Dementsprechend sollten also doppelte Einträge verhindert bzw. ignoriert werden können.

Einträge die in TV-Browser schon vorhanden sind, aber in ODS gelöscht wurden oder nie vorhanden waren, sollten dagegen vorhanden bleiben.
Denn manchmal fügt man ja auch eine Lieblingssendung direkt aus der Programmübersicht des TV-Browsers in die Lieblingsliste hinzu, da wäre es dann doof, wenn diese Informationen mit einem ODS Import überschrieben oder gelöscht werden würden.
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von ds10 »

Es gibt keine "erlaubte" Zugriffsmöglichkeit auf die Lieblingssendungen. Du hast damit zwei Möglichkeiten, du ignorierst das "Verbot" des Direktzugriffs, denn man kann zugreifen, wenn man das unbedingt möchte oder dein Plugin verwaltet die Sendungen komplett selbst, inklusive Ausschlüssen, also so eine Art zweites Lieblingssendungsplugin.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Gast

Re: Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von Gast »

ds10 hat geschrieben:Es gibt keine "erlaubte" Zugriffsmöglichkeit auf die Lieblingssendungen. Du hast damit zwei Möglichkeiten, du ignorierst das "Verbot" des Direktzugriffs, denn man kann zugreifen, wenn man das unbedingt möchte oder dein Plugin verwaltet die Sendungen komplett selbst, inklusive Ausschlüssen, also so eine Art zweites Lieblingssendungsplugin.
Ist es gestattet das Lieblingssendungsplugin zu forken?
Das würde die Sache vereinfachen.

Anderseits könnte ich mir aber vorstellen, dass dieser Import von Lieblingssendungen sicher auch für andere Interessant sein könnte.
Manche nutzen z.B. Excel, bräuchten also ein Excel Import Plugin, andere nehmen HTML oder irgendetwas anderes.
Daher würde ich sagen, dass es aus meiner Sicht sinnvoll wäre, wenn man eine offizielle für Plugins nutzbare Schnittstelle in das Lieblingssendungsplugin einbaut.
Für TVGenial gibt es so etwas ja schließlich auch schon obwohl damit zu rechnen ist, dass nur ein Bruchteil der TV Browser dies nutzen. Es wäre also auch sinnvoll die TVGenial Funktion in ein externes Plugin auszulagern, das würde sauberer wirken.
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von ds10 »

Natürlich darfst du den Quellcode des Plugins benutzen, ist alles unter GPLv3.

Dass TVGenial-Import vorhanden ist, hat wohl eher damit zu tun, dass Martin, der TV-Browser zuerst entwickelt hat, Favoriten aus TVGenial importieren wollte.

Du kannst dir alternativ auch gerne eine Möglichkeit ausdenken, eine Art zweiter Plugin-Schnittstelle für die Lieblingssendungen anzubieten, mit der Import-/Exportfunktion durch hinzufügen kleiner Komponenten ermöglicht wird.

Die Plugin-Schnittstelle von TV-Browser ist dafür weniger geeignet, obwohl ab 3.4 eine Kommunikationsmöglichkeit zwischen Plugins hinzugekommen ist, die ist zwar momentan nur für externe Plugins, ließe sich aber auch auf interne Plugins ausweiten.
http://sourceforge.net/p/tvbrowser/code ... ation.java

D.h. du könntest eine solche Kommunikationsklasse für die Lieblingssendungen entwickeln, die kann dann in TV-Browser eingebunden werden und Plugins würden dann Zugriff auf diese Kommunikationsklasse über den PluginManager bekommen. So ließen sich dann über normale Plugins Funktionen zu den Lieblingssendungen hinzufügen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Gast

Re: Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von Gast »

Das hört sich doch schon gut an. Ich habe mir das jetzt auch mal näher angesehen und jetzt eine ungefähre Vorstellung davon, wie man das umsetzen müßte.
Dennoch würde ich mir, um sicher zu gehen, noch gerne ansehen, wie andere Plugins diese PluginCommunication Superclass verwenden, damit ich mir ein bessere Bild davon machen kann.
Könntest du mir kurz sagen, welches Plugin diese PluginCommunication Klasse schon verwendet?
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von ds10 »

Keines, das ist komplett neu seit 3.4, daher gibt es auch noch kein Plugin was das anbietet.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Zugriff auf Lieblingssendungseinträge von Plugin aus?

Beitrag von ds10 »

Ich habe mal schnell zwei Plugins geschrieben, die die Funktion der Kommunikation demonstrieren:
http://www.tvbrowser.org/downloads/test ... onTest.jar
http://www.tvbrowser.org/downloads/test ... nector.jar

Installiere die beiden Dateien einfach durch ziehen vom Dateimanager in das TV-Browser-Fenster.
Nach einem Neustart hast du im Menü unter Extras, den Eintrag "Show me CommunicationTestInterface", den anklicken, dann wird dir das Interface von CommunicationTest angezeigt.

Quellcode beider Plugins ist in den Paketen enthalten, also einfach entpacken zum Ansehen des Quellcodes.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten