Grundlegende Schritte zum einbinden von Feeds in den Webbaukasten. Tutorial von Daniel Babel.

Voraussetzungen:

  • Webauftritt des RRZE bzw. RRZE Webbaukasten (am besten in der aktuellsten Version)
  • Feed bzw. Blogartikel (FAU-Blog-System kann verwendet werden) welcher eingebunden werden soll

    Beispiel: Blog aus dem FAU-Blog-System

Bild des eigenen Blogs

  • die Datei "feedimport.conf" im Ordner "websource/vkdaten" (Beispiel Datei)


!!!Achtung: Falls im Vorfeld schon einmal mit der Blog-Importier-Funktion experimentiert wurde, bitte zuerst die Datei "feedimport.conf" und den Ordner "cache" unter "cgi-bin/feeds" löschen!!!


Einfach nur den Blog integrieren:

  1. Feed des Wunsch-Blogs besorgen z.B. "http://blogs.fau.de/danielbabel/feed/" Sollte so aussehen:

    Feed von einem FAU Blog

  2. Einfügen des Feeds in die "feedimport.conf" Datei (per SSH oder NavEditor):
  3. Der Eintrag sollte so aussehen:

    Feed-1 Daniel Babels Blog http://blogs.fau.de/danielbabel/feed/
    Hierbei muss zwischen den einzelnen Angaben ein Tabulator gesetzt werden.
  4. Die Datei danach abspeichern und überprüfen ob auch alles gewünschte gespeichert wurde
  5. Jetzt folgt die Einbindung in die Webseite:
  6. Zum integrieren des Feeds in die Webseite muss man nun mit SSI (Server-Side-Include) den Feed integrieren, hierzu muss man nur an gewünschter Stelle im HTML-Dokument folgendes einfügen:

    <!--#include virtual="/cgi-bin/feeds/feedimport.pl/ID"-->
    ID steht hier für die ID in der "feedimport.conf" welche man seinem Blog zugewiesen hat mit "Feed-ID".
  7. Zum Abschluss muss man nur noch überprüfen, ob der Blog auch angezeigt wird. Dazu einfach die gewünschte Seite neu laden.

Hier ein Beispiel von einem eingebundenen FAU-Blog in einer Seite des Webbaukastens:

Eingebundener Feed


Nur eine bestimmte Anzahl von Blogeinträgen anzeigen lassen:

  • Hierzu muss man beim einfügen mittels SSI in die Webseite ein paar Anpassungen vornehmen:
  • Möchte man zum Beispiel vom Blog Nr.1 immer nur die ersten zwei aktuellsten Einträge anzeigen lassen so muss das Include-Statement folgendermaßen aussehen:

    <!--#include virtual="/cgi-bin/feeds/feedimport.pl/1/2"-->
  • Die 2 hinter der Angabe der ID legt fest, wie viele Einträge vom Blog maximal angezeigt werden. Hier werden dann nur die letzten beiden Einträge angezeigt.


Maximale Zeichenzahl die auf der Webseite angezeigt werden soll bestimmen:

  • Um die Zeichenzahl der Einträge die auf der Webseite angezeigt werden sollen zu begrenzen bzw. zu bestimmen, muss man auch hier wieder etwas am Include-Statement verändern.
  • Beispiel: Man möchte immer nur maximal 100 Zeichen des jeweiligen Eintrages anzeigen, dann muss das Statement letztendlich so aussehen:

    <!--#include virtual="/cgi-bin/feeds/feedimport.pl/1/2/100"-->
  • Dabei bedeutet die "1" der erste Blog der definiert wurde, "2" bedeutet immer nur die 2 aktuellsten anzeigen und die "100" letztendlich zeige mit immer nur 100 Zeichen.


Einbinden von Feeds mithilfe von Cron-Jobs:

Vorwort:
Warum die Benutzung von sogenannten Cron-Jobs?
Grundsätzliche Erklärung Cron-Jobs: Cron-Jobs sind automatische Abläufe in einem UNIX/Linux System, welche in bestimmten Zeitabständen, Programme oder Skripte ausführen. Dies erleichtert die Einbindung von Feeds in den Webbaukasten. Beim Einsatz dieser Skripte wird nicht jedes mal der Feed auf ein neues Mal in die Webseite integriert sondern nur noch eine Datei welche der Cron-Job ausgibt, in welcher dann der Feed enthalten ist.
Ergebnis: Weniger Belastung für den Webbrowser und schnelleres Laden der Seite.

Cron-Jobs bestehen aus Zeilen mit je 6 Spalten:
Spalte 1: Minuten (0 - 59)
Spalte 2: Stunden (0 - 23)
Spalte 3: Tage (1 - 31)
Spalte 4: Monate (1 - 12)
Spalte 5: Wochentag  (0 - 6, 0=Sonntag)
Spalte 6: Auszuführender Befehl

Beispiel Cron-Job:

0       12      *       *       *      echo "Hallo Welt"

Bei diesem Cron-Job wird alle 12 Stunden, Hallo Welt dem Benutzer per Mail geschickt.

Voraussetzungen:

  • "feedimport.pl" Skript aus dem Webbaukasten
  • SSH-Zugriff auf den WEB-Server
  • Benötigte Feeds eingetragen in die "feedimport.conf", siehe oben.


Schritt für Schritt:

  1. Eintragen aller benötigten Feeds in die Datei "feedimport.conf", siehe oben.
  2. SSH Login auf den Server "infodialog.rrze.uni-erlangen.de"
  3. Navigieren zum Ordner des eigenen Webauftritts
  4. Wechseln in den Ordner "cgi-bin/feeds" hier liegt das "feedimport.pl" Skript
  5. Definieren eines Cron-Jobs der "feedimport.pl" regelmäßig aufruft !!! Achtung: Keine zu kleinen Zeiten einstellen. Am besten am Tag zwei mal laufen lassen. Sonst kommt es zu unnötiger Auslastung auf dem Server, darüber hinaus kann ein zu häufiges Abrufen hervor rufen, dass die Feeds auf der Webseite nicht angezeigt werden, weil die Datei gerade in Bearbeitung ist.
  6. Ausführen des Befehls "crontab -e". Darauf geht ein Konsolen Editor auf.
  7. "i" drücken damit im Editor geschrieben werden kann.
  8. Cron-Job eintippen z.B.:

    0       12      *       *       *       /proj/websource/docs/RRZEWeb/www.test.rrze.uni-erlangen.de-2112/cgi-bin/feeds/feedimport.pl > ../../websource/ssi/letzte-meldungen.html
    Dieser Cron-Job wird alle 12 Stunden aufgerufen und speichert seine Ausgabe in der Datei "letzte-meldungen.html" im Ordner "ssi"
    Cron-Job im Cron-Editor in einer Konsole/SSH Client:

    Cronjob in der Konsole

  9. Mit ":wq" den Editor verlassen (durch diese Eingabe wird der Editor beendet und alles gespeichert). Mit "crontab -l" kann nachgeprüft werden ob das eingetippte auch gespeichert wurde
  10. Prüfen ob der Cronjob läuft. Einfach beobachten ob die Datei zur bestimmten Zeit neu erstellt wird.
  11. Einbinden der Ausgabedatei des Cronjobs in die eigene Webseite. Hierzu einfach die Datei "letzte-meldungen.html" im Ordner "websource/ssi" in der gewünschten Stelle der Webseite einbinden.

Beispiel des eingebundenen Feeds:

Eingebundener Feed

Fertig!

Der Cron-Job kann auch mittels eines Skriptes realisiert werden, der den Export des Feeds übernimmt. Beispiel:

 #!/bin/sh
cd /proj/websource/docs/RRZEWeb/www.test.rrze.uni-erlangen.de-2112/cgi-bin/feeds/
umask 022
./feedimport.pl 1 > ../../websource/ssi/letzte-meldungen.html