Kompatibilitas

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Compatibility and the translation is 100% complete.

MediaWiki ingin menjaga kompatibilitas yang luas antarversi, dan dengan berbagai perangkat lunak baik yang terkini maupun yang warisan. Pada saat yang sama, basis kode yang terus berkembang dan fitur-fitur dari pengembangan MediaWiki yang terbaru membuat tidak mungkin untuk selamanya menjaga kompatibilitas dengan perangkat lunak warisan.

Jika Anda ingin menyarankan perubahan mengenai apa yang didukung oleh MediaWiki, Anda bisa mengisi permohonan komentar di Phabricator.

Perangkat lunak peladen

Bagian-bagian berikut memberikan gambaran mengenai perangkat lunak yang diperlukan peladen agar bisa menjalankan MediaWiki.

PHP

Versi stabil terbaru dari MediaWiki (1.37) menjalankan PHP versi 7.3.19/7.4.3 atau versi lebih tinggi.

Untuk versi mendatang, lihat Support policy for PHP .

Dukungan untuk HHVM diberhentikan pada MediaWiki 1.34. Anda sangat disarankan untuk tidak menggunakannya.

MediaWiki tidak kompatibel dengan PHP 7.3.0 - 7.3.18 dan 7.4.0 - 7.4.2 dikarenakan sebuah bug di PHP. Gunakan PHP 7.3.19+ atau 7.4.3+ sebagai gantinya. Lihat task T246594 untuk informasi lebih lanjut.
MediaWiki belum kompatibel dengan PHP 8. Lihat tugas T248925 untuk informasi lebih lanjut.
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 master
 7.4.3+
 7.3.19+
 7.2.x 
 7.1.x 
 7.0.x 
 5.6.x 
 5.5.9+ 
 5.5.0–5.5.8 
 5.4.x 
 5.3.3+ 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 master
 5.3.2 
 5.2.3+ 
 5.1.x 
 5.0.x 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 master

Basis data

MediaWiki kompatibel dengan berbagai peladen basis data. Disarankan untuk menggunakan MySQL atau MariaDB.

Menggunakan perangkat lunak basis data lainnya tidak disarankan untuk penggunaan produksi. Dukungannya berbeda dari versi MediaWiki ke versi MediaWiki dan beragam dari diragukan hingga stabil. MediaWiki menyediakan lapisan abstraksi basis data untuk PostgreSQL dan SQLite, yang pada umumnya dipelihara dengan baik.

Sejak versi 1.36, MediaWiki hanya melakukan commit untuk mendukung pemutakhiran dari dua rilis LTS besar (lihat phab:T259771). Pemutakhiran dari versi MediaWiki yang lebih lama harus dilakukan melalui beberapa tahap.
Peringatan Peringatan Since MediaWiki 1.34 , we no longer support using Oracle and Microsoft SQL Server . We strongly advise to no longer to use these.
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 master
 MySQL 5.5.8+
 MySQL 5.0.3+  
MySQL 4.x 
MySQL 3.x 
 SQLite 3+
 PostgreSQL 9.4+
 PostgreSQL 9.2+  
 PostgreSQL 8.3+  
 PostgreSQL 8.1 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 master

Upgrade

Since MediaWiki 1.36, it only commits to supporting upgrades from two LTS releases ago (see phab:T259771). Upgrades from older versions of MediaWiki will have to be performed in multiple steps. This means that if you want to upgrade to 1.36 from 1.23 or earlier, you'll first have to upgrade your 1.23 wiki to 1.27 (or 1.35), and, from 1.27 (or 1.35), you'll be able to upgrade to 1.36.

Peladen web

MediaWiki kompatibel secara luas dengan semua peladen web besar yang bisa memanggil versi PHP yang kompatibel. Apache adalah yang paling banyak digunakan dan diuji. Nginx juga merupakan pilihan yang baik.

Ekstensi MediaWiki

Selama suatu ekstensi dipelihara dengan baik (bisa Anda lihat di atas kotak info di halaman deskripsinya), cabang master dari ekstensi tersebut seharusnya kompatibel dengan cabang master MediaWiki. Untuk menentukan kompatibilitas dengan versi MediaWiki yang lebih lama, berikut adalah kebijakan-kebijakan yang biasanya digunakan oleh ekstensi:

  • master (kata kunci: master): cabang master dari ekstensi bersifat kompatibel dengan versi terkini dan versi lama MediaWiki. Trik untuk menjaga kompatibilitas mundur ditambahkan ke kode sumber ekstensi apabila diperlukan.
  • cabang rilis (kata kunci: rel): Untuk setiap rilis MediaWiki, terdapat cabang ekstensi yang bersesuaian. Jadi jika misalnya Anda menggunakan MediaWiki 1.37, Anda sebaiknya menggunakan cabang REL1_37 ekstensi.
  • cabang rilis dukungan-jangka-panjang (kata kunci: ltsrel): Untuk setiap rilis MediaWiki yang merupakan rilis Dukungan Jangka Panjang (lihat Kebijakan rilis siklus hidup versi), terdapat cabang yang sesuai di ekstensi. Jadi jika misalnya Anda menggunakan MediaWiki 1.35, Anda sebaiknya menggunakan cabang REL1_35 ekstensi. Jika Anda menggunakan MediaWiki versi non-LTS, biasanya Anda perlu menggunakan cabang ekstensi untuk versi LTS sebelumnya. Contohnya, wiki-wiki MediaWiki 1.34 yang menggunakan ekstensi ltsrel biasanya menggunakan cabang REL1_31 dari ekstensi itu. Namun, tidak ada jaminan akan kompatibel.

Isian compatibility policy dari kotak info Extension memberiktahukan kebijakan mana yang digunakan oleh ekstensi tersebut. Gunakan kata kunci yang disebutkan di atas untuk menjelaskan informasinya.

Beberapa ekstensi mungkin punya kebijakan kompatibilitas yang lebih spesifik, contohnya:

Peramban

Informasi umum

Terdapat beragam peramban web yang banyaknya semakin bertambah di dunia ini.

Terlalu banyak untuk secara aktif diuji dan didukung satu per satu. Untuk memandu pelaksanaan pendukungan peramban kami, kami punya tiga tingkat dukungan. Masing-masing tingkat mewakili satu kategori peramban.

Modern (Kelas A)

Kelompok ini mewakili tingkat dukungan tertinggi (juga disebut Kelas A) . Fitur-fitur memanfaatkan kemampuan peramban modern, serta membolehkan dukungan mundur untuk peramban yang lebih tua. Semua fitur yang disediakan oleh perangkat lunak (baik dalam bentuk yang direndahkan maupun tidak) harus bekerja di peramban-peramban ini.

Peramban dalam kategori ini dikenal (didaftarkan di bawah) dan MediaWiki secara aktif diuji di sini. Masalah yang didapatkan pengguna di peramban ini harus ditangani dengan prioritas tinggi.

Dasar (Kelas C)

Kelompok ini (juga disebut Kelas C) disediakan fungsionalitas inti dari platform MediaWiki. Respon HTTP kami kompatibel dengan peladen-peladen ini (contoh: fitur HTTP yang kami andalkan, pengodean karakter, dan format gambar yang digunakan oleh konten; harus bekerja di perambang-peramban ini). Di bagian-depan, ini berarti konten harus ditampilkan dalam cara yang bisa dibaca, dan sebagian tindakan pengguna bisa dilakukan, tetapi peramban-peramban ini tidak mendapatkan fitur JavaScript.

Peramban dalam kategori ini dikenal (didaftarkan di bawah) dan diidentifikasi melalui sebuah paket uji fitur dan sebuah filter agen pengguna di dalam modul startup.

Tidak Diketahui (Kelas X)

Kelompok ini (juga disebut Kelas X) mewakili semua peramban lainnya. Ini termasuk peramban yang tidak lagi dikembangkan atau peramban yang tidak cukup terkenal untuk dijadikan beban pemeliharaan dalam pengembangan perangkat lunak.

Peramban yang tidak termasuk dalam kelompok lainnya dimasukkan ke kategori ini.

Masalah yang didapatkan pengguna di peramban-peramban ini hanya diberikan prioritas rendah, atau tidak didukung sama sekali.

MediaWiki memperlakukan peramban-peramban ini tidak jauh berbeda dengan peramban Modern (Kelas A) sehingga mereka diasumsikan mampu menjalankan MediaWiki. Prinsip ini memberikan beberapa keuntungan penting:

  • Versi terbaru atau tidak didukung dari peramban modern bisa untuk sementara waktu dianggap Tidak Diketahui apabila mereka belumkami jadikan tempat uji. Menganggap peramban Tidak Diketahui mampu memastikan pengalaman pengguna optimal di peramban-peramban ini.
  • Pengguna peramban yang baru dan berkembang diberikan kesempatan untuk memperoleh pengalaman modern.
  • Pengguna peramban kurang populer yang didasarkan, atau diturunkan, dari peramban modern yang dikenal tidak mendapatkan pengaruh secara negatif (misalnya Iceweasel).

Pada praktiknya satu-satunya perbedaan antara peramban Tidak Diketahui dan Modern adalah kami tidak secara aktif melakukan uji coba di peramban Tidak Diketahui.

Peramban-peramban ini diberikan seperangkat fitur lengkap, yang berarti fitur HTTP, HTML, CSS, dam JS yang belum tentu kompatibel dengan peramban-peramban ini, dan belum tentu dipengaruhi oleh tindakan (misalnya menggunakan CSS versi lama bukannya fitur CSS versi terbaru) yang dimaksudkan untuk peramban Kelas C. Pada khususnya, JavaScript akan dimatika apabila tidak ditemukan dukungan untuk fitur yang MediaWiki gunakan.

Perlakuan khusus untuk IE11

Mulai Maret 2021, fitur JavaScript baru di proyek Wikimedia mana pun tidak akan didukung di IE11, sebagaimana yang didokumentasikan di Compatibility/IE11 . Ini merupakan awal dari penurunan peramban tersebut ke dukungan Dasar (Kelas C).

Matriks dukungan peramban

Prinsip-prinsip dan kelas-kelas berbeda yang dijelaskan di atas berlaku pada inti MediaWiki serta pada ekstensi. Matriks dukungan di bawah memberlakukan kelas-kelas tersebut kepada inti MediaWiki, infrastruktur Yayasan Wikimedia, dan ekstensi MediaWiki manapun yang memilih untuk mengikutinya. Masing-masing ekstensi bisa jadi punya matriks dukungan mereka sendiri yang membagi-bagi peramban ke berbagai tingkat dukungan. Lihat juga Dasbor laporan penggunaan peramban.

Matriks dukungan peramban as of Maret 2021 l · b · s
Peramban Chrome Firefox Opera Edge Edge Legacy Internet Explorer Safari iOS Android
Modern (kelas A) Versi terkini dan yang sebelumnya (2021) Tidak ada 11+ (2013)[1][2][3][4] 9.1+[5] 9+[5] 4.3+[5]
Dasar (kelas C) 31+ (2013)[6] 27+ (2014)[6] 18+ (2013)[6] 79+ (2020) 12+(2015) 9+ (2011)[7][6] 9.1+ (2015)[6] 9+ (2015)[6] 4.3+ (2013)[7][6]
Tidak Diketahui (kelas X) Semua peramban lainnya

Peranti bergerak

Tim Web di Yayasan Wikimedia menerapkan matriks dukungan yang lebih sempit untuk kulit khusus peranti bergerak seperti Minerva dan/atau ekstensi yang dirancang untuk dijalankan hanya di peranti bergerak seperti MobileFrontend . Matriks dukungannya dikumpulkan dari data yang disediakan oleh analisis dasbor laporan agen pengguna. Jika penggunaan peramban lebih tinggi dari 5% maka akan diberikan dukungan modern (Kelas A). Dukungan dasar (Kelas C) disediakan untuk semua peramban dengan penggunaan lebih dari 0,1% selama 12 bulan terakhir. Dalam peranti bergerak kami ingin menyediakan sebuah Kelas B. Pengguna kelas B belum tentu mendapatkan JavaScript dan uji coba yang kami lakukan di sana tidak setingkat di kelas A, jadi prioritas pemerbaikan bug di sana lebih rendah.

Daftar peramban dengan dukungan modern di MobileFrontend didefinisikan di berkas .browserlistsrc.

Semua yang tidak ada atau lebih tua dari yang ada di daftar dianggap sebagai peramban dengan dukungan dasar.

Catatan

  1. Sejak MediaWiki 1.24, JavaScript untuk Internet Explorer 6 dan 7 telah dimatikan. gerrit:152072, gerrit:152128, Wikitech-ambassadors message
  2. Sejak MediaWiki 1.27, JavaScript untuk Internet Explorer 8 telah dimatikan. gerrit:252383, Wikitech-ambassadors message
  3. Sejak MediaWiki 1.29, JavaScript untuk Internet Explorer 9 telah dimatikan beserta peramban-peramaban non-ES5 lainnya. T128115
  4. Sejak MediaWiki 1.31, JavaScript untuk Internet Explorer 10 telah dimatikan. T187869
  5. 5.0 5.1 5.2 Per MediaWiki 1.36, dukungan Modern dihapus untuk Android 4.1-4.2, iOS 6.1-8, dan Safari 5.1-8. T266866
  6. 6.0 6.1 6.2 6.3 6.4 6.5 6.6 Per MediaWiki 1.36, dukungan Dasar dihapus untuk Firefox 3-26, Internet Explorer 8, Safari 3-8, iOS (Safari) 5-8, Android 3.0-4.2, Chrome 1-30, dan Opera 15-18. T248061, T262946, T266866
  7. 7.0 7.1 Sejak MediaWiki 1.35, dukungan Dasar dihapus untuk Internet Explorer 6-7 dan Android 2. T232563, T249788

Lihat pula