2.19. RSS

RSS (Really Simple Syndication) er en standard for å sende og motta utdrag av innhold. Hvert RSS element sendes ut separat og inneholder en tittel, en lenke til en webside hvor innholdet ligger og et kort utdrag av innholdet. Nyhetstjenester har ofte RSS-strømmer tilgjengelig. Brukerne abonnerer på RSS-strømmen og får nyheter inn i RSS-leserne sine automatisk når de publiseres. Bibliofil har blant annet RSS-strømmer for Kikkhullet og for enkeltsøk gjort i Websøk.

RSS-strømmene inneholder flere statistikker enn det vi hittil har gjort tilgjengelig via Kikkhullets vanlige websider.

URL til RSS bestemmes av innstillingen URL til Websøk (FellesinstillingerTkFelles, sett på globalt nivå).

2.19.1. Bruk av Kikkhull-RSS i bibliotekets egne websider

Det er mulig å inkorporere RSS-strømmer fra Bibliofil i andre websider. Ta utgangspunkt i denne koden:

Eksempel 2.10. RSS-strøm i webside


//Finner eksempler på urler som kan brukes på:

// /cgi-bin/rss


<?php
		   
// De neste linjene gjøres kun én gang på sida:
  include '/usr/www/lastRSS.php';
  $rss = new lastRSS;
  $rss->cache_dir = '/tmp/cache';
  $rss->cache_time = 0; // one hour
  $server="http://".$_SERVER['HTTP_HOST']; 


//Dette repeteres for hver liste man ønsker å vise
//Bytt ut url til å peke på riktig rss
//For eksempler, se /cgi-bin/rss på bibliofil-servern.
$url=$server ."/cgi-bin/rss?mode=sistetittel&ccl=ff%3dl";
if ($rs = $rss->get($url))
  {
    if (sizeof($rs['items']) > 0) {

//Bytt ut tittelen slik at den passer
		echo "De nyeste bøkene<br><ul>";
		
		foreach($rs['items'] as $item) {
		  echo "\t<li><a
		  href=\"$item[link]\">".$item['title']."</a>
                <br />"."</li>\n";
		}
		echo "</ul>\n<br>";
	}
}
?>
		  

Legg koden i selve websiden (body). lastRSS.php er en fritt tilgjengelig PHP-klasse for å håndtere RSS, dvs at den også kan brukes i andre sammenhenger enn Bibliofil-serveren.

Listene vises med utf8-tegnsett. Dvs at websiden også bør være utf8. Legg dette i websidens header:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		  		

Hvis man vil gi en mulighet for å abonnere på RSS-strømmen, kan man enten lage en lenke:


<a href="/cgi-bin/rss?mode=sistetittel&ccl=ff%3ded+eller+ff%3dee">
Abonner på RSS</a>

Eller legg inn i header:

<link rel="alternate" type="application/rss+xml" title="Nye filmer"
href="/cgi-bin/rss?mode=sistetittel&ccl=ff%3ded+eller+ff%3dee" />

2.19.2. Argumenter til /cgi-bin/rss

mode=sistetittel

Nyeste tittel. (Nyeste tar utgangspunkt i dato for når tittelen fikk påført første eksemplar).

mode=sistebestilling

Nyeste i bestilling.

ccl=

CCL søkeuttrykk. (Bruk + istedet for mellomrom i uttrykket, %3D istedet for =.)

form=

Standard visningsformat er format 3 (ISBD). Man kan sende med form= for å be om andre format. Eksempel: /cgi-bin/rss?mode=sistetittel&form=1 viser i format 1 (en linje).

Mer om visningsformat.

bibxml=1

Svarer i xml-format. En oversikt over tilgjengelige xml-felt finnes på http://bibliofil.no/rss-xml-v1.2/.

websok=websok

Hvilken websøkinstans som skal brukes. F.eks websok=websok-bilde.

Det kan hende at man må angi m2 eksplisitt for å få lenker rett: &websokinstans=m2. I utgangspunktet skal det ikke være nødvendig.

rssnavn=

Navn på rss-strøm. F.eks &rssnavn=nye+dvder.

krevkrydder=1

Ta kun med titler som har krydderbilde tilgjengelig. Den er ikke påslått som standard fordi den gjør uthentingen betydelig tregere.

Eksemplet i forrige seksjon baserte seg på Kikkhull-funksjonalitet (mode=sistetittel). Dette begrenser bruksområdet til RSS'er som allerede finnes for Kikkhullet. Hvis man bare bruker ccl= har man flere muligheter:

Eksempel 2.11. RSS som CCL-uttrykk

/cgi-bin/rss?ccl=(ff%3Dee*)&websok=websok&rssnavn=nye+dvder

/cgi-bin/rss?ccl=(avd%3Dhvde*)&websok=websok&rssnavn=Nye+titler+ved+Demoteket


2.19.3. RSS administrering

Vi har laget et enkelt webprogram for å administrere RSS-strømmer: http://www.XXX.folkebibl.no/cgi-bin/privat/rssadm.

Fra dette programmet kan man:

Lage ny RSS-strøm

Et enkelt grensesnitt for å holde orden på RSS-strømmer.

Lage ny RSSProxy-strøm

Innhenter data fra flere bibliotek innen en samsøk-region.

Administrere podcast RSS-strømmer

Lage ny pregenerering

Innhenting av RSS-strømmer tar tid. Lag ny pregenerering gjør det mulig å spesifisere URLer som skal lastes ned til en lokal fil på webtjeneren en gang i timen slik at de er klar for innhenting. Nye pregenereringer lages en gang hver hele time.

Man bør alltid pregenere når man har en "statisk" RSS (dvs hvor bare innholdet endrer seg og ikke argumentene), som er inkorporert i en webside.

Eksempel 2.12. Eksempel på pregenerering av RSSstrøm fra annen webside.

Dette gjør man for å ordne pregenerering av RSSer som bruker for lang tid:

  • Gå til administreringssiden http://www.XXX.folkebibl.no/cgi-bin/privat/rssadm

  • Trykk på lenken Lag ny pregenerering. (To ganger)

  • Fyll ut skjemaet.

    1. Legg inn en kort kode i første felt, som passer til RSSen. F.eks leserglede

    2. Urlen til RSSen. F.eks http://www.leserglede.com/wordpress/feed/

    3. Et filnavn for hvor pregenereringa skal havne. F.eks /usr/www/leserglederss.xml

Hvis man bruker Joomla må urlen til RSSen endres i oppsettet. Så i stedet for http://www.leserglede.com/wordpress/feed/ skal det stå: http://www.XXX.folkebibl.no/leserglederss.xml