Zum Inhalt springen

Hilfe:Vorlagen und Formulare – Fortgeschrittene Wikinutzung

Aus Flora von Bayern
Version vom 19. März 2014, 12:01 Uhr von imported>Andreas Plank (→Maßgaben für das Programmieren: Abschnitt hinzugefügt)


Vorlagen können mit der Extension Semantic Forms komfortabel bearbeitet werden. Dabei entspricht jeder Parameter der Vorlage einem gleichnamigen Formularfeld. Ebenso bezeichnet man die Vorlage und das Formular mit gleichem Namen, um Verwirrungen zu vermeiden.

Wie benenne ich die Vorlage und deren Parameter?

Sollte man eine selbsterklärende Benennung wählen? Beispiele:

die Vorlage {{Meine Vorlage|Parameter 1=Langer Text}} ist nicht selbsterklärend und enthält so gut wie keine Information über ihre Funktion und Struktur
die Vorlage {{Anmerkung|Text=Langer Text}} ist mehr selbsterklärend und bedarf kaum einer großen Zusatz-Dokumentation

Die deutsche Wikipedia bietet eine

Wie strukturiere ich die Vorlage und deren Parameter?

Die Benennung der Vorlage und deren Parameter sollte das Ziel haben:

  • prägnante (funktionsbezogenen) Benennung
  • Parameter möglichst selbsterklärend

Einige Vorüberlegungen und Lösungsvorschläge:

Frage Möchte ich die Seiten „wiederfinden“, soll die Vorlage auf nur gewissen Seiten verwendet werden?
Lösung: Lassen Sie die Vorlage eine Kategorie speichern.
Frage Möchte ich gezielte Daten auf Seiten „wiederfinden“?
Lösung: Speichern sie Parameterwerte in Semantischen Attributen.
Frage Wie fein sollen die zu speichernden Daten in einen oder mehrere Parameter untergliedert werden? (Was will ich am Ende erreichen?)
Beispiel „Adresse“:
  • Reicht es, dass ein Vorlagen-Parameter gemischte Informationen enthält (z.B. Parameter „Adresse“ enthält Straße, PLZ, Ort)?
  • Oder sollen mehrere Parameter feingegliederte Daten abspeichern, damit nachträglich die Daten präziser abfragbar sind (z.B. statt 1 Parameter „Adresse“ mehrere Parameter „PLZ“, „Ort“, „Straße“, „Hausnummer“ usw.)?
Lösung: Jenachdem, was man mit den Daten machen will, muss man dies festlegen. Beabsichtigt man detailreiche semantische Listen oder Abfragen, so sollte man mehrere Vorlagenparameter benennen.

Maßgaben für das Vorlagen-Programmieren

Im Grunde möchte man Vorlagen-Code schreiben:

  • der zeitunaufwendig zu verwalten ist, d.h
  • der selbsterklärend ist (braucht dann kaum Zusatzkommentare)
  • der modular aufgebaut ist. Der Code kann daher flugs an andere Bedürfnisse angepasst werden, so dass einzelne Abschnitte gelöscht werden können (z.B. Abschnitt speichern semantischer Daten und separater Abschnitt Ausgabe als Layout) ohne dass der Rest-Code zusammenbricht.
  • der wenig Ressourcen frisst. Kein sich wiederholender Code. Falls doch Code wiederholt gebraucht wird, dann auslagern, z.B. als Unter- oder separate Vorlage. Verwendung von Variablen sollte man vermeiden, da derlei Vorlagen mangels Implementierung der Extension in anderen Wikis nicht funktionieren[1].

Vorlage erstellen

Vorlagen programmieren

Man erleichtert sich die Programmierung der Vorlagen, indem man den Wiki-Editor um Programmmier-Text-Schnipsel erweitert.

  1. Klicken Sie auf Einstellungen (Tab Aussehen)
  2. Klicken Sie unter (*) Vektor auf „Benutzerdefiniertes JavaScript“, eine neue Seite öffnet sich, auf der JavaScript gespeichert werden kann
  3. Kopieren Sie den Inhalt der Seite Benutzer:Andreas_Plank/vector.js (vom 7. Januar 2014) in Ihre eigene Seite

Zuordnen von Semantischen Attributen zu Vorlagen-Parametern

1 Parameter und 1 Wert
in der Vorlage
  • Parameter + Attribuit sichtbar:
    [[Attributname::{{{Vorl.-Parameter}}}]]
  • Parameter + Attribuit unsichtbar:
    [[Attributname::{{{Vorl.-Parameter}}}| ]] oder
    {{#set:Attributname={{{Vorl.-Parameter}}}}}
1 Parameter und mehrere Werte (=Liste)
in der Vorlage
  • Werteliste , Komma separiert
    KommentarversionKompaktversion
    {{#arraymap: {{{Vorl.-Parameter|}}}<!-- Werte
    -->
    |,<!-- Trennung bei ,
    -->
    |§<!-- Einzelwert temporär in „§“ speichern
    -->
    |[[Attributname::§]]<!-- Ausgabe
    -->
    |&nbsp;•&#32;<!-- Ausgabe-Trenner:
    non-breaking-space dann • dann Leerzeichen
    -->
    }}
    {{#arraymap: {{{Vorl.-Parameter|}}}|,|§|[[Attributname::§]]|&nbsp;•&#32;}}
  • Werteliste ; Semikolon separiert
    KommentarversionKompaktversion
    {{#arraymap: {{{Vorl.-Parameter|}}}<!-- Werte
    -->
    |;<!-- Trennung bei ;
    -->
    |§<!-- Einzelwert temporär in „§“ speichern
    -->
    |[[Attributname::§]]<!-- Ausgabe
    -->
    |&nbsp;•&#32;<!-- Ausgabe-Trenner:
    non-breaking-space dann • dann Leerzeichen
    -->
    }}
    {{#arraymap: {{{Vorl.-Parameter|}}}|;|§|[[Attributname::§]]|&nbsp;•&#32;}}

Die obigen HTML-Kommentarzeichen <!-- --> werden beim Parsen ignoriert und können oft weggelassen werden, doch können sie dazu dienen

  • Kommentare zu ermöglichen oder um
  • unnötigen Leerzeichen vorzubeugen oder um
  • den Wiki Code zu strukturieren.

Es sei angemerkt, dass auch der Assistent Spezial:Vorlage erstellen benutzt werden kann, jedoch sind seine Erstellmöglichkeiten limitiert, daher ist es oft sinnvoller die Vorlage mit obigem Formular selber zu erstellen.

Attribut-Seiten erstellen

Seiten im Namensraum Attribut könnten eigentlich auch „Eigenschaft“ heißen, da sie Daten zu Eigenschaften speichern, die ein Wiki zu einem semantischen Wiki werden lassen. Mit folgendem Formular können Sie derlei Seiten erstellen und bearbeiten:


Formulare erstellen

Wenn die Vorlage fertig programmiert ist, kann über den Assistenten Spezial:Formular erstellen ein namensgleiches Formular erstellt und angepasst werden. In diesem Wiki wurde das Layout von Formularen in MediaWiki:Common.css umdefiniert.

Die englische MediaWiki-Dokumention bietet eine ausführliche technische Dokumentation zum Definieren von Formularen (in Englisch) an.

Programmierung von Formularen

  • das Layout sollte schlicht und selbsterklärend sein, möglichst wenig fette Schrift
  • mehrere Felder, die sich fließenend der Bildschirmbreite anpassen sollen, können mit <div class="floating-form-parts"></div> umschlossen werden, gefolgt von einem abschließendem <div style="clear:both;"></div>, um das Umfließen zu beenden.
  • Hilfe-Hinweise für Felder können
    • mit {{{field|Vorlagenparameter|placeholder=prägnanter Hilfetext}}} oder
    • mit {{#info: message=prägnanter Hilfetext}} prägnanter Hilfetext gegeben werden.

Anmerkungen

  1. ↑ In den Wikis der Biowikifarm ist diese Extension i.d.R. aktiviert, siehe hierzu immer die englische Version der Spezialseite Special:Version