Arquitetura:Moodle
Da perspectiva do administrador do sistema, o Moodle foi desenhado de acordo com os seguintes critérios: Da perspectiva do administrador do sistema, o Moodle foi desenhado de acordo com os seguintes critérios:
Índice
O Moodle deve funcionar na maior variedade possível de plataformas
A plataforma de aplicação web que funciona na maioria das plataformas é PHP combinado com MySQL, e esse é o ambiente em que o Moodle foi desenvolvido (em Linux, Windows e Mac OS X). O Moodle também utiliza a biblioteca ADOdb para abstração do banco de dados, o que significa que o Moodle pode utilizar mais de dez diferentes marcas de banco de dados (infelizmente, entretanto, ainda não pode configurar tabelas em todos esses bancos – falaremos sobre isso mais tarde).
O Moodle deve ser simples de instalar, aprender e modificar
Protótipos iniciais do Moodle (1999) foram construídos utilizando Zope – uma avançada aplicação pra web orientada a objeto. Infelizmente, verifiquei que, apesar da tecnologia ser bastante interessante, havia uma curva de aprendizado excessiva e não era muito flexível em termos de administração do sistema. A linguagem PHP, por outro lado, é muito simples de se inteirar (especialmente se você já programou utilizando qualquer outra linguagem). Rapidamente tomei a decisão de revogar a utilização de orientação a objeto - novamente, para manter o entendimento simples a novatos. Reutilização de código é, ao invés disso, utilizada por bibliotecas de funções claramente nomeadas e layout consistente de scripts. PHP também é simples de instalar (binários estão disponíveis para todas as plataformas) e é muito mais acessível considerando-se que a maioria dos serviços de hospedagem o tomam como padrão.
Deve ser simples de atualizar para a versão mais recente
O Moodle sabe que versão é (assim como as versões de todos os módulos plugin) e um mecanismo foi construído para que o Moodle possa atualizar a si mesmo apropriadamente para novas versões (por exemplo, pode renomear as tabelas de banco de dados ou adicionar novos campos.) Se utilizando CVS em Unix, por exemplo, pode apenas realizar um “cvs update -d” e então visitar o site para completar a atualização.
Deve ser modular para permitir desenvolvimento
O Moodle possui um número de recursos que são modulares, incluindo temas, atividades, linguagens de interface, esquemas de banco de dados e formatos de curso. Isso permite que todos adicionem recursos para o código principal ou para até mesmo distribui-los separadamente. Falaremos mais sobre isso na próxima seção.
Deve ser possível de utilizar em conjunto com outros sistemas
O Moodle mantém todos os arquivos de um curso em um diretório único no servidor. Isso deve permitir que o administrador do sistema providencie formas consistentes de acesso aos arquivos para cada professor, como Appletalk, SMB, NFS, FTP, WebDAV e assim por diante. Os módulos de autenticação permitem que o moodle utilize LDAP, IMAP, POP3, NNTP e outros bancos de dados como fontes para informação de usuários. Por outro lado, ainda existe trabalho a ser feito. Recursos planejados para Moodle em versões futuras incluem: importação e exportação para de dados do Moodle utilizando formatos baseados em XML (incluíndo IMS e SCORM); e ampliação da utilização de planilhas de estilo para formatação de interface (então poderá existir integração visual em outros sites).