Jangan meretas inti MediaWiki
This is an essay. It expresses the opinions and ideas of some mediawiki.org users, but may not have wide support. Feel free to update this page as needed, or use the discussion page to propose major changes. |
Ringkasan halaman ini: Meski semua pengembang dianjurkan untuk mengirimkan penyempurnaan inti MediaWiki ke repositori kode, menyunting berkas inti MediaWiki dari pemasangan wiki individual seringkali menimbulkan lebih banyak masalah daripada penyelesaian. Penggunaan ekstensi atau mengirimkan penyempurnaan Anda ke repositori kode merupakan penyelesaian yang lebih disukai dan stabil. |
Meskipun meretas inti MediaWiki sering menjadi penyelesaian yang diusulkan di forum dukungan MediaWiki lainnya, itu bukan penyelesaian yang ideal. Umumnya, hal itu akan menyebabkan lebih banyak masalah daripada penyelesaiannya dan hanya akan mempersulit pemasangan pembaruan di masa mendatang.
Untuk keperluan esai ini, "inti" dimaksudkan untuk mencakup semua berkas yang termasuk dalam pemasangan MediaWiki asli. Maksudnya semua berkas kecuali LocalSettings.php, docker-compose.override.yml, berkas yang ada di folder extensions atau skins, atau folder lain yang telah Anda tambahkan sejak pemasangan.
Mengapa Anda tidak boleh memodifikasi berkas inti
Tak peduli betapa mudahnya memodifikasi berkas inti untuk membuat MediaWiki melakukan apa yang Anda inginkan, tolak godaan tersebut.
- Melakukan hal ini akan membuat rumit, sulit atau hampir tidak mungkin untuk menerapkan pembaruan situs seperti keamanan dan perbaikan kekutu.
- Anda akan membuat sulit bagi mereka yang datang setelahnya untuk menjaga situs.
- Anda mungkin bisa membuat situs Anda rentan terhadap eksploitasi.
- Pengembang lain kurang cenderung membantu Anda jika Anda telah meretas inti Anda - jika tidak untuk alasan lain selain sulit bagi mereka untuk mengetahui apa yang telah dilakukan.
Inti MediaWiki dirancang untuk bersifat modular, jadi seharusnya tidak ada alasan untuk meretasnya. Jika ada fitur yang Anda inginkan dan tidak dapat dicapai tanpa memodifikasi inti, pertimbangkan untuk mengembangkan ekstensi atau mengirimkan hasil retasan Anda sebagai tambalan. Kirim laporan bug dan beri tahu komunitas fitur yang ingin Anda capai. Laporan tersebut kemudian akan diuji dan fitur Anda mungkin menjadi bagian dari inti MediaWiki.
Masalah yang dihadapi wiki yang meretas inti mereka
- Waktu pembaruan MediaWiki berubah dari 30 menit menjadi 6 jam atau bahkan 6 minggu jika
diffAnda menunjukkan 13650 baris telah diubah. - Peningkatan spam dan serangan lain yang tidak diinginkan sebab adanya celah keamanan.
- Kehilangan fitur baru karena adanya peretasan yang bertentangan dengan berkas inti.
- Ketidakmampuan untuk menggunakan dokumentasi MediaWiki.org — semuanya ditulis dengan anggapan bahwa Anda tidak meretas berkas inti Anda (kecuali tentu saja Anda menulis dokumentasi khusus tentang cara mengoperasikan MediaWiki saat peretasan tertentu digunakan).
- Pengulangan masalah asli — karena laporan kekutu merupakan cara yang jauh lebih andal untuk memecahkan masalah daripada peretasan inti — setidaknya sekelompok pengembang akan menyelidiki masalah tersebut dan mungkin menemukan perubahan kode yang diperlukan yang Anda lewatkan.
- Mengeluh kepada pengembang tentang berkas inti yang tidak bekerja — dan tidak mendapat banyak simpati — jika Anda meretas berkas inti — dukungan teknis yang ampuh hampir mustahil.
Pengecualian
Apakah ada pengecualian untuk aturan ini?
Tidak.
Oke, sangat sangat jarang. Tapi ini umumnya untuk wiki atau penerapan tertentu oleh orang-orang yang sangat familiar dengan pangkalan kode MediaWiki, praktik pengembangan, dan model keamanan. Mereka yang mendokumentasikan perubahan mereka dengan benar dan mempraktikkan kendali revisi yang tepat dengan kode mereka. Jika Anda harus bertanya, kemungkinan besar Anda tidak harus.
Ekstensi
Perlu diketahui bahwa sebagian besar halaman ini juga berlaku untuk ekstensi-ekstensi penting. Sebaiknya jangan langsung meretas ekstensi Semantic MediaWiki, atau ekstensi apa pun yang digunakan di Wikipedia dan situs Wikimedia lainnya.
Pengecualiannya mungkin terjadi jika suatu ekstensi sebagian besar dipasang dengan menyalin kodenya dari wiki ini (alih-alih mendapatkannya dari repositori perangkat lunak). Artinya, ekstensi tersebut tidak dirawat dengan serius.
Apa yang harus dilakukan sebagai gantinya
Alih-alih meretas inti MediaWiki, ada beberapa penyelesaian alternatif untuk dipertimbangkan, kurang lebih dalam urutan ini:
- MediaWiki merupakan perangkat lunak yang hebat, Anda dapat melakukan banyak hal dengan pesan antarmuka MediaWiki seperti
MediaWiki:Sidebardan banyak lainnya, lihat juga halaman lain di wiki ini untuk misalnya penambahan dan perubahan JavaScript dan CSS. - Kembangkan ekstensi untuk mencapai tujuan peretasan Anda, atau cukup gunakan salah satu pengait yang ada
- Kirim laporan kekutu
- Sumbangsihkan perbaikan Anda pada inti ke repositori kode supaya orang lain bisa memperoleh manfaat dari perbaikan Anda
Lihat pula
- {{Extension by patch warning}} — templat untuk ditambahkan ke halaman ekstensi yang memerlukan modifikasi pada inti MediaWiki.