struct-Plugin: selbst definierte Meta-Daten zu Seiten hinzufügen, anhand derer dann (gefilterte) Auflistungen erstellt werden können

Diese Anleitung ist noch nicht fertig

Das struct-Plugin ist sehr mächtig, aber teilweise auch komplex in der Einrichtung. Auf dieser Seite kann nur ein kurzer Überblick gegeben werden. Es wird empfohlen, sich zuerst bei der Dokumentation des struct-Plugins auf dokuwiki.org zu informieren.

Für das struct-Plugin wird das sqlite-Plugin benötigt, was zuvor installiert werden muss.

Das struct-Plugin kann in zwei verschiedenen Modi betrieben werden:

mit Page Schemas kann pro Seite ein Datensatz hinzugefügt werden. In diesem Datensatz können mehrere Felder mit Werten belegt werden. Diese Daten sind dann fest an die Seite gebunden. Sie könnten dies mit einer Excel-Tabelle vergleichen, und jede Wiki-Seite hat eine Zeile in der Werte eingetragen werden können. Es können dann z.B. Auflistungen erstellt werden, die anhand der Feldwerte gefiltert werden.

mit Lookup Schemas kann eine Datenbanktabelle erstellt werden, die nicht an eine spezielle Wikiseite gebunden ist. Sie könnten dies mit einer Excel-Tabelle vergleichen, die komplett mit allen Zeilen und Spalten dargestellt wird. Sie können diese Daten aber mehrfach auf verschiedenen Wiki-Seiten verwenden. Zum Beispiel könnten Sie auf einer Wiki-Seite zu der nur Administratoren Zugang haben eine Liste aller Dokumente anzeigen, aber auf einer Seite im allgemein zugänglichen Bereich nur die Infos anzeigen die derzeit aktuell sind. Schauen Sie sich zur Verdeutlichung unten das Beispiel Straßensperrungen an.

Die Möglichkeiten des Plugins sollen anhand von zwei Beispielen verdeutlicht werden:

Lookup-Schema: Liste von Straßensperrungen

Nachdem Sie das Plugin installieren, gehen Sie wie folgt vor:

Öffnen Sie dazu den Admin-Bereich durch einen Klick auf den Admin-Link in der rechten oberen Ecke:

Admin-Bereich öffnen

Klicken Sie im Admin-Bereich nun auf den Link Struct Schema Editor:

Links zur Verwaltung des struct-Plugins

Jetzt öffnet sich die Maske um ein neues Schema anzulegen. Zuerst muss ausgewählt werden, ob es sich um ein Page Schema oder ein Lookup Schema handelt (siehe oben). Da wir nicht für jede Straßensperrung eine eigene Seite anlegen, sondern alle Straßensperrungen an einem Ort verwalten möchten, wählen wir das Lookup Schema und vergeben einen entsprechenden Namen. Wie auch bei den Seitennamen des Wikis, sollten keine Großbuchstaben oder Sonderzeichen verwendet werden:

Lookup-Schema für Straßensperrungen

Klicken Sie nun auf Speichern, um das Schema anzulegen. Im nächsten Schritt definieren Sie die Feldnamen (Spaltennamen). Wir definieren hier die Felder strassenname, gueltig_von, gueltig_bis und beschreibung.

Feldnamen für Straßensperrungen

Einige Teile des Schemas werden schon vorausgefüllt. Beachten Sie, dass zuerst nur die Reihe für das erste Feld angezeigt wird, und erst nach einem Klick auf Save unter dem Formular die nächste Reihe erzeugt wird. An folgenden Stellen müssen wir Eingaben bzw. Änderungen vornehmen:

Erste Reihe: strassenname

Tragen Sie neben dem Feldnamen strassenname in der Spalte Konfiguration bei label den Wert ein, der später bei der Ausgabe als sichtbare Beschreibung angezeigt werden soll; hier Straßenname. Der Feldname strassenname wird nur für technische Zwecke verwendet und ist für den Endanwender nicht sichtbar, dieser bekommt nur den bei label eingetragenen Wert zu Gesicht. Klicken Sie nun auf Save, um die Reihe zu speichern und die nächste Reihe zu erzeugen.

Zweite Reihe: gueltig_von

Tragen Sie als Feldname gueltig_von ein. Wählen Sie nun in der Spalte Eingeben aus der Liste den Eintrag Date aus, um das Feld als Datumsfeld zu definieren. Nun vergeben Sie wieder ein aussagekräftiges label für das Feld, hier gültig von. Zusätzlich Ändern Sie im Feld format das Datumsformat vom amerikanischen Standard Y/m/d auf das deutsche Standardformat d.m.Y (Tag, Monat, Jahr). Klicken Sie nun wieder auf Save.

Dritte Reihe: gueltig_bis

Diese Reihe entspricht der zweiten Reihe, mit dem einzigen Unterschied dass Sie für Feldname und Label jeweils bis statt von schreiben.

Vierte Reihe: Beschreibung

Tragen Sie als Feldname beschreibung ein. Wählen Sie nun in der Spalte Eingeben aus der Liste den Eintrag LongText aus. Damit wird statt einer einzelnen Eingabezeile ein größerer (mehrzeiliger) Eingabebereich für einen längeren Text erzeugt. Geben Sie auch hier wieder ein aussagekräftiges Label (Beschreibung) ein. Nach einem weiteren Klick auf Save haben Sie das Schema fertig angelegt.

Seite zur Anzeige der Daten anlegen

Als nächstes wird eine Seite angelegt, auf der die Daten angezeigt werden. Öffnen Sie dazu zum Beispiel die Seite :lokal:strassensperrungen, und tragen Sie auf diese den folgenden Code ein:

====== Straßensperrungen ======
---- struct lookup ----
schema: strassensperrungen
filter: gueltig_bis >= $TODAY$
----

Beachten Sie dabei, dass hier gleich ein Filter angewendet wird. Dieser sorgt dafür, dass nur Datensätze angezeigt werden die bis heute oder einem späteren Zeitpunkt gültig sind. Datensätze deren Gültigkeit abgelaufen ist werden nicht angezeigt.

Bisher sind allerdings noch keine Daten eingetragen, und Sie sehen ein leeres Formular:

Eingabeformular für Straßensperrungen

Tragen Sie nun mehrere Testeinträge ein. Versuchsweise können Sie auch ein gültig bis-Datum verwenden, das in der Vergangenheit liegt. Dieses wird dann nicht angezeigt.
Für diese Formulareinträge gelten übrigens die gleichen Zugriffsregeln wie für Wiki-Seiten; wer bearbeiten darf, der darf auch Formulareinträge anlegen. Wer nur lesen darf, darf nur die Einträge anzeigen.

Wenn Sie mehrere Testeinträge verfasst haben, könnte die Seite folgendermaßen aussehen:

Eingabeformular für Straßensperrungen mit zwei Datensätzen

Falls Sie darauf bedacht sind, die Straßensperrungen nach dem Ende nicht nur wie oben beschrieben auszublenden, sondern komplett zu löschen, stehen Sie nun vor dem Problem dass Sie die abgelaufenen Datensätze ja nicht mehr sehen und deswegen auch nicht löschen können. Doch die Lösung ist einfach. Legen Sie sich eine Seite an auf der Sie die Daten pflegen, z.B. :lokal:admin. Auf diese Seite schreiben Sie dann folgenden Wiki-Code:

====== Verwaltung lokaler Bereich ======
===== Straßensperrungen verwalten =====
---- struct lookup ----
schema: strassensperrungen
----

Hier wird kein Filter angewendet, und Sie können alte Einträge nach Belieben löschen.

Page Schema: --folgt noch--

Installation des Plugins

Dieses Plugin ist in der Standard-Einsatzleiterwiki-Installation nicht enthalten. Eine Anleitung, wie Sie ein Plugin installieren, finden Sie auf dieser Seite.

Dokumentation des struct-Plugins auf dokuwiki.org

Tracedump:

newBaseSize: 16pt
newBaseSizeInPt: 16