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
The  config variable can be used to limit which beta features are shown in preferences. By default it is empty, and all beta features are shown.

If it is used then in order for a beta feature to show up in the preferences it needs to be listed in the whitelist. Este config la variable acepta una variedad de cuerdas. Each string should be the name of a beta feature as specified in the preference definition passed to. 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 "GetBetaFeatureDependencyHooks", 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.

Véase también

 * Funcionalidades Beta
 * Hoja de ruta
 * Plan de lanzamiento