Skip to content
Andi Fahruddin Akas edited this page Jul 24, 2023 · 15 revisions

Panduan ini menjelaskan langkah-langkah untuk melakukan rilis OpenSID versi Umum. Proses rilis untuk versi Premium ada di Proses Rilis Premium.

Perilisan OpenSID versi resmi dilakukan pada tanggal 1 setiap bulan. Tetapi perbaikan dan penambahan fitur dilakukan secara terus-menurus. Perubahan yang telah rampung langsung dimasukkan ke branch umum sebagai versi pra-rilis yang dapat diunduh kapan saja.

Penggabungan versi Premium ke rilis Umum

Semua pengembangan fitur baru sejak v21.03 dilakukan di rilis Premium. Perubahan di rilis Umum sejak itu terbatas pada perbaikan bug/error yang mengakibatkan OpenSID tidak dapat digunakan semestinya.

Di lain pihak, terlihat di https://github.com/OpenSID/OpenSID/releases, bahwa setiap rilis Umum sampai dengan v21.02 berisi perubahan langsung di rilis Umum.

Di Rilis-Umum-Yang-Akan-Datang dijelaskan isi setiap rilis Umum yang akan datang, termasuk versi Premium mana yang akan digabungkan.

Mulai v21.10 (1 Oktober 2021), rilis Umum akan beralih murni menjadi versi Premium enam bulan sebelumnya. Jadi v21.10 akan persis sama dengan v21.03-premium. Yaitu v21.10 cukup dibuat dengan mengarahkannya ke v21.03-premium. Dan seterusnya.

Tetapi semua rilis Umum sebelum v21.10 perlu dibuat dengan menggabungkan versi Premium terkait, tidak cukup dengan menggantikan saja. Proses penggabungan secara garis besar adalah sebagai berikut:

  1. Buat ke dalam satu commit lokal semua perubahan dari versi Premium terakhir yang telah digabung ke rilis Umum sampai dengan versi Premium yang akan digabung pada rilis Umum sekarang
  2. Gabungkan commit tersebut ke branch master

Langkah git-nya adalah sebagai berikut:

git checkout versi premium yg digabung pada rilis umum terakhir (pada commit terakhir sebelum obfuscate)
git checkout -b commit-untuk-digabung 
git merge --squash versi premium yang akan digabung (pada commit terakhir sebelum obfuscate)
git commit -m "commit untuk digabung"
git checkout master (dari repo OpenSID)
## cari commit terakhir di branch commit-untuk-digabung
git cherry-pick commit terakhir di commit-untuk-digabung

Setelah digabung harus melakukan conflict resolution, karena biasanya akan ada banyak bentrok terkait perubahan yang dilakukan sebelumnya di rilis umum yang berbeda dengan perubahan yang dilakukan di rilis Premium.

Proses di atas bermaksud menghindari pengulangan conflict resolution penggabungan commit-commit sebelumnya, karena sudah dilakukan pada rilis Umum sebelumnya.

image

Gunaka obfuscate untuk file-file tersebut sebelum dicommit, agar history perubahan development tidak ikut. Gunakan obfuscate berikut : https://gist.github.com/andifahruddinakas/825e01efcdb3e50a4e713b3d0e327941

Tetapi proses ini tetap rentan dan perlu dilakukan secara hati-hati. Untuk itu perlu disisihkan waktu yang cukup panjang untuk melakukan testing secara seksama. Karena itu proses penggabungan perlu dimulai selambatnya dua minggu sebelum tanggal 1. Hasil gabungan juga perlu disediakan di website https://demosid.opendesa.id/ supaya pengguna bisa juga ikut melakukan testing.

Yang perlu diperhatikan

  1. Modul yang diperbaharui di premium dan umum berjalan, jika terjadi konflik selalu mengambil data terbaru/berjalan.
  2. Bagian yang harus disesuaikan :
    • Pelanggan
    • Pendaftaran Kerjasama
    • MY_Controller.php, gunakan versi yang akan digabungkan dengan perubahan :
      • Sesuaikan fuction pengumuman dengan versi premium branch rilis-dev.
      • Hapus class premium dan sesuaikan extend ke Admin_controller.
    • header / notifikasi pelanggan (hapus dan sisakan 1 sj jika terjadi duplikasi)
    • Tambahkan migrasi untuk memanggil migrasi rev selanjutnya.
    • catatan_rilis berisi catatan rilis versi premium + rev nya.
    • expor_model (krn ada penambhan export dari controller job, perlu dicek perubahan yang dilakukan).
    • readme (gunakan yang umum).
    • template issue dan pr (gunakan yang umum).
    • Hapus file .github/workflows/phpcs.yml.
    • index.php, jika ada perubahan gunakan versi yang ada di umum + perubahan dari premium.
  3. Untuk conflik krn penambahan spasi dan penulisan, ambil perubahan dari rilis yang akan digabung / premium.
  4. Selain itu, conflik yang lain perlu dicek secara seksama.
  5. Lakukan testing ulang setelah penggabungan tsb, cek 1 per 1 fitur yg digabungkan tsb.

Langkah-langkah membuat rilis

Lakukan langkah-langkah berikut setelah branch master sudah siap untuk dirilis.

Sistem penomoran versi OpenSID menggunakan Calendar Versioning dengan format vYY.MM, di mana v adalah inisial dari kata Versi, YY adalah Dua digit terakhir tahun rilis, dan MM adalah bulan rilis (contoh v18.06 untuk rilis bulan Juni 2018)

Dua hari sebelum rilis:

  1. Lakukan testing untuk memastikan semua perubahan bekerja sesuai yang diinginkan. Dua hari sebelum rilis, bekukan semua perubahan script, dan umumkan di https://www.facebook.com/groups/OpenSID/ mengajak seluruh komunitas untuk ikut melakukan testing. Hanya lakukan perbaikan apabila ada kesalahan fatal akibat perubahan sejak rilis sebelumnya.

    Sebelum membuat posting, yakinkan https://demosid.opendesa.id/ sudah memuat versi pra-rilis terbaru siap untuk digunakan untuk testing.

Pada hari rilis:

  1. Ubah nomor versi (VERSION) sesuai format di atas pada file opensid_helper.php. Juga ubah VERSI_DATABASE menggunakan format YYYYMMDD. Sebagai contoh untuk rilis pada tanggal 1 November 2020, ubah menjadi 2020110101. Versi database digunakan untuk memungkinkan migrasi otomatis.
  2. Ubah nama file catatan_rilis_[versi lama]_pasca.txt menjadi catatan_rilis_[versi baru].txt. Lengkapi catatan rilis di file tersebut.
  3. Di array $versionMigrate di file donjo-app/models/Database_model.php ubah baris migrasi terakhir mengarahkan ke [versi baru] . Misalnya ubah dari baris
    '19.04' => array('migrate' =>'migrasi_1904_ke_1905, 'nextVersion' => NULL) menjadi
    '19.04' => array('migrate' =>'migrasi_1904_ke_1905, 'nextVersion' =>'19.05'),
    Tambahkan baris migrasi untuk [versi baru], seperti contoh berikut:
    '19.05' => array('migrate' => NULL, 'nextVersion' => NULL)
  4. Hapus dan install ulang folder desa. Ini untuk menjamin pemasangan data awal nanti tidak berisi data tidak terduga.
  5. Lakukan testing install baru menggunakan contoh data awal. Lakukan testing upgrade dengan me-restore contoh data awal dari rilis sebelumnya dan kemudian menggunakan menu Database > Migrasi DB
  6. Kirim semua perubahan sebagai pull request supaya bisa digabungkan ke branch master oleh pengawas rilis.
  7. Siapkan draft rilis di https://github.com/OpenSID/OpenSID/releases, isi kolom tag dengan versi sesuai format di atas. Simpan sebagai draft. Jangan dipublish. Nanti dipublish terpisah pada langkah berikut setelah pull request telah digabung oleh pengawas rilis.
  8. Tunggu pemberitahuan dari pengawas rilis bahwa pull request persiapan rilis telah digabung.
  9. Publish rilis. Langkah ini hanya dilakukan setelah ada konfirmasi dari pengawas rilis bahwa langkah 8 telah selesai. Yaitu pull request persiapan rilis telah digabung ke branch master pada tanggal 1.
  10. Update situs demo https://demosid.opendesa.id, https://berputar.opendesa.id dan https://demodk.opendesa.id dengan rilis baru. Petunjuk mengupdate website demo ini ada di Memasang Demo di VPS.
  11. Umumkan rilis di Forum Pengguna dan Pegiat OpenSID di https://www.facebook.com/groups/OpenSID/
  12. Lengkapi panduan untuk disesuaikan dengan perubahan di rilis baru. Akan lebih mudah melengkapi panduan sambil jalan, setelah setiap pull request digabung ke master.
  13. Buat posting di https://www.facebook.com/groups/OpenSID/, mengajak pegiat membuat installer Windows untuk rilis baru.

Testing

Testing perlu melibatkan sebanyak mungkin pengguna. Selalu usahakan memuat versi pra-rilis terkini di situs demo, dan ajak semua anggota komunitas OpenSID di https://www.facebook.com/groups/OpenSID/ untuk ikut mengujicoba dan melaporkan masalah yang ditemukan.

[Masih dalam penulisan. Silakan bantu]

Lengkapi Contoh Data Awal

Contoh data awal perlu dilengkapi untuk membantu menjelaskan perbaikan atau fitur baru yang ditambahkan di rilis.

Cara untuk melengkapi data contoh awal (tidak perlu menyunting berkas .sql secara langsung):

  1. Restore data contoh awal menggunakan menu Database > Backup/Restore
  2. Kalau ada perubahan yg dilakukan melalui migrasi, jalankan Database > Migrasi DB
  3. Ubah/tambah data yang diperlukan melalui fitur aplikasi biasa
  4. Buat data contoh awal yang baru dengan melakukan backup melalui menu Database > Backup/Restore
  5. Ubah nama berkas data contoh menggunakan tanggal waktu melakukan backup.

Lengkapi Panduan

Perbaiki atau lengkapi panduan di Wiki OpenSID sesuai dengan perubahan atau penambahan fitur yang dilakukan di rilis.

Petunjuk melengkapi panduan ada di Mengembangkan Panduan OpenSID.

Pembuatan Installer

Untuk setiap rilis versi resmi diusahakan adanya installer untuk Windows, supaya memudahkan pengguna pemula yang baru mulai menerapkan OpenSID. Installer yang dibuat umumnya disimpan di Google Drive, dan tautan ke installer tersebut ditambahkan pada masing-masing catatan rilis di https://github.com/OpenSID/OpenSID/releases.

Berikut ini diberikan dua cara untuk membuat installer OpenSID untuk Windows. Silakan pilih cara yang diinginkan.


Panduan OpenSID

OpenSID

Install dan Update

Utama
Web Artikel
Web Lapak
Web Peta
Web Analisis
Web Pembangunan
Web Covid19
Web Vaksin
Web Statistik
Web Pengaduan
Web Kehadiran

Siaga Covid-19

Home SID

Info Desa

Kependudukan

Statistik

Kehadiran

Layanan Surat

Sekretariat

Keuangan

Buku Administrasi Desa

Analisis

Bantuan

Pertanahan

Pembangunan

Lapak

Pengaduan

Pemetaan

Hubung Warga

Pengaturan

Admin Web

Layanan Mandiri

Halaman Layanan Mandiri

Halaman Kehadiran Perangkat Desa

Halaman Anjungan

Lainnya

Dll

Clone this wiki locally