SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
www.iautomate.com.brwww.iautomate.com.br
Desenvolvimento de uma
ferramenta para auxiliar a
construção de plugins
Luciano Oliveira Borges
(luciano@iautomate.com.br)
www.iautomate.com.brwww.iautomate.com.br
Agenda
● Introdução
● Projeto
● Ferramenta
● Arquitetura
● Desenvolvimento
● Testes
● Publicação
● Considerações Finais
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.
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.
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
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
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
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).
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;
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;
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;
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.
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.
www.iautomate.com.brwww.iautomate.com.br
Considerações Finais
Obrigado !!!
Se interessou pelo desenvolvimento, software ou
consultoria ?
Entre em contato:
luciano@iautomate.com.br

Weitere ähnliche Inhalte

Was ist angesagt?

Palestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps AndroidPalestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps AndroidJanynne Gomes
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidMayron Cachina
 
LPUG #11 agenda e community updates - 2020-12-09
LPUG #11   agenda e community updates - 2020-12-09LPUG #11   agenda e community updates - 2020-12-09
LPUG #11 agenda e community updates - 2020-12-09Fernando Fernández
 
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30Fernando Fernández
 
LPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community UpdatesLPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community UpdatesFernando Fernández
 
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...Thiago Dieb
 
Liferay Portugal User Group Meetup 4 - Community Updates
Liferay Portugal User Group Meetup 4 - Community UpdatesLiferay Portugal User Group Meetup 4 - Community Updates
Liferay Portugal User Group Meetup 4 - Community UpdatesFernando Fernández
 
Aula - Gerenciadores de layout
Aula - Gerenciadores de layoutAula - Gerenciadores de layout
Aula - Gerenciadores de layoutJanynne Gomes
 
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJustificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJeanne Louize Emygdio
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisJanynne Gomes
 
Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)Janynne Gomes
 
gvSIG - Um desktop GIS completo e com suporte nível mundial
gvSIG - Um desktop GIS completo e com suporte nível mundialgvSIG - Um desktop GIS completo e com suporte nível mundial
gvSIG - Um desktop GIS completo e com suporte nível mundialHelton Uchoa
 
Meu Projeto
Meu ProjetoMeu Projeto
Meu ProjetoGourete
 
Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)Janynne Gomes
 
LPUG Meetup #15 - Reinvenção do Liferay
LPUG Meetup #15 - Reinvenção do LiferayLPUG Meetup #15 - Reinvenção do Liferay
LPUG Meetup #15 - Reinvenção do LiferayFernando Fernández
 
Walker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPressWalker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPressWordPress Floripa
 
Isla workshop 2015-03-08
Isla workshop 2015-03-08Isla workshop 2015-03-08
Isla workshop 2015-03-08pictonio
 

Was ist angesagt? (19)

Palestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps AndroidPalestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps Android
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com Android
 
LPUG #11 agenda e community updates - 2020-12-09
LPUG #11   agenda e community updates - 2020-12-09LPUG #11   agenda e community updates - 2020-12-09
LPUG #11 agenda e community updates - 2020-12-09
 
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30LPUG Meetup #13 - Agenda e community updates - 2021-06-30
LPUG Meetup #13 - Agenda e community updates - 2021-06-30
 
LPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community UpdatesLPUG Meetup #12 - Agenda e Community Updates
LPUG Meetup #12 - Agenda e Community Updates
 
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
Drupalcamp SP 2015 - Como uma Empresa Pública pode construir seu legado utili...
 
Liferay Portugal User Group Meetup 4 - Community Updates
Liferay Portugal User Group Meetup 4 - Community UpdatesLiferay Portugal User Group Meetup 4 - Community Updates
Liferay Portugal User Group Meetup 4 - Community Updates
 
Aula - Gerenciadores de layout
Aula - Gerenciadores de layoutAula - Gerenciadores de layout
Aula - Gerenciadores de layout
 
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJustificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveis
 
Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)
 
gvSIG - Um desktop GIS completo e com suporte nível mundial
gvSIG - Um desktop GIS completo e com suporte nível mundialgvSIG - Um desktop GIS completo e com suporte nível mundial
gvSIG - Um desktop GIS completo e com suporte nível mundial
 
Meu Projeto
Meu ProjetoMeu Projeto
Meu Projeto
 
Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)
 
LPUG Meetup #15 - Reinvenção do Liferay
LPUG Meetup #15 - Reinvenção do LiferayLPUG Meetup #15 - Reinvenção do Liferay
LPUG Meetup #15 - Reinvenção do Liferay
 
aula de internet
aula de internetaula de internet
aula de internet
 
Walker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPressWalker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPress
 
Isla workshop 2015-03-08
Isla workshop 2015-03-08Isla workshop 2015-03-08
Isla workshop 2015-03-08
 
Internet
InternetInternet
Internet
 

Ähnlich wie Desenvolvimento de ferramenta para auxiliar construção plugins Moodle

Drupal muito alem de um CMS
Drupal muito alem de um CMSDrupal muito alem de um CMS
Drupal muito alem de um CMSFábrica Livre
 
Curso de Joomla na Pratica
Curso de Joomla na PraticaCurso de Joomla na Pratica
Curso de Joomla na PraticaGrupo Treinar
 
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...Caio Moreno
 
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...IT4biz IT Solutions
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Embarcados
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010IT4biz IT Solutions
 
Pentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livrePentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livreCaio Moreno
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalEmerson Barros
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPAdler Medrado
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoPentahoBrasil
 
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Marcio Junior Vieira
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoAmbiente Livre
 
Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Cláudio Leopoldino
 

Ähnlich wie Desenvolvimento de ferramenta para auxiliar construção plugins Moodle (20)

Drupal muito alem de um CMS
Drupal muito alem de um CMSDrupal muito alem de um CMS
Drupal muito alem de um CMS
 
Curso de Joomla na Pratica
Curso de Joomla na PraticaCurso de Joomla na Pratica
Curso de Joomla na Pratica
 
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
 
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
Pentaho: Inteligência de Negócios utilizando Software Livre - FliSOL São Paul...
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Ai ad-tp3-g3
Ai ad-tp3-g3Ai ad-tp3-g3
Ai ad-tp3-g3
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
 
Linear Engineering
Linear EngineeringLinear Engineering
Linear Engineering
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Ai ad-tp3-g4-a
Ai ad-tp3-g4-aAi ad-tp3-g4-a
Ai ad-tp3-g4-a
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
 
Pentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livrePentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livre
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) Drupal
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma Pentaho
 
Drupal - WEG
Drupal - WEGDrupal - WEG
Drupal - WEG
 
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma Pentaho
 
Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013
 

Desenvolvimento de ferramenta para auxiliar construção plugins Moodle