A integração do Moodle com o sistema acadêmico é um dos maiores desafios dos desenvolvedores do Moodle. A integração é um trabalho de sincronização de dados entre os dois sistemas.
A sincronização consiste em mapear um par corresponde de cada registro nos dois sistemas. Digamos assim, que cada registro no sistema acadêmico deve ter uma cópia no sistema do Moodle ou vice-versa.
A maioria das desmandas de integração visam integrar os seguintes dados:
A sincronização consiste em mapear um par corresponde de cada registro nos dois sistemas. Digamos assim, que cada registro no sistema acadêmico deve ter uma cópia no sistema do Moodle ou vice-versa.
A maioria das desmandas de integração visam integrar os seguintes dados:
- Usuário
- Curso;
- Disciplina;
- Matrícula;
- Nota.
No processo de sincronização que visa integração de dois sistemas é necessário definir qual sistema é mestre e qual é escrava. A mestre funciona como base oficial de dados. A escrava é o sistema de espelhamento, ou seja, apenas recebe a cópia dos dados do sistema mestre. A entrada de dados deve ser processada no sistema mestre e depois replicada no escravo.
O sistema acadêmico geralmente é o mestre e o Moodle é escravo no que tange ao gerenciamento do usuário, curso, disciplina e matrícula. Já para o processamento de notas, ocorre o inverso. Isso porque a nota é gerada no Moodle e depois é exportada para o sistema acadêmico.
O processo de integração torna-se muito complicado, se não impossível, caso não haja uma padronização. Por exemplo, se a entrada de dados sobre o usuário e a matrícula pode ser feita tanto no Moodle quanto no sistema acadêmico, a sincronização torna mais difícil de ser automatizada. Torna quase impossível caso não houver uma padronização das chaves de identificação dos registros.
Bem, até agora já deve ter ficado claro como deve ser a logística da integração. Agora partindo para implementação, no que tange ao Moodle, podemos seguir dois caminhos:
- Usar API do Moodle
- Usar comandos SQL
O uso do API do Moodle possibilita efetuar integração em alto nível na camada da aplicação. Isso requer a programação em PHP. Web service do Moodle é uma boa alternativa. Possibilita implementação independente da linguagem de programação.
O uso do SQL é uma alternativa mais eficaz uma vez que possibilita fazer as coisas em baixo nível, diretamente na camada de banco de dados. Essa alternativa requer conhecer bem a estrutura do banco de dados do Moodle. A implementação pode ser feita em qualquer linguagem de programação. Neste caso, o sistema acadêmico, sendo mestre no processo de integração, pode implementar módulos que acessam o Moodle diretamente no banco de dados e processa replicação, ou seja exportação de dados.
Caso tenha interesse em conhecer a estrutura do banco de dados do Moodle, acesse os link indicados a baixo. Esses links não explicam diretamente todos os comandos SQL que você precisa para fazer integração, no entanto, lhe auxiliam em conhecer a estrutura e organização das tabelas do Moodle.
Cadastrar Usuário no Moodle pelo Comando SQL
http://moodlesql.blogspot.com/2010/07/cadastrar-usuario-no-moodle-pelo.html
Criar Curso no Moodle com Comando SQL
http://moodlesql.blogspot.com/2010/09/criar-curso-no-moodle-com-comando-sql.html
Organização do Curso no Moodle e Estrutura da Base de Dados. Diferença do Linguajar Acadêmico e Corporativo
http://moodlesql.blogspot.com/2010/08/organizacao-do-curso-no-moodle-e.html
Matricular Usuário no Curso do Moodle com Comando SQL
http://moodlesql.blogspot.com/2010/07/matricular-usuario-no-curso-do-moodle.html
Relatório Completo de Nota de um Curso no Moodle com Comando SQL
http://moodlesql.blogspot.com/2011/01/relatorio-completo-de-nota-de-um-curso.html
Padronização das tabelas do Banco de Dados do Moodle
http://moodlesql.blogspot.com/2010/09/padronizacao-das-tabelas-do-banco-de.html
Agora faça o planejamento de trabalho, escolha o modelo de implementação e bota mão na massa, não na sopa de letrinhas do código e faça boa integração.