Dokumen ini ditujukan bagi developer yang sebelumnya telah menyalin Blockly dan ingin mengupdate ke rilis Blockly terbaru, tanpa mem-patch library. Meskipun tampaknya tugas yang sulit, ada beberapa langkah yang dapat Anda ambil agar prosesnya lebih mudah dikelola.
Memahami Pembatalan Pengambilan
Jika menggunakan Blockly, Anda menggunakan versi Blockly yang baru dirilis, dan semua penyesuaian Anda menggunakan Blockly API publik tanpa Monkeypatching. Membatalkan fork adalah pekerjaan yang harus Anda lakukan untuk menerapkan fungsi kustom fork dengan API mainline.
Kasus Pembukaan Garpu Sederhana
Berikut adalah dua alasan umum mengapa Anda mungkin melakukan fork, dan solusi untuk kembali ke mainline:
- Anda membuat blok dan generator sendiri tanpa mengubah kode Blockly: Untuk membatalkan fork dalam situasi ini, cukup pindahkan blok dan generator kustom dari repositori Blockly ke kode aplikasi Anda sendiri. Setelah itu, Anda dapat memperbarui versi Blockly.
- Anda menambahkan fungsi kustom di namespace Blockly tanpa mengubah kode Blockly apa pun: Misalnya, Anda menambahkan kolom kustom atau metode helper yang hanya digunakan oleh aplikasi Anda sendiri. Untuk membatalkan fork dalam situasi ini, pindahkan kode kustom ini ke aplikasi Anda sendiri di luar repositori Blockly. Selanjutnya, Anda dapat mengupdate versi Blockly.
{i>Casing Unforking<i} yang Luas
Menentukan fungsionalitas forked
Alasan terakhir kami melihat pengguna fork adalah untuk mem-patch Blockly guna membuat fungsi kustom yang mereka anggap tidak disertakan upstream pada saat itu. Jika fork Anda sudah tidak berlaku lagi, kami mungkin telah menambahkan fungsi yang Anda perlukan, baik sebagai plugin atau dalam inti. Mengetahui fitur yang Anda tambahkan di fork dapat memberikan roadmap tentang fitur apa yang perlu Anda perbarui.
Memahami arsitektur
Setelah Anda memahami fitur yang menggunakan API khusus fork, pertimbangkan:
- Untuk setiap fitur yang menggunakan fork, apakah ada cara untuk mereplikasinya menggunakan Blockly API?
- Jika Anda merasa tidak dapat mereplikasi fitur menggunakan Blockly API, hubungi kami melalui forum atau ajukan masalah di GitHub. Tim kami kemudian akan menyelidiki penambahan API untuk memungkinkan penyesuaian Anda.
Tentukan jalur unfork
Langkah berikutnya adalah memulai proses implementasi arsitektur berbasis Blockly baru untuk fitur yang menggunakan fork. Ada dua pendekatan utama yang dapat Anda lakukan:
- Upgrade Blockly dan lihat jeda yang ada: Anda akan langsung melihat area dalam kode yang perlu diupdate. Anda bisa menggunakannya bersama dengan apa yang sudah Anda ketahui adalah perilaku kustom untuk memandu pengembangan Anda.
- Faktorkan ulang kode untuk memisahkan fitur dari Blockly: Hal ini mengharuskan Anda memahami mendalam tentang fitur mana yang kustom untuk fork Anda dan fitur mana yang berasal dari Blockly. Setelah kode sepenuhnya terpisah, ganti Blockly versi lama dengan versi terbaru, lalu perbaiki masalah integrasi yang tersisa.
Maju
Berikut adalah beberapa aturan yang harus Anda ikuti sebagai developer Blockly di masa mendatang:
- Secara umum, Anda sebaiknya tidak menambahkan class baru ke namespace Blockly. Anda dapat mendaftarkan kolom kustom atau class lain yang dapat didaftarkan tanpa mendeklarasikannya di dalam repositori Blockly atau di namespace Blockly.
- Anda tidak boleh mengandalkan alat build Blockly untuk mengompilasi aplikasi Anda sendiri. Kami tidak menganggap alat build kami sebagai bagian dari API publik, jadi kami dapat membuat perubahan pada alat tersebut dan akan merusak aplikasi Anda. Anda bertanggung jawab untuk mengompilasi aplikasi jika ingin melakukannya.
Hubungi
Blockly selalu tersedia melalui Forum Blockly. Jika Anda mengalami masalah apa pun selama proses pencabutan, jangan ragu untuk mempostingnya di sana dan kami siap membantu.