Compatibility/ru

MediaWiki strives to maintain broad compatibility between versions, and with a range of current and legacy software. At the same time, the constantly-evolving codebase and features of the latest MediaWiki development mean that it is not possible to maintain compatibility with legacy software indefinitely.

Серверное программное обеспечение
В этом разделе представлен обзор программного обеспечения, необходимого на сервере для запуска MediaWiki.

PHP
Последняя стабильная ветвь MediaWiki, работает на любой версии от PHP до PHP 7.3. MediaWiki 1.34 will require PHP 7.2+. Поддержка PHP 7.3 доступна в MediaWiki 1.31 и новее.

База данных
MediaWiki совместим с различными серверами баз данных. Однако рекомендуется использовать MySQL или MariaDB.

Использование любого другого программного обеспечения базы данных не рекомендуется для производственного использования. Поддержка отличается от версии к версии MediaWiki и варьируется от сомнительной до стабильной. MediaWiki предоставляет уровни абстракции базы данных для PostgreSQL и SQLite, которые, как правило, хорошо поддерживаются.

Web-сервер
MediaWiki хорошо совместим со всеми основными веб-серверами, которые могут вызывать совместимую версию PHP. Apache - наиболее используемый и протестированный. Nginx также является хорошим выбором.

Расширения MediaWiki
До тех пор, пока расширение поддерживается должным образом (что можно увидеть в верхней части инфобокса на его странице описания), главная ветвь расширения должна быть совместима с главной ветвью MediaWiki. Для определения совместимости со старыми версиями MediaWiki существуют две общие политики, используемые расширениями:


 * master (key: master): the master branch of the extension is compatible with both current and older versions of MediaWiki. Хаки обратной совместимости добавляются в исходный код расширения по мере необходимости.
 * release branches (key: rel): For every MediaWiki release, there is a corresponding branch in the extension. So e.g. if you use MediaWiki, you should use the branch of the extension.

The  field of the Extension infobox tells which policy is used by a given extension. Use the respective keys indicated above to specify the information.

Some extensions may have more specific compatibility policies, for instance:
 * MediaWiki Language Extension Bundle

Общая информация
В мире постоянно растёт число различных веб-браузеров.

Слишком много, чтобы активно тестировать и поддерживать каждый из них. Для контроля наших практик поддержки браузеров, у нас существуют три уровня поддержки. Каждый уровень представляет отдельную категорию браузеров.

Modern (Grade A)
This group (also known as Grade A) represents the highest level of support. Features take advantage of capabilities in modern browsers, while allowing a graceful fallback for older browsers. All features provided by the software (whether or not in a degraded form) must work in these browsers.

Browsers in this category are known (listed below) and actively tested against. Problems users perceive in these browsers are addressed with high priority.

Basic (Grade C)
The group (also known as Grade C) is provided the core functionality of the MediaWiki platform. Our HTTP responses are compatible with these browsers (e.g. HTTP features we rely on, character encoding, and image formats used by the content; must work in these browsers). In the front-end this means content is presented in a readable manner, and to some extent user actions can be performed, but these browsers do not get JavaScript features.

Browsers in this category are known (listed below) and identified via a feature test suite and a blacklist in the startup module.

Unknown (Grade X)
This group (also known as Grade X) represents all other browsers. This includes browsers that are no longer developed or browsers not popular enough to justify the added maintenance cost for software development.

Browsers not included in any other group belong to this category.

Problems users perceive in these browsers only are given low priority.

MediaWiki handles these browsers the same as Modern (Grade A) browsers and they are thus assumed to be capable. This principle provides various important benefits:
 * New versions of modern browsers may temporarily be considered Unknown if they are not yet tested against by us. Treating Unknown browsers as capable ensures optimal user experience in these browsers.
 * Users of new and evolving browsers are given a chance to have a modern experience.
 * Users of less popular browsers based on, or derived from, known modern browsers are not negatively impacted (e.g. Iceweasel).

In practice the only difference between Unknown and Modern browsers is that we don't actively test against Unknown browsers.

These browsers are given the full feature set. However, no JavaScript support is provided if basic JavaScript functionality required for modern run-time is unavailable.

Desktop
While the principles and different grades described above apply to MediaWiki core and extensions alike, the below browser support matrix applies to MediaWiki core only (and extensions that decide to follow it). Individual extensions may have their own support matrix distributing browsers among the different levels of support. See also analytics user agent breakdown dashboard for desktop.

Mobile
(Last updated: March 2017)

The Web team at the Wikimedia Foundation uses a different support matrix for mobile-specific skins e.g. Minerva skin and/or extensions designed to run on mobile devices e.g. MobileFrontend. The support matrix is compiled from the data provided by the analytics user agent breakdown dashboard. Where browser usage is over 5% a modern experience is supported. Basic support is provided for anything over 0.1% over the 12 months. In mobile we strive to provide a Grade B. Users of grade B may or may not get JavaScript and we do not test to the same level as A, thus we prioritize bug fixes lower.

Примечания

 * Программное обеспечение отмеченное как blue поддерживается, а отмеченное как orange не поддерживается.

См. также

 * MediaWiki
 * MediaWiki - compatibility error note (example)
 * MediaWiki - compatibility error note (example)