Skip to content

Cara Ikut Mengembangkan OpenSID

Fadhil Prawira edited this page Jan 7, 2023 · 31 revisions

Siapa yang dapat membantu?

Siapa saja boleh membantu mengembangkan OpenSID.

Pemahaman teknologi yang anda perlukan tergantung dari tugas yang akan anda kerjakan. Teknologi yang digunakan di OpenSID mencakup:

  • PHP menggunakan framework Codeigniter
  • HTML
  • CSS
  • Database Mysql/MariaDB
  • Javascript

Source code OpenSID dikelola di Github (https://github.com/OpenSID/OpenSID dan repo private https://github.com/OpenSID/premium). Karena itu, untuk membuat kontribusi pada OpenSID, anda perlu juga menguasai:

  • git
  • Github

Repo Github Private

Perlu diperhatikan, bahwa pengembangan OpenSID tidak lagi seperti proyek open source yg biasa.

Dari pengalaman selama ini, terlihat bahwa pengembangan sepenuhnya melalui kontributor relawan murni pada prakteknya tidak bisa memenuhi kebutuhan desa yg spesifik dan perlu diselesaikan dalam waktu yg ditentukan. Pengembangan melalui kontributor relawan murni tidak tentu, dan sangat bergantung pada minat masing2 kontributor.

Untuk mengatasi keterbatasan itu, sekaligus juga berusaha tetap mempertahankan aplikasi gratis, bebas diperoleh dan open source, pengembangan OpenSID dilakukan melalui versi Premium. Desa yg memperoleh manfaat diajak untuk bergotong royong mendanai pengembangan fitur baru, dengan berlangganan rilis Premium. Sebagai penghargaan pada desa yg berlangganan, mereka diberi akses eksklusif pada fitur baru tersebut selama 6 bulan. Setelah itu, dibebaskan.

Dengan cara itu, pengembangan yg diperlukan dapat dilakukan sesuai kebutuhan dan waktu tertentu dapat dilakukan secara lebih pasti menggunakan programmer berbayar.

Sekaligus pengembangan melalui kontributor relawan tetap terbuka dan dihimbau.

Namun, karena versi Premium dikelola di repo Github yang private, untuk memperoleh mengakses, kontributor relawan perlu bersedia menandatangani Pernyataan Menjaga Hak Intelektual OpenDesa (https://bit.ly/3IOnAJL).

Di lain pihak, aplikasi OpenDK (https://github.com/OpenSID/OpenDK) masih open source murni seperti yg biasa. Tidak ada versi premium.

Bagaimana caranya untuk ikut kontribusi?

Sebelum membuat kontribusi pelajari dulu aplikasinya. Install OpenSID dan pelajari pengoperasiannya. Pelajari source codenya dan pahami garis besar arsitekturnya.

Bergabung pada forum teknis OpenSID di https://opensid.slack.com. Anda dapat bergabung di forum itu melalui tautan ini: http://bit.ly/slack-opensid. Bergabung juga di grup Telegram https://t.me/joinchat/mi5ydVtVfmw0YWY1 untuk teman2 kontributor. Perkenalkan diri anda di kedua forum itu dan ceritakan kontribusi apa yang akan anda lakukan.

Siapkan tempat anda akan lakukan perubahan OpenSID:

  • Buat fork dari repo https://github.com/OpenSID/OpenSID (atau repo privat https://github.com/OpenSID/premium jika telah menandatangani Pernyataan Menjaga Hak Intelektual OpenDesa di https://bit.ly/3IOnAJL)
  • Lalu kirim surat "Pernyataan Menjaga Hak Intelektual" yang bermaterai Rp10.000 lalu kirim ke "Sekretariat : Nagari Tj.Haro Sikabu-kabu Pd.Panjang Kec.Luak Kab.Lime Puluh Kota Prov.Sumatera Barat 26261"
  • Clone fork anda di instalasi OpenSID lokal anda
  • Siapkan editor yang akan anda gunakan untuk mengubah source code
  • Siapkan debugger untuk melacak terjadinya error

Apa yang bisa anda kerjakan?

OpenDesa menyediakan pekerjaan yang terbuka bagi yg ingin mengirim penawaran berbayar. Pola kontribusi ini cocok bagi freelancer. Penjelasan lebih lanjut ada di Pekerjaan-Berbayar.

Selain pekerjaan berbayar, sebagai aplikasi terbuka, semua permintaan dari teman-teman pengguna juga bebas dikerjakan oleh siapapun yang berminat, sebagaimana dijelaskan berikut ini.

Setiap pengerjaan tugas yang berhasil digabung ke rilis akan diberikan penghargaan, seperti terlihat di https://bit.ly/30eSS91. Selain penghargaan honor, kontributor yang berhasil mengerjakan tugas senilai 500 poin atau lebih akan diberikan sertifikat kompetensi resmi dari OpenDesa. Sertifikat ini mudah2an akan bermanfaat bagi yang memerlukan sertifikasi.

Daftar kutu/bugs dan usulan perbaikan OpenSID ada di https://github.com/OpenSID/OpenSID/issues. Daftar ini mencakup bukan hanya tugas-tugas fungsional yang berasal dari pengguna (seperti penambahan fitur baru), tetapi juga tugas-tugas teknis (seperti upgrade ke Codeigniter v3).

Issue fungsional diprioritaskan oleh Tim Teknis OpenDesa. Issue yang diprioritaskan terdaftar di https://github.com/OpenSID/OpenSID/projects/1.

Programmer yang akan kontribusi dihimbau untuk mengerjakan dulu issue yang diprioritaskan. Tetapi tidak harus selalu begitu. Programmer boleh saja mengambil issue lain sesuai minat dan kemampuannya, untuk dikerjakan.

Kalau programmer mempunyai usul perbaikan yang ingin mereka kerjakan, dan belum ada di daftar issue, silakan buat issuenya dulu.

Sebelum mengerjakan issue, yakinkan issue pilihan anda belum dikerjakan programmer lain. Lihat di comment di issue yang bersangkutan. Juga cek pull request di https://github.com/OpenSID/OpenSID/pulls. Yakinkan belum ada pull request untuk issue tersebut.

Biasanya, satu issue dikerjakan oleh satu programmer saja, supaya pengaturannya tidak menjadi rumit.

Setelah anda memilih issue untuk dikerjakan, beritahu bahwa anda akan mengerjakan suatu issue dengan cara berikut:

Bagaimana mengerjakan suatu issue?

Periksa issue yang akan dikerjakan. Yakinkan informasi yang dibutuhkan sudah lengkap. Kalau diperlukan informasi tambahan, anda perlu membuka dialog dengan pembuat issue dan juga dengan Tim Teknis OpenDesa:

  • Muat pertanyaan anda di comment di issue yang bersangkutan, dengan menambahkan mention pada pembuat issue dan Tim Teknis OpenDesa.
  • Juga buat posting di https://www.facebook.com/groups/OpenSID/, meminta semua pengguna yang berkepentingan dengan issue itu untuk menjawab pertanyaan di issue.

Issue yang berdampak pada semua pengguna, misalnya mengubah informasi yang ditampilkan pada suatu menu atau laporan, biasanya perlu disepakati dulu oleh Tim Teknis OpenDesa sebelum dikerjakan.

Yakinkan git anda sudah mengambil dari branch master yang terkini. Buat git branch baru sebelum mengerjakan issuenya.

Ikuti praktik terbaik dalam koding anda.

Turuti aturan penulisan script yang diuraikan di Aturan Penulisan Script.

Kalau issue yang dikerjakan memerlukan perubahan database, buatkan migrasi database seperti dijelaskan di Menambah Migrasi Database.

Lakukan testing secara saksama sebelum koding anda bisa dianggap selesai.

Bagaimana mengirimkan script ke OpenSID?

Setelah pengerjaan issue sudah rampung, branch anda bisa dikirimkan ke repository OpensID di github sebagai pull request.

Cara membuat pull request dijelaskan di Panduan-mengirimkan-perubahan-repo-OpenSID.

Bagaimana kalau anda pemula?

Jika anda pemula, dianjurkan mencoba dulu membuat kustomisasi. Lihat panduan https://github.com/OpenSID/OpenSID/wiki/Panduan-Kustomisasi-OpenSID. Di situ juga dijelaskan kemampuan apa saja yang diperlukan.

Dengan melakukan tugas kustomisasi seperti itu anda dapat menjajaki ilmu apa saja yang perlu anda kuasai, sekaligus mulai mempelajari arsitektur OpenSID dan source codenya.

Supaya upaya anda terarah, sebaiknya mencoba dengan melakukan tugas spesifik. Di daftar issue di https://github.com/OpenSID/OpenSID/issues, cari issue yang bersifat 'kustomisasi', yaitu issue yang berkaitan dengan perbaikan atau pembuatan widget atau surat.

Selain itu, sebagai pemula, anda dapat juga memilih issue yang mempunyai label 'bug' atau 'bagus sbg issue pemula' -- karena biasanya issue tersebut lebih mudah.

Daftar Bacaan


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