Cara Ikut Mengembangkan OpenSID - redjoel/OpenSID GitHub Wiki
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
- Javascript
Source code OpenSID dikelola di Github (https://github.com/OpenSID/OpenSID). Karena itu, untuk membuat kontribusi pada OpenSID, anda perlu juga menguasai:
- git
- Github
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/opensid-slack. Perkenalkan diri anda di 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
- 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?
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 POKJA Analisis Kebutuhan (lihat Prioritas-Pengembangan). 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:
- tambahkan comment di issue yang bersangkutan
- beritahu forum teknis https://opensid.slack.com, di channel #general.
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 anggota POKJA Analisis Kebutuhan:
- Muat pertanyaan anda di comment di issue yang bersangkutan, dengan menambahkan mention pada pembuat issue dan anggota POKJA.
- 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 POKJA Analisis Kebutuhan 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/eddieridwan/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/eddieridwan/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
- Mengenal Git, oleh Anggie Bratadinata
- Bagaimana berkontribusi pada proyek open source
- Tutorial Git dan Github