sexta-feira, 30 de outubro de 2015

Gestão de Inscrição em Cursos no Moodle

É hora de falar um pouco sobre os mecanismos de inscrição em cursos do Moodle. Cada instituição ou projeto possui uma forma particular de selecionar a entrada de alunos em seus cursos, o Moodle oferece algumas formas padrão, porém é possível ir um pouco além e utilizar formas mais personalizadas e até mesmos desenvolver um plugin específico.

Técnicamente a inscrição é uma ação em que o sistema vincula um usuário (id_user) a um curso (id_curso) e atribui um papel (perfil) e consequentemente um conjunto de permissões a ele.

E no Moodle existem uma diversidade enorme de módulos com diferentes fluxos de inscrição nativos, outros na biblioteca da moodle.org ou você pode ainda criar o seu próprio módulo se souber um pouco de programação PHP ou ainda você pode desenvolver em um sistema externo todo o seu fluxo de inscrição ao final fazer a importação desses dados para o Moodle.

Nesse momento veremos alguns módulos módulos padrão de inscrição no Moodle 2.8. Ele apresenta uma lista de plugins de inscrição (enrol) instalados mas desativados que podem ser ativados caso seja necessário.

O padrão obrigatório é o "Inscrições Manuais" em que  administrador ou professor poderá localizar usuários já cadastrados e realizar o seu vinculo a um curso. Nesse caso a aluno não tem opção de se inscrever, somente poderá ter acesso ao espaço virtual de curso após alguém inscrevê-lo manualmente. É um mecanismo simples porém existe um grande trabalho manual, nada é automatizado.
Mas para quem tem interesse em criar mecanismos automatizados de entrada de alunos existem uma diversidade de plugins para isso. O plugin de "Auto Inscrição" permite ao professor criar uma senha e passar aos seus alunos, quando ele acessar a plataforma e digitar a senha no ato da inscrição isso irá filtrar e permitir a entrada apenas dos portadores dessa senha. Isso já evita a necessidade de ter alguém inserindo alunos manualmente.
Agora se você já possui algum Sistema de Gestão Acadêmico (SGA), WebSite, E-comerce ou outro sistema uma boa opção é o plugin "Base de dados externa". Ele permite acesso SQL a um banco de dados externo e sincronizar uma lista de usuários inscritos que é verificado periodicamente por uma rotina CRON do Moodle. Esse é o mecanismos mais simples de integração do Moodle com um outro sistema que faz a inscrição, e eu irei aqui detalhar passo a passo essa integração.

Tendo em vista que cada sistema tem uma estrutura de banco distinta, primeiro você deverá criar uma Viwer do banco de dados do sistema que deseja exportar e mantê-la atualizada frequentemente. Para isso você pode criar uma rotina interna em seu banco de dados ou um script ativado via CRON para manter essa Viwer sempre atualizada.  O Moodle irá importar os dados de inscrição diretamente dessa Viwer. Segue um exemplo, mas você deverá personalizar essa saída de dados conforme a estrutura do seu banco. Uma dica válida é identificar o usuário pelo metadado e-mail que geralmente é utilizado nesses sistema e também no Moodle. Mas você pode utilizar outros identificadores, podendo salvar um identificador como CPF no IdNumber do cadastro no Moodle e pareando com a sua Viwer.

CREATE VIEW InscricaoExport AS    
  SELECT     cadastro.emailuser,    
           cadastro.email,         
           inscrito.nomebrevecurso

  FROM        
           cadastro, inscrito
Para configuração do módulo você irá informar o formato de conexão com o banco de dados, no exemplo eu escolhi MySqli e informei o caminho do banco de dados, usuário e senha. Mas existem uma grande variedade de tipos de bancos de dados que ele se conecta. As imagens abaixo ilustram as telas de configuração.




Com isso quando o CRON for executado ele irá fazer a varredura na base externa, verificar os novos usuários inscritos e fazer a sincronização. Faz-se necessário destacar que o usuário deve existir em ambas as bases de dados, caso não exista é possível realizar um outra rotina para sincronização da base de usuários chamada "Autenticação em base de dados externa" com sincronização de usuários cadastrados.

Com essa dica você poderá ir além do básico, e começar a desenvolver integração do seu Moodle com algum sistema externo como um Sistema de Gestão ou até mesmo com um E-comerce para que possa ter rotinas aromatizadas de entrada de alunos nos seus cursos. 

Por hoje, esta é a minha contribuição.
Atc, Eduardo Xavier.

Nenhum comentário:

Postar um comentário