Anmelden:

Benutzername: Kennwort:

Recent Pageing

Wiki SiteMap > PmWiki Kochbuch > Recent Pageing

Das Problem an RecentChanges ist, wenn die Listen über einen längeren Zeitraum geführt werden, dass die Ladezeiten immer länger werden.
Die Lösung: Es wird nur ein kleiner Teil der Liste angezeigt.

Ein weiteres Problem ist, das die RecentChanges-Listen etwas unleserlich sind. Als Abhilfe bietet diese Erweiterung eine Darstellung als Tabelle an.

Diese Erweiterung bietet drei verschiedene Arten zur Anzeige der RecentChanges-Listen an:

  • Aufruf per Action: Seitenweise Anzeige mit Filterfunktion (Keine weiteren Änderungen nötig)
  • Aufruf per Markup: Seitenweise Anzeige mit Filterfunktion (Alle RecentChanges-Listen müssen gepasst werden)
  • Aufruf per Markup: Seitenweise Tabellenanzeige mit Sortier und Filterfunktion (Alle RecentChanges-Listen müssen gepasst werden)

1.  Installation

  • Kopieren Sie recentpageing.php in das Cookbook-Verzeichnis
  • Fügen Sie in der config.php folgenden Eintrag dazu:
     include_once("$FarmD/cookbook/recentpageing.php"); 

1.1  Einfacher Aufruf

Ohne weitere Änderungen kann jetzt die Erweiterung genutzt werden. Der Aufruf erfolgt über "?action=showrc":

*[[{$FullName}?action=showrc]]
*[[{$Group}.RecentChanges?action=showrc]]
*[[{$SiteGroup}.AllRecentChanges?action=showrc]] 

1.2  Anpassung der Installation

Um RecentPageing per Markup aufzurufen, müssen alle neuen Einträge hinter den alten Einträgen gehängt werden und nicht davor! d.H. die Variable $RecentChangesFmt muss angepasst werden und alle alten Einträge müssen entweder gelöscht oder Konvertiert werden! Sie können auch mit hilfe der Erweiterung: RebuildRC die RecentChanges-Listen durch die Artikel-Historie neu erstellen lassen.

  • Zusätzlicher Eintrag in config.php: (Für RecentPageing per Markup ohne Tabelle)
     $RecentChangesFmt = array(
      '$SiteGroup.AllRecentChanges' =>
       '* [[{$Group}.{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]',
      '$Group.RecentChanges' =>
       '* [[{$Group}/{$Name}]] . . . $CurrentTime $[by] $AuthorLink: [=$ChangeSummary=]'); 

Wenn Sie RecentChanges als Tabelle darstellen wollen, müssen alle Einträge, wie eine CSV-Datei, mit den entsprechenden Spaltentrenner versehen werden. (Suche und Ersetzen kann im Texteditor sehr Hilfreich sein.)

  • Zusätzlicher Eintrag in config.php: (Für RecentPageing per Markup mit Tabelle)
     $RecentTableSep = "\t";	// Spaltentrenner
     $RecentChangesFmt = array(
      '$SiteGroup.AllRecentChanges' =>
       "* [[{\$Group}.{\$Name}]]\t\$CurrentTime\t\$AuthorLink\t\[=\$ChangeSummary=]",
      '$Group.RecentChanges' =>
       "* [[{\$Group}/{\$Name}]]\t\$CurrentTime\t\$AuthorLink\t\[=\$ChangeSummary=]",
     ); 
  • Das Filter-Forumlar können Sie mit der Variable $RecentFilterFmt anpassen!

2.  Aufruf:

Damit man die neuen Listen per Markup zu sehen bekommt, müssen die folgene neue Markups in allen RecentChanges-Listen (Jede Gruppe hat eine Eigene) eingetragen werden:

  • (:recentpageing <anzahl>:)
    für reine Seitenweise Anzeige mit Filterfunktion
    <anzahl> steht für Einträge pro Seite z.B. 100
  • (:recenttable <spaltentitel1,spaltentitel2,...> <anzahl>:)
    für Seitenweise Tabellenanzeige mit Sortier und Filterfunktion
    Mit <spaltentitel> definiert man den Titel einer Spalte z.B. Page,Date,Author,Summary
    <anzahl> steht für Einträge pro Seite z.B. 100

Diese Markups müssen VOR den eigentlichen Einträgen stehen. Und damit die Log-Einträge nicht doppelt erscheinen, müssen diese mit (:if false:) auskommentiert werden.

  • Beispiel für RecentChanges (RecentPageing per Markup ohne Tabelle)
    (:recentpageing 100:)
    (:eof:)
    * [[Group.Name]] . . . 02/30/2000 12:34 by [[~John Doe]]: [=comment added=]
    * [[Group.Name]] . . . 02/30/2000 12:34 by [[~Jane Doe]]: [=comment added=]
    ... 
  • Beispiel für RecentChanges (RecentPageing per Markup mit Tabelle)
    (:recenttable Page,Date,Author,Summary 100:)
    (:eof:)
    * [[Group.Name]]	02/30/2000 12:34	[[~John Doe]]	[=comment added=]
    * [[Group.Name]]	02/30/2000 12:34	[[~Jane Doe]]	[=comment added=]
    ... 

3.  Bedienung

  • Ein Klick auf dem Spaltentitel und schon wird danach sortiert. Die Sortierfunktion unterstützt noch keine Inverssortierung!
  • Die Filterfunktion unterstützt zur Zeit nur einen Suchbegriff, der dann exklusiv angezeigt wird. (z.B. um Änderungen von nur einen Author anzuzeigen)

4.  Sonstiges


Kategorie: Kochbuch, PmWiki, Public