Instalação¶
Instalação do plugin¶
Copie (ou instale via ZIP gerado pelo workflow de release, veja Desenvolvimento) o conteúdo deste repositório para
<moodle>/local/suap.Acesse Administração do site → Notificações para disparar a rotina de instalação do Moodle.
Na instalação (db/install.php), o plugin:
cria as categorias e campos de perfil customizados de curso e de usuário usados pela sincronização (função
suap_bulk_course_custom_field()/suap_bulk_user_custom_field()emdb/migrate.php);cria as tabelas próprias do plugin (
suap_enrolment_to_sync,suap_learning_path,suap_learning_path_course, além das declaradas emdb/install.xml:local_suap_relatorio_cursos_autoinstrucionaiselocal_suap_restricoes_autoinscricao).
Essas mesmas funções são reexecutadas em todo upgrade (db/upgrade.php), o que permite adicionar novos campos
customizados em versões futuras sem exigir reinstalação.
Tela de configuração¶
Em Administração do site → Plugins → Plugins locais → SUAP Integration (registrada por settings.php via
suap_admin_settingspage em adminlib.php), as configurações estão agrupadas assim:
Configuração |
Descrição |
|---|---|
|
Token que o SUAP/Integrador AVA deve enviar no header |
|
URL base do Painel AVA (ex.: |
Configuração |
Descrição |
|---|---|
|
|
|
Nome usado apenas se a categoria raiz precisar ser criada. Padrão: |
|
Categoria pai da categoria raiz. Padrão: |
Configuração |
Descrição |
|---|---|
|
Preferências aplicadas a todo novo usuário (aluno ou professor) no momento da criação da conta, uma por
linha, no formato |
|
JSON que mapeia |
|
Método de autenticação padrão para usuários cujo papel não está em |
|
Texto no formato |
Configuração |
Descrição |
|---|---|
|
Lista, entre aspas simples separadas por vírgula (ex.: |
|
Habilitam (checkbox) a criação de grupos de Entrada/Turma/Polo/Programa dentro das salas de aula (diários). |
|
Mesma coisa, para as salas de coordenação de curso. |
Grupo de configurações |
Campos |
|---|---|
Estudantes ( |
|
Professores ( |
Mesma estrutura, |
Tutores/assistentes ( |
Mesma estrutura, |
Colaboradores egressos ( |
Mesma estrutura, |
Moderadores ( |
Mesma estrutura, |
Docentes em salas de coordenação ( |
Mesma estrutura, |
Note
Essas configurações default_*_role_id/default_*_enrol_type existem na tela de administração, mas o
fluxo efetivo de sincronização de matrículas em api/sync_up_enrolments.php resolve papel e método de
inscrição a partir de roles_mapping (por sala_tipo + papel SUAP), não diretamente destes campos
individuais. Trate-os como valores de referência/legado ao configurar uma instalação nova — o comportamento
efetivo está documentado em Sincronização SUAP → Moodle.
Capacidades (capabilities)¶
Definidas em db/access.php:
Capability |
Descrição |
|---|---|
|
Concedida por padrão a |
|
Concedida por padrão a |
Warning
As páginas admin/index.php e admin/view.php (histórico de sincronizações) checam apenas
is_siteadmin(), não a capability local/suap:adminview — administradores de site sempre têm acesso,
independentemente de quem mais receba essa capability.
Testando a instalação¶
GET /local/suap/healthcheck.phpretorna{"component", "release", "version"}sem exigir autenticação — útil para confirmar que o plugin está instalado e qual versão está ativa.POST /local/suap/api/?health(com o headerAuthentication: Token <auth_token>) retorna o mesmo tipo de informação, mas passando pelo pipeline de autenticação da API — útil para validar o token configurado. Veja API e serviços para o contrato completo dos serviços.
Danger
health.php (na raiz do plugin, diferente de api/health.php) é um script de diagnóstico que expõe
informações do servidor (hostname, versão do PHP, opções de conexão com o banco, caminho do wwwroot,
configuração de proxy/SSL) e não exige autenticação nem ``require_login()``. Restrinja o acesso a este
arquivo por outra camada (proxy reverso, firewall) ou remova-o em produção — o código-fonte atual não impõe
nenhum controle de acesso a ele.