Die aggregate-Anweisung wird durch die aggregate-Erweiterung zur Verfügung gestellt. Diese Erweiterung erfordert zusätzliche Konfiguration, insbesondere einen cron-Job. Für Details siehe die Dokumentation der Erweiterung.

Diese Anweisung erlaubt es, Inhalt von anderen Feeds in diesem Wiki gesammelt zur Verfügung zu stellen. Dies funktioniert wie folgt:

[[!aggregate  name="Beispiel-Blog" dir="beispiel"
feedurl="http://beispiel.de/index.rss"
url="http://beispiel.de/" updateinterval="15"]]

In diesem Beispiel werden Beiträge aus dem angegebenen RSS-Feed eingesammelt, und zwar nicht öfter als alle 15 Minuten (möglicherweise aber seltener, wenn der cron-Job seltener läuft), und dann als eine Seite pro Beitrag im Verzeichnis beispiel/ des Wikis gespeichert.

Man kann dann ikiwikis inline-Anweisun nutzen, um einen Blog aus einem oder mehreren eingesammelten Feeds zu erstellen. Zum Beispiel:

[[!inline  pages="internal(beispiel/*)"]]

Dabei ist es wichtig, internal() in der PageSpec zur Erfassung der eingesammelten Seiten zu verwenden. Diese werden standardmäßig als interne Seiten gespeichert: Dies verhindert, dass sie direkt im Wiki auftauchen. Deshalb ist diese spezielle PageSpec nötig, um sie zu erfassen.

Verwendung

Hier die Beschreibung aller unterstützter Parameter der aggregate-Anweisung:

  • name - Ein Name für den Feed. Jeder Feed muss einen nur einmal vergebenen Namen haben. Erforderlich.
  • url - Die URL mit der Webseite des Feeds, der eingesammelt werden soll. Erforderlich.
  • dir - Das Verzeichnis im Wiki, in dem die Seiten gespeichert werden sollen. Optional, wenn nicht angegeben, wird der Verzeichnisname vom Namen des Feeds abgeleitet.
  • feedurl - Die URL des Feeds. Optional, wenn nicht angegeben, sucht ikiwiki in unter der url nach feeds. Unterstützt werden RSS- und Atom-Feeds.
  • updateinterval - Wie oft nach neuen Beiträgen geschaut werden soll. Voreingestellt sind 15 Minuten.
  • expireage - Entferne alte Einträge aus diesem Feed, wenn sie älter sind als die angegebene Anzahl von Tagen. Voreingestellt ist, niemals Einträge aufgrund ihres Alters zu entfernen.
  • expirecount - Entferne alte Einträge aus diesem Feed, wenn es insgesamt mehr als die angegebene Anzahl von Beiträgen gibt. Die ältesten Einträge werden zuerst entfernt. Voreingestellt ist, niemals Einträge aufgrund der Anzahl zu entfernen.
  • tag - Ein Tag, mit dem alle Beiträge dieses Feeds versehen werden. Gut eignet sich der Name des Feeds. Kann mehrmals angegeben werden. Die tag-Erweiterung muss aktiviert sein, damit dies funktioniert.
  • template - Vorlage, die bei der Erstellung der eingesammelten Seiten verwendet wird. Voreingestellt ist aggregatepost.

Dabei ist zu beachten, dass die beim Einsammeln erstellten Seiten nicht in der Versionsverwaltung registriert werden, selbst wenn subversion oder ein anderes solches System verwendet wird.