Padrão de desenvolvimento de plugin do Moodle - Codificaçaão

Padrão de desenvolvimento de plugin do Moodle - Codificaçaão

por Lino Vaz Moniz -
Número de respostas: 3

Para desenvolver um plugin no Moodle, deve seguir os seguintes padrões sobre processo de codificação:

  • Evitar hacker do código -  Em caso de customização, evite alterar o código fonte do Moodle.  Crie novos plugins ou módulos para adicionar ou alterar as funcionalidades do Moodle. Assim,  a atualização para as novas versões não será comprometida.

 

  • Usar API do Moodle –Antes de criar novos  API,  explore se os já existentes no Moodle não atendem a sua necessidade. Moodle é um framework que oferece muitos APIs prontos para o desenvolvedor.  Segue  na tabela a baixo  alguns APIS importantes do Moodle.

API

URL

Banco de Dados

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

Formulário

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

Gerenciar Permissão

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

Autenticação

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

Thema

http://docs.moodle.org/19/en/Theme_basics

String

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

 

  • Usar padrão de log do Moodle – Procure  usar a estrutura de log do Moodle. Isso possibilita reaproveitar os relatórios já existentes no Moodle bem como outros plugin de relatórios do Moodle.  O API  do Moodle já oferece uma função que registra o log. Para mais detalhes, consulte o link: http://docs.moodle.org/dev/Logging_API

 

  • Usar sistema de permissão do Moodle – Ao desenvolver novos módulos ou plugin do Moodle, faça o gerenciamento de permissões  usando o sistema de permissão do framework do Moodle. Isso minimiza o esforço do desenvolvedor além de garantir a compatibilidade com o ambiente.

 

  • Seguir padronização de nomes dos objetos de banco de dados do Moodle – O framework é um sistema baseado em nomes. As tabelas do banco de dados são nomeadas com prefixo do nome do módulo. Seguir essa regra garante a padronização, o que facilita o entendimento de outros desenvolvedores do Moodle.

 

  • Internacionalização de idioma seguindo o padrão do Moodle – Evite misturar o texto de mensagens e rótulos que serão impressa na interface gráfica com código da lógica do sistema. Todos os textos devem ser  isolados em um único arquivo de idioma na pasta lang, conforma o padrão framework. Isso possibilita tradução para outros idiomas. Para conhecer o API  de gerenciamento de string do Moodle, consulte o link: http://docs.moodle.org/dev/String_API
Em resposta à Lino Vaz Moniz

Re: Padrão de desenvolvimento de plugin do Moodle - Codificaçaão

por waldeck souza -

Boa noite Lino! Consigo usar a data_manipulation_api como cliente externo(java script, c# e etc) ? Consigo fazer isso com o webservice api!  Queria fazer selects no bd do moodle da minha empresa, mas não me dão acesso ao bd nem aos servidores por politicas internas! Apesar deu ser administrador do Moodle! Tem alguma alternativa para o meu caso ? Hoje uso o webservice api para extrair relatórios! Mas quando tem que pegar dados de alunos, tem que fazer muita chamada a API, aí fica muitooooooooooooooooooooo lento! Tem alguma alternativa pra mim ? 

Em resposta à waldeck souza

Re: Padrão de desenvolvimento de plugin do Moodle - Codificaçaão

por Lino Vaz Moniz -

Waldeck,

Certamente vc pecisa de uma função sql do webservice que vc passa query SQL e retorna relatórios que vc precisa. Devo apresentar uma palestra sobre Isso no Moodle Moot que vai ocorrer na próxima semana. 

Daniel Neis me passou um API / função webservice do configurable report que faz isso. Estou analisando. Veja o isso nesse link: https://github.com/jleyva/moodle-block_configurablereports/blob/MOODLE_36_STABLE/classes/external.php#L71

Em resposta à Lino Vaz Moniz

Re: Padrão de desenvolvimento de plugin do Moodle - Codificaçaão

por waldeck souza -

Obrigado por responder Lino,

Eu já uso webservice fazendo chamadas por javascript! Mas já existe alguma função no moodle para realizar sql disponível no webservice rest?