Einrichtung von RSS-Nachrichtenkanälen in A2E MLHT

Wie wir die rechte Spalte jeder Webseite mit passenden Meldungen anreichern

Mittels mehr oder weniger detaillierter Angaben in der Konfigurationsdatei des Multilingualen Hypertextsystems (MLHT) und in Vokabulardateien können wir eine detaillierte Kontrolle über die Zusammensetzung der Nachrichtenkanäle ausüben oder uns mit einigermaßen sinnvollen Voreinstellungen zufrieden geben.

1 Chronik

In einer Konfigurationsdatei einer Übersichtsdatei über den März 2009 könnten sich die Angaben finden, die wir im folgenden erläutern>

Konfigurationssngabe Erläuterung
getkanals = oas_akt,oas_adv,oas_varb,oas_pub,adv,adv_pub die genannten Kanäle und ihre Unterkanäle nacheinander rechts darstellen
news_limit = 4 in jedem Kanal, sofern nicht speziell für diesen Kanal anderes angegeben ist, nur die 4 neuesten Meldungen auflisten
news_doks oas_akt = oas_akt0903 in Kanal oas_akt verweist die Kanalüberschrift nicht auf das Dokument oas_akt sondern auf oas_akt0903, d.h. vermutlich die Spezialversion des aktuellen Monats März 2009
news_titles oas_akt = oas_akt_tit als Überschrift für Kanal oas_akt ist hier Textbaustein/Vorlagenvariable oas_akt_tit zu verwenden
news_descrs oas_akt = oas_akt_des als Inhaltsangabe/Beschreibung für Kanal oas_akt ist hier Textbaustein oas_akt_des zu verwenden
news_title_varfnom = %s_news_tit als Überschrift für einen Kanal %s wird normalerweise Textbaustein %s_news_tit verwendet – dabei wird die Syntax von sprintf verwendet, s. perldoc -f sprintf
news_limits oas_akt = 8 speziell für Kanal oas_akt sind die ersten 8 (nicht wie oben mit news_limit zur allgemeinen Regel erklärt 4) Meldungen aufzulisten
news_doks oas_adv = oas_adv0903 in Kanal oas_adv verweist die Kanalüberschrift nicht auf das Dokument oas_adv sondern auf oas_adv0903, d.h. vermutlich die Spezialversion des aktuellen Monats März 2009
news_start = 2009-01-01 im allgemeinen kommen alle Nachrichten ab Anfang des Jahres für die Auflistung in Betracht
news_starts oas_akt = 2009-03-01 im Kanal oas_akt kommen nur Nachrichten ab Monatsanfang in Betracht
news_stop = 2009-03-31 im allgemeinen kommen alle Nachrichten bis Ende des Monats für die Auflistung in Betracht
news_stops oas_akt = 2009-04-30 in den Kanal oas_akt werden auch noch Nachrichten des folgenden Monats aufgenommen
news_levels adv = 1 In den Kanal adv nur Nachrichten einer Wichtigkeit ab Stufe 1 aufnehmen
news_level = 0 im allgemeinen Nachrichten ab Stufe 0 (Voreinstellung) aufnehmen
dokdatum = 2009-03-14 die Nachricht ist vom 14. März 2009

Die sprachabhängigen Textbausteine (oben als Argumente von news_titles und news_descrs für Überschriften bzw Beschreibungen verwendete Vorlagenvariablen) werden in speziellen Dateien und ihren übergeordneten Dateien deiniert. Da diese Textbausteine in vielen Dateien unterschiedlicher Typen gebraucht werden, erscheint es geboten, sie weit oben, nämlich in tmpl vorzubelegen. Allerdings wird man die Vorbelegungen der Überschiften häufig im aktuellen Kontext ändern wollen, da die Funktion des jeweiligen Nachrichtenkanals, die man in der Bennung hervorheben möchte, in jedem Kontext eine andere sein kann.

Die Erzeugung der Zieldateien (HTML-Datei für das rechte Menü, RSS-Datei für abonnierbare Nachrichtenströme) erledigt das Programm news_tmplfil und für dieses die Bibliothek A2E::Tmplfil, die wiederum auf anderen Bibliotheken fußt.

Der Inhalt des Dokuments wird wiederum mit einer HTML-Dokumentvorlage gesteuert, die in Abhängigkeit der Konfigurationsparameter multemp (Ausgabesprache) und tmpl (Dokumenttyp) zunächst in unterschiedlichen Vorlagenverzeichnissen gesucht wird und somit in Abhängigkeit dieser Konfigurationsvariablen unterschiedlich ausfallen kann.

Zur Einrichtung von RSS-Kanälen muss man im Moment in der Datenbank die Tabelle kanal bearbeiten. Sie ist wie folgt aufgebaut

  kanal   | supkanal |  kanaldat  |              kanalrem               
----------+----------+------------+-------------------------------------
 oas_akt  | oas      | 2009-02-08 | jeder Auftrag eine Nachricht
 oas_varb | oas      | 2009-03-11 | jede Werbemaßnahme eine Nachricht
 oas_adv  | oas      | 2009-02-12 | Sprachdatenverarbeitungsnachrichten
 adv      |          | 2009-02-12 | Datenverarbeitungsnachrichten

supkanal ist der übergeordnete Kanal. Wenn man einen solchen Oberkanal anwählt, bekommt man die Nachrichten aus seinen Unterkanälen mit aufgelistet. Um dafür zu sorgen, dass ein bestimmtes Dokument als Kanal eingerichtet wird, sagt man in @dokfs

news_kanal = oas_akt
news_kanalrem = jeder Auftrag eine Nachricht
news_supkanal = oas
news_kanaldat = 2009-02-08

Die Aufnahme erfolgt beim nächsten Aufruf von dokdata2db, wie er in den Erzeugungsregeln des Makefile-basierten Systems häufig vorgesehen ist.

Als Wert von news_kanal kann man auch ‘*’ angeben. In diesem Fall wird das aktuelle Dokumentzeichen eingesetzt. Falls der Wert von news_kanal leer ist, wird kein Kanal eingerichtet. Der mit news_supkanal angegebene Oberkanal muss schon vorher existieren. Falls er noch nicht existiert, wird kein Oberkanal in die Datenbank eingetragen und es gibt eine Warnung, aber der Kanal selbst wird eingerichtet.

Um dafür zu sorgen, dass ein Dokument in den Kanal /sig/oas/adv aufgenommen wird, sagt man in der Konfigurationsdatei

putkanals = oas_adv

Wenn alle Unterdokumente des gegenwärtigen Dokuments in diesen Kanal aufgenommen werden, sagt man

subopts putkanals = oas_adv

Danach muss man nur noch im aktuellen Verzeichnis mit mktdir0 oder mktdir4 ein Dokument erstellen und schon wird sie im angegebenen Nachrichtenstrom auf Reise geschickt.

2 Unterlagen

deplate
http://a2e.de/adv/09/03/rss14
© 2009-03-14