ASTE/DEAD/ZL/IFRN

Ecossistema AVA do IFRN

Este é o ecossistema de aplicações que integram os Ambientes Virtuais de Aprendizagem (AVA) do IFRN ao SUAP. O ecossistema é composto por 5 softwares, que integra um único SUAP a vários AVA. As partes que compõem esse ecossistema são:

Componentes do Ecossistema

  1. AVA (RNP e IFRN): Implantado sobre a plataforma Learning Management System (LMS) Moodle, é o equivalente digital da sala de aula, NENHUM registro acadêmico existe ou deve existir lá, ou seja, É ONDE o processo de ensino/aprendizagem ocorre. Protocolos suportados: oficialmente SGA. Protocolos opcionais:
    1. Native Moodle Web Service: plugin nativo com implementações REST, SOAP e XML-RPC.
    2. "RESTful": plugin de terceiros com implementações JSON, XML e Form
    3. REST: plugin de terceiros com implementações JSON e XML
    4. XML-RPC: plugin de terceiros para suporte a `XML-RPC
    5. MCP: plugin de terceiros com implementação do Model Context Protocol para uso por agentes de IA
  2. SUAP (IFRN): O Sistema Unificado de Administração é o software de gestão integrada (Enterprise Resource Planning - ERP) do IFRN.
    1. Edu - Módulo do SUAP com função de Sistema de Gestão Acadêmica (SGA). é onde TODO o registro acadêmico do aluno, desde a matrícula até o egresso, ocorre, ou seja, NÃO É ONDE o processo ensino/aprendizagem ocorre. Protocolos suportados: JSON REST.
    2. IdP (IFRN): Módulo difuso no SUAP para gestao de identidades (Identity Provider - IdP), ou seja, é onde usuários (discentes, seus responsáveis, docentes, demais colaboradores e comunidade externa) têm suas identidade de usuários provisionadas. Protocolos suportados: nenhum.
    3. SUAP SSO (IFRN): Módulo no SUAP para autenticação única de usuários (Single Sign-On - SSO), ou seja, é onde os usuários têm suas identidades confirmadas. Protocolos suportados: oAuth2 e JWT.
  3. Integrador AVA (IFRN): Middleware entre o SUAP e o Moodleegue abaixo a lista de informações extras solicitadas, por processo (integração ou autenticação)
  4. Painel AVA (IFRN): Portal entre o SUAP e os AVA, ou seja, é onde os usuários têm todos os seus cursos, de todos os AVA, de forma centralizada. Protocolos suportados: SGA, JSON REST, oAuth2 e JWT.
  5. AVA IFRN Mobile (IFRN): Aplicativo Móvel para Android e iOS que faz interface para o AVA, Painel AVA e SUAP SSO em arquitetura móvel baseada em Ionic. Protocolos suportados: Native Moodle Web Service, JSON RESTful, JWT e SGA. Em construção.

Instâncias AVA

O IFRN oferece 5 instâncias:

  1. Acadêmico: Sustenta o serviço AVA para os cursos com diário no SUAP do Campus Natal-Zona Leste (ZL). Versão 4.5.x. Hospedado em nuvem pela RNP.
  2. Presencial: Sustenta o serviço AVA para os cursos com diário no SUAP de todos que não seja do Campus ZL. Versão 4.5.x. Hospedado em nuvem pela RNP.
  3. Aberto: Sustenta o serviço AVA para os cursos aberto, ou seja, curso massivo online aberto (Massive Open Online Course - MOOC). Versão 4.5.x. Hospedado no datacenter do IFRN.
  4. Projetos: Se o curso não tem diário e não é aberto é um projeto, simples assim. Versão 4.5.x. Hospedado em nuvem pela RNP.
  5. Arquivo: Os AVA Acadêmico com diários até 2022 foi arquivado. Hospedado no datacenter do ZL. Ativado sob demanda. Backup dos cursos disponível em nuvem (sob demanda, em breve online).

Sobre o Integrador AVA

Neste ecossistema o Integrador AVA é o middleware responsável por orquestrar a integração. Dado que pode haver mais de um AVA, ele é responsável por escolher qual AVA será integrado para cada diário.

  1. Envia
    1. Diários
      1. Professores
      2. Tutores
      3. Alunos
      4. Inscrições
      5. Grupos
      6. Coortes
        1. Coordenadores
        2. Interprete de Libras
        3. etc…
    2. Sala de coordenação do curso
  2. Recebe
    1. Notas
  3. Em breve
    1. Baixará presença e completude
    2. Criará curso usando modelos
    3. Será oferecido como um serviço em nuvem via RNP

Sobre plugin Moodle local_suap

Neste ecossistema o local_suap é o responsável por receber a requisição de um Integrador AVA e fazer todo o trabalho pesado no Moodle.

Para funcionar usamos um modelo de equivalência, conforme.

No SUAP No Moodle
1 diário 1 curso
1 usuário 1 usuário
1 papel no diário 1 inscrição
1 período 1 categoria de notas
1 coorte 1 coorte
1 vinculo na coorte 1 vinculo na coorte
1 polo 1 grupo

Sobre o Painel AVA

Neste ecossistema o Painel AVA oferece interface única para acesso a todos os diários de todos os AVA integrados, mesmo os que não foram criados pelo integrador.

Visão do ecossistema

Visão do ecossistema

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.

Instalação e configuraçã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.

Visão do ecossistema

1. No Moodle

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.

2. No Painel AVA

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.

3. No SUAP

Edite o local_settings.py de tua instalação e defina ao menos as configurações:

Arquitetura

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.

Identificando um código de diário

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:

Quem somos