Ajouter un plug-in propriétaire

En savoir plus sur les plug-ins

Procédure

Les plug-ins passent par quatre étapes: suggestion, discussion, implémentation et publication.

Suggestion

Un plug-in commence par une suggestion. Vous pouvez suggérer un plug-in en créant un problème à l'aide du modèle de demande de fonctionnalité.

Découvrez comment rédiger une demande de fonctionnalité.

En plus des informations de base sur la demande de fonctionnalité, une suggestion de plug-in doit inclure les éléments suivants:

  • API que le plug-in exposerait.
  • API devant être ajoutées ou modifiées dans Blockly de base pour prendre en charge le plug-in.
  • Captures d'écran, GIF ou maquettes si le plug-in inclut des fonctionnalités d'interface utilisateur
  • Explication de la raison pour laquelle il doit s'agir d'un plug-in propriétaire plutôt que d'un plug-in tiers.

L'équipe Blockly examine les suggestions au fur et à mesure, puis résout le problème ou ajoute le libellé status: discussion.

Discussion

Ensuite, le plug-in entre dans la phase de discussion. Cette phase comprend:

  • Clarification sur la fonctionnalité souhaitée.
  • Clarification de l'API du plug-in.
  • Planification de la mise en œuvre
  • Planification des tests
  • Discussion sur les modifications de l'API dans les fonctionnalités principales de Blockly.
  • Décomposer les plug-ins volumineux en étapes d'implémentation.
  • Dénomination des plug-ins en fonction de nos conventions de dénomination.
  • La confirmation de tous les critères propriétaires sera respecté.

Cette discussion concerne généralement le problème GitHub. Plus le champ d'application du plug-in est restreint, plus la phase de discussion peut être rapide. Les plug-ins plus volumineux peuvent attirer l'attention de la communauté et des opinions fortes sur la bonne solution. Si cela se produit, félicitations ! Vous avez trouvé quelque chose qui intéresse les gens.

L'objectif est qu'à la fin de la phase de discussion, toutes les principales décisions de conception aient été prises et qu'une liste claire des étapes de mise en œuvre ait été établie. Les deux devraient être documentés dans les commentaires sur le problème.

Au cours de la discussion, nous pouvons décider qu'un plug-in doit être un plug-in tiers et ne pas être publié dans le champ d'application de @blockly. Dans ce cas, nous allons vous expliquer pourquoi et clôturer le problème.

Une fois la discussion terminée, un membre de l'équipe Blockly ajoute le libellé status: implementation au problème.

Implémentation

Les étapes d'implémentation sont les suivantes:

  • Exécuter npx @blockly/create-package pour configurer le plug-in et son répertoire à partir d'un modèle En savoir plus
  • Implémentation de la logique de base pour le plug-in.
  • Implémenter une UI, si nécessaire.
  • Tester le plug-in à l'aide de mocha.
  • Documentation du plug-in, y compris README.

Si le problème d'un plug-in affiche le libellé status: implementation, il est prêt à être implémenté ou en cours d'implémentation. Pour éviter de dupliquer leurs efforts, toute personne intéressée doit commenter le problème et demander s'il est toujours ouvert aux contributions.

L'implémentation peut être effectuée par plusieurs contributeurs en parallèle. Vous pouvez implémenter un plug-in de manière collaborative dans votre propre duplication ou via des demandes d'extraction sur ce dépôt. Si vous souhaitez collaborer sur un plug-in dans ce dépôt, demandez à l'équipe Blockly de créer une branche de fonctionnalité pour vous.

Les plug-ins doivent être ajoutés au fichier gh-pages/index.md dans la branche master de blockly-samples. Elles apparaîtront alors sur notre site Plug-ins. Les plug-ins propriétaires doivent rediriger vers leur page de test. Des plug-ins tiers peuvent également être ajoutés à cette page et peuvent renvoyer vers un lien du choix de leur propriétaire, tel qu'une version de démonstration hébergée ou la page npm.

Publication…

Enfin, la publication est terminée. L'équipe Blockly utilise Lerna pour gérer la gestion des versions et la publication pour tous les plug-ins.

Tous les jeudis, tous les plug-ins qui ont été modifiés depuis leur dernière version sont publiés. Si vous souhaitez qu'une modification soit publiée plus tôt, veuillez l'indiquer dans votre demande d'extraction.

Le site Plugins est également mis à jour à chaque publication de plug-ins.

Les plug-ins qui ne sont pas prêts à être publiés doivent être marqués private dans leur package.json. Cela peut se produire si un plug-in repose sur une modification n'ayant pas encore été publiée dans la version principale de Blockly. Core Blockly est publié au cours de la dernière semaine de chaque trimestre (une fois tous les trois mois).