Hilfe:Vorlagen und Formulare – Fortgeschrittene Wikinutzung: Unterschied zwischen den Versionen
imported>Andreas Plank K +Ü: Programmierung von Formularen |
imported>Andreas Plank K →Zuordnen von Semantischen Attributen zu Vorlagen-Parametern: Dokumentation |
||
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{Ombox|text=Diese Seite ist noch unvollständig}} | {{Ombox|text=Diese Seite ist noch unvollständig und bedarf noch Evaluation durch Vorlagen-Programmier-Praxis.}} | ||
| Zeile 8: | Zeile 8: | ||
Sollte man eine selbsterklärende Benennung wählen? Beispiele: | Sollte man eine selbsterklärende Benennung wählen? Beispiele: | ||
: <code><nowiki>{{Meine Vorlage|Parameter 1=Langer Text}}</nowiki></code> | : die Vorlage <code><nowiki>{{Meine Vorlage|Parameter 1=Langer Text}}</nowiki></code> ist nicht selbsterklärend und enthält so gut wie keine Information über ihre Funktion und Struktur | ||
: <code><nowiki>{{Anmerkung|Text=Langer Text}}</nowiki></code> ist | : die Vorlage <code><nowiki>{{Anmerkung|Text=Langer Text}}</nowiki></code> ist mehr selbsterklärend und bedarf kaum einer großen Zusatz-Dokumentation | ||
Die deutsche Wikipedia bietet eine | Die deutsche Wikipedia bietet eine | ||
| Zeile 18: | Zeile 18: | ||
Die Benennung der Vorlage und deren Parameter sollte das Ziel haben: | Die Benennung der Vorlage und deren Parameter sollte das Ziel haben: | ||
* prägnante Benennung | * prägnante (funktionsbezogenen) Benennung | ||
* Parameter möglichst selbsterklärend | * Parameter möglichst selbsterklärend | ||
Einige Vorüberlegungen und Lösungsvorschläge: | Einige Vorüberlegungen und Lösungsvorschläge: | ||
{{Logo|Frage|18px}} Möchte ich die Seiten „wiederfinden“, soll die Vorlage auf nur gewissen Seiten verwendet werden? | ; {{Logo|Frage|18px}} Möchte ich die Seiten „wiederfinden“, soll die Vorlage auf nur gewissen Seiten verwendet werden? : '''Lösung:''' Lassen Sie die Vorlage eine Kategorie speichern. | ||
: '''Lösung:''' Lassen Sie die Vorlage eine Kategorie speichern. | ; {{Logo|Frage|18px}} Möchte ich gezielte Daten auf Seiten „wiederfinden“? : '''Lösung:''' Speichern Sie Parameterwerte in Semantischen Attributen. | ||
; {{Logo|Frage|18px}} Wie fein sollen die zu speichernden Daten in einen oder mehrere Parameter untergliedert werden? (Was will ich am Ende erreichen?): Beispiel „Adresse“:<ul><li>Reicht es, dass ''ein'' Vorlagen-Parameter gemischte Informationen enthält (z.B. Parameter „Adresse“ enthält Straße, PLZ, Ort)?</li><li>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.)?</li></ul> '''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. [https://www.mediawiki.org/wiki/Extension:Variables/de Verwendung von Variablen] sollte man vermeiden, da derlei Vorlagen mangels Implementierung der Extension in anderen Wikis nicht funktionieren<ref name="biowikifarm:variables">In den Wikis der [http://biowikifarm.net/meta/Member_wikis Biowikifarm] ist diese Extension i.d.R. aktiviert, siehe hierzu immer die englische Version der Spezialseite [[Special:Version]]</ref>. | |||
== Vorlage erstellen == | == Vorlage erstellen == | ||
| Zeile 49: | Zeile 55: | ||
==== Zuordnen von Semantischen Attributen zu Vorlagen-Parametern ==== | ==== Zuordnen von Semantischen Attributen zu Vorlagen-Parametern ==== | ||
; | Diese Zuordnung von semantischen Daten ist nur nötig, wenn man später gezielt semantische Daten wieder abfragen oder extrahieren möchte ([https://semantic-mediawiki.org/wiki/Help:Eingebettete_Abfrage <code><nowiki>{{#ask: … }}</nowiki></code>]). Es gibt 2 Fälle: | ||
--><li>Parameter + Attribuit sichtbar:<br /><code><nowiki>[[Attributname::{{{Vorl.-Parameter}}}]] | ; Der Vorlagenparameter speichert ''einen'' Wert : <ul><!-- | ||
--><li>Parameter + Attribuit | --><li>Parameter + Attribuit ''sichtbar:''<br /><code>'''<nowiki>[[</nowiki>'''Attributname::{{{Vorl.-Parameter}}}''']]'''</code></li><!-- | ||
; | --><li>Parameter + Attribuit ''unsichtbar:''<br /> <code>'''<nowiki>[[</nowiki>'''Attributname::{{{Vorl.-Parameter}}}| ''']]'''</code> oder<br /><code>'''<nowiki>{{</nowiki>'''#set:Attributname={{{Vorl.-Parameter}}}'''}}'''</code></li></ul> | ||
--><li>Werteliste , Komma separiert<br /><code>'''{{'''<nowiki>#arraymap: {{{Vorl.-Parameter|}}}</nowiki><!-- Werte<br />-->|,<!-- Trennung bei ,<br />-->|§<!-- Einzelwert temporär in „§“ speichern<br />-->|<nowiki>[[Attributname::§]]</nowiki><!-- Ausgabe<br />-->|& | ; Der Vorlagenparameter soll mehrere getrennte Werte speichern können (=Werteliste): <ul><!-- | ||
--><li>Werteliste ; Semikolon separiert<br /><code>'''{{'''<nowiki>#arraymap: {{{Vorl.-Parameter|}}}</nowiki><!-- Werte<br />-->|;<!-- Trennung bei ;<br />-->|§<!-- Einzelwert temporär in „§“ speichern<br />-->|<nowiki>[[Attributname::§]]</nowiki><!-- Ausgabe<br />-->|& | --><li>Werteliste , Komma separiert<br /><table class="vertical-align-top"><!-- | ||
--><tr><!-- | |||
--><th>Kommentarversion</th><!-- | |||
--><th>Kompaktversion</th><!-- | |||
--></tr><tr><!-- | |||
--><td style="border-right:1px dotted gray;padding-right:1em;"><code>'''{{'''<nowiki>#arraymap: {{{Vorl.-Parameter|}}}</nowiki><span class="comment-gray"><!-- Werte<br />--></span>|,<span class="comment-gray"><!-- Trennung bei ,<br />--></span>|§<span class="comment-gray"><!-- Einzelwert temporär in „§“ speichern<br />--></span>|<nowiki>[[Attributname::§]]</nowiki><span class="comment-gray"><!-- Ausgabe<br />--></span>|&nbsp;•&#32;<span class="comment-gray"><!-- Ausgabe-Trenner:<br /> non-breaking-space dann • dann Leerzeichen<br />--></span>'''}}'''</code></td><!-- | |||
--><td style="padding-left:1em;"><code>'''{{'''<nowiki>#arraymap: {{{Vorl.-Parameter|}}}</nowiki>|,|§|<nowiki>[[Attributname::§]]</nowiki>|&nbsp;•&#32;'''}}'''</code></td><!-- | |||
--></tr></table></li><!-- | |||
--><li>Werteliste ; Semikolon separiert<br /><table class="vertical-align-top"><!-- | |||
--><tr><!-- | |||
--><th>Kommentarversion</th><!-- | |||
--><th>Kompaktversion</th><!-- | |||
--></tr><tr><!-- | |||
--><td style="border-right:1px dotted gray;padding-right:1em;"><code>'''{{'''<nowiki>#arraymap: {{{Vorl.-Parameter|}}}</nowiki><span class="comment-gray"><!-- Werte<br />--></span>|;<span class="comment-gray"><!-- Trennung bei ;<br />--></span>|§<span class="comment-gray"><!-- Einzelwert temporär in „§“ speichern<br />--></span>|<nowiki>[[Attributname::§]]</nowiki><span class="comment-gray"><!-- Ausgabe<br />--></span>|&nbsp;•&#32;<span class="comment-gray"><!-- Ausgabe-Trenner:<br /> non-breaking-space dann • dann Leerzeichen<br />--></span>'''}}'''</code></td><!-- | |||
--><td style="padding-left:1em;"><code>'''{{'''<nowiki>#arraymap: {{{Vorl.-Parameter|}}}</nowiki>|;|§|<nowiki>[[Attributname::§]]</nowiki>|&nbsp;•&#32;'''}}'''</code></td><!-- | |||
--></tr></table></li></ul> | |||
Die obigen HTML-Kommentarzeichen <code><!-- --></code> 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. | 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 {{ns:property}} 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: | |||
{{Eigenschaft erstellen oder bearbeiten}} | |||
== Formulare erstellen == | == Formulare erstellen == | ||
| Zeile 71: | Zeile 102: | ||
** mit <code><nowiki>{{#info: message=prägnanter Hilfetext}}</nowiki></code> {{#info: message=prägnanter Hilfetext}} gegeben werden. | ** mit <code><nowiki>{{#info: message=prägnanter Hilfetext}}</nowiki></code> {{#info: message=prägnanter Hilfetext}} gegeben werden. | ||
[[Kategorie: Hilfe]] | [[Kategorie: Hilfe]] | ||
== Anmerkungen == | |||
<references /> | |||
Aktuelle Version vom 19. März 2014, 14:59 Uhr
|
|
Diese Seite ist noch unvollständig und bedarf noch Evaluation durch Vorlagen-Programmier-Praxis. |
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:
Möchte ich die Seiten „wiederfinden“, soll die Vorlage auf nur gewissen Seiten verwendet werden?- Lösung: Lassen Sie die Vorlage eine Kategorie speichern.
Möchte ich gezielte Daten auf Seiten „wiederfinden“?- Lösung: Speichern Sie Parameterwerte in Semantischen Attributen.
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.)?
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.
- Klicken Sie auf Einstellungen (Tab Aussehen)
- Klicken Sie unter (*) Vektor auf „Benutzerdefiniertes JavaScript“, eine neue Seite öffnet sich, auf der JavaScript gespeichert werden kann
- 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
Diese Zuordnung von semantischen Daten ist nur nötig, wenn man später gezielt semantische Daten wieder abfragen oder extrahieren möchte ({{#ask: … }}). Es gibt 2 Fälle:
- Der Vorlagenparameter speichert einen Wert
- Parameter + Attribuit sichtbar:
[[Attributname::{{{Vorl.-Parameter}}}]] - Parameter + Attribuit unsichtbar:
[[Attributname::{{{Vorl.-Parameter}}}| ]]oder{{#set:Attributname={{{Vorl.-Parameter}}}}}
- Parameter + Attribuit sichtbar:
- Der Vorlagenparameter soll mehrere getrennte Werte speichern können (=Werteliste)
- Werteliste , Komma separiert
Kommentarversion Kompaktversion {{#arraymap: {{{Vorl.-Parameter|}}}<!-- Werte
-->|,<!-- Trennung bei ,
-->|§<!-- Einzelwert temporär in „§“ speichern
-->|[[Attributname::§]]<!-- Ausgabe
-->| • <!-- Ausgabe-Trenner:
non-breaking-space dann • dann Leerzeichen
-->}}{{#arraymap: {{{Vorl.-Parameter|}}}|,|§|[[Attributname::§]]| • }} - Werteliste ; Semikolon separiert
Kommentarversion Kompaktversion {{#arraymap: {{{Vorl.-Parameter|}}}<!-- Werte
-->|;<!-- Trennung bei ;
-->|§<!-- Einzelwert temporär in „§“ speichern
-->|[[Attributname::§]]<!-- Ausgabe
-->| • <!-- Ausgabe-Trenner:
non-breaking-space dann • dann Leerzeichen
-->}}{{#arraymap: {{{Vorl.-Parameter|}}}|;|§|[[Attributname::§]]| • }}
- Werteliste , Komma separiert
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.
- mit
Anmerkungen
- ↑ In den Wikis der Biowikifarm ist diese Extension i.d.R. aktiviert, siehe hierzu immer die englische Version der Spezialseite Special:Version