Annullare il fork di Blockly

Questo documento è rivolto agli sviluppatori che hanno eseguito il fork di Blockly in precedenza e vogliono eseguire l'aggiornamento a una release recente di Blockly senza applicare patch alla libreria. Anche se può sembrare un'impresa ardua, esistono alcuni passaggi che puoi seguire per semplificare la procedura.

Informazioni sullo sforchettamento

Se utilizzi Blockly mainline, significa che stai utilizzando una versione di Blockly rilasciata di recente e che tutte le tue personalizzazioni utilizzano le API Blockly pubbliche senza monkey patching. Lo sforchettamento è l'operazione che devi eseguire per implementare la funzionalità personalizzata del tuo fork con le API principali.

Casi di sdoppiamento semplici

Di seguito sono riportati due motivi comuni per cui potresti aver creato un fork e le soluzioni per tornare al codice principale:

  • Hai creato i tuoi blocchi e generatori senza modificare il codice di Blockly: per annullare il fork in questa situazione, puoi semplicemente spostare i blocchi e i generatori personalizzati dal repository di Blockly al codice della tua applicazione. A questo punto dovresti essere in grado di aggiornare la versione di Blockly.
  • Hai aggiunto funzionalità personalizzate allo spazio dei nomi Blockly senza modificare alcun codice Blockly: ad esempio, hai aggiunto campi personalizzati o metodi di assistenza utilizzati solo dalla tua applicazione. Per annullare il fork in questa situazione, sposta questo codice personalizzato nella tua applicazione al di fuori del repository di Blockly. Dovresti quindi essere in grado di aggiornare la versione di Blockly.

Caso di sforchettamento completo

Determinare la funzionalità divenuta indipendente

L'ultimo motivo per cui gli utenti eseguono il fork è correggere Blockly per creare funzionalità personalizzate che ritengono non siano incluse in quel momento nella versione upstream. Se il tuo fork è notevolmente obsoleto, è possibile che abbiamo già aggiunto la funzionalità di cui hai bisogno come plug-in o nel nucleo. Sapere quali funzionalità hai aggiunto al tuo fork può fornirti una roadmap per le funzionalità che dovrai aggiornare.

Informazioni sull'architettura

Una volta comprese le funzionalità che utilizzano API specifiche per il fork, valuta:

  • Per ogni funzionalità che utilizza il fork, esiste un modo per replicarla utilizzando le API Blockly?
  • Se ritieni di non riuscire a replicare la funzionalità utilizzando le API Blockly, contattaci tramite il forum o segnala un problema su GitHub. Il nostro team esaminerà quindi la possibilità di aggiungere API per abilitare la personalizzazione.

Determina il percorso di sdoppiamento

Il passaggio successivo consiste nell'avviare effettivamente il processo di implementazione della nuova architettura basata su Blockly per le funzionalità che utilizzano il fork. Puoi adottare due approcci principali:

  • Esegui l'upgrade di Blockly e controlla cosa si rompe: vedrai immediatamente le aree del codice che devono essere aggiornate. Puoi utilizzare queste informazioni insieme a ciò che già sai sul comportamento personalizzato per orientare il tuo sviluppo.
  • Esegui il refactoring del codice per separare le funzionalità da Blockly: per farlo, devi acquisire una conoscenza approfondita delle funzionalità personalizzate del tuo fork e di quelle provenienti da Blockly. Una volta separato completamente il codice, sostituisci la vecchia versione di Blockly con la versione più recente, quindi risolvi eventuali problemi di integrazione rimanenti.

Passi successivi

Ecco alcune regole che dovresti seguire come sviluppatore Blockly in futuro:

  • In generale, non dovresti aggiungere nuove classi allo spazio dei nomi di Blockly. Puoi registrare campi personalizzati o altre classi registrabili senza dichiararli all'interno del repository di Blockly o nello spazio dei nomi di Blockly.
  • Non devi fare affidamento sugli strumenti di compilazione di Blockly per compilare la tua applicazione. Non consideriamo i nostri strumenti di compilazione parte dell'API pubblica, perciò potremmo apportare modifiche che interrompono la tua applicazione. È tua responsabilità compilare l'applicazione, se vuoi.

Contattaci

Il team di Blockly è disponibile tramite il forum di Blockly. Se riscontri problemi durante la procedura di sforchettamento, non esitare a pubblicarli e saremo lieti di aiutarti.