Moodle é um framework de desenvolvimento PHP. A sua arquitetura de organização e sistematização de dados é centralizada em curso, ou seja, na sala de aula virtual.
A arquitetura da Plataforma Moodle é complexa. Para explicá-la de uma forma mais simples, vamos explorar a relação entre três elementos:
A arquitetura da Plataforma Moodle é complexa. Para explicá-la de uma forma mais simples, vamos explorar a relação entre três elementos:
- Material didático;
- Curso;
- Matrícula.
Material didático
Material didático é o conteúdo do curso. São textos, arquivos, imagens, vídeos, recursos de comunicação síncrona / assíncrona, questionários etc. No ambiente do curso do Moodle, há um sistema de editoração de conteúdo sistematizado em recursos e atividades. Cada recurso e atividade é gerenciado por um módulo específico. Por exemplo, para criar um questionário, será usado o módulo quiz. Para criar um texto, será usado o módulo page. O material didático é um item dependente do curso. Este só pode existir se estiver vinculado a um curso. Isso significa que os módulos de recursos e atividades do Moodle só podem ser instanciados dentro do ambiente do curso.
Curso
O curso é a sala de aula virtual. É um espaço de publicação do material didático. O curso é organizado em categorias. Uma categoria pode ter vários níveis de subcategoria. Um curso deve ser vinculado a uma determinada categoria. Da mesma forma, uma atividade deve ser vinculada a um curso. Nessa estrutura de organização, há três níveis:
Material didático é o conteúdo do curso. São textos, arquivos, imagens, vídeos, recursos de comunicação síncrona / assíncrona, questionários etc. No ambiente do curso do Moodle, há um sistema de editoração de conteúdo sistematizado em recursos e atividades. Cada recurso e atividade é gerenciado por um módulo específico. Por exemplo, para criar um questionário, será usado o módulo quiz. Para criar um texto, será usado o módulo page. O material didático é um item dependente do curso. Este só pode existir se estiver vinculado a um curso. Isso significa que os módulos de recursos e atividades do Moodle só podem ser instanciados dentro do ambiente do curso.
Curso
O curso é a sala de aula virtual. É um espaço de publicação do material didático. O curso é organizado em categorias. Uma categoria pode ter vários níveis de subcategoria. Um curso deve ser vinculado a uma determinada categoria. Da mesma forma, uma atividade deve ser vinculada a um curso. Nessa estrutura de organização, há três níveis:
1. Categoria de curso
1.1 Curso
1.1.1 Atividades (material didático)
A categoria ocupa o nível mais alto na hierarquia e a atividade o nível mais baixo. A categoria serve para sistematizar a oferta de curso. Em cada curso, há um conjunto de recursos e atividades que compõe o material didático.
Matrícula
Matrícula é o vínculo de um usuário cadastrado na base do Moodle a um determinado curso. Um usuário pode ser vinculado a mais de um curso. Para efetuar a matrícula, é necessário definir o perfil. Pode ser aluno, tutor, professor etc. O perfil define a permissão do usuário no ambiente do curso. A matrícula pode ser efetuada em nível do curso, categoria de curso ou do sistema. A matrícula no contexto do sistema possibilita acesso a todos os cursos cadastrados do Moodle. Já no contexto da categoria de curso, dá acesso apenas aos cursos daquela categoria.
O usuário matriculado no curso terá acesso a todas as atividades criadas dentro do curso. Quando o usuário realiza uma atividade, como postar uma mensagem no fórum, a postagem é vinculada à instância do usuário e não à da matrícula. Isso significa que os módulos de atividades são vinculados ao usuário e não à matrícula. O usuário só poderá ser instanciado na atividade se estiver matriculado no ambiente do curso ao qual a atividade está vinculada.
Tendo em conta que o usuário é instanciado no módulo de atividade e não no de matrícula, em caso da exclusão da matrícula, o histórico de participação do usuário nas atividades do curso não será excluído em efeito cascata. O histórico permanecerá inalterado. Se a matrícula for reativada, o aluno continuará no curso do ponto onde havia parado.
A matrícula no curso ainda pode ser estruturada em grupo e agrupamento. Após cadastrar um aluno no curso, este pode ser vinculado a um ou mais grupos. Grupos servem para efetuar divisão de turmas dentro do ambiente de um curso. Ainda há possibilidade de criar agrupamentos, grupos de grupos. Um agrupamento pode ter um ou mais grupos de usuários. Serve para isolar uma atividade apenas a determinado grupo de usuários. Geralmente é usado para atividade recuperação que só determinados alunos devem fazer.
Em suma, a arquitetura do Moodle é focada no ambiente do curso. O material didático é instanciado no curso. A matrícula é instância do usuário no ambiente do curso. O aluno acessa o material didático instanciado no curso. Pelo padrão da arquitetura, não há possibilidade de vincular um material didático ou atividade na instância da matrícula. Ou seja, não é possível alocar uma atividade só para um aluno. Isso gera uma grande restrição para projetos pedagógicos que demandam do professor uma atuação personalizada para cada aluno.
Essa restrição fica muito evidente quando um aluno reprova em um curso e precisa refazê-lo novamente. Como não é possível rematricular na mesma sala de aula, será necessário replicar o curso numa nova sala de aula e inscrever o aluno. É comum fazer backup de um curso inteiro e restaurar numa nova instância do curso apenas para um aluno que ficou em recuperação.
Embora o Moodle seja um framework modularizado, toda sua estrutura seguem as regras da arquitetura. É possível fazer um módulo que solucione essa restrição. No entanto, isso implica reescrever alguns APIs para atender ao desvio do padrão do framework.
A categoria ocupa o nível mais alto na hierarquia e a atividade o nível mais baixo. A categoria serve para sistematizar a oferta de curso. Em cada curso, há um conjunto de recursos e atividades que compõe o material didático.
Matrícula
Matrícula é o vínculo de um usuário cadastrado na base do Moodle a um determinado curso. Um usuário pode ser vinculado a mais de um curso. Para efetuar a matrícula, é necessário definir o perfil. Pode ser aluno, tutor, professor etc. O perfil define a permissão do usuário no ambiente do curso. A matrícula pode ser efetuada em nível do curso, categoria de curso ou do sistema. A matrícula no contexto do sistema possibilita acesso a todos os cursos cadastrados do Moodle. Já no contexto da categoria de curso, dá acesso apenas aos cursos daquela categoria.
O usuário matriculado no curso terá acesso a todas as atividades criadas dentro do curso. Quando o usuário realiza uma atividade, como postar uma mensagem no fórum, a postagem é vinculada à instância do usuário e não à da matrícula. Isso significa que os módulos de atividades são vinculados ao usuário e não à matrícula. O usuário só poderá ser instanciado na atividade se estiver matriculado no ambiente do curso ao qual a atividade está vinculada.
Tendo em conta que o usuário é instanciado no módulo de atividade e não no de matrícula, em caso da exclusão da matrícula, o histórico de participação do usuário nas atividades do curso não será excluído em efeito cascata. O histórico permanecerá inalterado. Se a matrícula for reativada, o aluno continuará no curso do ponto onde havia parado.
A matrícula no curso ainda pode ser estruturada em grupo e agrupamento. Após cadastrar um aluno no curso, este pode ser vinculado a um ou mais grupos. Grupos servem para efetuar divisão de turmas dentro do ambiente de um curso. Ainda há possibilidade de criar agrupamentos, grupos de grupos. Um agrupamento pode ter um ou mais grupos de usuários. Serve para isolar uma atividade apenas a determinado grupo de usuários. Geralmente é usado para atividade recuperação que só determinados alunos devem fazer.
Em suma, a arquitetura do Moodle é focada no ambiente do curso. O material didático é instanciado no curso. A matrícula é instância do usuário no ambiente do curso. O aluno acessa o material didático instanciado no curso. Pelo padrão da arquitetura, não há possibilidade de vincular um material didático ou atividade na instância da matrícula. Ou seja, não é possível alocar uma atividade só para um aluno. Isso gera uma grande restrição para projetos pedagógicos que demandam do professor uma atuação personalizada para cada aluno.
Essa restrição fica muito evidente quando um aluno reprova em um curso e precisa refazê-lo novamente. Como não é possível rematricular na mesma sala de aula, será necessário replicar o curso numa nova sala de aula e inscrever o aluno. É comum fazer backup de um curso inteiro e restaurar numa nova instância do curso apenas para um aluno que ficou em recuperação.
Embora o Moodle seja um framework modularizado, toda sua estrutura seguem as regras da arquitetura. É possível fazer um módulo que solucione essa restrição. No entanto, isso implica reescrever alguns APIs para atender ao desvio do padrão do framework.