desenvolvimento de uma ferramenta para auxiliar a construção de plugins

14
www.iautomate.com.br www.iautomate.com.br Desenvolvimento de uma ferramenta para auxiliar a construção de plugins Luciano Oliveira Borges ([email protected] )

Upload: prof-luciano-borges

Post on 09-Jul-2015

309 views

Category:

Software


5 download

DESCRIPTION

Apresentação na conferência MoodleMoot 2014 sobre desenvolvimento de plugin no Moodle.

TRANSCRIPT

Page 1: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Desenvolvimento de uma ferramenta para auxiliar a

construção de plugins

Luciano Oliveira Borges([email protected])

Page 2: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Agenda

● Introdução● Projeto● Ferramenta● Arquitetura● Desenvolvimento● Testes● Publicação● Considerações Finais

Page 3: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Introdução

● Com a evolução do Moodle 1.9 para a versão 2.x a plataforma teve uma grande mudança em sua arquitetura mais precisamente na forma em que o sistema é dividido.

● APIs permitem o uso dos plugins como formas orientadas de estender a plataforma em seus diversos tipos.

● O objetivo deste trabalho foi a criação de plugin administrativo para auxílio no desenvolvimento de plugin na própria plataforma Moodle.

Page 4: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Projeto

● Auxiliar no processo de desenvolvimento de plugins no Moodle.

● Não deveria ser um ambiente de desenvolvimento (IDE).

● Possuir pequenas ferramentas para revisar e corrigir erros no código de um plugin.

Page 5: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Ferramenta

● A ferramenta desenvolvida é o MoodleDT, que é um plugin do tipo ferramenta administrativa (Admin Tool) do Moodle. Sua arquitetura foi pensada para ser simples e utilizar ao máximo os recursos das APIs do Moodle para realizar a sua execução.

https://moodle.org/plugins/view.php?plugin=tool_moodledt

Page 6: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Ferramenta

● Os principais recursos desta ferramenta são:

– Criação de pacotes de um plugin;

– Criação de pacotes de um plugin por uma data selecionada;

– Análise do pacote de idiomas;

– Ferramenta para ordenar as tags;

– Análise de índice e correção das pastas de um plugin;

– Plugins favoritos;

– Suporte a vários idiomas (Português, Inglês e Espanhol);

– Suporte ao Moodle 2.4.x, 2.5.x, 2.6.x e 2.7 (LTS).http://docs.moodle.org/26/en/MoodleDT_-_Development_Tools_Plugins_for_Moodle

Page 7: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Arquitetura

● Cada plugin possui arquivos dedicados as suas tarefas específicas sendo que a plataforma reconhece caso algum arquivo obrigatório não esteja disponível. Para este plugin os arquivos básicos foram:– settings.php

– index.php

– locallib.php

– xxxx_forms.php

– version.php

– lang/en/xxxx.php

– pix/icon.gif

Page 8: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Desenvolvimento

● IDE que reconheça HTML, Javascript e PHP, este pode ser Eclipse, NetBeans, etc (MOODLE, 2014).

● Suportar várias versões do Moodle pode dar certo trabalho pois há funções que terminaram o suporte no Moodle 2.4.x (OLIVÉ; LAFUENTE, 2014).

Page 9: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Desenvolvimento

● Formatação do código;● Ferramenta de versionamento;● Tipo de licença (Comentário);● Permissões de arquivos;

Page 10: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Desenvolvimento

● APIs oficiais do Moodle;● Exemplos no código do Moodle;● The "Fossies" Software Archive;● Fórum brasileiro do Moodle;

Page 11: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Testes

● Modo Debug (Completo);● Alertas de idiomas;● Banco de dados com ferramenta externa;

● Modificações na tabela “files”;● Limpeza do cache do Moodle;

Page 12: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Publicação

● Informações sobre o plugin;● Imagens sobre o seu funcionamento;● Código com documentação razoável;● Local de “Issues”;● Local de documentação.

Page 13: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Considerações Finais

● A criação de um plugin para o Moodle atualmente pode ser uma boa alternativa a uma ideia seja de aplicação educacional ou comercial.

● O processo de desenvolvimento completo de um plugin é autoinstrutivo, ou seja, o programador aprende muito no processo tendo condições de desenvolvimento de outros plugins mais rapidamente.

Page 14: Desenvolvimento de uma ferramenta para auxiliar a construção de plugins

www.iautomate.com.brwww.iautomate.com.br

Considerações Finais

Obrigado !!!

Se interessou pelo desenvolvimento, software ou consultoria ?

Entre em contato:

[email protected]