Extension:BetaFeatures/pt-br

A extensão BetaFeatures permite que outras extensões do MediaWiki registrem seus recursos beta na lista de preferências do usuário na wiki. Ela utiliza da arquitetura já existente das preferências de usuário e de algumas poucas páginas especiais para cumprir seu propósito.

Usando os novos hooks em sua extensão
Usando essa extensão para dar suporte ao seu recurso beta é fácil. Registre um hook do tipo “” no seu arquivo — a sintaxe é quase idêntica ao hook, com algumas pequenas mudanças para ser compatível com o tipo de preferência necessário neste caso.

Na :

Na :

Daí, é possível utilizar a função de conveniência fornecida pela BetaFeatures para conferir se o recurso foi ativado.

Também é possível utilizar um normal check nas preferências, mas não o faça contra valores booleanos (True/False) — utilize os valores da classe.

Pelo fato da classe  necessitar estar presente em todos os lugares, é possível utilizar a função de conveniência em qualquer hook, página especial, etc. Apenas tenha em mente os possível problemas de performance ou de cache que poderão vir com essas mudanças.

Caso você também deseje utilizar sua extensão sem a BetaFeatures, certifique-se que ela não existe:

Configuração
A variável de configuração  pode ser utilizada para limitar quais recursos betas são exibidos nas preferências. Por padrão, a variável é nula, e todos os recursos beta são exibidos.

Se ela for utilizada, para que um recurso beta seja exibido nas preferências, ele necessitará ser listado na whitelist. Essa variável aceita um arranjo de strings. Cada string deve ser o nome do recurso beta conforme especificado na definição passada ao. Por exemplo, no código acima, o nome do recurso beta é, então ele deveria ser adicionado ao arranjo   na configuração da sua wiki:

Uso avançado
Quer ver algo bem legal?

Inscrição automática em grupos
Neste exemplo, registramos uma preferência de “auto-inscrição” — se o usuário ativá-la e novos recursos serem lançados para um certo grupo, o usuário será automaticamente “inscrito” a esses recursos (ou seja, serão ativados).

Gerenciamento de dependências
A seguir, definiremos um recurso de gerenciamento de dependências. Para fazer isso, primeiro registramos o nome do hook o qual desejamos utilizar para isso com o hook “”, e aí registramos um hook daquele tipo que confira dependências, retornando  ou.

É possível usar e abusar disso para desabilitar os recursos na wiki, caso estejam marcados como dependências. Mas isso parece bem rudimentar, não? Pare, sabemos que você quer fazer isso!

Banco de dados
Há uma tabela de dados definida e usada pela BetaFeatures, que é a. Entretanto, você poderá ser confundir se tentar utilizá-la localmente.

Usamos a fila de trabalhos (job queue) para executar atualizações nessa tabela após o cache expirar (TTL de 30 minutos). Se sua wiki estiver configurada para executar trabalhos a cada request, isso fará com que uma request a cada 30 minutos seja muuuuuito lenta, mas o resto será relativamente rápido. Se você configurar sua wiki para executar trabalhos através do cron, as coisas serão muito mais rápidas.