RSS-Feeds, Podcasts und HTML-Listen mittels XIMS-Portlets

Allgemeines zu Portlets

XIMS-Portlets ermöglichen es auf einfache Weise, RSS-Feeds, Podcasts und HTML-Listen zur Einbindung in andere Dokumente zu erzeugen. Portlets sind besondere Objekte in XIMS, die Sammlungen bzw. Listen anderer Objekte erzeugen können. Sie ermöglichen es, bestimmte Objekte aus einer Verzeichnisstruktur in eine Sammlung aufzunehmen. Die Auswahl jener Objekteigenschaften, welche in die erzeugte Liste übernommen werden sollen, ist ebenfalls einstellbar. Diese Listen werden in eine XML-Datei exportiert und in einem weiteren Schritt durch XSLT-Stylesheets für die Präsentation ausgewertet.

RSS-Feeds

[Zum Wikipediaartikel zu RSS]

Der Webserver ist so konfiguriert, dass durch einfaches Anhängen der Endung ».rss« an die Adresse des veröffentlichten Portlets beim Abruf ein RSS-Feed erzeugt werden kann. (In XIMS hat das Portlet ».ptlt« als Endung. Bsp.: foo.ptlt →foo.ptlt.rss)

Ein reales Beispiel: Die aktuellen Mitteilungen des ZID in Form eines RSS Feeds erhalten Sie über folgende URL: http://www.uibk.ac.at/zid/news.ptlt.rss. Das rohe exportierte Portlet selbst sieht so aus: http://www.uibk.ac.at/zid/news.ptlt.

Bei manchen Objekttypen kann manuell ein Start- und ein Ablaufdatum gesetzt werden. Standardmäßig ist das Startdatum immer gleich dem Erstelldatum und das Ablaufdatum nicht gesetzt, das Objekt also unbegrenzt gültig. Dies gilt als Voreinstellung auch für Objekte, bei denen diese Daten nicht frei gesetzt werden können.

Das RSS-Stylesheet zeigt nur jene Objekte, welche im beschriebenen Sinne „gültig“ sind und sortiert diese wie folgt: Startdatum, Datum der letzten Änderung, Position, Erstelldatum. Auf die Sortierung der Objekte kann daher Einfluss genommen werden, indem eine entsprechende Auswahl der zu übernehmenden Daten im Portlet getroffen wird.

Hier eine kurze Aufstellung der relevanten Felder in XIMS-Objekten und ihre Abbildung im RSS-Feed:

Portlet-Objekt und Felder und channel-Element im Feed
Portlet RSS-Feed
Title title
Zusammenfassung description

 

Durch das Portlet erfasstes Objekt und item-Element im Feed
Portletitem

RSS-Feed

Location und Pfad link
Titel title
Zusammenfassung description

Datum der letzten Publikation oder Startdatum (das spätere)

pubDate
Owner (verantwortlich) dc:creator
Modifier (letzte Änderung) dc:contributor
Mediendatei enclosure

 

Das für den Feed vorgesehene Portlet kann in jedem Departmentroot in das Feld »Feed« eingetragen werden, die Standard-Stylesheets generieren dann einen entsprechenden Link im HTML-Head der darunterliegenden HTML-Dokumente. (Bsp:  ZID-Startseite). Viele Browser zeigen in der Folge ein RSS-Icon im  Adressfeld an und erlauben so ein einfaches Abonnieren des Feeds.

Podcasts

[Zum Wikipediaartikel zu Podcasts]

Podcasts sind im Wesentlichen RSS-Feeds, die auf AV-Medien und PDF-Dateien verweisen. Die Mediendateien können entweder direkt in XIMS oder anderen (speziell für große Datenmengen ausgelegten) Systemen des ZID (z. B. LSA-Web, Streaming-Server) verwaltet werden. Im zweiten Fall kann das Portlet allerdings nicht die Mediendatei selbst erfassen; es muss an deren Stelle ein URL-Link-Objekt angelegt werden, welches dann auf die fragliche Datei zeigt.

Die Apple-iTunes-spezifischen RSS-Erweiterungen werden derzeit nicht unterstützt.

Erzeugen einer HTML-Liste und Einbinden in eigene Dokumente

Auf ähnliche Weise kann durch Anhängen der Endung ».ulf« an die Portlet-Adresse eine HTML-Liste als XML-Chunk erzeugt werden. Diese lässt sich per XInclude relativ bequem in andere Dokumente einbinden. Die Portletitems werden hier ebenfalls nach gültigem Start- und Ablaufdatum gefiltert, auch die Sortierung erfolgt wie oben beschrieben. Standardmäßig werden bis zu 50 Einträgen angezeigt, mit dem CGI-Parameter »limit« kann dieser Wert angepasst werden.

Die Startseite des ZID bindet mit dieser Methode die letzten 3 Neuigkeiten ein; hier der relevante Teil des Quellcodes als Beispiel:

<h2>Aktuelle Mitteilungen des ZID</h2>
<p>
<xi:include href="http://www.uibk.ac.at/zid/news.ptlt.ulf?limit=3"
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback>Die eingebundene Ressource ist z.Zt. nicht verfügbar.</xi:fallback>
</xi:include>
</p>

Standardmäßig wird nach Position, Anlaufdatum, Datum der letzten Änderung und Erstellungsdatum (in dieser Reihenfolge) sortiert. »sortby=title« sortiert alphabetisch nach Titel, »sortby=pubdate« nach Publikationsdatum, »sortby=valid_from« nach dem Anlaufdatum. »reverse=1« dreht die Sortierreihenfolge um.

Tipp: XIncludes können mittlerweile übrigens auch bequem über einen Dialog im TinyMCE-Editor eingegeben werden (und zwar über den Button »Externe XML-Daten einfügen« Externe XML-Daten einfügen

HINWEIS: Achten Sie darauf, dass die URL des XIncludes mit http beginnt und nicht mit https, da sonst das Einbetten fehlschlägt (der TinyMCE-Editor füllt automatisch https ein, korrigieren Sie also bitte die URL entsprechend).