Extension:Gadgets/de

Die Gadgets-Erweiterung bietet eine Möglichkeit für Benutzer, JavaScript- oder CSS-basierte "Helferlein" auszuwählen, welche andere Wiki-Benutzer anbieten. Gadgets werden aus JavaScript- und/oder CSS-Stückchen zusammengesetzt, die auf Seiten im MediaWiki-Namensraum vorhanden sind. Jedes Gadget wird durch eine Zeile in der MediaWiki:Gadgets-Definition bestimmt. Diese enthält einen Namen und eine Beschreibung für das Gadget sowie die Liste der von ihm verwendeten JS- oder CSS-Schnipsel (siehe Abschnitt Verwendung unten).

Seit sich Gadgets im MediaWiki-Namensraum (die Liste der Definition des Gadgets als auch die tatsächlichen Code-Schnipsel) befinden, können nur Sysops (aka Wiki-Admins) den Code bearbeiten. Dies ist, wie es sein soll: Nur von der Wiki-Gemeinschaft besonders vertraute Benutzer sollten im Stande sein, JavaScript-Code zu editieren, der von anderen Benutzern verwendet wird, da JavaScript leicht verwendet werden kann, um Zugangsdaten oder andere sensible Daten auszuspionieren.

Verwendung
Die Liste der verfügbaren Gadgets wird definiert in MediaWiki:Gadgets-definition. Gadgets die dort definiert sind, werden im Gadgets Abschnitt der Seite Special:Preferences aufgelistet, sodass Benutzer dort die Gadgets auswählen können, die sie verwenden möchten. Eine Übersicht über die in MediaWiki:Gadgets-Definition definierten Gadgets, wird auch auf Special:Gadgets aufgelistet. Dort werden auch die zugehörigen Systemtexte für eine einfache Bearbeitung angezeigt.

Format
Jede Zeile in MediaWiki:Gadgets-definition die mit einem oder mehreren "*" Zeichen beginnt (asterisks), definiert ein Gadget; es muss die folgende Form haben: * gadget_name [Einstellungen (kann weggelassen werden)] | Seitennamen

Das erste Feld (" gadget_name " im Beispiel) ist der interne Name des Gadgets, und verweist auf eine System-Nachricht (MediaWiki:Gadget- gadget_name  im Beispiel), die eine kurze Beschreibung des Gadgets enthält, durch Verwendung von Wiki-Syntax.

Der interne Name wird als ein Teil des Namens eines Form-Feldes verwendet und muss den Regeln der für NAMEN-Attribut-Werte definierten Regeln folgen. Das bedeutet, dass es mit einem Buchstabe ([A-Za-z]) beginnen muss und von jeder Zahl von Buchstaben, Ziffern ([0-9]), Bindestriche (" - ") gefolgt werden kann, unterstreicht ("_"), Doppelpunkte (":"), und Punkten (".").

Options-Format: [option1 | option2 | ... optionN] Leerraum kann weggelassen werden. Eine Einzel-Option kann entweder aus dem einzelnen Auswahl-Namen bestehen (in diesem Fall ist es eine Flag-Option), oder sie enthalten eine durch Komma getrennte Liste von Werten

option = value1, value2, value3

Beispiele: * mygadget|mygadget.js|mygadget.css oder * mygadget[ResourceLoader]|mygadget.js|mygadget.css oder * mygadget[rights=foo,bar]|mygadget.js|mygadget.css oder * mygadget[ ResourceLoader | rights=foo, bar ] | mygadget.js | mygadget.css

Optionen
Sie können zusätzliche Abhängigkeiten für Ihre Gadgets angeben, z. B.:

* mygadget[ResourceLoader|dependencies=jquery.ui, jquery.effects.clip]|mygadget.js|mygadget.css

Hier bitten wir ResourceLoader, um die Module  und   mit mygadget zu laden. Beachten Sie, dass Gadgets kann nicht auf Skripte von Seiten, statische Dateien oder externe URLs abhängig sein kann, nur auf Module die bereits in ResourceLoader registriert sind.

Um das Gadget nur für Benutzer mit entsprechenden Berechtigungen verfügbar zu machen, setzen Sie die -Option. Zum Beispiel,

* ImprovedDeletion [rights=delete] | ImprovedDeletion.js macht das Gadget nur Benutzern bereit, die wirklich Seiten löschen können. Beachten Sie, dass Beschränkungen auf der Erlaubnis, nicht den Benutzergruppen wie Administratoren oder Bürokraten beruhen. Hier sind einige konkrete Beispiele: * modrollback[ResourceLoader|rights=rollback]|modrollback.js * UTCLiveClock[ResourceLoader|rights=purge]|UTCLiveClock.js * Ajax_sysop[ResourceLoader|rights=patrol,rollback,markbotedits,delete]|Ajax_sysop.js

ResourceLoader Unterstützung
Alle Gadgets CSS werden immer via den ResourceLoader geladen. Allerdings sind ältere Versionen von JavaScript oft inkompatibel mit RL, so dass jedes Gadget explizit als kompatibel markiert werden muss, damit dessen Skripte von RL geladen werden. Ansonsten werden alte  benutzt.

Jedes Gadget, das zumindest teilweise ResourceLoader verwendet (das heißt, dass es Stile oder kompatible Skripte beinhaltet), hat sein eigenes RL Modul. Die Module werden  genannt.

Seiten
Die restlichen Felder der Zeile beziehen sich auf den JavaScript oder CSS-Code, aus dem das Gadget, im System enthaltenen Nachrichten (MediaWiki:Gadget-mygadget.js und MediaWiki:Gadget-mygadget.css im Beispiel), die Namen dieser Nachrichten müssen mit ".js" oder ".css" enden, beziehungsweise bezeichnet werden. Ein Gadget kann eine beliebige Anzahl von Codenachrichten verwenden, speziell allgemeiner Code kann in eine Codenachricht, die durch mehrere Geräte zusätzlich zu ihrem eigenen spezifischen Code verwendet ist, gestellt werden, z. B.:

* frobinator|commonStuff.js|frob.js|frob.css|pretty.css * l33t|commonStuff.js|tools.js|l33t.js

Abschnitte
Die Liste der Gadgets in MediaWiki:Gadgets-Definition kann mit Hilfe von Linien in Abschnitte aufgeteilt werden, dass Anfang und Ende mit zwei oder mehr "=" (Gleichheitszeichen), unter Beifügung des Namens eine System-Nachricht, die den Namen des Abschnitts definiert - zum Beispiel:

== interface-gadgets ==

Dies würde einen neuen Abschnitt definieren, der auf der Seite MediaWiki: Gadget-section-Interface-Gadgets mit dem Titel definiert ist.

ToDo

 * Erfüllen Sie Basic-Gadgets

Siehe auch

 * Extension:Gadgets/Roadmap
 * Gadget Manager
 * Extension:Widgets
 * Snippets