Achtung!

Der Webbaukasten wird nicht mehr aktiv betreut und nicht mehr weiter entwickelt. Verwenden Sie stattdessen das CMS-Angebot des RRZE.
Die Dokumentation des CMS-Angebotes finden Sie auf der Website wordpress.rrze.fau.de.

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

Voraussetzungen:

  1. Auf Webbaukasten der Fau basierter Webauftritt (am besten in der aktuellsten Version)
  2. Feedadresse des Blogs (z.B. "http://blogs.fau.de/danielbabel/feed/", Siehe Abb. 2)
  3. Die vorinstzallierte feed-Scripte im Ordner /cgi-bin/. Die Datei "feedimport.conf" soll im Ordner websource/vkdaten vorhanden sein. (Beispiel Datei)
Bild des eigenen Blogs

Abb. 1: FAU-Blog

Feed von einem FAU Blog

Abb. 2: Beispiel des Feeds eines Blogs

!!!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!!!

Einbindung von Feed(s)

  1. Einfügen des Feeds in die "feedimport.conf" Datei (per SSH oder NavEditor), z.B.:
    Feed-1 Daniel Babels Blog http://blogs.fau.de/danielbabel/feed/
    Hierbei muss zwischen den einzelnen Angaben ein Tabulator gesetzt werden.
  2. Das Feed-Script wird im Inhaltsbereich des HTML-Dokuments aufgerufen:
    <!--#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".

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

Eingebundener Feed

Bestimmte Anzahl von Blogeinträgen

Beim Einbinden des Feed-Scripts kann kann man angeben, wie viele Blogeinträge man anzeigen möchte. Die einzelne Parameter werden mit dem Slash / getrennt. Das erste Parameter bedeutet die Nummer des Blogs (aus der Config-Datei)
, das zweite Parameter steht für die Anzal der Blogeinträge

<!--#include virtual="/cgi-bin/feeds/feedimport.pl/1/2"-->

In diesem Beispiel steht "1" für die Nummer des Bloges (ID) und "2" steht für die maximale Anzahl der Blogartikel.

Zeichenanzahl beschränken

Um die Zeichenanzahl der auf der Webseite angezeigten zu begrenzen, fügt man ein weiteres Parameter beim Scriptaufruf hinzu.

Zum Beispiel: Man möchte immer nur maximal 100 Zeichen des jeweiligen Eintrages anzeigen lassen:

<!--#include virtual="/cgi-bin/feeds/feedimport.pl/1/2/100"-->

Durch diesen Aufruf werden 100 Zeichen der ersten zwei Beiträgen von dem Blog mit ID 1 angezeigt.

Aufruf 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 "iwan.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

Cron-Job mittels des Scripts

Der Cron-Job kann auch mittels eines Skriptes, z.B. /bin/create-news.sh realisiert werden, der den Export des Feeds übernimmt. Zum Einzeigen der Einträge des Blogs mit ID 1 wird der folgende Code benötigt:

 
#!/usr/bin/tcsh -f
cd /proj/websource/docs/RRZEWeb/www.vorlagen.uni-erlangen.de/cgi-bin/feeds/
umask 022
./feedimport.pl 1 > ../../websource/ssi/letzte-meldungen.html
                                

Die Zahl 1 hinter ./feedimport.pl steht dabei für den Blog-ID.
Anschliessend wird die Ergebnis-Datei letzte-meldungen.html im Inhaltsbereich des HTML-Dokuments eingebunden:

<!--#include virtual="/ssi/letzte-meldungen.html"-->

Auch bei dem Shelaufruf kann das Parameter "Anzahl der Blogeinträge" genutzt werden. Zum Beispiel es sollen jeweils 3 letzten Eintrage des Blogs mit Id 2 angezeigt werden:

./feedimport.pl 2 feed 3 > ../../websource/ssi/feed-2-3-tmp.shtml
    if (-f ../../websource/ssi/feed-2-3-tmp.shtml) then
mv ../../websource/ssi/feed-2-3-tmp.shtml ../../websource/ssi/feed-2-3.shtml
    endif
                                

Hinter ./feedimport.pl steht die Blog-Id 2 und nach dem "feed" die Anzahl der Blogeinträgen 3.
Die Ergebnis-Datei feed-2-3.shtml bindet man an der ensprechenden Stelle im Inhaltsbereich des HTMLs ein:

<!--#include virtual="/ssi/feed-2-3.shtml"-->