Das Import-Skriptinterface

Da sich der Inhalt und Aufbau von Webseite ständig ändert und verschiedene Benutzer unterschiedliche Vorlieben haben, habe ich eine Skript-Schnittstelle zum Import von Daten eingebaut. Hierdurch kann jeder seine Lieblingsdatenquellen relativ einfach in das Video-Modul einbinden.

Bitte schickt mir Eure entwickelten Skripte zu damit ich diese hier zum Download anbieten kann. Je nach Wunsch anonym oder mit Angabe der Autors (Name oder Webseite oder was Ihr wollt). Dieses Feature lebt von Eurer Mitarbeit.  Danke

Mögliche Programmiersprachen für die Skripte:

Was muss man tun um ein weiteres Importskript hinzuzufügen?

also eigentlich nicht viel, das sollte jeder schaffen der ein wenig programmieren kann. Aber auch ohne tiefere Kenntnisse von c# und .NET lassen sich durch leichte Modifizierungen an den Beispielskripten andere Datenquellen einbinden.

Aufbau der XML-Dateien

<?xml version="1.0" encoding="utf-8" ?>
<xmlscript>
  <ScriptLanguage>Microsoft.CSharp</ScriptLanguage>
  <ScriptCode>
  <![CDATA[
Code zum liefern der Daten steht hier (C# oder VB je nach dem was man unter ScriptLanguage angibt)

  ]]>

  </ScriptCode>
  </xmlscript>

Einfach oder? Also erst den Dateityp (xml Version 1) dann den Codesatz (UTF-8) und danach die Knoten:

Angaben im Einstellungsdialog

  1. Skriptname: der Name des Skriptes so wie er nachher auch im Importdialog angezeigt werden soll. Der Name muss eindeutig sein.

  2. Pfad zur XML-Datei die das Skript zum liefern der Filmliste beinhaltet

  3. Pfad zur XML-Datei die das Skript zum Liefern der Filmdetails beinhaltet.

Gibt man keinen kompletten Pfad an, so sucht das Programm in <Programmpfad>/Scripts/<Name> nach den Skripten.

Das eigentliche Programmierinterface

Jetzt zum Kern des Interfaces, was geht und was geht nicht und vor allem wie geht es und was genau für Schnittstellen stehen einem als Programmierer zu Verfügung.

Prinzipiell implementieren die Skripte das Innere von Methoden. D.h. man muß pro Datenquelle zwei Methoden (Liste + Details) implementieren. Der Datenaustausch erfolgt über Methodenparameter bzw. Rückgabewerte die fest definiert sind.

Was bekommen meine Skripte als Eingangsdaten (VDB an Skript)?

  1. Das Filmlistenskript bekommt den Suchbegriff (Filmname) als Eingangsdaten und liefert eine Liste von Filmnamen + Quellen (URLs) zurück (ImExportFilmListData). Der Name der Variablen lautet "searchstring". D.h. im Skript kann diese Variable zur suche der Filme verwendet werden.

  2. Das Filmdetailskript bekommt eine URL eines Filmes aus 1. als Eingabeparameter und liefert alle filmrelevanten Detaildaten zurück (ImExportFilmDetailsData). Der Name der Variablen lautet "filmurl". D.h. im Skript muss man diese URL auswerten um die Filmdetails zurückliefern zu können.

Wie funktioniert die Datenübergabe (Rückgabe vom Skript an VDB)?

            ImExportFilmListData filmlistdata=new ImExportFilmListData();
            filmlistdata.FilmName="Name des Filmes";
            filmlistdata.FilmSource="Name der Datenquelle zur Anzeige";
            filmlistdata.FilmURL="URL der einzelnen Filmdaten zur weiteren Auswertung;
            filmlist.Add(filmlistdata);

<code zur analyse der details mittels URL>
<dann zuweisen der Daten z.B.>
filmdata.Genre=<was auch immer ich bei der Analyse gefunden habe>
filmdata.xyz=.....

Was kann ich alles für Klassen benutzen?

Alles was innerhalb der folgenden Namensräume bekannt ist:

Die Dokumentation hierzu findet Ihr auf den Microsoftseiten. Zusätzlich noch folgende Klassen:

Die Klassenbeschreibungen befinden sich HIER.

Wie kann man Debuggen/Fehler suchen?

Hierzu kann man sein Skript mit Debugausgaben versehen. Z.B:
    log.Info("VDB: Filmlistenabfrage gestartet...");
zusätzlich zu Info gibt es noch Warn, Error, Debug. Die Ausgaben landen alle im Logfile.

Man kann man sich auch mit einer MessageBox behelfen:
     MessageBox.Show("Text der angezeigt werden soll");

Syntaxfehler im Skript werden in einer Fehlerbox bei der Ausführung ausgegeben z.B:

Hier wurde in Zeile 30 eine Methode WriteLine aufgerufen die es nicht gibt.

Letzte Änderung: 01.11.05
Info / Webmaster