Kompatibilitas

From mediawiki.org
This page is a translated version of the page Compatibility and the translation is 55% complete.
Outdated translations are marked like this.

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.41) menjalankan PHP versi 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.

Wikimedia production servers and continuous integration currently run PHP 7.4, with plans to upgrade to PHP 8.1 soon. MediaWiki developers are encouraged to develop using PHP 8.1, and the MediaWiki Docker image uses PHP 8.1.

If your OS distribution has an unsupported version of PHP, you may be able to use a community package repository:

MediaWiki tidak kompatibel dengan PHP 7.4.0 - 7.4.2 dikarenakan sebuah bug di PHP. Use PHP 7.4.3+ instead. Lihat task T246594 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 1.38 1.39 1.40 1.41 master
 8.2.0+
 8.1.0+
 8.0.0+ 
 7.4.3+ 
 7.3.19+ 
 7.2.x 
 7.1.x 
 7.0.x 
 5.6.x 
 5.5.9+ 
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 1.38 1.39 1.40 1.41 master
 5.5.0–5.5.8 
 5.4.x 
 5.3.3+ 
 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 1.38 1.39 1.40 1.41 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 (lihat phab:T259771). Pemutakhiran dari versi MediaWiki yang lebih lama harus dilakukan dengan beberapa tahap. Jadi jika Anda ingin memutakhirkan ke 1.41 dari 1.34 atau sebelumnya, Anda harus memutakhirkan wiki 1.34 Anda ke 1.35 (atau 1.39) terlebih dahulu, kemudian dari 1.35 (atau 1.39) Anda bisa memutakhirkan ke 1.41.
MediaWiki no longer supports using Oracle or Microsoft SQL Server as of version 1.34 .
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 1.38 1.39 1.40 1.41 master
 MariaDB 10.3.0+
 MariaDB 10.1.0+ 
 MySQL 5.7.0+
 MySQL 5.5.8+ 
 MySQL 5.0.3+ 
MySQL 4.x 
MySQL 3.x 
 SQLite 3.8.0+
 SQLite 3.3.7+ 
 SQLite 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 1.38 1.39 1.40 1.41 master
 PostgreSQL 10+
 Postgres 9.4+ 
 Postgres 9.2+ 
 Postgres 8.3+ 
 Postgres 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 1.38 1.39 1.40 1.41 master

Pemutakhiran

Sejak Versi 1.36, MediaWiki hanya melakukan commit untuk mendukung pemutakhiran dari dua rilis LTS (lihat phab:T259771). Pemutakhiran dari versi MediaWiki yang lebih lama harus dilakukan dengan beberapa tahap. Jadi jika Anda ingin memutakhirkan ke 1.41 dari 1.34 atau sebelumnya, Anda harus memutakhirkan wiki 1.34 Anda ke 1.35 (atau 1.39) terlebih dahulu, kemudian dari 1.35 (atau 1.39) Anda bisa memutakhirkan ke 1.41.

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.41, Anda sebaiknya menggunakan cabang REL1_41 ekstensi.

Jadi jika misalnya Anda menggunakan MediaWiki 1.39, Anda sebaiknya menggunakan cabang REL1_39 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

Every web page starts in Basic mode, where only the HTML is rendered. CSS can be assumed to succeed for visual readers and should be used for presentation. The Modern layer defines optional enhancements and interactions written in client-side JavaScript. This layer may fail to load, arrive later, or not at all; including in modern browsers. This depends on various circumstances. To learn more, refer to MediaWiki Engineering guidelines.

Mereka diidentifikasi melalui sebuah paket uji fitur dan sebuah filter agen pengguna di dalam modul startup. The modern layer currently requires JavaScript version ES6 (ES2015). For MediaWiki developers, this means that you should not use syntax from later versions of JavaScript. This is enforced through ESLint rules in eslint-config-wikimedia.

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.

Pada praktiknya satu-satunya perbedaan antara peramban Tidak Diketahui dan Modern adalah kami tidak secara aktif melakukan uji coba di peramban Tidak Diketahui. All browsers receive the same server responses, and will try to load the Modern layer if it passes the required JavaScript capabilities.

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 disediakan fungsionalitas inti dari platform MediaWiki (juga disebut Kelas C). 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 peramban-peramban ini). Di ujung depan, ini berarti konten disajikan dalam bentuk yang mudah dibaca, dan tindakan konten dan akun bisa dilakukan, tetapi peramban-peramban ini tidak mendapatkan fitur-fitur JavaScript.

Browsers in this category are known (listed below), and are rarely tested against. Problems users perceive in these browsers are addressed with high priority. However, mitigation may focus on ensuring that available functionality is not broken; if acceptable from a product perspective, this may result in the affected enhancement being disabled (whether or not temporarily) rather than restored in these browsers.

Tidak Diketahui (Kelas X)

Kelompok ini mewakili semua peramban lainnya (juga disebut Kelas X). Ini termasuk:

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:

Browsers not included in any other group belong to this category, including:

  • * Pengguna peramban kurang populer yang didasarkan, atau diturunkan, dari peramban modern yang dikenal tidak mendapatkan pengaruh secara negatif (contohnya Samsung Internet, UC Browser, Vivaldi, dan Iceweasel).
  • * 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.
  • Penjelajah atau versi penjelajah yang tidak lagi dikembangkan atau dipelihara, dan tidak kompatibel dengan standar Internet modern; MediaWiki bisa memilih untuk menghentikan dukungan. These might receive the "Basic" mode, or might be unable to even connect to the web server.
  • Pengguna peramban yang baru dan berkembang diberikan kesempatan untuk memperoleh pengalaman modern.

Penjelajah yang tidak cukup populer untuk diberikan biaya pemeliharaan untuk pengembangan perangkat lunak; masalah-masalah yang pengguna rasakan di penjelajah ini hanya diberikan prioritas rendah.

Matriks dukungan peramban

Desktop

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 April 2023 l · b · s
Peramban Chrome Opera Edge Edge Legacy Firefox Internet Explorer Safari iOS Android
Modern (kelas A) Last three years' versions (2021) Tidak ada Last three years' versions (2021) None 11.1+ (2018) 11.3+ (2018) 5+ (2014)
Dasar (kelas C) 31+ (2013) 18+ (2013) 79+ (2020) 12+ (2015) 39+ (2014) 11 (2013) 9.1+ (2015) 9+ (2015) 5+ (2014)[note 1]
Tidak Diketahui (kelas X) Semua peramban lainnya
Practical implications as of Februari 2024
Platform Minimum OS or device Supported modern browser
Android Moto G (1st generation) (2013)
Google Nexus 4 (2012)
Android 5.1, Chrome 88+
Samsung Galaxy S5 (2014) Android 6.0, Chrome 88+
iOS iPhone 5s (2013) iOS Mobile Safari 11.3 - 12 (2018-2023)[note 2]
Linux Debian 10 Buster (2019) firefox-esr 102, chromium 90
Ubuntu 18.04 LTS (2018) firefox (current), chromium-browser (current)
macOS OS X 10.9 Mavericks (2013-2016) Firefox 78 ESR (2020). The default Safari 7 is unsupported.
macOS 10.13 High Sierra (2017-2020) Safari 11.1, current Firefox, Chrome 88+
macOS 10.15 Catalina (2019-2022) Safari 13.1, current Firefox, Chrome 88+
Windows Windows 7 (2009-2020) Edge 84+, current Firefox, Chrome 88+

List of changes, most recent first:

  • As of 2023, the support targets have been re-stated; for Chrome and Chrome-based browsers, this is now the last three years' versions (covering three years rather than three months); for Firefox, this is now the current and previous LTS versions (reaching approximately the same time range). T178356
  • As of MediaWiki 1.41, Modern support is removed for Internet Explorer 11, macOS and iOS Safari 9–10, and Firefox 39–53. T178356
  • As of MediaWiki 1.39, Basic support is removed for Internet Explorer 9-10, Firefox 27-38, and Android 4.3-4.4 T293298, T297313, T290815
  • 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
  • Per MediaWiki 1.36, dukungan Modern dihapus untuk Android 4.1-4.2, iOS 6.1-8, dan Safari 5.1-8. T266866
  • Sejak MediaWiki 1.35, dukungan Dasar dihapus untuk Internet Explorer 6-7 dan Android 2. T232563, T249788
  • Sejak MediaWiki 1.31, JavaScript untuk Internet Explorer 10 telah dimatikan. T187869
  • Sejak MediaWiki 1.29, JavaScript untuk Internet Explorer 9 telah dimatikan beserta peramban-peramaban non-ES5 lainnya. T128115
  • Sejak MediaWiki 1.27, JavaScript untuk Internet Explorer 8 telah dimatikan. T118303, Wikitech-ambassadors message
  • Sejak MediaWiki 1.24, JavaScript untuk Internet Explorer 6 dan 7 telah dimatikan. gerrit:152072, gerrit:152128, Wikitech-ambassadors message

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.

Lihat pula

Notes

  1. Note this refers to the stock Android browser. For Chrome for Android, provided that you're running Chrome 31+, it requires Android 4.0+(2011).
  2. iOS 11 dropped support for iPhone 5 and older devices

References