Eigenes Plug-in hinzufügen

Weitere Informationen zu Plug-ins

Vorgehensweise

Plug-ins durchlaufen vier Phasen: Vorschlagen, Diskussion, Implementierung und Veröffentlichung.

Vorschlag

Ein Plug-in beginnt als Vorschlag. Sie können ein Plug-in vorschlagen, indem Sie mit der Vorlage für Funktionsanfragen ein neues Problem erstellen.

Weitere Informationen zum Verfassen einer Funktionsanfrage

Zusätzlich zu den grundlegenden Informationen zu Funktionsanfragen sollte ein Plug-in-Vorschlag folgende Informationen enthalten:

  • Die API, die das Plug-in bereitstellen würde.
  • APIs, die zur Unterstützung des Plug-ins im Core Blockly hinzugefügt oder geändert werden müssen.
  • Screenshots, GIFs oder Modelle, wenn das Plug-in UI-Funktionen enthält
  • Eine Erklärung, warum es ein eigenes Plug-in und nicht ein Drittanbieter-Plug-in sein sollte

Das Blockly-Team prüft die eingehenden Vorschläge und schließt entweder das Problem oder fügt das Label status: discussion hinzu.

Diskussion

Als Nächstes gelangt ein Plug-in in die Diskussionsphase. Diese Phase umfasst:

  • Klärung der gewünschten Funktionalität
  • Die API des Plug-ins wurde näher erläutert.
  • Planung der Implementierung
  • Tests planen
  • Diskussion von API-Änderungen im Kern von Blockly.
  • Große Plug-ins in Implementierungsschritte aufteilen
  • Benennung von Plug-ins gemäß unseren Namenskonventionen.
  • Die Bestätigung aller Kriterien mit selbst erhobenen Daten wird erfüllt.

Diese Diskussion findet in der Regel im Zusammenhang mit GitHub statt. Je kleiner der Umfang des Plug-ins, desto schneller kann die Diskussionsphase ablaufen. Größere Plug-ins können die Aufmerksamkeit der Community und die Meinungsäußerung zur richtigen Lösung auf sich ziehen. Wenn dies bei Ihrem Problem auftritt, herzlichen Glückwunsch! Sie haben etwas gefunden, das die Menschen interessiert.

Das Ziel ist, dass am Ende der Diskussionsphase alle wichtigen Designentscheidungen getroffen wurden und es eine klare Liste der Implementierungsschritte gibt. Beides sollte in Kommentaren zu diesem Thema dokumentiert werden.

Im Rahmen der Diskussion können wir entscheiden, dass ein Plug-in ein Drittanbieter-Plug-in sein und nicht unter dem Bereich @blockly veröffentlicht werden sollte. In diesem Fall erklären wir den Grund und schließen das Problem.

Wenn die Diskussion abgeschlossen ist, fügt ein Blockly-Teammitglied dem Problem das Label status: implementation hinzu.

Implementierung

Die Implementierung umfasst folgende Schritte:

  • npx @blockly/create-package ausführen, um das Plug-in und sein Verzeichnis aus einer Vorlage einzurichten. Weitere Informationen...
  • Kernlogik für das Plug-in implementieren
  • Implementierung einer UI, falls erforderlich.
  • Das Plug-in mit Mocha testen.
  • Plug-in, einschließlich README, dokumentieren.

Wenn das Problem eines Plug-ins mit dem Label status: implementation gekennzeichnet ist, ist es entweder bereit für die Implementierung oder wird aktiv implementiert. Um einen doppelten Aufwand zu vermeiden, sollten Interessierte das Problem kommentieren und fragen, ob noch weitere Beiträge möglich sind.

Die Implementierung kann von mehreren Personen gleichzeitig erfolgen. Sie können ein Plug-in gemeinsam in Ihrer eigenen Fork oder über Pull-Anfragen für dieses Repository implementieren. Wenn Sie an einem Plug-in in diesem Repository zusammenarbeiten möchten, bitten Sie das Blockly-Team, einen Feature-Branch für Sie zu erstellen.

Plug-ins sollten der Datei gh-pages/index.md im Branch master von „blockly-sample“ hinzugefügt werden. Dadurch werden sie auf unserer Plug-in-Website angezeigt. Erstanbieter-Plug-ins sollten auf ihre Testseite verweisen. Es können auch Plug-ins von Drittanbietern zu dieser Seite hinzugefügt werden, die auf einen vom Inhaber gewählten Link verweisen, z. B. eine gehostete Demo oder die npm-Seite.

Wird veröffentlicht

Zum Schluss Veröffentlichen. Das Blockly-Team nutzt Lerna, um die Versionsverwaltung und Veröffentlichung für alle Plug-ins zu verwalten.

Jeden Donnerstag werden alle Plug-ins veröffentlicht, die sich seit ihrer letzten Veröffentlichung geändert haben. Falls eine Änderung früher veröffentlicht werden soll, geben Sie dies in Ihrer Pull-Anfrage an.

Die Plug-ins-Website wird auch bei der Veröffentlichung von Plug-ins aktualisiert.

Plug-ins, die nicht zur Veröffentlichung bereit sind, sollten im package.json als private gekennzeichnet werden. Dies kann passieren, wenn ein Plug-in auf einer noch nicht veröffentlichten Änderung in core Blockly basiert. Core Blockly wird in der letzten Woche jedes Quartals (einmal alle drei Monate) veröffentlicht.