Compatibility/ru

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

Если вы хотите предложить изменения в поддерживаемых MediaWiki возможностях, вы можете подать запрос на комментарий на Phabricator.



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

PHP
Последняя стабильная вветвь MediaWiki работает на PHP  и выше.

О предстоящих версиях см. в разделе.

Поддержка HHVM была прекращена в MediaWiki 1.34. Настоятельно рекомендуем вам не использовать его.

Производственные серверы Wikimedia и непрерывная интеграция в настоящее время работают на PHP 7.4, и планирует обновление до PHP 8.1 в ближайшее время. Разработчикам MediaWiki рекомендуется использовать PHP 8.1, а изобраение MediaWiki Docker использует PHP 8.1.

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

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

Обновление


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



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


 * master (ключ: master): мастер-ветвь совместима как с текущей, так и со старыми версиями MediaWiki. Хаки обратной совместимости добавляются в исходный код расширения по мере необходимости.
 * ветви релиза (ключ: rel): Для каждого релиза MediaWiki существует соответствующая ветвь в расширении. Поэтому например, если вы используете MediaWiki, вам следует использовать ветвь расширения.
 * Ветви релизов долгосрочной поддержки (ключ: ltsrel): Для каждого выпуска MediaWiki, который является выпуском долгосрочной поддержки (см. Политика выпуска жизненного цикла версий), существует соответствующая ветка в расширении. Поэтому например, если вы используете MediaWiki, вам следует использовать ветвь расширения . Если вы используете не-LTS версию MediaWiki, обычно вам нужно использовать ветку расширения для предыдущей LTS версии. Например, вики MediaWiki 1.34, использующие расширение ltsrel, обычно используют ветвь этого расширения REL1_31. Однако совместимость не гарантируется.

Поле  инфоблока  сообщает, какая политика используется данным расширением. Для указания информации используйте соответствующие ключи, указанные выше.

Некоторые расширения могут иметь более специфические политики совместимости, например:
 * MediaWiki Language Extension Bundle#Background

Браузеры


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

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



Современный (Класс A)
Эта группа представляет собой "наивысший уровень поддержки" (также известный как "класс А"). Функции используют возможности современных браузеров, обеспечивая при этом изящный откат для старых браузеров. Все функции, предоставляемые программным обеспечением (в ухудшенной форме или нет), должны работать в этих браузерах.

Браузеры в этой категории известны (перечислены ниже) и активно тестируются на предмет проблем. Проблемы, с которыми сталкиваются пользователи этих браузеров, решаются с высоким приоритетом.



Базовый (Класс С)
Этой группе предоставляется основная функциональность платформы MediaWiki (также известная как Класс C). Наши HTTP-ответы совместимы с этими браузерами (например HTTP-функции, на которые мы полагаемся, кодировка символов и форматы изображений, используемые в контенте; должны работать в этих браузерах). Во внешнем интерфейсе это означает, что контент представлен в удобочитаемом виде, и можно выполнять действия с контентом и учетной записью, но функции JavaScript могут работать, а могут и не работать.

Известно, что некоторые браузеры этой категории несовместимы с современным JavaScript (ES6) и поэтому не получают возможностей JavaScript. Они определяются с помощью набора тестов функций в модуле startup.



Неизвестные (Класс X)
Эта группа представляет все остальные браузеры (также известные как Класс X). К ним относятся:


 * Браузеры или версии браузеров, которые больше не разрабатываются и не поддерживаются, и несовместимы с современными стандартами Интернета; MediaWiki может отказаться от их поддержки.
 * Браузеры недостаточно популярны, чтобы оправдать дополнительные затраты на разработку программного обеспечения; проблемы, которые пользователи испытывают только в этих браузерах, получают "низкий приоритет".

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


 * Новые или неподдерживаемые версии современных браузеров могут временно считаться Неизвестными, если они еще не протестированы нами. Отношение к неизвестным браузерам как к работоспособным обеспечивает оптимальную работу пользователей в этих браузерах.
 * Пользователи новых и развивающихся браузеров получают возможность получить современный опыт.
 * Пользователи менее популярных браузеров, основанных на известных современных браузерах или производных от них, не испытывают негативного воздействия (например Samsung Internet, UC Browser, Vivaldi, and Iceweasel).

На практике единственное различие между Неизвестными и базовыми (уровень C) браузерами заключается в том, что мы не проводим активного тестирования относительно неизвестных браузеров.

Этим браузерам предоставляется полный набор функций, что означает, что функции HTTP, HTML, CSS и JS могут быть или не быть совместимы с этими браузерами, и на них могут или не могут влиять меры (например, резервный CSS для новых функций CSS), предназначенный для базовых (класса C) браузеров. В частности, включена ли поддержка JavaScript, определяется набором тестов функций (см. выше).



Матрица поддержки браузеров
Описанные выше принципы и различные оценки применимы как к ядру MediaWiki, так и к расширениям. Приведенная ниже матрица поддержки применяет эти оценки в контексте ядра MediaWiki, инфраструктуры Фонда Викимедиа и любых расширений MediaWiki, которые решат следовать ей. Отдельные расширения могут иметь свою собственную матрицу поддержки, распределяющую браузеры между различными уровнями поддержки. См. также Панель мониторинга использования браузеров.

Мобильный
Веб-команда Фонда Викимедиа применяет более узкую матрицу поддержки для мобильных тем оформления например. и/или расширений, разработанных только для работы на мобильных устройствах например. Матрица поддержки составляется на основе данных, предоставляемых аналитическая панель разбивки пользовательских агентов. Там, где использование браузера превышает 5%, поддерживается современный опыт (Класс A). Базовая поддержка (Класс С) предоставляется при превышении 0,1% в течение предыдущих 12 месяцев. В мобильной версии мы стремимся обеспечить Класс B. Пользователи Класса B могут получить или не получить JavaScript, и мы не тестируем его на том же уровне, что и A, поэтому приоритет исправления ошибок ниже. Список современных поддерживаемых браузеров на MobileFrontend определяется в файле.

Все, что отсутствует в списке или старше, считается браузером с базовой поддержкой.



Смотрите также

 * MediaWiki
 * MediaWiki - compatibility error note (example)
 * HTTPS/Browser Recommendations
 * HTTPS/Browser Recommendations