Extension:BetaFeatures/fr

L'extension BetaFeatures autorise les autres extensions MediaWiki à enregistrer leur fonctionnalités beta avec la liste des préférences utilisateur sur le wiki. Elle utilise l'architecture des préférences déjà existante et quelques pages spéciales pour accomplir sa fonction.

Utiliser les nouveaux crochets dans votre extension
L'utilisation de cette extension pour prendre en charge votre fonctionnalité bêta est facile. Enregistrez un crochet de type "" dans votre fichier — la syntaxe est presque identique au crochet, avec de petites modifications pour prendre en charge le type de préférence dont nous avons besoin dans ce cas.

Dans  :

Dans  :

Alors vous pouvez utiliser la fonction commodité fournie par les Fonctionnalités Bêta pour vérifier si la fonctionnalité est activée.

Vous pouvez également utiliser une vérification de préférence normale, mais ne vérifiez pas les valeurs véridiques ou fausses - utilisez les valeurs de la classe HTMLFeatureField.

Étant donné que la classe BetaFeatures doit être présente partout, vous pouvez utiliser la fonction de commodité dans n'importe quel crochet, page spéciale ou tout autre élément de votre choix. Soyez simplement conscient des problèmes potentiels de performances ou de mise en cache que vous pourriez introduire avec ces modifications.

Si vous souhaitez également utiliser votre extension sans BetaFeatures, vous devez également vérifier son existence, par exemple :

Configuration
La variable de configuration  peut être utilisée pour limiter les fonctionnalités bêta affichées dans les préférences. Par défaut, il est vide et toutes les fonctionnalités bêta sont affichées.

S'il est utilisé, pour qu'une fonctionnalité bêta apparaisse dans les préférences, elle doit être répertoriée dans la liste blanche. Cette variable de configuration accepte un tableau de chaînes. Chaque chaîne doit être le nom d'une fonctionnalité bêta, comme spécifié dans la définition de préférence transmise à. Par exemple, dans le code ci-dessus, le nom de la fonctionnalité bêta est, vous devez donc ajouter cette chaîne au tableau   dans la configuration de votre wiki :

Utilisation avancée
Vous voulez voir quelque chose de vraiment cool ?

Groupes d'inscription automatique
Avec cet exemple, nous enregistrons une préférence qui est une "inscription automatique" - si un utilisateur vérifie cela et que de nouvelles fonctionnalités sortent dans un groupe particulier, l'utilisateur sera automatiquement inscrit à ces fonctionnalités.

Gestion des dépendances
Ensuite, nous pouvons en fait définir la gestion des dépendances par fonctionnalité. Pour ce faire, nous enregistrons d'abord le nom d'un crochet que nous voulons utiliser pour cela avec le crochet "", puis nous enregistrons un crochet de ce type qui vérifie certaines dépendances et renvoie true si elle est remplie ou false sinon.

Vous pouvez abuser utiliser cette fonctionnalité pour désactiver des fonctionnalités par wiki, si elles sont marquées comme dépendantes. Mais cela semble vraiment hacky. Vous ne devriez probablement pas. Je peux vous entendre y penser en ce moment, arrêtez simplement.

Contenu de la base de données
Il existe une table de base de données (1 $) définie et utilisée par BetaFeatures. Mais vous pourriez être confus si vous essayez de l'utiliser localement.

Nous utilisons la file d'attente des tâches pour exécuter les mises à jour de cette table, lorsque le cache expire (30 minutes TTL). Si votre wiki est configuré pour exécuter des tâches à chaque requête, cela rendra environ une requête toutes les 30 minutes très lente, mais le reste sera relativement rapide. Si vous configurez votre wiki pour exécuter des tâches via cron, les choses fonctionneront beaucoup mieux.