Extension:BetaFeatures/de

Die BetaFeatures-Erweiterung ermöglicht es anderen MediaWiki-Erweiterungen, Beta-Funktionen mit der Liste der Benutzereinstellungen im Wiki zu registrieren. Es verwendet die vorhandene Architektur der Benutzereinstellungen und einige spezielle Seiten, um seine Funktion zu erfüllen.

Verwendung der neuen Hooks in Deiner Erweiterung
Die Verwendung dieser Erweiterung zur Unterstützung Deiner Beta-Funktion ist einfach. Registriere einen Hook vom Typ "Abruf der Beta-Funktionseinstellungen" in Deiner Datei extension.json – die Syntax ist fast identisch mit der des Hooks, mit geringfügigen Änderungen, um die Art der Funktion, die wir in diesem Fall brauchen, zu unterstützen.

In :

In :

Anschließend kannst Du mithilfe der von BetaFeatures bereitgestellten zweckdienlichen Funktion überprüfen, ob die Funktion aktiviert ist.

Du kannst auch eine normale Prüfung der Einstellungen anwenden, jedoch keine Prüfung mit "true" oder "false" Einstellungen - verwende nur die Werte aus der HTMLFeatureField-Kategorie.

Da die BetaFeatures-Katwegorie überall vorhanden sein sollte, kannst Du die zweckdienliche Funktion in beliebigen Hooks, Spezialseiten oder anderen gewünschten Elementen verwenden. Beachte nur die potenziellen Performance- oder Caching-Probleme, die durch diese Änderungen möglicherweise verursacht werden.

Wenn Du Deine Erweiterung auch ohne BetaFeatures verwenden möchtest, solltest Du auch überprüfen, ob sie überhaupt vorhanden ist, z. B.:

Konfiguration
Mit der Konfigurationsvariablen  kannst Du einschränken, welche Betafunktionen in den Einstellungen angezeigt werden. Standardmäßig ist es leer und alle Beta-Funktionen werden angezeigt.

Wenn es verwendet wird, muss es in der Whitelist aufgeführt sein, damit eine Beta-Funktion in den Einstellungen angezeigt wird. Diese Konfigurationsvariable akzeptiert ein Reihe von Zeichenfolgen. Jeder String sollte der Name eines Beta-Features sein, wie in der Definition der Einstellungen angegeben, die an    übergeben wird. In dem oben angegebenen Code lautet der Name des Beta-Features beispielsweise, sodass Du diesen String zum Array   in Deinen wiki configs hinzufügen musst.

Verwendung für Fortgeschrittene
Willst du etwas wirklich tolles sehen?

Gruppen automatisch registrieren
In diesem Beispiel wird eine Voreinstellung vorgenommen, mit der automatisch mehrere Einstellungen aktiviert werden. Wenn ein Benutzer dies aktiviert und neue Funktionen in einer bestimmten Gruppe enthalten sind, aktiviert der Benutzer automatisch alle diese Funktionen auf einmal.

Management untergeordneter Features
Als Nächstes können wir tatsächlich das Management pro Feature definieren. Dazu registrieren wir zuerst den Namen eines Hooks, den wir dafür verwenden möchten, mit dem Hook "GetBetaFeatureDependencyHooks", dann aktivieren wir einen Hook dieses Typs, der die etwaige Zugehörigkeit prüft und true zurück gibt, wenn es erfüllt ist, oder false, falls nicht.

Du kannst diese Funktion miss brauchen, um die Funktionen pro Wiki zu deaktivieren, wenn sie als untergeordnet markiert sind. Aber das klingt wirklich abgedreht. Das solltest du möglichst nicht tun. Ich kann mir vorstellen, wie du darüber denkst, aber lass es lieber.

Datenbank Material
Es gibt eine Datenbanktabelle, die von BetaFeatures definiert und verwendet wird. Es kann jedoch unübersichtlich sein, wenn Du versuchen solltest, sie lokal zu verwenden.

Wir verwenden die Jobwarteschlange, um Aktualisierungen für diese Tabelle auszuführen, wenn der Cache abläuft (30 Minuten Lebenszeit). Wenn Dein Wiki so konfiguriert ist, dass Jobs für jede Anforderung ausgeführt werden, wird dadurch etwa alle 30 Minuten eine Anforderung ausgeführt. Dies ist zwar sehr langsam, der Rest ist jedoch relativ schnell. Wenn Du Dein Wiki so konfigurierst, dass Jobs über den Cron-Daemon ausgeführt werden, funktioniert es viel besser.

Siehe auch

 * Beta Features
 * Roadmap
 * Rollout plan