Pusat pengembang

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Developer hub and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎català • ‎dansk • ‎español • ‎français • ‎galego • ‎interlingua • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎čeština • ‎български • ‎русский • ‎тоҷикӣ • ‎العربية • ‎سنڌي • ‎فارسی • ‎සිංහල • ‎ไทย • ‎中文 • ‎日本語 • ‎粵語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어
  • Community Noun project 2280.svg Pengguna
  • Octicons-terminal.svg Admin sistem
  • Source code project 1171.svg Pengembang
  • OOjs UI icon language-ltr.svg Penerjemah

Ini adalah gambaran umum tingkat tinggi dari pengembangan MediaWiki, berisi pranala ke dokumen, sumber daya dan perkakas kunci yang disediakan kepada para pengembang MediaWiki. Ini ditulis untuk pengembang LAMP ahli yang punya pengalaman menggunakan MediaWiki.

Gambaran umum

MediaWiki adalah perangkat lunak yang menenagai Wikipedia, proyek saudaranya dan ribuan wiki di dunia.

MediaWiki ditulis dengan bahasa pemograman PHP[1]. MediaWiki menggunakan jQuery sebagai pustaka JavaScript klien.

MediaWiki ditulis utamanya untuk platform LAMP[2] dan dijalankan di kebanyakan sistem operasi. MediaWiki pada umumnya menggunakan peladen basis data MySQL atau MariaDB.[3]

Pengembangan dilakukan dalam gaya sumber terbuka[4], dikoordinasikan secara daring, dan didukung oleh Wikimedia Foundation, tetapi komunitas sukarelawan memainkan peran penting juga.

  • Diskusi pengembangan dilakukan di berbagai milis dan saluran IRC. Daftar pengembang utama berada di wikitech-l. Saluran IRC pengembang utama adaalh #mediawiki dan #wikimedia-dev.
  • Kode sumber dikelola menggunakan sistem kendali versi Git.[5]
  • Peninjuan kode untuk kebanyakan proyek dilakukan di Gerrit . Ikuti tutorial ini untuk memasang Git dan Gerrit agar bisa mengajukan tambalan.
  • Laporan kutu dan pekerjaan untuk kebanyakan proyek dilakukan di Phabricator .
  • Pengembang yang mengerjakan ekstensi' atau antarmuka MediaWiki (bukannya mengerjakan kode inti) memiliki beberapa titik ekstensi berguna, di antaranya API, sistem Hook dan Kulit – lihat bagian #Memperluas MediaWiki dari halaman ini untuk gambaran umum.

Dokumen kunci

Kode, pengembangan dan gaya

Awakutu dan uji coba

Arsitektur

Subsistem.

  • API – API MediaWiki menyediakan akses tingkat tinggi langsung ke data yang terdapat di basis data MediaWiki.
  • ContentHandler – kerangka kerja MediaWiki untuk tipe buatan sendiri pendukung konten halaman.
  • Database access – gambaran umum menggunakan basis data di MediaWiki, termasuk pengantar singkat mengenai lapisan abstraksi basis data
  • Antrian pekerjaan – kerangka kerja MediaWiki untuk memproses pekerjaan yang berjalan panjang secara asinkron.
  • Messages API – kerangka kerja MediaWiki untuk menyediakan pesan aplikasi yang dilokalisasi dengan PHP atau JavaScript.

Mengembangkan MediaWiki

MediaWiki dirancang agar memungkinkan modifikasi tanpa mengubah "kode inti". Ini membuatnya mudah untuk diperbarui ke versi baru MediaWiki tanpa perlu menggabungkan perubahan kode ekstensi lama secara manual. Ada enam poin ekstensi utama yang memungkinkan pengembang mengubah atau memperluas kemampuan MediaWiki. Poin-poin ekstensinya adalah:

  • API – mengakses data dan metadata instansi MediaWiki melaui API webnya.
  • Hooks – setiap kali suatu kejadian terjadi, lakukan sesuatu.
  • Pedoman:Fungsi parser – membuat perintah baru seperti: {{#if:...|...|...}}.
  • Kulit – mengubah tampilan dan rasa MediaWiki.
  • Special pages – membuat halaman istimewa baru.
  • Tag extensions – membuat tag baru seperti: <newtag>...</newtag>.
  • Extending wiki markup – menambahkan hook parser untuk mengubah konten teks wiki.

Bantuan bagi penulis ekstensi

Bantuan untuk pengembang kulit

Bantuan untuk penggunaan ulang kode pustaka

Catatan

  1. Tidak semua MediaWiki ditulis dengan PHP. Beberapa alat dukungan ditulis dalam bahasa lain, termasuk berkas tumpak, skrip shell, makefile dan Python.
  2. MediaWiki berjalan di kebanyakan platform yang mendukung PHP, tetapi, ketidakberadaan utilitas atau fitur sistem operasi tertentu bisa membatasi fungsionalitas atau performa MediaWiki di platform non-LAMP.
  3. MediaWiki punya dukungan untuk DBMS selain MySQL dan MariaDB, termasuk PostgreSQL dan SQLite.
  4. Para pengembang merupakan gabungan sukarelawan dan staf (atau kontraktor) yang dibayar dari berbagai organisasi. Untuk daftar lengkap orang yang mengerjakan kode MediaWiki, bacalah artikel Pengembang .
  5. Telusuri kode sumber dan revisi repositori kode di https://phabricator.wikimedia.org/diffusion/ atau unduh kode sumber ke sistem Anda menggunakan Gerrit.