Menambahkan plugin pihak pertama

Baca selengkapnya tentang plugin

Proses

Plugin melalui empat tahap: saran, diskusi, penerapan, dan publikasi.

Saran

Plugin dimulai sebagai saran. Anda dapat menyarankan plugin dengan membuat masalah baru dengan template Permintaan Fitur.

Baca tentang cara menulis permintaan fitur

Selain informasi permintaan fitur dasar, saran plugin harus menyertakan:

  • API yang akan diekspos oleh plugin.
  • API yang perlu ditambahkan atau diubah di Blockly inti untuk mendukung plugin.
  • Screenshot, GIF, atau mock-up jika plugin menyertakan fitur UI.
  • Penjelasan tentang alasan mengapa plugin harus berupa plugin pihak pertama, bukan plugin pihak ketiga.

Tim Blockly akan meninjau saran begitu saran diterima, lalu menutup masalah atau menambahkan label status: diskusi.

Diskusi

Selanjutnya, plugin akan masuk ke fase diskusi. Fase ini meliputi:

  • Klarifikasi fungsi yang diinginkan.
  • Klarifikasi API plugin.
  • Perencanaan implementasi.
  • Merencanakan pengujian.
  • Pembahasan tentang perubahan API di Blockly inti.
  • Membagi plugin besar ke dalam langkah-langkah implementasi.
  • Penamaan plugin, berdasarkan konvensi penamaan kami.
  • Konfirmasi bahwa semua kriteria pihak pertama akan terpenuhi.

Diskusi ini umumnya terjadi pada masalah GitHub. Semakin kecil cakupan plugin, semakin cepat fase diskusinya. Plugin yang lebih besar dapat menarik perhatian komunitas dan opini yang kuat tentang Solusi yang Tepat. Jika ini terjadi pada masalah Anda, selamat. Anda telah menemukan sesuatu yang sangat diminati banyak orang.

Tujuannya adalah pada akhir fase diskusi, semua keputusan desain utama telah dibuat dan daftar langkah implementasi yang jelas telah tersedia. Keduanya harus didokumentasikan dalam komentar terkait masalah tersebut.

Selama diskusi, kami dapat memutuskan bahwa plugin harus berupa plugin pihak ketiga, dan tidak dipublikasikan dalam cakupan @blockly. Dalam hal ini kami akan menjelaskan mengapa dan menutup masalahnya.

Setelah diskusi selesai, anggota tim Blockly akan menambahkan label status: implementation ke masalah.

Penerapan

Langkah-langkah penerapan meliputi:

  • Menjalankan npx @blockly/create-package untuk menyiapkan plugin dan direktorinya dari template. Pelajari lebih lanjut...
  • Menerapkan logika inti untuk plugin.
  • Mengimplementasikan UI, jika diperlukan.
  • Menguji plugin, menggunakan mocha.
  • Mendokumentasikan plugin, termasuk README.

Jika masalah plugin memiliki label status: implementation, artinya plugin sudah siap untuk diimplementasikan atau sedang aktif diterapkan. Untuk menghindari upaya duplikat, siapa pun yang tertarik dapat mengomentari masalah tersebut dan menanyakan apakah masalah tersebut masih terbuka untuk menerima kontribusi.

Penerapan dapat dilakukan oleh beberapa kontributor secara paralel. Anda dapat mengimplementasikan plugin secara kolaboratif di fork Anda sendiri, atau melalui permintaan pull terhadap repositori ini. Jika Anda ingin berkolaborasi pada plugin di repositori ini, minta tim Blockly untuk membuat cabang fitur untuk Anda.

Plugin harus ditambahkan ke file gh-pages/index.md di cabang master dari contoh blockly. Ini akan menyebabkan plugin tersebut muncul di situs Plugin kami. Plugin pihak pertama harus mengarah ke halaman pengujiannya. Plugin pihak ketiga juga dapat ditambahkan ke halaman ini, dan dapat mengarah ke link yang dipilih pemiliknya, seperti demo yang dihosting atau halaman npm.

Memublikasikan

Terakhir, publikasi. Tim Blockly menggunakan Lerna untuk mengelola pembuatan versi dan publikasi untuk semua plugin.

Setiap hari Kamis, plugin apa pun yang telah berubah sejak rilis terakhirnya akan dipublikasikan. Jika Anda ingin perubahan dipublikasikan lebih cepat, harap cantumkan pada permintaan pull Anda.

Situs Plugin juga diperbarui setiap kali plugin dipublikasikan.

Plugin yang belum siap dipublikasikan harus ditandai sebagai private di package.json. Hal ini dapat terjadi jika plugin bergantung pada perubahan yang belum dipublikasikan di core Blockly. Core Blockly dipublikasikan pada minggu terakhir setiap kuartal (tiga bulan sekali).