BAB 6: Dari Meja Sendiri ke Tangan Orang Lain: Rilis dan Perawatan
#Studi kasus: "Boleh saya pakai juga?"
Rekan dari kantor lain mendengar tentang plugin Ringkas KPH dan ingin memakainya. Analis Muda sadar bahwa mengirim folder lewat pesan singkat itu rawan: folder mana yang terbaru, siapa yang bertanggung jawab bila ada galat, dan apakah boleh dipakai ulang? Ia perlu mengemas alatnya dengan benar, memberinya nomor versi, dan menyiapkan cara merawatnya.
#Konsep: rilis dalam tiga kalimat
Rilis adalah versi alat yang sudah diuji, diberi nomor, dan dikemas untuk dipakai orang lain. Bayangkan makanan kemasan: ada nama, tanggal produksi, komposisi, dan nomor kontak. Tanpa itu, pembeli tidak tahu apa yang ia bawa pulang.

#Nomor versi yang bermakna
Lima istilah baru untuk bab ini:
- Nomor versi: tiga angka mayor.minor.tambal, misalnya 0.1.0.
- Changelog: catatan perubahan tiap versi.
- Lisensi: aturan yang menyatakan apa yang boleh dilakukan orang lain dengan alat Anda.
- Repositori: tempat menyimpan dan menerbitkan kode atau paket.
- Tracker: tempat pengguna melapor masalah.
Aturan nomor versi yang lazim: naikkan mayor bila ada perubahan yang membuat pemakaian lama tidak cocok. Naikkan minor bila menambah fitur dengan tetap cocok. Naikkan tambal bila hanya memperbaiki kesalahan.

#Bagian A: QGIS
#Bagian A: Merilis plugin QGIS
- Uji dulu. Jalankan
skrip/uji_plugin.py(Bab 1) sampai semua langkahnya lolos. - Periksa metadata. Berkas
skrip/kemas_plugin.pymemeriksa tiga hal: ada__init__.pydenganclassFactory, semua bidang wajibmetadata.txtterisi, dan versi berpola tiga angka. Bagian pemeriksa:
if g.get("version") and not POLA_VERSI.match(g["version"]):
masalah.append("versi bukan pola mayor.minor.tambal: " + g["version"])- Naikkan versi. Ubah
versiondimetadata.txtdan tambahkan baris dichangelog. Misalnya dari 0.1.0 ke 0.1.1 untuk perbaikan kecil. - Kemas. Jalankan
python kemas_plugin.py. Hasilnyaplugin_ringkas_kph-0.1.0.zip. Satu aturan penting: isi zip harus berupa satu folder bernama sama dengan plugin. Folder itulah yang nanti berada di folder plugin QGIS. - Pasang dari zip. Pada mesin lain, buka Plugins ► Manage and Install Plugins, pilih Install from ZIP, lalu tunjuk berkas zip. [CEK]
- Terbitkan (bila perlu). Repositori plugin resmi QGIS (plugins.qgis.org) menerima plugin yang metadata-nya lengkap. Syarat rinci, termasuk akun dan lisensi, perlu dibaca di situs itu. [CEK: tidak dilakukan penulis]
- Rawat. Siapkan tempat pelaporan masalah (kolom
tracker), perbaiki, naikkan versi, kemas ulang.
#Aturan hidup alat yang sehat
- Jangan menyimpan kata sandi, kunci, atau alamat internal di dalam kode alat. Alat yang dibagikan akan ikut membawanya.
- Jangan menyertakan data asli di dalam paket. Pakai data sintetis untuk contoh.
- Cantumkan lisensi dan penulis. Tanpa lisensi, orang lain tidak tahu apa yang boleh mereka lakukan.
- Tulis pesan galat yang ramah. "Pilih dulu satu layer vektor di panel Layers" lebih berguna daripada jejak galat panjang.
- Catat apa yang sudah diuji, dan di versi mana. Seperti pada buku ini: bagian yang belum teruji diberi tanda.
#Bagian B: ArcGIS Pro
#Bagian B: ArcGIS Pro
Bentuk berbagi tergantung jalurnya (Bab 1):
- Python toolbox atau script tool: bagikan berkas toolbox (
.pytatau.atbx) bersama folder skripnya. Penerima menyambungkannya lewat panel Catalog. [CEK] - Add-in .NET: dikemas oleh Visual Studio menjadi berkas add-in yang dipasang oleh penerima. Pembuatannya mengikuti dokumentasi ArcGIS Pro SDK untuk .NET. [CEK]
- Berbagi lewat portal: alat geoprocessing dan layer juga bisa dibagikan lewat ArcGIS Online atau Enterprise, dengan pengaturan siapa yang boleh melihat. [CEK]
Aturan nomor versi, lisensi, dan perawatan berlaku sama.
#Bagian C: ArcMap 10.8
#Bagian C: ArcMap 10.8
Python add-in dikemas wizard menjadi satu berkas add-in yang bisa dibagikan. Penerima memasangnya lewat Add-In Manager atau dengan klik dua kali berkas itu. [CEK: dari dokumentasi Esri]
Toolbox Python dibagikan seperti di Pro. Karena ArcMap memakai Python 2.7, uji ulang kode di versi itu. [CEK]
#Peta penutup: dari bahan ke produk
Enam bab seri ini membangun satu jalur kerja untuk KPH Contoh:
| Bab | Produk | Berkas | Angka uji |
|---|---|---|---|
| 1 | Plugin Ringkas KPH | plugin_ringkas_kph/ | 16 objek, 16,00 ha |
| 2 | Processing script | kerapatan_hotspot.py | 12 titik, 1 petak rawan (batas 2) |
| 3 | Peta web lokal | buat_peta_web.py | 16 petak, 12 titik |
| 4 | Dasbor | buat_dasbor.py | 385 titik panas, puncak 21 September |
| 5 | Model 3D | dsm_ke_obj.py | 2.500 titik sudut, 4.802 segitiga |
| 6 | Paket rilis | kemas_plugin.py | zip 4 berkas |
#Ceklis kesiapan
Sebelum merasa mahir pada bahan seri ini, periksa dengan jujur:
- Saya bisa menjelaskan fungsi
initGuidanunloadpada plugin. - Saya bisa menulis Processing script dengan parameter dan keluaran.
- Saya bisa menjelaskan perbedaan WMS, WFS, ubin, dan GeoJSON.
- Saya tahu mengapa CRS harus diubah sebelum ke web.
- Saya bisa membuat dasbor yang menjawab satu pertanyaan.
- Saya bisa menyebut skala vertikal pada model 3D.
- Saya tidak menaruh kata sandi atau data asli di dalam paket alat.
#Cek paham
- Kapan menaikkan angka mayor pada versi alat?
- Mengapa isi zip plugin harus satu folder?
- Apa risiko menaruh kata sandi di dalam kode plugin?
Jawaban:
- Saat ada perubahan yang membuat pemakaian lama tidak lagi cocok.
- Folder itulah yang diletakkan di folder plugin QGIS. Bila berkas berserakan, plugin tidak dikenali.
- Siapa pun yang menerima plugin bisa membacanya.
#Kesalahan umum
- Zip berisi berkas langsung tanpa folder. Plugin gagal dipasang. Kemas ulang dengan satu folder induk.
- Versi tidak dinaikkan setelah perbaikan. Pengguna tidak tahu mana yang terbaru. Naikkan versi tiap rilis.
- Alamat contoh ikut terbit. Ganti
example.orgsebelum menerbitkan sungguhan. - Tanpa lisensi. Orang ragu memakai atau memperbaiki alat Anda. Cantumkan lisensi.
#Ringkasan dan latihan
Ringkasan: Rilis berarti uji, beri versi, kemas, terbitkan, dan rawat. Nomor versi tiga angka menyampaikan jenis perubahan. Alat yang sehat tidak membawa rahasia dan menyebut lisensinya.
Latihan: Naikkan versi plugin ke 0.1.1, tambahkan baris changelog, lalu jalankan kemas_plugin.py. (Petunjuk: nama zip hasilnya plugin_ringkas_kph-0.1.1.zip.)
#Tabel perbandingan: berbagi alat kustom
| Hal | QGIS | ArcGIS Pro | ArcMap 10.8 |
|---|---|---|---|
| Berkas yang dibagikan | Zip plugin | Toolbox atau add-in | Berkas add-in atau toolbox |
| Pemasangan | Install from ZIP | Sambung lewat Catalog atau pasang add-in | Add-In Manager atau toolbox |
| Penerbitan resmi | Repositori plugin QGIS | Lewat portal Esri [CEK] | Tidak ada padanan setara [CEK] |