PlayerHUD Availability Restriction

Condição de restrição de acesso do ecossistema PlayerHUD — documentação completa.

English | Português

View on GitHub Download .zip

Moodle License Status Latest Release PlayerGames Ecosystem Role Author

Moodle Plugin CI MDL Shield Last Commit Open Issues

A Restrição de Acesso do PlayerHUD é uma extensão complementar obrigatória do Bloco PlayerHUD. Ela permite ao professor restringir o acesso a atividades, recursos ou seções do curso com base no progresso do estudante no PlayerHUD.

Ela se conecta diretamente ao sistema nativo de Restringir acesso do Moodle, liberando conteúdo apenas quando o estudante atinge um determinado Nível, possui um Item necessário, pertence a uma Classe de personagem, ou tem a gamificação ativa.

👈 Use a barra lateral para ir a qualquer seção desta página.


✨ Funcionalidades

🕹️ Ecossistema PlayerGames

Este plugin faz parte do ecossistema de gamificação PlayerGames. Juntos, esses plugins transformam o Moodle em uma experiência imersiva:

🧩 Integração Opcional: Report Unlocker

As restrições do PlayerHUD normalmente são configuradas e editadas uma atividade por vez, pelo próprio painel Restringir acesso de cada atividade (veja Como Usar). O plugin de relatório separado Report Unlocker (report_unlocker, do mesmo autor, mas que não faz parte da família PlayerGames) adiciona um painel de todo o curso que lista todas as restrições de acesso — incluindo as condições de Nível, Item, Personagem e Gamificação do PlayerHUD — com edição inline, remoção em lote e um assistente de IA para mudanças em linguagem natural. O Report Unlocker lê e grava o mesmo JSON de {course_modules}.availability que este plugin produz, sempre escopado à instância do bloco PlayerHUD do próprio curso, então nada muda na forma como a restrição é armazenada. Sem o Report Unlocker instalado, as restrições continuam funcionando exatamente como descrito em Como Usar — só o painel de todo o curso fica indisponível.

👉 https://github.com/jeanlucio/moodle-report_unlocker

📦 Requisitos

Componente Versão
Moodle 4.5+
PHP Compatível com a versão do Moodle
Dependência obrigatória Bloco PlayerHUD

🛠️ Instalação

  1. Certifique-se de que o Bloco PlayerHUD esteja instalado primeiro: 👉 https://github.com/jeanlucio/moodle-block_playerhud Esta condição de disponibilidade depende do bloco e não funcionará sem ele.
  2. Baixe o arquivo .zip ou clone este repositório.
  3. Extraia a pasta para o diretório availability/condition/ do seu Moodle.
  4. Renomeie para playerhud (se necessário). Caminho final: seu-moodle/availability/condition/playerhud/
  5. Acesse Administração do site > Notificações para concluir a instalação.

📖 Como Usar

  1. Adicione o Bloco PlayerHUD ao curso (veja Instalação) — a opção de restrição só aparece em cursos onde existe uma instância do bloco PlayerHUD.
  2. Ative o Modo de edição no curso.
  3. Edite uma atividade, recurso ou seção.
  4. Abra a seção Restringir acesso e clique em Adicionar restrição…
  5. Selecione PlayerHUD.
  6. Escolha o tipo de restrição e seus parâmetros (veja a tabela de referência abaixo).

O estudante só ganha acesso quando a condição definida é atendida; a descrição exibida a ele é gerada dinamicamente a partir da mesma condição.

Referência dos Tipos de Restrição

Tipo Parâmetros Acesso liberado quando
Nível Mínimo Nível necessário O nível atual do estudante no PlayerHUD é maior ou igual ao nível configurado.
Possuir Item Item, operador (ao menos, mais que, menos que, exatamente), quantidade A quantidade do item selecionado no inventário do estudante satisfaz o operador escolhido em relação à quantidade configurada.
Personagem Classe RPG O estudante tem a classe RPG selecionada atribuída no seu progresso do PlayerHUD.
Gamificação Ativa O estudante não pausou/optou por sair da gamificação no bloco PlayerHUD do curso.

Observações

🧪 Testes Automatizados

O plugin inclui testes unitários/integração (PHPUnit) e de aceitação em navegador (Behat), executados a cada push de CI contra a matriz completa (Moodle 4.5 → 5.2, PostgreSQL & MariaDB).

PHPUnit — Testes Unitários e de Integração

Arquivo de teste Casos
backup/restore_test.php 2
condition_test.php 24
frontend_test.php 5
privacy/provider_test.php 1
Total 32
vendor/bin/phpunit --testsuite availability_playerhud

Cobertura de linhas total (PHPUnit + Xdebug): 94%.

Behat — Testes de Aceitação

Arquivo de feature Cenários
allow_add.feature 2
restriction_level.feature 2
restriction_gamification.feature 2
Total 6
php admin/tool/behat/cli/init.php
vendor/bin/behat --tags=@availability_playerhud --profile=chrome

Detalhamento completo dos testes e tabela de cobertura →

🔐 Segurança e Conformidade

Provedor de Privacidade

A Restrição de Acesso do PlayerHUD implementa o null_provider do Moodle — ele apenas dados pertencentes e armazenados pelo Bloco PlayerHUD (nível, inventário, classe RPG, status de gamificação) para calcular uma decisão de acesso; nunca persiste nenhum dado pessoal próprio. Veja a documentação do próprio bloco para a cobertura completa de exportação/exclusão GDPR.

📄 Licença

Este projeto é licenciado sob a GNU General Public License v3 (GPLv3).

Copyright: 2026 Jean Lúcio