Zielgruppe Site AdminVersion: GSB10.0RSS Feed
RSS ist ein plattform-unabhängiges auf XML basierendes Format, entwickelt um Nachrichten und andere Web-Inhalte auszutauschen.
Die Abkürzung RSS steht für "Really Simple Syndication" (oder auch für "Rich Site Summary" oder RDF Site Summary").
Im Gegensatz zu HTML-Seiten enthalten RSS-Dateien keine Design- und Layout-Elemente. So können RSS-Dateien plattformunabhängig gelesen und weiterverarbeitet werden.
Mit Hilfe eines RSS-Readers kann man RSS-Dateien lesen und so Änderungen einer Website verfolgen.
Aber auch eine Weiterverarbeitung durch Software ist möglich. So können Inhalte von RSS-Dateien auf Webseiten, Intranets oder Desktop-Software (z.B. in Bildschirmschonern o.ä.) beliebig dargestellt und gelesen werden.
Als Nutzer liegen die Vorteile von RSS vor allem in der Zeitersparnis: So ist es möglich Webseiten schnell und effektiv auf Änderungen und aktuelle Inhalte zu prüfen, ohne diese mitsamt Grafiken und Bannern direkt besuchen zu müssen. Gleichzeitig werden Traffic und Downloadzeiten vermieden.
Die Nutzung des Dienstes erfordert - anders als ein Newsletter - auch keine Anmeldung, bei der personenbezogene Daten bekannt gegeben werden müssen.
Konfiguration
RSS ist ein plattform-unabhängiges auf XML basierendes Format, entwickelt um Nachrichten und andere Web-Inhalte auszutauschen.
Konfiguriert wird er über die folgenden Properties:
configPrefix
- Prefix für die Config-Richtext-Dokumente mit den Property-Mappings (s. u.). Der Defaultwert ist "RSS".
rssVersion
- Die verwendete RSS-Version. Der Defaultwert ist "1.0". Die konfigurierten Templates müssen dazu passen.
headerTemplate
- Richtext-Property, deren Inhalt unverändert in den Header des generierten RSS ausgegeben wird (Pflichtfeld). Die Property muss daher gültiges und zur verwendeten RSS-Version passendes XML enthalten. Der Inhalt wird nicht geprüft!
itemTemplate
- Richtext-Property, deren Inhalt mit ersetzten Variablen für jeden Eintrag des generierten RSS ausgegeben wird (Pflichtfeld). Die Variablen-Ersetzung erfolgt über einen Mechanismus, der unten näher erläutert wird.
cl2RelatedEnts mit dem Textclassifier Items
- Enthält die darzustellenden LanguageEnt-Dokumente. FunctionalEnt-Objekte (wie DynDocSearchEnt-Objekte) werden intern in ihre Ergebnismenge aufgelöst.
Der Dokumenttyp FERssGenerator besitzt eine eigene main.jsp, welche direkt das benötigte XML ausliefert, da der übliche Mechanismus über NavNodes und NavTargets hier nicht notwendig ist. Daher ist es zum Abruf des RSS-Feeds möglich, direkt auf das FERssGenerator-Dokument per http aufzurufen, ohne eine spezielle View-Variante angeben zu müssen.
Beispiel für ein Header-Template
<syntaxhighlight lang="xml" enclose="div"> <title>Example News</title>
<link>http://rsshost.domain.example/</link>
<description>An RSS Feed.</description>
<language>en-us</language>
<copyright>Copyright 2004, Example company.</copyright>
<managingEditor>editor@domain.example</managingEditor>
<webMaster>webmaster@ domain.example</webMaster>
<category>Newspapers</category>
<generator>BundOnline CMS</generator>
<docs>http://rsshost.domain.example/tech/rss</docs>
<ttl>60</ttl> </syntaxhighlight>
Variablen-Ersetzung der Item-Templates
Das Item-Template kann frei wählbare Variablen der Form ${VARIABLENNAME} enthalten. Diese Variablen werden mit Hilfe eines rekursiven, im Verzeichnis des FERssGenerator-Dokuments startenden ConfigReaders auf Properties der jeweiligen Dokumente abgebildet. Welche Properties das sind, ist für jeden Dokumenttyp einzeln konfigurierbar, wobei die Property-Zuordnungen der Parent-Dokumenttypen geerbt werden.
Zunächst wird das Config-Dokument mit dem Namen des konfigurierten configPrefix (Defaultwert: RSS) ausgewertet. Anschließend werden weitere Config-Dokumente mit dem Namen ${configPrefix}_${docType} ausgewertet, deren Inhalt die bereits gelesenen Property-Zuordnungen überschreibt. Die Auswertung erfolgt anhand der Dokumenttyp-Hierarchie von LanguageEnt bis zum Dokumenttyp des gerade bearbeiteten Eintrags.
Die Property-Zuordnungen werden in Form von Key-Value-Paaren in ConfigRichText10-Dokumenten angegeben. Der Key ist der Name der im Template zu ersetzenden Variable. Der Wert ist der Name der Property, die für die Ersetzung ausgelesen werden soll. Wenn im Wert ein Punkt enthalten ist, wird der Bestandteil nach dem Punkt als Name eines Property-Templates angesehen, das intern gerendert wird. Ansonsten wird einfach der Plaintext des Property-Wertes eingesetzt.
Beispiele:
Im ConfigRichText10 mit dem Namen RSS steht im Feld Wert (value):
<syntaxhighlight lang="xml" enclose="div"> TITLE=title
DESCRIPTION=teaserText
LINK=title.renderDocUri
</syntaxhighlight>
Im ConfigRichText10 mit dem Namen RSS_Employee steht im Feld Wert (value): <syntaxhighlight lang="xml" enclose="div"> TITLE=name </syntaxhighlight>
Für alle Dokumente wird dann als DESCRIPTION die Property teaserText ausgewertet. Als TITLE wird bei Employees die Property name verwendet, bei den anderen Dokumenttypen jedoch die Property title. Als LINK wird für alle Dokumente das Property-Template renderDocUri.jsp für den title gerendert.
Im Item-Template können daher die Variablen TITLE, DESCRIPTION und LINK verwendet werden:
<syntaxhighlight lang="xml" enclose="div"> <title>${TITLE}</title>
<link>${LINK}</link>
<description>${DESCRIPTION}</description>
</syntaxhighlight>
Auf diese Weise können beliebige weitere Variablen deklarieren.
Content für die Standardlösung
Bei der Standardlösung wurden folgende Dokumente speziell für die RSS-Feed-Erzeugung angelegt:
/standardlsg/DE/Aktuelles/RSSNewsfeed/Function/rssnewsfeed
Dies ist ein FERssGenerator-Dokument. Das Header-Template entspricht der Version RSS 2.0. Das Item-Template rendert title, link und description. Als Items wird das DynDocSearchEnt der aktuellen Meldungen verlinkt.
/standardlsg/_config/RSS
Dieses ConfigRichText10-Dokument enthält Mappings für das RSS-Item-Template.
Parameter Wert (value):
TITLE=title
DESCRIPTION=teaserText
Abruf des RSS-Feeds
Der RSS-Feed kann dann per http abgerufen werden mit der URL:
http://preview.standardlsg.domain.example/DE/Aktuelles/RSSNewsfeed/Function/rssnewsfeed.xml
XML-Sitemap
Die Standardlösung besitzt eine Funktionalität zur Bereitstellung von XML-Sitemaps. Sie sind ein Spezialfall der RSS-Generierung.
XML-Sitemaps beschreiben den Aufbau einer Website und enthalten Angaben zu Änderungshäufigkeiten und Priorisierung einzelner Bereiche oder Dokumente. Diese Angaben sollen den Suchmaschinenbetreibern helfen, eine möglichst optimale Indizierung der Website durchzuführen.
Die GSB-Standardlösung liefert eine XML-Sitemap-Konfiguration, die als Vorlage für mandantenspezifische Realisierungen dienen kann. Das Dokument Sitemap_Index
im Root-Folder enthält eine Liste aller im Mandanten vorhandenen XML-Sitemaps und dient somit als Klammer um weitere XML-Sitemaps, die die eigentlichen Sitemap-Inhalte enthalten. Eine solche Aufteilung ist insbesondere bei größeren Webauftritten ratsam.
Das Dokument Sitemap_Basepage
ist eine XML-Sitemap aller Standardartikel unterhalb des Ordners /DE
. Die Ermittlung der Sitemap-Inhalte wird über eine Dynamische Dokumentliste realisiert, die in der Property „Verwandte Themen“ definiert ist. Ein einzelner Sitemap-Eintrag wird durch das Velocity-Template Item-Template
erzeugt, wobei der Inhalt der Property „Header-Template
“ den XML-Rahmen der Sitemap definiert.
Die Konfigurationsdokumente SitemapChangeFreq
und SitemapPriority
enthalten Angaben zur Änderungshäufigkeit und Priorität einzelner Seitenbereiche. Die Dokumente werden mit dem rekursiven Config-Reader ermittelt und können so bereichsspezifisch anders definiert werden. Die betreffenden Dokumente sind exemplarisch im Ordner /standardlsg/_config
abgelegt und enthalten eine kurze Beschreibung und Angabe zu möglichen Werten.