Questo documento è rivolto agli sviluppatori che hanno precedentemente eseguito il fork di Blockly e che vogliono eseguire l'aggiornamento a una release recente di Blockly, senza applicare patch alla libreria. Anche se si tratta di un compito arduo, ci sono alcuni passaggi da seguire per rendere il processo più gestibile.
Informazioni sull'eliminazione della foratura
L'utilizzo di mainline Blockly significa che stai utilizzando una versione rilasciata di recente di Blockly e tutte le tue personalizzazioni utilizzano le API Blockly pubbliche senza monkeypatching. Lo sblocco è il lavoro che devi fare per implementare la funzionalità personalizzata della fork con le API mainline.
Casi Unforking semplici
Di seguito sono riportati due motivi comuni per cui potresti aver eseguito il fork e soluzioni per tornare alla riga principale:
- Hai creato i tuoi blocchi e generatori senza modificare alcun codice Blockly: per annullare il fork in questa situazione, puoi semplicemente spostare i blocchi e i generatori personalizzati dal repository Blockly al codice della tua applicazione. A questo punto dovresti riuscire ad aggiornare la tua versione di Blockly.
- Hai aggiunto una funzionalità personalizzata nello spazio dei nomi Blockly senza modificare alcun codice Blockly: ad esempio, hai aggiunto campi personalizzati o metodi helper utilizzati solo dalla tua applicazione. Per eliminare il fork in questa situazione, sposta il codice personalizzato nella tua applicazione al di fuori del repository Blockly. A questo punto dovresti riuscire ad aggiornare la tua versione di Blockly.
Caso Unforking esteso
Determinare la funzionalità fork
L'ultimo motivo per cui gli utenti si disconnettono è la patch di Blockly per creare funzionalità personalizzate che, secondo loro, non sono incluse a monte al momento. Se il tuo fork è notevolmente obsoleto, potremmo aver già aggiunto le funzionalità di cui hai bisogno, come plug-in o come plug-in. Sapere quali funzionalità hai aggiunto al tuo fork può fornirti una roadmap per le funzionalità da aggiornare.
Comprendere l'architettura
Dopo aver compreso le funzionalità che utilizzano API specifiche per le forche, prendi in considerazione quanto segue:
- Esiste un modo per replicare ogni funzionalità che utilizza la fork utilizzando le API Blockly?
- Se sembra che tu non possa replicare la funzionalità utilizzando le API Blockly, contattaci tramite il forum o segnala un problema su GitHub. Il nostro team esaminerà l'aggiunta di API per abilitare la personalizzazione.
Stabilisci il tuo percorso senza fori
Il passaggio successivo consiste nell'iniziare effettivamente il processo di implementazione della nuova architettura basata su Blockly per le funzionalità utilizzando il fork. Puoi adottare due approcci principali:
- Esegui l'upgrade di Blockly e verifica quali interruzioni: vedrai immediatamente le aree del codice che devono essere aggiornate. che puoi sfruttare in combinazione con il comportamento personalizzato per guidare il tuo sviluppo.
- Esegui il refactoring del codice per separare le tue funzionalità da Blockly: questo richiede una conoscenza approfondita di quali funzionalità sono personalizzate per la tua fork e quali provengono da Blockly. Una volta separato il codice, sostituisci la versione precedente di Blockly con quella più recente e risolvi gli eventuali problemi di integrazione rimanenti.
Passi successivi
Ecco alcune regole che dovresti seguire in qualità di sviluppatore Blockly in futuro:
- In generale, non dovresti aggiungere nuove classi allo spazio dei nomi Blockly. Puoi registrare campi personalizzati o altre classi registrabili senza dichiararli all'interno del repository Blockly o nello spazio dei nomi Blockly.
- Non devi fare affidamento sugli strumenti di build di Blockly per compilare la tua applicazione. Non consideriamo i nostri strumenti di creazione come parte dell'API pubblica, pertanto potremmo apportarvi modifiche che danneggiano la tua applicazione. La compilazione della domanda di partecipazione, qualora lo desiderassi, spetta a te.
Chiedi aiuto
Blockly è sempre disponibile tramite il forum Blockly! Se dovessi riscontrare problemi durante la procedura di annullamento della richiesta, pubblicali pure qui, per ricevere assistenza.