Extension:BetaFeatures/nl

De extensie BetaFeatures staat toe dat andere MediaWiki extensies hun betafuncties registeren in de lijst met gebruikersvoorkeuren op de wiki. Het gebruikt hiervoor de bestaande structuur van gebruikersvoorkeuren en een aantal speciale pagina's.

Installatie


De nieuwe hooks in uw extensie gebruiken
Het gebruik van deze extensie is eenvoudig. Registreer een hook van type "" in uw bestand, de syntaxis is bijna gelijk aan de hook , met wat kleine aanpassingen om het type voorkeur te ondersteunen.

In :

In :

U kunt daarna de functie convenience van BetaFeatures gebruiken om te controleren of de functie is ingeschakeld.

Dit kan ook met een normale controle van de voorkeur, maar test niet of true of false, gebruik de waarden in de class HTMLFeatureField om te testen.

Omdat de class BetaFeatures overal aanwezig moet zijn kunt u de convenience functie in elke hook, op elke speciale pagina of eldere gebruiken. Kijk wel uit voor de mogelijke performance problemen bij het cachen die door deze wijziging kunnen ontstaan.

Als u uw extensie ook zonder BetaFeatures wilt gebruiken, voeg dan ook een test of het bestaat uit:

Configuratie
De configuratie instelling  kan worden gebruikt om het aantal betafuncties dat in de voorkeuren wordt getoond, te beperken. Standaard is het leeg, dat betekent dat alle betafuncties worden getoond.

Als het wordt gebruikt dan wordt een betafunctie getoond in de voorkeuren als het in de 'whitelist' staat. Deze variabele is een array van strings. Elke string is dan de naam van een betafunctie zoals gespecificeerd in de voorkeursdefinitie doorgegeven aan. In het voorbeeld hierboven is de naam van de betafunctie, dus dient die naam toegevoegd worden als string in het array  in de configuratie van uw wiki:



Geavanceerd gebruik
Wilt u iets te gek zien?



Automatische inschrijvingsgroepen
In dit voorbeeld registreren we een voorkeur die er een automatisch aanmeld, als een gebruiker dit aanvinkt dan en er komt een nieuwe functie bij in een bepaalde groep, dan wordt de gebruiker automatisch aangemeld voor die functies.



Beheer van afhankelijkheden
Vervolgens kunnen we zelfs afhankelijkheden aangeven per functie. Daarvoor registreren we eerst de name van een hook die we hiervoor willen gebruiken met de hook "", daarna registreren we een hook van dat type die wat afhankelijkheden controleert en true of false' teruggeeft, als resp. wel/niet aan de afhankelijkheden is voldaan.

U kunt deze functie misbruiken gebruiken voor het per wiki uitschakelen van functies, als ze als afhankelijk zijn aangegeven. Maar dat klinkt wel als een echt knutselen. Doe dat liever niet.



Database notities
Er is een database-tabel gedefinieerd door BetaFeatures. U kunt het overzicht kunnen verliezen als u deze tabel lokaal probeert te gebruiken.

We gebruiken de job wachtrij op updates op deze tabel te doen, wanneer de cache vervalt (30 minuten TTL). Als de wiki is geconfigureerd om jobs per verzoek uit te voeren, dan wordt een verzoek per 30 minuten wel heel erg langzaam, maar is het overige relatief snel. Het werkt beter als u de wiki geconfigureerd om jobs uit te voeren via cron.

