Il processo
I plug-in attraversano quattro fasi: suggerimento, discussione, implementazione e pubblicazione.
Suggerimento
Un plug-in inizia come suggerimento. Puoi suggerire un plug-in creando un nuovo problema con il modello di Feature Request.
come scrivere una richiesta di funzionalità
LeggiOltre alle informazioni di base sulla richiesta di funzionalità, un suggerimento per il plug-in dovrebbe includere:
- L'API che il plug-in esporrebbe.
- API che devono essere aggiunte o modificate nel blocco note principale per supportare il plug-in.
- Screenshot, GIF o simulazioni se il plug-in include funzioni dell'interfaccia utente.
- Una spiegazione del motivo per cui dovrebbe essere un plug-in proprietario anziché un plug-in di terze parti.
Il team di Blockly esamina i suggerimenti man mano che arrivano e chiude il problema o aggiunge l'etichetta status: discussione.
Discussione
In seguito, un plug-in entra nella fase di discussione. Questa fase include:
- Chiarimento sulla funzionalità desiderata.
- Chiarimento sull'API del plug-in.
- Pianificazione dell'implementazione.
- Pianificazione dei test.
- Discussione sulle modifiche all'API nel blocco note principale.
- Suddividere i plug-in di grandi dimensioni nei passaggi di implementazione.
- Nome dei plug-in in base alle nostre convenzioni di denominazione.
- Confermare che verranno soddisfatti tutti i criteri proprietari.
Questa discussione generalmente riguarda GitHub. Minore è l'ambito del plug-in, più rapida può essere la fase di discussione. I plug-in più grandi possono attirare l'attenzione della community e le opinioni forti sulla Soluzione giusta. Se questo si verifica per il tuo problema, complimenti. Hai trovato qualcosa che interessa alla gente.
L'obiettivo è al termine della fase di discussione che siano state prese tutte le principali decisioni di progettazione e che vi sia un chiaro elenco di passaggi di implementazione. Entrambi devono essere documentati nei commenti sulla questione.
Durante la discussione, potremmo decidere che un plug-in deve essere un plug-in di terze parti e non essere pubblicato nell'ambito @blockly
. In tal caso, spiegheremo
il motivo e chiuderemo il problema.
Quando la discussione è terminata, un membro del team Blockly aggiunge al problema l'etichetta status: implementation.
Implementazione
I passaggi di implementazione includono:
- Esecuzione di
npx @blockly/create-package
per configurare il plug-in e la sua directory da un modello. Scopri di più... - Implementazione della logica di base per il plug-in.
- Implementare un'interfaccia utente, se necessario.
- Test del plug-in con mocha.
- Documentare il plug-in, incluso
README
.
Se il problema di un plug-in presenta l'etichetta status:implementation, significa che è pronto per l'implementazione o è in fase di implementazione. Per evitare duplicati, chiunque sia interessato dovrebbe commentare il problema e chiedere se è ancora disponibile per il contributo.
L'implementazione può essere eseguita da più collaboratori in parallelo. Puoi implementare un plug-in in modo collaborativo sul tuo fork o tramite richieste di pull su questo repository. Se vuoi collaborare su un plug-in in questo repository, chiedi al team di Blockly di creare un ramo delle funzionalità per te.
I plug-in devono essere aggiunti al file gh-pages/index.md
nel ramo master
di blockly-samples. e verranno visualizzati sul nostro sito dedicato ai plug-in. I plug-in proprietari devono indirizzare gli utenti alla loro pagina di test. A questa pagina possono anche essere aggiunti plug-in di terze parti, che puntano a un link a scelta del proprietario, ad esempio una demo ospitata o la pagina npm.
In fase di pubblicazione
Infine, la pubblicazione. Il team di Blockly utilizza Lerna per gestire il controllo delle versioni e la pubblicazione di tutti i plug-in.
Ogni giovedì vengono pubblicati tutti i plug-in che sono stati modificati dall'ultima release. Se hai bisogno di una modifica da pubblicare prima, indicala nella richiesta pull.
Il sito dei plug-in viene aggiornato anche ogni volta che vengono pubblicati i plug-in.
I plug-in che non sono pronti per la pubblicazione devono essere contrassegnati come private
in package.json
. Questo può accadere se un plug-in si basa su una modifica non ancora pubblicata nel core Blockly. Core Blockly viene pubblicato
nell'ultima settimana di ogni trimestre (una volta ogni tre mesi).