Débrancher Blockly

Ce document s'adresse aux développeurs qui ont déjà créé une fourchette de Blockly et qui souhaitent passer à une version récente de Blockly, sans corriger la bibliothèque. Bien que cette tâche puisse vous sembler ardue, vous pouvez prendre quelques mesures pour la rendre plus gérable.

Comprendre le débranchement

L'utilisation de Blockly principal signifie que vous utilisez une version récente de Blockly, et que toutes vos personnalisations utilisent des API Blockly publiques sans monkeypatching. Le débranchement est l'opération que vous devez effectuer pour implémenter la fonctionnalité personnalisée de votre fork avec les API principales.

Cas simples de non-bifurcation

Vous trouverez ci-dessous deux raisons courantes pour lesquelles vous avez créé un fork et des solutions pour revenir à la branche principale:

  • Vous avez créé vos propres blocs et générateurs sans modifier le code Blockly: pour annuler le fork dans cette situation, vous pouvez simplement déplacer vos blocs et générateurs personnalisés du dépôt Blockly vers le code de votre propre application. Vous devriez alors pouvoir mettre à jour votre version de Blockly.
  • Vous avez ajouté une fonctionnalité personnalisée à l'espace de noms Blockly sans modifier le code Blockly: par exemple, vous avez ajouté des champs personnalisés ou des méthodes d'assistance utilisés uniquement par votre propre application. Pour annuler le fork dans cette situation, déplacez ce code personnalisé vers votre propre application en dehors du dépôt Blockly. Vous devriez alors pouvoir mettre à jour votre version de Blockly.

Cas de débranchement étendu

Déterminer la fonctionnalité de fourchette

La dernière raison pour laquelle les utilisateurs créent des fourchettes est de corriger Blockly pour créer des fonctionnalités personnalisées qu'ils pensent ne pas être incluses en amont à ce moment-là. Si votre fork est très obsolète, il est possible que nous ayons déjà ajouté la fonctionnalité dont vous avez besoin, soit sous forme de plug-ins, soit dans le noyau. Savoir quelles fonctionnalités vous avez ajoutées dans votre fork peut vous fournir une feuille de route des fonctionnalités que vous devrez mettre à jour.

Comprendre l'architecture

Une fois que vous avez compris les fonctionnalités qui utilisent des API spécifiques à une fourchette, réfléchissez aux points suivants:

  • Pour chaque fonctionnalité utilisant la fourchette, existe-t-il un moyen de la reproduire à l'aide des API Blockly ?
  • Si vous ne parvenez pas à reproduire la fonctionnalité à l'aide des API Blockly, veuillez nous contacter via le forum ou signaler un problème sur GitHub. Notre équipe examinera ensuite l'ajout d'API pour permettre votre personnalisation.

Déterminer votre chemin de débranchement

L'étape suivante consiste à commencer à implémenter la nouvelle architecture basée sur Blockly pour les fonctionnalités à l'aide du fork. Deux approches principales s'offrent à vous:

  • Mettre à niveau Blockly et voir ce qui ne fonctionne plus: vous verrez immédiatement les parties de votre code qui doivent être mises à jour. Vous pouvez utiliser cela en combinaison avec ce que vous savez déjà être un comportement personnalisé pour guider votre développement.
  • Réfactorisez votre code pour séparer vos fonctionnalités de Blockly: pour ce faire, vous devez bien comprendre quelles fonctionnalités sont personnalisées pour votre fork et lesquelles proviennent de Blockly. Une fois votre code entièrement séparé, remplacez l'ancienne version de Blockly par la version la plus récente, puis corrigez les problèmes d'intégration restants.

Avancer coûte que coûte

Voici quelques règles que vous devrez suivre en tant que développeur Blockly à l'avenir:

  • En règle générale, vous ne devez pas ajouter de classes à l'espace de noms Blockly. Vous pouvez enregistrer des champs personnalisés ou d'autres classes enregistrables sans les déclarer dans le dépôt Blockly ni dans l'espace de noms Blockly.
  • Vous ne devez pas vous fier aux outils de compilation de Blockly pour compiler votre propre application. Nous ne considérons pas nos outils de compilation comme faisant partie de l'API publique. Nous pouvons donc les modifier, ce qui peut entraîner le plantage de votre application. Vous êtes responsable de la compilation de votre application si vous le souhaitez.

Nous contacter

L'équipe Blockly est disponible sur le forum Blockly. Si vous rencontrez des problèmes au cours du processus de débranchement, n'hésitez pas à les publier sur ce forum. Nous pourrons vous aider.