Criação de módulo ou plugin básico

Criação de módulo ou plugin básico

por Paulo Oliveira -
Número de respostas: 6

Boa tarde a todos!

 

Sou iniciante no desenvolvimento na plataforma Moodle. Embora tenha trabalhado com Joomla, Zend e Yii, ambos trabalham com arquitetura ou organização diferentes. No caso dos dois primeiros, consigo simplesmente dentro de uma pasta separar em MVC os controladores, models e views, afim de construir um componente/módulo. Com o Moodle, não percebi algo parecido.

 

Estou tentando estudar o Moodle há 3 semanas e pouco evoluí. Minha tarefa seria desenvolver um plugin de upload onde qualquer usuário guest poderia entrar e fazer upload do material. Porém, o material só será publicado após aprovação de um usuário devidamente cadastrado no Moodle.

 

Como disse, procurei bastante e não encontrei um "esqueleto" de plugin/módulo básico, para que eu pudesse me basear e desenvolver o meu. O material que sempre encontro é: "a arquitetura do plugin deve conter obrigatoriamente mod.html, version.php, icon.gif, index.php, view.php, lib.php". Certo! Até aí tudo bem. Mas vendo outros plugins ou módulos do próprio Moodle, não consegui assimilar como fica o formulário HTML, criado pelo framework do moodle, nem ao menos como se dá sua submissão do mesmo. Ou seja, não sei pra onde vão os dados destes formulários. Suponho que seja os arquivos lib.php ou locallib.php que fazem a parte de inserção, mas ainda assim os módulos são confusos para mim.

 

Procurei bastante e não consegui encontrar uma documentação, ou algum tutorial que esteja explicando mais detalhadamente o que significa aqueles vários parâmetros nos formulários criados através do framework, por exemplo.

 

Alguém saberia dizer como funciona o fluxo de acesso em um módulo? A partir do acesso (como se acessa via url?), a página index.php naturalmente é chamada e a partir dela, qual é referenciada?  A página de um formulário qualquer, como ela é posta ou chamada na index?

 

Todos esses questionamentos acho que são dúvidas minhas e de muitos iniciantes no Moodle, imagino. Obtendo ou não ajuda, trabalharei para desenvolver, comentar o código e como funciona o fluxo de acesso. Uma espécie de tutorial mesmo.

 

Fico imensamente agradecido por alguém que possa contribuir para estes questionamentos.

 

Desde já agradeço.

 

Atenciosamente,

Paulo Henrique

 

Contagem das avaliações:  -
Em resposta à Paulo Oliveira

Re: Criação de módulo ou plugin básico

por Gilvan Marques -
Imagem de Translators

Boa noite Paulo,

Missão impossível.  É só liberar o acesso de visante e o cara faz o download.

Se for mais que isso, ele tem que cadastrar para entrar em algum curso.

Contagem das avaliações:  -
Em resposta à Gilvan Marques

Re: Criação de módulo ou plugin básico

por Paulo Oliveira -

Valeu Gilvan, pelo feedback... E valeu pela dica sobre o visitante.

 

Mas estou preocupado mesmo é com fazer o negócio fluir. Esqueci de mencionar no primeiro post que minha principal dificuldade é que nos outros frameworks eu conseguia direcionar os formulários para onde eu quisesse, apenas atribuindo um "input" do tipo "hidden", com nomes específicos: controller, model, task ou action. Quando chegava no controller, o mesmo pegava a task e mandava para o model. Chegando no model, pegava o formulário via post e fazia a parte de CRUD.

 

Enfim... Continuarei pesquisando.

Paulo

Contagem das avaliações:  -
Em resposta à Paulo Oliveira

Re: Criação de módulo ou plugin básico

por Daniel Neis Araujo -
Imagem de Core developers Imagem de Plugin developers Imagem de Translators

Olá,

 

o Moodle não é necessariamente um framework, mas você pode fazer formulários em html direcionando para qualquer lugar (arquivo php) que você quiser...

Divirta-se com a documentação: http://docs.moodle.org/dev/Main_Page

 

Abraço,

Daniel

Contagem das avaliações:  -
Em resposta à Daniel Neis Araujo

Re: Criação de módulo ou plugin básico

por Carlos Alexandre Fonseca -

 

Assim como o MVC não é um framework o moodle  também não é, mas possuí alguns frameworks, assim como joomla, drupal ......

 

E realmente o moodle não usa um MVC, pelo menos não explicitamente.  Para módulos e formulários ele usa mais um IoC, ou seja o framework que chama o seu código e não o contrário,  já para o "view" ele possui um framework de Página (PAGE) e um de saída (OUTPUT), e a principal vantagem de usá-los é não tem que se preocupar com coisa com classes e folha de estilos, ou até mesmo código html, ele já cria tudo e fica sempre com a mesma aparência do restante do site, mesmo se usar temas customizados !
Existem vários outros frameworks no moodle, mas certamente você vai usar o filesystem, configuration, database, e sugiro que sempre dê preferência a usar o framework do moodle ao invés de um código customizado, (fazer um sql e executa-lo, por exemplo) quando possível.

Eles estão razoavelmente documentados e com funções comentadas (usam o phpDOC), no mais vc pode  "roubar"o código de alguma parte do moodle que faz algo semelhante ao que vc quer


Se vc tá começando, sugiro também que tenha uma boa IDE para php, eu particularmente uso o eclipse com o PHP, um pouco chato de configurar, mas depois é excelente.

 

 

 

 

Contagem das avaliações:  -
Em resposta à Paulo Oliveira

Re: Criação de módulo ou plugin básico

por Carlos Alexandre Fonseca -

O tutorial do moodle sobre criação de módulos é ok

http://docs.moodle.org/dev/Activity_modules

mas pela descrição acredito que vc não precise disso .... 

vc pode criar um curso que aceita visitantes e  uma atividade chamada Assignment (tarefa), ela permite uploads,e habilita para uso de visitantes nas permissões da tarefa, ela possui até opções de enviar um e-mail quando alguém enviar algo ...

 

Mas 2 coisas a considerar, 

1- deixar um upload aberto ao público não é algo muito legal, por mais que módulo possa limitar o tamanho do arquivo

2- Considere instalar o antivírus clamAV em seu servidor (é de graça), o moodle possui integração com ele, e se alguém tentar mandar algum vírus o arquivo será rejeitado.

 

Contagem das avaliações:  -