Déduplication de Blockly

Ce document est destiné aux développeurs qui ont déjà dupliqué Blockly et qui souhaitent effectuer une mise à jour vers une version récente de Blockly, sans corriger la bibliothèque. Bien que cette tâche puisse sembler intimidante, vous pouvez prendre quelques mesures pour faciliter la gestion du processus.

Comprendre l'annulation du duplication

L'utilisation de mainline Blockly signifie que vous utilisez une version récente de Blockly et que toutes vos personnalisations utilisent des API Blockly publiques sans monkeypatching. L'annulation du duplication est le travail que vous devez effectuer pour implémenter la fonctionnalité personnalisée de votre duplication avec les API principales.

Cas de dépliage simples

Vous trouverez ci-dessous deux raisons courantes pour lesquelles vous avez peut-être dupliqué, ainsi que des solutions pour revenir à la ligne principale:

  • Vous avez créé vos propres blocs et générateurs sans modifier le code Blockly: pour dédupliquer dans cette situation, il vous suffit de déplacer vos blocs et générateurs personnalisés du dépôt Blockly vers le code de votre propre application. Vous devriez ensuite pouvoir mettre à jour votre version de Blockly.
  • Vous avez ajouté une fonctionnalité personnalisée sur 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ées uniquement par votre propre application. Pour dédupliquer cette situation, déplacez ce code personnalisé vers votre propre application en dehors du dépôt Blockly. Vous devriez ensuite pouvoir mettre à jour votre version de Blockly.

Étui de dépliage étendu

Déterminer la fonctionnalité dupliquée

La dernière raison pour laquelle nous voyons les utilisateurs dupliquer est d'appliquer un correctif à Blockly afin de créer une fonctionnalité personnalisée qui, selon eux, n'est pas incluse en amont à ce moment-là. Si votre version est obsolète, il est possible que nous ayons déjà ajouté la fonctionnalité dont vous avez besoin, sous forme de plug-ins ou de base. Connaître les caractéristiques que vous avez ajoutées à votre copie peut vous fournir une feuille de route des fonctionnalités que vous devez mettre à jour.

Comprendre l'architecture

Une fois que vous avez compris les fonctionnalités qui utilisent des API spécifiques à la duplication, tenez compte des points suivants:

  • Pour chaque fonctionnalité utilisant la duplication, existe-t-il un moyen de la répliquer à l'aide des API Blockly ?
  • S'il semble que vous ne puissiez pas répliquer 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éterminez votre chemin d'arrêt

L'étape suivante consiste à commencer le processus d'implémentation de la nouvelle architecture basée sur Blockly pour les fonctionnalités utilisant la duplication. Vous pouvez adopter deux approches principales:

  • Mettre à niveau Blockly et voir ce qui ne fonctionne pas: vous voyez immédiatement les zones de votre code à mettre à jour. Vous pouvez vous en servir, combiné à ce que vous savez déjà, c'est qu'il s'agit d'un comportement personnalisé pour guider votre développement.
  • Refactoriser votre code pour séparer vos caractéristiques de Blockly: cela nécessite de bien comprendre quelles fonctionnalités sont personnalisées pour votre copie 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 à suivre en tant que développeur Blockly à l'avenir:

  • En général, vous ne devez pas ajouter de nouvelles 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 ou sur l'espace de noms Blockly.
  • Vous ne devez pas compter sur les 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 sommes donc susceptibles d'y apporter des modifications susceptibles d'endommager votre application. Si vous le souhaitez, vous êtes responsable de la compilation de l'application.

Contacter

Blockly est toujours disponible sur le forum Blockly. Si vous rencontrez des problèmes pendant le processus de déduplication, n'hésitez pas à les y publier. Nous pourrons vous aider.