Moodle é um Framework de Ensino Online
Autor: Badiu | Publicado: 2012-06-02T04:04:00-07:00


&nbsp;&nbsp;&nbsp; A Plataforma Moodle não é apenas um sistema de gestão de ensino online. É também&nbsp; um framework de desenvolvimento PHP.&nbsp;&nbsp;&nbsp; O ambiente de desenvolvimento do Moodle&nbsp; disponibiliza ao&nbsp; programador PHP um conjunto de diretrizes a serem seguidos e bibliotecas prontas para serem reaproveitadas de forma similar a outros frameworks PHP como Zend Framework e cakePHP.&nbsp;&nbsp;&nbsp; Diretrizes de&nbsp; desenvolvimento do Moodle&nbsp;&nbsp;&nbsp; Os diretrizes de&nbsp; desenvolvimento são um conjunto de regras que o programador PHP deve seguir para criar módulos/plugins seguindo o padrão do framework Moodle. Segue um breve resumo das principais diretrizes de desenvolvimento:

Estrutura de arquivos – Define a estrutura de organização de pastas e arquivos padrões que os plugins devem ter para que possam ser reconhecidos automaticamente pelo core do sistema Moodle. 
Tabelas da base de dados – Define as especificações para gerar tabelas do banco de dados de forma automática durante a instalação de um plugin. 
Sistema de permissão - Define como os plugins devem tratar as permissões para serem gerenciadas pelo core do Moodle. 
Internacionalização de idiomas – Define como os plugins devem&nbsp; tratar as mensagens e textos, que são&nbsp; exibidos&nbsp; na interface do usuário, para que estes&nbsp; tenham suporte multilíngues e possam ser gerenciados pelo core do Moodle.
Padronização de nomes – Define as regras sobre o nome do plugin. O nome do plugin funciona como uma chave de identidade para o core do sistema Moodle. A estrutura de alguns arquivos do plugin deve seguir o padrão de nomes para garantir a acoplagem ao core do Moodle. 


Biblioteca de código do Moodle&nbsp;&nbsp;&nbsp; Ao implementar o código no ambiente Moodle, o programador pode reduzir o tempo de trabalho ao reaproveitar as&nbsp; várias bibliotecas disponibilizadas&nbsp; na Plataforma Moodle. A&nbsp; seguir será apresentada alguns APIs acompanhado de uma breve descrição e link que aponta para a documentação oficial do Moodle. 

&nbsp; API do banco de dados - É um conjunto de funções para manipular o acesso ao banco de dados configurado no ambiente Moodle. Para mais detalhes, acesse o link: http://docs.moodle.org/dev/Data_manipulation_API
&nbsp;API do formulário – O formlib do Moodle possibilita efetuar o gerenciamento de formulários: define tipo de entrada de dado, campos obrigatórios, captura e crítica os dados inseridos. Para mais detalhes, acesse o link: http://docs.moodle.org/dev/Form_API
&nbsp;API de Acesso- Esse API&nbsp; oferece um conjunto de funções que controla permissão de acesso do usuário no ambiente Moodle. Para mais detalhes, acesse o link: http://docs.moodle.org/dev/Access_API
&nbsp;API de Autenticação - Esse API&nbsp; tem&nbsp; um conjunto de funções que efetue cadastro e autenticação do usuário. Para mais detalhes, acesse o link: http://docs.moodle.org/dev/Authentication_API
&nbsp;API do String – Define as regras como estruturar arquivos nos plugins para gerenciar string, ou seja, mensagens e texto exibidos na interface do usuário com suporte multilíngues. Para mais detalhes, acesse o link:&nbsp; http://docs.moodle.org/dev/String_API
&nbsp;Theme – Define a estrutura de arquivos que o plugin do theme (interface gráfica) deve contemplar. Por outro lado, especifica as funções do core do Moodle para gerenciar theme. Para mais detalhes, acesse o link:&nbsp; http://docs.moodle.org/19/en/Theme_basics


&nbsp;&nbsp;&nbsp; Moodle não é meramente um website. É um ambiente de desenvolvimento com uma arquitetura voltado para o ensino online. É um framework de desenvolvimento modular que oferece ao usuário a possibilidade de adicionar novas funcionalidades.&nbsp; A distribuição padrão do Moodle traz o core do sistema e alguns módulos já acoplados. Há inúmeros outros módulos disponíveis na internet que podem ser baixados e instalados no Moodle. &nbsp;&nbsp;&nbsp; Do ponto de vista técnico, o Moodle é um ambiente aberto. Pode ser ajustado para atender qualquer demanda pedagógica criando novos módulos/plugins. Para isso, basta seguir as diretrizes de desenvolvimento. Ainda o trabalho pode ser facilitado ao usar os APIs do&nbsp; Moodle.