Rejseforum

godtur.dk

RSS 2.0 – Really Simple Syndication

with one comment

RSS står for Really Simple Syndication, og er en type af XML, der overholder specifikationerne for XML 1.0. Et RSS dokument kendes også som et feed, web feed eller channel, og benyttes af (hyppigt opdaterede) websider, til at udbrede kendskabet til indholdet og dermed øge trafikken. Brugerne kan holde et vågent øje med websider, blot gennem et feed, hvilket både øger opmærksomheden og sparer tid. Da et feed er en type af XML, er det nødvendigt at benytte en RSS reader (også kaldet feed reader eller aggregator), som fortolker RSS dokumentet. Sådanne RSS readers findes i dag forskellige udgaver, ligesom mange forskellige websider tilbyder håndtering af brugerens feeds. Et godt eksempel herpå er iGoogle, hvor brugeren kan tilpasse forsiden af google til bl.a. at indeholde et utal af feeds.

 RSS dokumenter er ligesom andre typer XML opbygget af tags indeholdende information - nogle påkrævede og andre valgfrie. Øverst på et RSS dokument skal tagget <rss version=”2.0″> efterfølges af et tag <channel>, som omslutter den data og metadata, der er tilknyttet indholdet. I <channel> er følgende 3 tags påkrævede:

<title> Titlen på feed’et/hjemmesiden
<link> URL’en til feed’et
<description> Mindre beskrivelse af feed’et

Følgende tags er derimod valgfrie:

<language> Det sprog feed’eter skrevet på
<copyright> Oplysninger om copyright
<managingEditor> E-mail adresse til den ansvarlige for indholdet
<webMaster> E-mail adresse til den ansvarlige for teknikken bag feed’et
<pubDate> Dato og tid for det publicerede indhold i feed’et
<lastBuildDate> Dato og tid siden det publicerede indhold i feed’et er ændret
<category> Beskriver en eller flere kategorier, som feed’et passer ind under
<generator> Beskrivelse af det program, der benyttes til at generere feed’et
<docs> En URL til dokumentationen bag det format, der ligger til grund for RSS-filen (typisk til denne side)
<cloud> Tillader processer at registrere sig, så de informeres om feed’ets opdateringer
<ttl> Time-to-live, indikerer hvor mange minutter et feedskal caches, før de skal opdateres fra kilden
<image> Specificerer et billede af typen GIF, JPEG eller PNG, som vises gennem feed’et
<rating> PICS rating for feed’et
<textInput> Specificerer en input box til tekst, som kan vises sammen med feed’et
<skipHours> Et hint til RSS-læsere om hvilke timer de springe over
<skipDays> Et hint til RSS-læsere om hvilke dage de springe over

Hvert feed kan indeholde et antal historier eller elementer, som er vises af RSS-læseren. Det er disse elementer, typisk i forkortet form, som brugeren holder øje med i en given RSS reader. I RSS dokumentet er hver af disse elementer omsluttet af tagget <item>, som igen kan indeholde en række tags. Disse er valgfrie at bruge, dog skal enten <title> eller <description> skal være udfyldt:

<title> Titlen på elementet
<link> URL’en til elementet
<description> Mindre beskrivelse af elementet
<author> E-mail adresse til forfatteren af elementet
<category> Inkluderer elementet i en eller flere kategorier
<comments> URL til en side af kommentarer til elementet
<enclosure> Beskriver et medie-objekt, som er tilknyttet elementet
<guid> En streng der unikt definerer elementet
<pubDate> Indikerer hvornår elementet blev publiceret
<source> URL til RSS-filen hvor elementet stammer fra

For yderligere beskrivelse af tags i en RSS-fil se RSS 2.0 Specification, hvor ovenstående også stammer fra. Her kan et eksempel på en RSS 2.o fil kan ligeledes hentes (ellers snup den her.)

Programmeringsopgave
I forlængelse af ovenstående, skulle vi også lave en mindre programmeringsopgave:

I skal udvikle et lille system i PHP, som kan benytte RSS feeds. Systemet skal være en Blog Aggregator som kan indlæse feeds fra en række blogs og præsentere dem på en enkelt overbliksside. Da RSS feeds er XML skal I benytte SimpleXML funktionaliten fra PHP til at udtrække data fra de enkelte feeds, når I genererer oversigtsiden. Bemærk, at SimpleXML kan håndterer URLer på lige med filer, så simplexml_load_file('http://www.daimi.au.dk/~bouvin/IAP/2007/06/emails.xml') virker som man ville forvente.

Jeres system skal som minimum kunne indlæse feeds fra en liste af blogs. Benyt her feeds fra jeres blogs som er postet i AULA.

  • Udvidelse: hvis I vil have et mere realistisk system kan I udvide systemet, så man dynamisk kan oprette, tilføje og slette feed URLer fra en hjemmeside.
  •  
    • Med SimpleXML skal I indlæse alle feeds fra listen.
    • I skal kunne generere to slags output baseret på de indlæste feeds:
      1. HTML output som præsentere alle artikler fra de enkelte feeds på én samlet side
      2. RSS output som samler alle feeds i ét enkelt aggregeret RSS feed
    • Diskutér hvordan I bruger RSS formatets elementer (channels, items, osv) til at samle de enkelte feeds og overvej alternative måder at gøre det på.

Min løsning på ovenstående opgave kan findes her:
http://www.daimi.au.dk/~u051038

Written by nielsthysk

February 11, 2008 at 2:35 pm

Posted in hypermedier og web

Tagged with , , ,

One Response

Subscribe to comments with RSS.

  1. Fint.

    Rasmus Berlin

    March 6, 2008 at 1:47 pm


Leave a Reply