Auf dieser Seite sehen Sie die schreibgeschützte und geprüfte Version eines Artikels aus dem Einsatzleiterwiki-Projekt. Wenn Sie einen Artikel bearbeiten bzw. am Projekt aktiv mitarbeiten möchten, so besuchen Sie bitte das bearbeitbare Wiki. Für weitere Informationen zum Projekt allgemein rufen Sie bitte diese Seite auf.
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 Global 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:
Global-Schema: Liste von Straßensperrungen
Nachdem Sie das Plugin installieren, gehen Sie wie folgt vor:
Öffnen Sie den Admin-Bereich.
Klicken Sie im Admin-Bereich nun auf den Link Struct Schema Editor:
Jetzt öffnet sich die Maske um ein neues Schema anzulegen. Wie auch bei den Seitennamen des Wikis, sollten keine Großbuchstaben oder Sonderzeichen verwendet werden. Wir nennen dieses Schema strassensperrungen
.
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
.
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. Bestätigen Sie wieder mit Save.
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 global ---- 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:
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:
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 global ---- 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.
Diskussion