Hast du auch ein Gästebuch auf deiner Homepage?
Ich hab eins und eines der Probleme damit ist, woher weisst du ob jemand einen Eintrag hinterlassen hat?

Jedenfalls hier will ich dir zeigen, wie man mit RSS die jeweils 5 letzten Einträge aus dem Gästebuch mit deinem Lieblings RSS Reader lesen kann.

Schauen wir uns doch zunaechst einmal an, wie unser Gaestebuch von der Eingabeseite aus aussieht:
Quelltext (ASP)Darstellung (HTML)  Gästebuch Öffnen

Jetzt stellt sich die Frage wie wir das am Besten machen

Machen wir doch mal ne liste von Alternativen
  1. manuell schreiben
  2. dynamisch erzeugen, so ähnlich wie bei dem datetime feed.
  3. Ereignis gesteuert XML Datei schreiben.

Zu 1.
Glaube nicht, dass das ne gute Idee wäre.

Zu 2.
man könnt so etwas machen wie "select top 5 * from guestbook" und gibt das Ergebnis zur Laufzeit an den RSS Reader aus.

Zu 3.
Bei der ereignis gesteuerten Variante wird die RSS Datei nach jedem neuen Eintrag ins Gästebuch neu geschrieben. Also ASP schreibt und speichert die XML Datei statisch auf deinem Web Server. Diese Variante gefällt mir bis jetzt am Besten.

Voraussetzung fuer diese Variante ist allerdings, dass man schreibrechte auf seinem Web Server hat. Ich werde es feststellen, ob ich die habe oder nicht.

Fangen wir an

Unser Gästebuch besteht im Wesentlichen aus der Datei gb_append.asp (Quelltext siehe oben). Wir erweitern diese Datei um die Fähigkeit die letzten 5 Einträge in eine RSS Datei statisch zu schreiben.
Im Wesentlichen tun wir folgenden
1. FileSystemObject einbinden
2. Text-Datei erzeugen
3. XML Header schreiben.
4. Datenbankabfrage: select top 5 * from guestbook order by entrydate
5. Datensätze in Datei schreiben
6. Text-Datei schließen

Das war's. Dann müssen wir nur noch testen, ob es auch klappt. Funktioniert alles? Ja, dann können wir den Feed unserem Lieblingsreader hinzufügen. So sieht der zusaetzliche Quelltext dann aus.

Hier die wichtigsten Anmerkungen zum Quelltext.
In der Anweisung set fld=fso.getfolder(server.mappath(".")) wird das aktuelle Verzeichnis auf deinem Server zurueckgegeben.
Mit MyPath=fso.BuildPath(fld.Path, "myguests.xml") bestimmen wir den Pfad zu unserer Datei.

Wichtig: Unser Script braucht Schreibrechte für dieses Verzeichnis..

Neu ist auch die Verwendung der Tags copyright, webMaster, language und lastBuildDate in userer RSS Datei.

In der copyright Zeile achte man auf das <![CDATA[   ]]> Dieses CDATA braucht man immer dann, wenn man so etwas wie &copy; oder &uuml; ausgeben möchte.

Das lastBuildDate gibt an, zu welchem Zeitpunkt die RSS Datei geschrieben wurde.

 

Mein Gaestebuch als RSS. (statische XML Datei)

Gerade eben stellte ich fest, dass mein Brinkster meinem Script keine Schreibrecht gewährt.

Dann wenden wir uns wieder der 2. Alternative zu. Dynamisch mittels Datenbankabfrage.

Schau mer mal RSS: write_top5gb.asp RSS2HTML: RSS2HTML  (live)

 

Geschrieben von Matthias Jungbauer am 24. Juli 2005, letzte Erweiterung am 4. August 2005.

Quellenverzeichnis:

RSS to HTML, RSS2HTML, 2005, (13. Juli 2005)