Extension:TemplateFormEditor/de
|
TemplateFormEditor Erscheinungsstatus: experimentell |
|||
|---|---|---|---|
| Einbindung | Page action, Extended syntax | ||
| Beschreibung | Erlaubt die Bearbeitung von Vorlagen-Anwendung mit Hilfe eines Formulars statt eines Texteditors. | ||
| Author(s) | Andreas Möller | ||
| Last version | 0.3.1 (14.06.2009) (ältere) |
||
| MediaWiki | 1.13.2 und 1.13.3 möglicherweise auch andere Versionen | ||
| Lizenz | GNU GPL v2.0 oder eine Jüngere Version der Lizenz | ||
| Download | 0.3.1(zip-file) | ||
| Beispiel | Beispiel (englisch) | ||
|
|||
|
|||
|
|||
|
[edit] EinleitungDiese Seite beschreibt nur die Version 0.3.1 dieser Erweiterung. Es unterscheidet sich in folgenden Punkten:
|
||
- Vorteile
- Diese Erweiterung zeigt beim Bearbeiten einer Seite das Formular immer an, wenn die Seite eine Vorlage nutzt, für die ein Formular definiert ist.
- Wenn mit Hilfe der Erweiterung "Extension:CreateArticle" eine neue Seite erstellt wird und die im Parameter "preload" genannte Seite eine Vorlage verwendet, für die ein Formular definiert ist, zeigt diese Erweiterung den Editor an.
- Diese Erweiterung erlaubt es, in der Definitionsseite einer Vorlage die Datentypen für die Parameter der Vorlage zu definieren und auf diese Weise das Aussehen des Formular zu beeinflussen.
[edit] Funktionale Spezifikation
In der folgenden Beschreibung gehen wir davon aus, dass es eine Vorlage mit dem Namen "name" gibt.
[edit] Erweiterte Syntax in der Vorlagen-Definitionsseite
- Auf der Vorlagendefinitionsseite (z.B. Seite "Vorlage:name") können die Typen der Parameter innerhalb des durch diese Erweiterung eingeführten HTML-Tags "<typedefinition>" definiert werden.
- Innerhalb dieser Typ-Definition ist jede Zeile, die mit einem Stern "*" beginnt eine Definition.
- Syntax:
- * NAME : TYP (PARAMETER) "TITEL" // KOMMENTAR
- wobei
- NAME Der Name des Parameters - exakt in der selben Schreibweise wie in der Vorlage verwendet. (z.B. "date" entspricht dem Parameter "{{{date}}}" bzw. "1" entspricht dem unbenannten Parameter {{{1}}})
- TYP ist der Typ des Parameter und muss eines der folgenden Wörter sein: "
- text : ... im Formular wird ein mehrzeiliges Textfeld für diesen Parameter angezeigt.
- oneof : ... aus einer Liste vorgegebener Werte muss der Benutzer genau eines auswählen.
- someof : ... aus einer Liste vorgegebener Werte kann der Benutzer beliebig viele Elemente auswählen. (Es ist auch erlaub keines zu wählen.)
- - : ... Im Formular wird ein einfaches Eingabefeld angeboten - genau wie bei der Erweiterung Extension:CustomEdit
- PARAMETER ... Die Parameter hängen von dem angegebenen Typ ab und werden weiter unten beschrieben.
- TITEL ... Dieser Text wird statt des Namens des Parameters im Formular links vom Eingabefeld angezeigt.
- KOMMENTAR ... Dieser Text wird rechts des Eingabefeldes im Formular angezeigt.
- Syntax:
Beispiel
* groesse : - (size=10) "Größe" //in Zentimeter
[edit] Seitenbearbeitung
Dieser Erweiterung bietet einen alternativen Editor für die Anwendung von Vorlagen, die Parameter enthalten.
- Vorlagen werden weiterhin wie bis her verwendet z.B. so: {{name}}
- Wenn ein Artikel bearbeitet wird, passiert folgendes:
- Der Standard-Editor (den sie bisher verwendet haben - z.B. FCK Editor) wird angezeigt, wenn in dem Artikel keine Vorlagen verwendet werden.
- Wenn die zu bearbeitende Seite Vorlagen verwendet z.B. {{name}}, Wird die zugehörige Vorlagendefinitionsseite (z.B. "Template:name") untersucht:
- Falls diese Seite das durch diese Erweiterung eingeführte HTML-Tag <typedefinition> enthält wird ein Formular zur Bearbeitung der Parameter der Vorlage angezeigt, statt des Standard-Editors.
- Fall keine der verwendeten Vorlagen dieses Html-Tag in seiner Definitionsseite enthält, wird der Standardeditor angezeigt.
- Wenn der Artikel mehr als eine Vorlage enthält, die in ihrer Definitionsseite den HTML-Tag <typedefinition> enthält, wird
- bis Version 0.2.2 das Formular nur für die erste anwendbare Vorlage angezeigt.
- ab Version 0.3.0 ein Formular angezeigt, das alle anwendbaren Vorlagen des zu bearbeitenden Artikels berücksichtigt.
- Das durch diese Erweiterung angebotene Formular hat eine Schaltfläche, die es erlaubt zum Standard-Editor zu springen - und dabei die neuesten (ungespeicherten) Änderungen zu berücksichtigen. ( in dem man im StandardEditor auf "Vorschau" klickt, kehrt man zum Formular zurück!)
- Falls sich jede Vorlage eines Artikels in einem anderen Abschnitt befindet kann man durch bearbeiten des jeweiligen Abschnittes die Formulare einzeln bearbeiten. Dies ist bis Version 0.2.2 die einzige Möglichkeit, auf alle Formulare einer Seite zuzugreifen.
[edit] Detaillierte Typendefinition
Wenn die Anwendung einer Vorlage mit Hilfe des durch diese Erweiterung angebotenen Formulars bearbeitet werden soll Müssen die Typen der Vorlage auf der Definitionsseite (z.B. "Vorlage:name") festgelegt werden.
Die definierten Typen sind auf der Seite Extension:TemplateFormEditor/Types ausführlich auf englisch beschrieben.
[edit] Installation
Lade die gewünschte Version dieser Erweiterung herunter. Entpacke die zip-Datei in das Verzeichnis "extensions" deiner MediaWiki-Installation
Füge folgendes in die Datei LocalSettings.php ein:
require_once("$IP/extensions/TemplateFormEdit/TemplateEdit.php");
Folgendes gilt ab Version 0.2.2: Die ZIP-Datei enthält den Ordner "TemplateFormEditor" der folgende PHP-Dateien enthält:
- TemplateEdit.php - Der Einstiegspunkt für die Erweiterung.
- TemplateForm.Editor.php - Definiert die Funktionen des Editors: Speichern, Vorschau, Änderungen anzeigen, Standard-Editor aufrufen,...
- TemplateForm.Parser.php - Untersucht den Artikeltext und ermittelt die im Formular anzuzeigenden Werte.
- TemplateForm.UI.php - Generator für HTML-Code des Formulars
- TemplateForm.hooks.php - Die Initialisierung und Registrierung der Erweiterung bei MediaWiki
- TemplateForm.i18n.php - Die Übersetzungstabelle für die Internationalisierung.
- clsTypeDefinition.php - Definition der bekannten Vorlage-Parameter-Typen
[edit] Kompatibilität
Diese Erweiterung wurde bisher nur getestet mit den MediaWiki-Versionen 1.13.2 und 1.13.3. Über Kompatibilität zu anderen MediaWiki-Versionen kann ich keine Aussagen machen Falls sie diese Erweiterung mit anderen Versionen getestet haben schicken Sie mir bitte eine E-Mail, damit ich hier dokumentieren kann, zu welchen Versionen die Erweiterung kompatibel ist - und zu welchen nicht.
[edit] Kompatibilität zu anderen Mediawiki-Erweiterungen
- Extension:EditWarning
- Seit Versionn 0.1.3 ist dieser Erweiterung Kompatibel mit Extension:EditWarning unter der Voraussetzung dass die Erweiterung "EditWarning" in der Datei "LocalSettings.php" zuerst genannt wird
- Wird diese Erweiterung vor der Extension:EditWarning aufgeführt, wird die Editor Warnung nicht angezeigt, wenn ein Formular angezeigt wird
- Dies gilt möglicherweise auch für andere Erweiterungen der Kategorie AlternateEdit extensions.
- Extension:CreateArticle
- Wenn der Parameter 'preload' benutzt wird und dieser auf eine Vorlage mit Typdefinition verweist, wird das durch dieser Erweiterung angebotene Formular auch zum Erstellen einer neuen Seite verwendet. (seit Version 0.2.1)
- Extension:DPL and
- Extension:RegexParserFunctions
- Die Kombination dieser beiden Erweiterungen mit der hier beschriebenen Erweiterung gestattet es, die im Formular auswählbaren Werte bei Parametern vom Typ 'oneof' und 'someof' dynamisch und anhand der bereits existierenden Seiten zu generieren.
[edit] Bekannte Fehler
- Beim Speichern der Eingabe ersetzt die Erweiterung unbenannte Parameter durch nummerierte Parameter "...|1=...|2=...".
- Möglicherweise gibt es noch reichlich Perfomance Probleme, die Seite wurde bisher nur mit Installationen getestet die weniger als 3000 Seiten enthielten.
- Die Art wie der Preload-Parameter der Erweiterung Extension:CreateArticle verwendet wird, entspricht nicht dem Verhalten des Standard-Editors.
- Die Version 0.3.1 hat noch ein paar Bugs, die das Auslesen der Parametertypen betreffen, so dass Formulare mit vielen Parametern und unterschiedlichen Parametertypen falsch dargestellt und die eingegebenen Werte falsch gespeichert werden können. Bevorzugen Sie deshalb bitte noch die Version 0.3.0 auf die auch noch die englische Version dieser Seite verweist.
[edit] Gewünschte zusätzliche Funktionalität
- Ein "Combobox"-type könnte nützlich sein: Eine Erweiterung des "OneOf" Typs, bei dem man zusätzlich zu den vorgegebenen Werten einen beliebigen Text eingeben kann.
(Wenn möglich ohne Java-Script oder andere Client-Seitig ausgeführte Software.) - Ein Parametertyp "number": in dessen Eingabefeld wirklich nur Zahlen eingegeben werden können.
- Ein Parametertyp "Link": Eingegebener Text soll als ein Hyperlink interpretiert werden.
[edit] Versionshistorie
Die Versionshistorie beschreibt die Änderungen zwischen den veröffentlichten Versionen auf englisch.
