Este é um ecossistema de aplicações que integra os Ambientes Virtuais de Aprendizagem (AVA) do IFRN ao SUAP. O ecossistema usa uma integração com o mínimo de três partes para integrar um único SUAP a vários AVA. As partes que compõem esse ecossistema são: SUAP, Painel AVA e Plugin Modoel (local_suap). A unidade de integração é o diário do SUAP, ou seja, exporta do SUAP para o AVA os dados dos diários e importa as notas dos alunos nos diários do AVA para o SUAP.
Primeiro sua organização deverá ter um termo de cooperação com o IFRN antes que você tenha acesso ao fonte do SUAP.
- SUAP - Sistema acadêmico, mais ligado à parte burocrática do curso.
- Painel AVA - Orquestrador da integração, dado que pode haver mais de um AVA, ele é responsável por escolher qual AVA será integrado para cada diário, como um middleware. Também oferece interface única para acesso a todos os diários de todos os AVA integrados, como um Painel.
- Moodle's plugin local_suap - Recebe a requisição de um Painel AVA, faz todo o trabalho e responde o resultado da integração (importação de diários e exportação de notas).
O objetivo desta página é dar-lhe uma visão de como este ecossistema foi arquitetado a fim de que você possa tentar se inspirar e reproduzir em seu ambiente com o propósito de melhorar a oferta de serviços AVA à comunidade acadêmica.
A integração é composta de duas partes: diários e notas.
- Diários (TESTADO NO POSTGRESQL)
- Sincronamente (caso não exista, cria, caso exista, atualiza se for necessário atualizar):
- Sincroniza o Moodle:
- contas dos usuários do alunos, professores, tutores e demais colaboradores
- coortes:
- Sincroniza os colaboradores da coorte
- Sincroniza as categorias, na composição: "campus -> curso -> ano/período de oferta -> turma"
- Sincroniza o diário na categoria do "campus -> curso -> ano/período de oferta -> turma":
- enrols
- matriculas dos professores e tutores
- matriculas dos alunos
- vínculos das coortes (só existe em diário)
- grupos por período de entrada, turma, polo e programa (deixa para colocar os alunos no grupo de forma assíncrona)
- Sincroniza a sala de coordenação na categoria do "campus -> curso":
- enrols
- matriculas dos professores e tutores
- matriculas dos alunos
- grupos por período de entrada, turma, polo e programa (deixa para colocar os alunos no grupo de forma assíncrona)
- Sincroniza o Moodle:
- Sincronamente (caso não exista, cria, caso exista, atualiza se for necessário atualizar):
- agrupamento dos alunos nos seus repectivos grupos no diário
- agrupamento dos alunos nos seus repectivos grupos na sala de coordenação
- Sincronamente (caso não exista, cria, caso exista, atualiza se for necessário atualizar):
- Notas (TESTADO NO POSTGRESQL)
- Baixa, para cada categoria de notas com idnumber "N1, N2, N3, N4, N5, N6, N7, N8, N9, NAF", a respectiva nota de cada aluno, onde N1..N9 é a nota final de uma avaliação e NAF é a nota da avaliação final, para os alunos que ficaram em recuperação
Se você não tem tempo e já tem noção do que é este ecossistema, segue a documentação rápida do que fazer a instalação e configuração do ecossistema em 3 passos.
Aqui não teremos os manuais de instalação do Moodle, do Plugin local_suap ou do SUAP, para isso, consulte os manuais dos mesmos.
Instale o Plugin local_suap direto do fonte no GitHub conforme o README do software. Acesse a página de configurações do plugin em %MOODLE_ROOT_URL%/admin/settings.php?section=authsettingsuap
e copie o valor da configuração sync_up_auth_token
que foi gerado automaticamente na instalação (lembre que você pode informar outro, se quiser). Repita este passo para cada Moodle que você tem instalado.
Depois de colocar o Painel AVA para executar conforme o README do software, configure ao menos a variável de ambiente SUAP_EAD_KEY
em confs/enabled/painel.env
. Outras configurações serão necessárias, esta é necessária para a autenticação do SUAP neste serviço.
Copie a URL raiz do Moodle e o token de autenticação do passo anterior e cadastre em %PAINEL_ROOT_URL%/painel/admin/painel/ambiente/
. Faça isso para cada Moodle com o qual queres integrar.
Atualmente é necessário cadastrar um Moodle por campi, se você tem um mesmo Moodle para mais de um campus, cadastre cada campi individualmente e informe a mesma URL e o mesmo token.
Edite o local_settings.py
de tua instalação e defina ao menos as configurações:
MOODLE_SYNC_URL
com a URL raiz do middleware do Painel AVA (ex.: "https://ava.ifbr.edu.br/api/moodle_suap/").MOODLE_SYNC_TOKEN
com o valor que foi o que você especificou no Painel AVA, arquivoconfs/enabled/painel.env
, variável de ambienteSUAP_EAD_KEY
.
Estes diagramas foram construídos usando o https://app.diagrams.net/ e podem ser baixado daqui para sua própria edição. Ele se baseia no C4 Model com a descrição dos tipos de diagramas descritos de forma super simplificada aqui.
No SUAP um curso é formado por vários componentes currículares que são ofertados em períodos na forma de turmas, isto gera um código único de diário.
O código do diário é formado pela concateção do código da turma e pelo código do componente currícular, separados por ".", mais o ID do diário. No exemplo abaixo o código do diário seria "20212.1.011001.1P.FIC007#123456", onde:
- 20212.1.011001.1P - código da turma, onde:
- 20212 - ano/período de oferta do componente, no caso, ofertado em 2021, período 2.
- 1 - período da turma, no caso, esta e é o primeiro perído do turma, ou seja, a turma se iniciou no 2º período de 2021 mesmo.
- 011001 - código do curso, no caso, é o código do curso de "Operador de sistemas".
- 1P - identificação da turma, no caso, é arbitrado pela área acadêmica do campus/instituição.
- FIC007 - código do componente currícular, no caso, FIC007 indicaria o componente "Planilhas eletrônicas - Fundamental".
- #123456 - ID do diário no SUAP, no caso, #123456 indicaria o diário cujo ID é "123456". *Antes não tinha este elemento, foi adicionado pois um diário pode ser dividido e isso causaria inconsistência.
- CTE - Coordenação de Tecnologias da Educação
- DEAD - Diretoria de Educação a Distância
- ZL - Campus Avançado Nata-Zona Leste
- IFRN - Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte.
Serviço CMS cotic.ead@ifrn.edu.br |
Status CMS | Serviço AVA cte.ead@ifrn.edu.br |
Status AVA |
---|---|---|---|
Portal ZL | Painel AVA | ||
Ajuda | Integrador AVA | ||
Cultura Potiguar | Notificador | - | |
CAID | Login | - | |
SEMEAD | Aberto | ||
Colóquio | Acadêmico | ||
Leitor | Presencial | ||
Suporte | Projetos | ||
SUAP |
Serviço CMS teste.cte.zl.ifrn@gmail.com |
Status CMS | Serviço AVA cte.zl.ifrn@gmail.com |
Status AVA |
---|---|---|---|
Portal ZL | Painel AVA | - | |
Ajuda | Integrador AVA | - | |
Cultura Potiguar | Notificador | - | |
CAID | Login | - | |
SEMEAD | Aberto | - | |
Colóquio | Teste | - | |
Leitor | Próximo | - | |
Suporte | - | - | - |
- | - | - | - |