Skip to content
@cte-zl-ifrn

CTE/ZL/IFRN

Projetos público compartilhados pela CTE/ZL/IFRN com a comunidade acadêmica

Ecossistema do CTE/ZL/IFRN

Apresentação

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.

  1. SUAP - Sistema acadêmico, mais ligado à parte burocrática do curso.
  2. 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.
  3. 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).

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.

  1. Diários (TESTADO NO POSTGRESQL)
    1. Sincronamente (caso não exista, cria, caso exista, atualiza se for necessário atualizar):
      1. Sincroniza o Moodle:
        1. contas dos usuários do alunos, professores, tutores e demais colaboradores
        2. coortes:
          1. Sincroniza os colaboradores da coorte
        3. Sincroniza as categorias, na composição: "campus -> curso -> ano/período de oferta -> turma"
      2. Sincroniza o diário na categoria do "campus -> curso -> ano/período de oferta -> turma":
        1. enrols
        2. matriculas dos professores e tutores
        3. matriculas dos alunos
        4. vínculos das coortes (só existe em diário)
        5. grupos por período de entrada, turma, polo e programa (deixa para colocar os alunos no grupo de forma assíncrona)
      3. Sincroniza a sala de coordenação na categoria do "campus -> curso":
        1. enrols
        2. matriculas dos professores e tutores
        3. matriculas dos alunos
        4. grupos por período de entrada, turma, polo e programa (deixa para colocar os alunos no grupo de forma assíncrona)
    2. Sincronamente (caso não exista, cria, caso exista, atualiza se for necessário atualizar):
      1. agrupamento dos alunos nos seus repectivos grupos no diário
      2. agrupamento dos alunos nos seus repectivos grupos na sala de coordenação
  2. Notas (TESTADO NO POSTGRESQL)
    1. 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

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:

  • 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, arquivo confs/enabled/painel.env, variável de ambiente SUAP_EAD_KEY.

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:

  • 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.

Quem somos

Status

Serviço CMS Status CMS Serviço AVA Status AVA
Portal ZL Better Stack Badge - Painel AVA Better Stack Badge -
Ajuda Better Stack Badge - Acadêmico Better Stack Badge -
Cultura Potiguar Better Stack Badge - Presencial Better Stack Badge -
CAID Better Stack Badge - Aberto Better Stack Badge -
SEMEAD Better Stack Badge - Projetos Better Stack Badge -
Colóquio Better Stack Badge - Teste Better Stack Badge -
Leitor Better Stack Badge - Próximo Better Stack Badge -
Suporte - - Integrador - -
SUAP - - Notificador - -
Agendador - - Login - Better Stack Badge

Pinned Loading

  1. moodle__local_suap moodle__local_suap Public

    PHP 3 3

  2. if__favicon if__favicon Public

    Favorites Icon (Favicon) de Instituto Federal.

Repositories

Showing 10 of 23 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…