Extension:BetaFeatures/es

La extensión BetaFeatures permite a otras extensiones de MediaWiki registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.

Usando los nuevos ganchos en tu extensión
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo "" en su archivo de ; la sintaxis es casi idéntica a la del gancho de, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.

En :

En :

Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.

También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.

Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.

Si quiere utilizar también su extensión sin BetaFeatures, deberá comprobar también su existencia, por ejemplo:

Configuración
La variable de configuración  puede utilizarse para limitar las características beta que se muestran en las preferencias. Por defecto está vacío, y se muestran todas las características beta.

Si se utiliza, para que una función beta aparezca en las preferencias debe figurar en la lista blanca. Este config la variable acepta una variedad de cuerdas. Cada cadena debe ser el nombre de una característica beta tal y como se especifica en la definición de preferencias pasada a. For example, in the code given above, the name of the beta feature is, so you would need to add that string to the   array in your wiki's configuration:

Uso avanzado
¿Quieres ver algo realmente genial?

Auto-enroll groups
With this example, we register a preference that's an "auto-enroll" one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.

Administración de dependencias
Next up, we can actually define dependency management per-feature. To do this we first register the name of a hook that we want to use for this with the hook "", then we register a hook of that type that checks some dependency, and returns true if it's met or false if not.

You can abuse use this feature to do per-wiki disabling of features, if they're marked as dependent. But that sounds really hacky. You probably shouldn't. I can hear you thinking about it right now, just stop it.

Consideraciones sobre la base de datos
There's a database table defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.

We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.