Processo
Os plug-ins passam por quatro estágios: sugestão, discussão, implementação e publicação.
Sugestão
Um plug-in é iniciado como uma sugestão. Você pode sugerir um plug-in criando um novo problema com o modelo Solicitação de recurso.
como criar uma solicitação de recurso.
Leia sobreAlém das informações básicas de solicitação de recurso, uma sugestão de plug-in precisa incluir:
- A API que o plug-in exporia.
- APIs que precisam ser adicionadas ou alteradas no bloco principal do Blockly para oferecer suporte ao plug-in.
- Capturas de tela, GIFs ou maquetes se o plug-in incluir recursos de interface do usuário.
- Explicação sobre por que ele precisa ser um plug-in próprio em vez de um de terceiros.
A equipe do Blockly analisa as sugestões conforme elas chegam e encerra o problema ou adiciona o rótulo status: discussão.
Discussão
Em seguida, um plug-in entra na fase de discussão. Essa fase inclui:
- Esclarecimento da funcionalidade desejada.
- Esclarecimento sobre a API do plug-in.
- Planejamento da implementação.
- Planejamento para testes.
- Discussão sobre as mudanças de API no núcleo do Blockly.
- Divisão de plug-ins grandes em etapas de implementação.
- Nomenclatura do plug-in, com base nas nossas convenções de nomenclatura.
- A confirmação de que todos os critérios próprios serão atendidos.
Essa discussão geralmente acontece no problema do GitHub. Quanto menor o escopo do plug-in, mais rápida pode ser a fase de discussão. Plug-ins maiores podem atrair a atenção da comunidade e opiniões fortes sobre a solução certa. Se isso acontecer com seu problema, parabéns. Você encontrou algo com o que as pessoas se importam.
O objetivo é que, no final da fase de discussão, todas as principais decisões de design tenham sido tomadas e que haja uma lista clara de etapas de implementação. Ambas precisam ser documentadas nos comentários sobre o problema.
Durante a discussão, podemos decidir que um plug-in precisa ser de terceiros
e não ser publicado no escopo @blockly
. Nesse caso, vamos explicar
o motivo e encerrar o problema.
Quando a discussão termina, um membro da equipe do Blockly adiciona o rótulo status: implementation ao problema.
Implementação
As etapas de implementação incluem:
- Executar
npx @blockly/create-package
para configurar o plug-in e o diretório de um modelo. Saiba mais... - Implementar a lógica principal do plug-in.
- Implementar uma interface, se necessário.
- Testar o plug-in usando o mocha.
- Documentar o plug-in, incluindo o
README
.
Se o problema de um plug-in tiver o rótulo status: implementation, ele está pronto para implementação ou está sendo implementado. Para evitar a duplicação de esforços, qualquer pessoa interessada precisa comentar sobre o problema e perguntar se ele ainda está aberto para contribuições.
A implementação pode ser feita por vários colaboradores em paralelo. Você pode implementar um plug-in de maneira colaborativa na sua própria bifurcação ou por solicitações de envio nesse repositório. Se você quiser colaborar em um plug-in nesse repositório, peça à equipe do Blockly para criar uma ramificação de recurso para você.
Os plug-ins precisam ser adicionados ao
arquivo gh-pages/index.md
na ramificação master
do blockly-samples. Isso fará com que eles apareçam
no nosso site do plug-in. Os plug-ins
próprios precisam apontar para a página de teste. Plug-ins de terceiros também podem ser adicionados
a esta página e podem apontar para um link de escolha do proprietário, como uma
demonstração hospedada ou a página npm.
Publicando
Por fim, publicação. A equipe da Blockly usa o Lerna para gerenciar as versões e a publicação de todos os plug-ins.
Todas as quintas-feiras, os plug-ins que foram alterados desde a última versão são publicados. Se você precisar que uma mudança seja publicada antes, anote-a na solicitação de envio.
O site dos plug-ins também é atualizado sempre que eles são publicados.
Os plug-ins que não estão prontos para publicação precisam ser marcados como private
no
package.json
. Isso pode acontecer se um plug-in depende de uma alteração ainda não publicada
no core Blockly. O Core Blockly é publicado
na última semana de cada trimestre (uma vez a cada três meses).