Hallo ich heiße Ulf Kornblum und lebe in Schleswig-Hostein.

Leider ist mein Englisch verhältnissmässig schlecht, deshalb schreibe ich in Deutsch.

Wer möchte kann die Seite oder Teile davon übersetzen.

Feel free to translate this site.


SortWikiTablePlugin#

Zur Zeit habe ich ein JSPWiki in einem Intranet eingerichtet. Dabei kam der Wunsch auf, Tabellen auch durchsuchen und zu sortieren zu können.
Deshalb habe ich ein Plugin entwickelt, welches dies ermöglicht.

Es kann zur Zeit die erste Tabelle einer Wiki-Seite auslesen und dann nach einem Begriff filtern und/oder sortieren und in einer anderen Seite darstellen.

Eine Tabelle

  • kann ohne Überschrift ausgegeben werden.
  • nach jeder Spalte sortiert werden.
  • nach einfachen oder regulären Ausdrücken gefiltert werden.

Dies Plugin ist noch nicht vollständig fertig, es soll noch ein Hilfs-Plugin erhalten mit dem online die Tabelle umsortiert oder auch gefiltert werden kann. Ich möchte noch zusätzlich die Möglichkeit einbauen, das das Plugin seinen Zustand während einer Session beibehält. Dann können zum Beispiel zwei Plugins online beeinflusst werden, ohne das sie von einander wissen müssen.


PluginParameter#

Beim Programmieren entstand eine Klasse PluginParameter mit der es möglich ist, die übergebenen Parameter zu überprüfen.
Dies heist: sie prüft ob ein Parameter vorhanden ist, ob er als RequestParameter übergeben worden ist, ob er den Vorgaben entspricht.

Es können über die Parameter einige Informationen abgefragt werden: z.B: ob der Parameter leer, vorhanden war, ob die Hilfe angefordert worden ist, ...

Die Parameter können

  • eine Variable mit oder ohne Defaultwert
  • eine Auswahlliste
  • eine Schalterliste
überprüfen und auswerten.
  • Der Parameter kann nur über den Parameter oder auch über den Request beeinflusst werden.
    (Später auch den Zustand speichern)
  • Es kann festgelegt werden ob der Parameter notwendig oder optional ist.

Dann kann eine Hilfe ausgegeben werden.

Zum Beispiel gibt der Aufruf des Plugins: [{SortWikiTablePlugin help=' '}] folgenden Text zurück:

Aufruf:
[{SortWikiTablePlugin parameter='value', parameter2='... }]

Das Plugin liest die erste Tabelle aus der angegebenen Wiki-Textseite aus
und stellt sie ggf. sortiert, etc dar.

Grundsätzlich gilt:
- Parameter: falsch geschrieben, nicht angegeben oder leer = [Defaultwert]
- Schalter:  falsch geschrieben oder nicht angegeben = [falsch]
- Wird ein Parameter dynamisch übergeben, muss dem Parameternamen
    die Vorsilbe:'s_table' und ein Punkt vorangestellt werden.
    Beispiel: 's_table.name=wert'

help|hilfe=''
    Diese Hilfe wird ausgegeben.
options='nohead, regular, wiki_html'
    Der(die) Schalter beeinflusst die Darstellung, den Filter der Tabelle:
Es werden nur die Schalter aus der folgenden Liste ausgewertet:
    nohead......................Die Spaltenüberschriften werden nicht dargestellt
    regular.....................Die Zeilen können mit regulären Ausdrücken gefiltert werden
    wiki_html...................Die Zelleninhalte werden wie einzelne Zeilen des Wikitextes behandelt.
           Dadurch wird die Sortierung beeinflusst.
           Dieser Parameter ist experimentell!

sortColumn='0|(variabel)'
    Gibt die Spalte (integer) an, nach der sortiert wird [0]

destSite='SandKasten|(variabel)'
    Gibt die Wiki-Seite mit der Tabelle an oder es wird die akt. Seite genommen [SandKasten]

searchColumn='|(variabel)'
    Gibt die Spalte (integer) an, die gefiltert wird []

searchReg='.*|(variabel)'
    Gibt den regulären Ausdruck(Suchtext) zum filtern an.
	Ist ein Wert gefunden wird die Zeile angezeigt. [.*]

TagWriter#

Ausserdem ist ein Writer (TagWriter) entstanden, der es ermöglicht verhältnismässig einfach Html-Tags in dem Plugin zu nutzen.


Mail: Ulf Kornblum

Add new attachment

In order to upload a new attachment to this page, please use the following box to find the file, then click on “Upload”.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
zip
SortTablePlugin.zip 324.3 kB 1 08-Jul-2005 21:17 UlfKornblum
« This page (revision-6) was last changed on 15-Aug-2006 07:41 by Janne Jalkanen