RSS-News mit Samurize anzeigen

Aus Deskmodder Wiki

Für die RSS-News benötigen wir die pnews.dll

Beschreibung

pNews ist ein RDF/RSS Newsreader für Samurize. Neben Standardnews können auch andere RDF/RSS-xml-Files ausgelesen werden. Diese können im Internet oder local auf der Festplatte liegen. Die Darstellungsform ist Einzelnews oder in Form einer Liste (untereinander oder als Ticker). Um Configs evtl. rotieren zu lassen, können die XML-Files auch auf der Platte gespeichert werden. Dies entlastet die Internetverbindung und lässt auch schnelle Rotationen zu.

Voraussetzungen

Msxml4.0, ist wahrscheinlich auf den meisten Systemen schon installiert, bei einer Fehlermeldung wie "Komponente ist nicht installiert oder registriert. MSXML4 fehlt", müßt ihr es bei Microsoft downloaden

Installation

Das Archiv in das Samurize verzeichnis entpacken, so das die pNews2.dll im plugin-verzeichnis (z.B. C:\Programme\Samurize\plugins\) und die pNews2.ini im plugins\pNews\-Verzeichnis (z.B. C:\Programme\Samurize\plugins\pNews\) liegt. 4. Die pNews2.ini In der pNews2.ini werden die Addressen der XML-Files (www oder local) hinterlegt. Diese Datei ist mit einen einfachen Texteditor zu bearbeiten. Unter der Section [Sites] wird ein RDF/RSS-Feed bestehend aus Sitename und Adresse (SiteName=Addresse) eingetragen:

  • SiteName
    • Ein freigewählter Name für die Seite. Dieser muß eindeutig sein, und kein zweitesmal in der Datei als Sitename vorkommen.
  • Adresse
    • Die genaue Adresse des RDF/RSS-Feeds.


Beispiel einer pNews2.ini mit www und lokaler Datei:

[Sites]

Heise = http://www.heise.de/newsticker/heise.rdf

Telefon = C:\Programme\PowerISDNMonitor\journal.xml

Erstellung einer Config

Einen neuen Meter als Plugin einfügen. Unter der Registerkarte Quelle die pNews2.dll auswählen. Jetzt ist festzulegen ob die einzelnen pNews-Meter einer Config local gespeichert werden sollen.

Im Normalfall (keine automatische Rotation von pNews-Configs im Sekundentakt) könnt ihr gleich mit den Punkt GetNews weitermachen.

Allgemeine Einstellungen

Pnews 1.png

Diese Einstellung ist nur einmal pro Samurize-Config zu tätigen und gilt auch nur für diese. Die Einstellung der Aktualisierung der Seiten wird im Dialog der Funktion GetNews vorgenommen. Wird diese Option aktiviert so werden alle Seiten/Files eine Samurize-Config im Verzeichnis {DeinSamuVerzeichniss}\plugins\pNews gespeichert.

Funktion GetNews

Pnews 2.png

Nachdem ein Meter mit der pNews erstellt wurde, wird dieses unter "Einstellungen..." konfiguriert. News Liest Standard RSS/RDF-Files. Es wird der Titel (Headline) und ggf der Link ausgegeben.

  • Freestyle

Bei der Freestyle-Option können x-beliebige xml-Files durch die Angabe der Nodenamen ausgelesen werden.

  • Startline

Mit der Startline wird angegeben ab welcher News/xml-Zeile ausgelesen werden soll. Gültig sind alle numerischen Werte zw. 1 und der Maximalen Anzahl der News/Keynode's einer News/XML-File

  • Endline

Mit der Endline wird angegeben bis zu welcher Zeile die News ausgegeben werden sollen. Ist die Endline kleiner oder gleich als die Startline so wird eine Einzelnews ausgegeben. Ist sie größer, werden die News als Liste ausgegeben. Auch hier sind die Gültigen Werte alle Zahlen zw. 1 und der maximalen Anzahl der News/Keynode's.

  • Style

Bestimmt die Ausgabeform wenn mehrere News in einem Meter ausgegeben werden sollen. Ist nur verfügbar wenn die Option News gesetzt und die Endline größer der Startline ist.

  • Freestyle-Optionen

Durch die Angabe von Keynode und Template können Nicht-RDF/RSS-Files mit pNews angezeigt werden. Beachtet die Beispiele unten. Keynode: Ist der Name der Node mit dem eindeutig die News identifiziert werden kann. In RDF/RSS ist dies z.b. "item". Es kann hier aber auch der komplette XPath angegeben werden. Template: Die Templates sind eine Art Vorformatierung für die Ausgabe. Hier werden die Namen der Node's angegeben, dessen Werte angezeigt werden sollen, z.B. "<title>%l<link>".

  • Filter HTML

Es werden alle im Text vorkommende HTML-Tags aus dem Augabetext entfernt.

  • Filter Wrap

Ist diese Option gesetzt, werden alle Zeilenumbrüche aus dem Text entfernt.

  • Replace HTMLChar

Umwandlung der evtl. im Text vorkommenden HtmlCodes (z.B. ä --> ä) in lesbare Zeichen.

  • Updateinterval

Alle x-Minuten wird die News aktualisiert.

Beispiele

Beispiel 1: Beschreibung aus RDF/RSS

Um die "Description" einer RDF/RSS-File auszulesen um sie z.B. mit den Tooltips anzeigen zu lassen sind und bei einem Mouseklick auf die entsprechende Newsseite zukommen....

  • NewsSite: --> auswählen
  • Freestyle: --> aktivieren
  • Start-/Endline: --> 1/1 o. 2/2 etc.
  • KeyNode: --> item
  • Template: --> <description>%l<link>
<?xml version="1.0" encoding="ISO-8859-1"?> 
<!-- generator="FeedCreator 1.6" --> 
<rss version="2.0"> 
 <channel> 
  <title>Golem.de</title> 
  <description>IT-News fuer Profis</description> 
  <link>http://www.golem.de/</link> 
  <lastBuildDate>Sat, 07 Jan 2006 10:33:03 +0000</lastBuildDate> 
  <generator>FeedCreator 1.6</generator> 
  <image> 
   <url>http://www.golem.de/_img/golemlogo_70.png</url> 
   <title>Golem.de Logo</title> 
   <link>http://www.golem.de/</link> 
   <description>Golem.de News Feed</description> 
  </image> 
  <language>de</language> 
  <item> 
   <title>Google: Videomarktplatz und kostenloses Software-Paket</title> 
   <link>http://www.golem.de/0601/42586.html</link> 
   <description>Viel Trubel gab es im Vorfeld der Google-Keynote ....</description> 
   <comments>http://forum.golem.de/read.php?8095</comments> 
   <pubDate>Sat, 07 Jan 2006 09:13:00 +0000</pubDate> 
   <guid>http://www.golem.de/0601/42586.html</guid> 
  </item> 
  <item> 
   <title>Panasonic mit 103-Zoll-Plasma für 1080p</title> 
   <link>http://www.golem.de/0601/42585.html</link> 
    <description> Panasonic hat auf der CES 2006 .... </description> 
   <comments>http://forum.golem.de/read.php?8094</comments> 
   <pubDate>Sat, 07 Jan 2006 08:51:00 +0000</pubDate> 
   <guid>http://www.golem.de/0601/42585.html</guid> 
  </item> 
 </channel> 
</rss>

Beispiel 2: XML-Files

Um mehrere Nodedaten in einem Meter anzugeben, z.B. Up/Down eines Torrent-xml....

  • NewsSite: auswählen
  • Freestyle: aktivieren
  • Start-/Endline: 1/1
  • KeyNode: Settings
  • Template: TUp: <TotalUpload> TDl: <TotalDownload>
<?xml version="1.0"?> 
<BitComet Author="RnySmile" Version="0.1"> 
<Settings> 
 <DefaultDownloadPath>p:\</DefaultDownloadPath> 
 <TrackerRulesHash>123456789abcdef</TrackerRulesHash> 
 <FavouriteFileHash>123456789abcdef</FavouriteFileHash> 
 <WeblinkFileHash>123456789abcdef</WeblinkFileHash> 
 <LastTorrentDirectory>C:\Documents and Settings\invicta\Application Data\uTorrent</LastTorrentDirectory> 
 <LastSaveLocation>p:\</LastSaveLocation> 
 <ListenPort>40000</ListenPort> 
 <ProxyType>4</ProxyType> 
 <ProxyForHttpOnly>1</ProxyForHttpOnly> 
 <MaxDownloadingTask>4</MaxDownloadingTask> 
 <GlobalMaxUploadRate>15360</GlobalMaxUploadRate> 
 <StartupAutoRunTask>1</StartupAutoRunTask> 
 <StartupWithWindows>1</StartupWithWindows> 
 <MinimizeToTray>0</MinimizeToTray> 
 <ConfirmExit>0</ConfirmExit> 
 <EnableUPnP>0</EnableUPnP> 
 <EnableICF>0</EnableICF> 
 <ReleasePortMappingOnExit>1</ReleasePortMappingOnExit> 
 <LastAutoUpdateCheckDate>13187</LastAutoUpdateCheckDate> 
 <LastTrackerKey>15489</LastTrackerKey> 
  <TotalUpload> 321647480 </TotalUpload> 
  <TotalDownload> 1185324703 </TotalDownload> 
 <LastExitTime>1139342294</LastExitTime> 
</Settings> 
</BitComet>

Beispiel 3: xPath

Sind die News in z.B. verschiedenen Channels verteilt und will man nur nach bestimmten Channels filtern son kann man statt der Angabe einer einzelnen Keynode, den gesammten XPath zu eine Keynode angeben. In diesem Beispiel werden die Playlisten von verschiedenen Radiostationen angegeben und unter Verwendung eines Filters wird hier nur die Playliste des Senders "Trance" ausgegeben. Pro Sender sind immer 5 Titel angeben, also lassen wir uns alle in einem Meter anzeigen. Da wir als Darstellungsform eine Liste gewählt haben müssen wir noch ein %b anhängen.

  • NewsSite: auswählen
  • Freestyle: aktivieren
  • Start-/Endline: 1/5
  • KeyNode: /PLAYLISTS//CHANNEL[CHANNELTITLE='Trance']//TRACK
  • Template: <TRACKTITLE> - <LABEL> %b
<?xml version="1.0"?> 
<PLAYLISTS> 
 <STATIONTITLE>Digitally Imported Radio</STATIONTITLE> 
 <STATIONURL>http://www.di.fm</STATIONURL> 
  <CHANNELS> 
  <CHANNEL> 
   <CHANNELTITLE>VocalTrance</CHANNELTITLE> 
   <TRACKS> 
    <TRACK> 
     . 
     . 
     . 
    </TRACK> 
   </TRACKS> 
  </CHANNEL> 
   <CHANNEL> 
   <CHANNELTITLE> Trance </CHANNELTITLE> 
   <TRACKS> 
    <TRACK> 
      <TRACKTITLE> Sly One presents - Euphorasm Vol. 3 (A Celebration) </TRACKTITLE> 
     <STARTTIME>1139766545</STARTTIME> 
     <LABEL></LABEL> 
     <TRACKURL>http://forums.di.fm/showthread.php?t=88707</TRACKURL> 
     <BOARDCOUNT>518</BOARDCOUNT> 
     <EXTRAURL TITLE=""></EXTRAURL> 
     <BUYURL1 FROM=""></BUYURL1> 
     <BUYURL2 FROM=""></BUYURL2> 
     </TRACK> 
    <TRACK> 
      <TRACKTITLE> Moontrap - Follow the Sun </TRACKTITLE> 
     <STARTTIME>1139766357</STARTTIME> 
     <LABEL></LABEL> 
     <TRACKURL>http://forums.di.fm/showthread.php?t=20868</TRACKURL> 
     <BOARDCOUNT>65</BOARDCOUNT> 
     <EXTRAURL TITLE=""></EXTRAURL> 
     <BUYURL1 FROM=""></BUYURL1> 
     <BUYURL2 FROM=""></BUYURL2> 
     </TRACK> 
    <TRACK> 
     . 
     . 
     . 
     </TRACK> 
   </TRACKS> 
  </CHANNEL> 
  <CHANNEL> 
   <CHANNELTITLE>TopHits</CHANNELTITLE> 
   . 
  </CHANNEL> 
  <CHANNEL> 
   <CHANNELTITLE>SmoothJazz</CHANNELTITLE> 
   . 
  </CHANNEL> 
  <CHANNEL> 
   . 
  </CHANNELS> 
 <GENERATETIME>12:08:43</GENERATETIME> 
</PLAYLISTS>

Vielen Dank an lalabyte für das Plugin und das Tutotial