RSS-Feed von Webseiten erzeugen

Dank RSS ist es möglich die Inhalte vieler Webseite in einem RSS-Reader zu sammeln. So können Nachrichten bequem an zentraler Stelle gelesen werden. Allerdings bieten längst nicht alle Webseiten einen solchen RSS-Feed an. Damit diese nicht immer wieder von Hand besucht werden müssen, bietet sich FetchRSS an. Mithilfe dieses Dienstes können RSS-Feeds aus Webseiten erstellt werden.

Mit FetchRSS können RSS-Feeds für Webseiten erzeugt werden

Dazu wird die Webseite in einem Editor des Dienstes geöffnet. In diesem kann der Nutzer die Bestandteile des neuen RSS-Feeds auswählen. Anhand der Auswahl wird der neue Feed erzeugt. Bis zu fünf Feeds können auf diese Art und Weise in der freien Version erstellt werden. Die freie Version wird durch Werbung in den RSS-Feeds finanziert. Daneben existieren weitere Subskriptionsmodelle, mit denen mehr Feeds bezogen werden können. Zu finden ist der Dienst unter fetchrss.com.

Tiny Tiny RSS installieren und als Google Reader Alternative benutzen

Da der Google Reader ja bald eingestellt wird, sollte man sich langsam darüber Gedanken machen, wie es weitergeht. Natürlich kann man auf fremde Dienste wie Feedly wechseln. Allerdings behagt dieser Gedanke nicht jedem, da man wieder an einen bestimmten Anbieter gebunden ist. Eine Abhilfe schafft hier die Software “Tiny Tiny RSS” welcher auf PHP und MySQL (wahlweise auch PostgreSQL aufsetzt). Die Software selbst steht dabei unter der GPLv2.

Probleme bei der Installation

Probleme bei der Installation

Nachdem man die Software heruntergeladen hat und auf seinen Webspace kopiert hat, kann es auf einigen Systemen beim Test der Konfiguration zu Problemen mit der Einstellung “open_basedir” kommen. Hat man hier keine Möglichkeit dies umzustellen oder möchte dies nicht, so muss man einige kleinere Anpassungen am Quelltext von “Tiny Tiny RSS” vornehmen. Dazu wird in den Dateien “include/sanity_check.php” und “install/index.php” der Absatz:

if (ini_get("open_basedir")) {
  array_push($errors, "PHP configuration option open_basedir is not supported. Please disable this in PHP settings file (php.ini).");
}

auskommentiert. Danach sollte die Installation gelingen. Nach der Installation kann man sich mit den Standardnutzerdaten “admin” und “password” anmelden. Das Passwort sollte man anschließend sofort ändern. In den Einstellungen wird unter Benutzer ein neuer Nutzer angelegt, damit man nicht mit einem administrativen Account arbeiten muss.

Wenn man seine Daten mittels Google Takeout exportiert hat, kann man die “subscriptions.xml” aus dem Export in “Tiny Tiny RSS” importieren. Dazu geht man in den Einstellungen auf den Tab “Feed” und dort auf “OPML”. Dann kann man die entsprechende Datei importieren.

Tiny Tiny RSS in Aktion

Tiny Tiny RSS in Aktion

Danach kann man seine Feeds in der Oberfläche bewundern. Die erste (manuelle) Aktualisierung kann dabei durchaus einige Zeit in Anspruch nehmen. Nun gilt es die automatische Aktualisierung der Feeds mittels eines Cronjobs in Angriff zu nehmen. Dazu wird ein Cronjob erstellt welcher alle 15 Minuten die URL:

http://example.org/ttrss/backend.php?op=globalUpdateFeeds&daemon=1

aufruft, wobei der Teil “http://example.org/tsrss/” natürlich durch die eigene URL ersetzt werden muss. Die Webapplikation stellt auf Wunsch (in den Einstellungen konfigurierbar), eine API zur Verfügung, so das man auch Apps mit ihr betreiben kann. So gibt es für Android einen Client mit dem selben Namen.

Tiny Tiny RSS (TRIAL)
Tiny Tiny RSS (TRIAL)
Entwickler: Andrew Dolgov
Preis: Kostenlos

Für iOS scheint es da noch keine adäquate Lösung zu geben wobei ich mir wünschen würde, das Mr.Reader das ganze in eine neue Version integrieren würde.

Die Mobilansicht von Tiny Tiny RSS

Die Mobilansicht von Tiny Tiny RSS

Die Mobilansicht auf entsprechenden Geräten ist leider etwas fummelig, wobei es sich nicht um die richtige Mobilansicht handelt, sondern um die normale Ansicht. Die mobile Ansicht kann über das System Plugin “mobile” aktiviert werden. Allerdings wird sie nicht mehr gewartet und ist wohl auch nicht der Weisheit letzter Schluss.

Abhilfe schafft hier ttrss-mobile welches über die API mit dem Hauptsystem kommuniziert. Nachdem man die Software auf seinen Webspace hochgeladen hat, muss man noch die Pfade in der “conf.js” anpassen. Anschließend kann man sich mit seinen Zugangsdaten einloggen.

In den Einstellungen gibt es auch einige interessante Nutzerplugins wie z.B. “mail” mit welchem man Artikel per Mail versenden kann. Alles in allem ist “Tiny Tiny RSS” ein robustes Stück Software, welches nach der Installation genau das macht was es soll. Die offizielle Seite der Software ist dabei unter http://tt-rss.org zu finden.

Weitere Informationen gibt es unter:
http://michaelsonntag.net/tiny-tiny-rss-tutorial-1-installation-konfiguration/
http://michaelsonntag.net/tiny-tiny-rss-tutorial-2-optische-anpassungen-und-plugins/
http://michaelsonntag.net/tiny-tiny-rss-tutorial-3-artikel-feiner-strukturieren/
http://michaelsonntag.net/tiny-tiny-rss-tutorial-4-noch-ein-paar-kleinigkeiten/
http://www.linux.com/learn/tutorials/322446-weekend-project-replacing-google-reader-with-tiny-tiny-rss

Google Reader und wie es weitergeht

Google Reader wird zum ersten Juli 2013 eingestellt. Nun stellt sich für viele Leute die Frage, wie geht es weiter? Meist wird Google Reader nicht nur zum Lesen und Verwalten der Feeds benutzt, sondern auch zur Synchronisation der Feeds respektive der Artikel (gelesen, ungelesen et cetera) zwischen den Clients verwendet. So kann man seine Artikel auf mehreren Geräten lesen und hat keine Probleme mit doppelten Artikeln.

Zwar gibt es eine Petition welche sich gegen die Schließung ausspricht, aber ob daraus etwas wird steht in den Sternen. Wenden wir uns stattdessen lieber Plan B zu. Im ersten Schritt kann man seine Feeds mittels Google Takeout auf der lokalen Festplatte sichern. Sicher ist bekanntlich sicher.

Als Alternative zu Google Reader legen wir uns einen Account bei feedly an. Dazu laden wir uns eine der Feedly Apps für das entsprechende und gewünschte System herunter. Eine Weboberfläche (ohne installierte Erweiterung) gibt es im Moment leider noch nicht. Allerdings soll später ein Google Reader API Klon nachgereicht werden, so das auch Clients welche auf diesem aufsetzten, später wieder ohne größere Änderungen funktionieren sollten.

feedly erfordert eine Bestätigung

feedly erfordert eine Bestätigung

In der App wird dann der Login betätigt und anschließend die Verknüpfung mit dem Google Konto hergestellt. So lange Google Reader noch aktiv ist, geht das ganze problemlos. Im Hintergrund wird bei feedly im Moment an einer eigenen RSS Engine gearbeitet, so das dass ganze ab Juli auch ohne Google Reader funktioniert.

Weitere Informationen gibt es unter:
http://blog.feedly.com/2013/03/14/google-reader/
http://www.golem.de/news/feed-reader-google-reader-wird-komplett-eingestellt-1303-98176.html
http://www.heise.de/newsticker/meldung/Google-macht-den-RSS-Dienst-Reader-dicht-1822669.html

Podcast Feed selbstgemacht

Manchmal möchte man zu ein paar Audiodateien einen RSS Feed haben, z.B. für einen privaten Podcast. Natürlich kann man sich einen solchen Feed von Hand zusammenbauen, einfacher ist es mit diesem kleinen PHP Skript:

<?php
  //Podcast Feed Script
  //Copyright (c) 2012 by seeseekey <seeseekey@gmail.com>
  //
  //This program is free software: you can redistribute it and/or modify
  //it under the terms of the GNU General Public License as published by
  //the Free Software Foundation, either version 3 of the License, or
  //(at your option) any later version.
  //
  //This program is distributed in the hope that it will be useful,
  //but WITHOUT ANY WARRANTY; without even the implied warranty of
  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  //GNU General Public License for more details.
  //
  //You should have received a copy of the GNU General Public License
  //along with this program.  If not, see <http://www.gnu.org/licenses/>.

  //Basis URL ermitteln
  $baseURL="http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  $baseURL=dirname($baseURL) . "/";

  //XML Header setzen
  header('Content-type: text/xml');

  //RSS Datei zusammenbauen
  $output = '<rss version="2.0">'."\n";
  $output .= '  <channel>'."\n";
  $output .= '    <title>seeseekey.net (privater Podcast)</title>'."\n";
  $output .= '    <description>Ein privater Podcast von seeseekey.net</description>'."\n";
  $output .= '    <link>https://seeseekey.net</link>'."\n";
  $output .= '    <copyright>(c) 2012 by seeseekey</copyright>'."\n";

  //Audio Dateien in RSS Feed einpflegen
  $files = scandir('.');
  foreach ($files as $file)
  {
    $pathparts = pathinfo($file);
    if($pathparts['extension']!="mp3") continue;

    $output .= '    <item>'."\n";
    $output .= '      <title>'.$file.'</title>'."\n";
    $output .= '      <enclosure url="'.$baseURL.$file.'" length="'.filesize($file).'" type="audio/mpeg"/>'."\n";
    $output .= '    </item> '."\n";
  };

  //RSS Feed wieder schließen
  $output .= '  </channel>'."\n";
  $output .= '</rss>'."\n";

  //RSS Feed ausgeben
  echo($output);
?>

Dieses Skript ließt alle MP3 Dateien aus einem Ordner aus und baut daraus einen RSS Feed. Dieser kann dann in der Podcasting App der Wahl eingefügt werden, indem man die URL angibt so z.B. “http://example.org/podcast.php”. Das Skript selbst steht dabei unter der GPLv3 und lässt sich auch unter https://github.com/seeseekey/archive/blob/master/Web/podcast.php herunterladen.

Probleme mit OSM und W3 Total Cache

Unter WordPress kann es mit dem “W3 Total Cache” und dem OSM Plugin unter Umständen Probleme geben. Wenn beide Plugins aktiviert sind, kann es sein das der Feed der Webseite nicht mehr dargestellt werden kann.

Der fehlerhafte RSS Feed

Abhilfe schafft es hier etwas an den “W3 Total Cache” Einstellungen zu ändern.

Die “Minify” Einstellungen

In den “Minify” EInstellungen von “W3 Total Cache” muss unter “HTML & XML” der Punkt “Inline JS minification” deaktiviert werden. Anschließend sollte der “Minify” Cache noch geleert werden und danach sollte auch der RSS Feed wieder funktionieren.