MediaWiki 1.31

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

MediaWiki 1.31 — устаревший выпуск MediaWiki с долгосрочной поддержкой. Обратитесь к файлу ПРИМЕЧАНИЯ ВЫПУСКА для просмотра полного списка изменений. Эта версия была развернута на вики-ресурсах Фонда Викимедиа через инкрементные ветки wmf , начиная с 26 сентября 2017 года. Стабильная версия 1.31.0 была выпущена 13 июня 2018 года. Загрузите последнюю выпущенную версию или выполните checkout ветки REL1_31 в Git, чтобы следовать этой версии.

Первоначально срок его обслуживания должен был закончиться в июне 2021 года. Так как MediaWiki 1.35 отложено до сентября 2020, прекращение поддержки 1.31 перенесено на 30 сентября 2021.

Что нового

Больше расширений в комплекте

Если вы щёлкнете по этому изображению, должно сработать расширение MultimediaViewer (если вы не отключили его в своих настройках)

В комплекте с MediaWiki в tar-архиве теперь поставляется больше расширений. В этой версии были добавлены следующие расширения:

  • CategoryTree
  • CodeEditor предоставляет более дружелюбный редактор для редактирования CSS и JavaScript на вики.
  • MultimediaViewer предоставляет легкий просмотрщик изображений и галерей.
  • OATHAuth предоставляет двухфакторную аутентификацию для учётных записей вики.
  • Replace Text предоставляет форму, позволяющую администраторам выполнять замену строк по всей вики, как в содержимом страниц, так и в названиях.

Расширение Расширение:Nuke по ошибке не было включено в tar-архив MediaWiki 1.31.0. Если вы желаете использовать это расширение, скачайте его отдельно. Эта проблема исправлена в версии 1.31.1 и более поздних версиях.

Темы оформления

Тема Timeless

Timeless — новая отзывчивая тема оформления для MediaWiki и теперь поставляется в комплекте с движком.

CologneBlue и Modern

Темы оформления CologneBlue и Modern больше не поставляются в комплекте с MediaWiki, но остаются совместимыми с движком. Если вы обновляете MediaWiki и используете какие-то из этих тем оформления, вам нужно будет загрузить их отдельно.

Замена Tidy на новый алгоритм синтаксического разбора HTML 5

За более подробной информацией обратитесь к часто задаваемым вопросам (FAQ)

Основанная на HTML 4 библиотека Tidy была заменена на написанный на PHP парсер HTML 5 под названием RemexHtml. Эта новая библиотека призвана исправлять некорректный вики-текст современным способом, следующим веб-стандартам. Если ваша вики использует код, рассчитывающий на более не производящиеся исправления Tidy, этот код потребуется исправить.

Чтобы распознать страницы с проблемами, вызывающими различия при отображении с использованием парсера RemexHtml, вы можете использовать расширение Расширение:Linter в сочетании с Parsoid. Расширение ParserMigration показывает редакторам сравнение бок о бок отображающихся при использовании Tidy и RemexHtml страниц.

Интервики-указания на имена участников

MediaWiki теперь поддерживает интервики-указания на имена участников в формате iw>Example. Такие указания могут использоваться в версиях страниц, записях в журналах, и так далее. Эта функциональность позволяет корректно записывать информацию о событиях и импортируемых данных с других вики (например в случае с данными, создаваемыми Wikibase), не создавая потенциальной путаницы с локальными учётнысм записями, которые существуют сейчас или могут быть созданы в будущем.

  • (задача T9240) При импортировании страниц неизвестные (а если указана такая опция, и известные) имена участников будут записаны в формате iw>Example.
  • (задача T20209) Linker (используемый на страницах историй, журналов, и других) будет отображать имена участников формата iw>Example как интервики-ссылки, аналогично вики-тексту [[iw:User:Example|iw>Example]].

Дальнейшая стандартизация пользовательского интерфейса

TODO: Expand this
  • В качестве первого этапа стандартизации диалоговых окон во всех компонентах MediaWiki, класс Html предоставляет методы для создания окон сообщений (messageBox), уведомлений об успешных операциях (successBox), уведомлений об ошибках (errorBox ) и предупреждений (warningBox).

Другие изменения в функциональности

  • Для всех пользователей добавлен лимит правок по умолчанию и установлен в 90 правок за минуту. Это можно изменить с помощью настройки $wgRateLimits .
  • (задача T143790) $wgEmailConfirmToEdit затрагивает только действия edit (правки).
  • (задача T76554) Подстраницы участников, которые называются ….json теперь защищены так же, как и ….js и ….css. Таким образом, конфигурационные параметры можно безопасно размещать на таких JSON-страницах.
  • (задача T181651) Страница информации для страниц файлов будет содержать в таблице основной информации шестнадцатеричный SHA1-хэш файла.
  • (задача T189785) Функциональность pingback будет посылать ежемесячный сигнал, позволяющий определять активные вики.
  • (задача T19099) Вкладки, ссылающиеся на несуществующие страницы (например на несозданные страницы обсуждений), отличаются не только цветом, но и отражающей состояние всплывающей подсказкой.

Обновлённые языки в 1.31

MediaWiki поддерживает более 350 языков. Множество локализаций обновляются регулярно. Ниже показаны только новые и удалённые языки, а также изменения в языках из отчетов с Phabricator.

  • (задача T180052) Мирандский язык (mwl) теперь поддерживает зависящие от рода названия пространств имён «Участник» и «Обсуждение участника» (NS_USER/NS_USER_TALK).
  • (задача T182305) Добавлена поддержка языка Nyungar (nys).
  • (задача T186359) Добавлена поддержка сибирско-татарского языка [cебертатар] (sty).
  • (задача T186635) Добавлена поддержка гвианского креольского языка (gcr).
  • (задача T186647) Добавлена поддержка кумыкского языка [къумукъ] (kum).
  • (задача T187750) Добавлена поддержка испанского языка с формальным обращением (es-formal).
  • (задача T187824) Добавлена поддержка венгерского языка с формальным обращением (hu-formal).
  • (задача T189127) Добавлена поддержка языка горонтало (gor).

Примечания по обновлению для администраторов MediaWiki

Теперь необходим PHP7 или HHVM

MediaWiki 1.31 требует PHP 7.0.0 или более позднюю версию. Хотя HHVM 3.18.5 или позднее также поддерживается, рекомендуется использовать PHP 7.0.0 или позднее для долгосрочной поддержки.

Изменения в базе данных

1.31 вносит несколько изменений в базы данных по отношению к 1.30, и не будет работать без обновления схемы. Пользователям PostgreSQL теперь нужна версия 9.2 или новее.

Таблица версий (revision)

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

Таблица архивов (archive)

Если вы используете MySQL, SQLite или MSSQL, не используете update.php для применения обновлений схемы, и не можете позволить себе временно отключить вики для запуска migrateArchiveText.php и ручного применения patch-drop-ar_text.sql, вам потребуется, прежде чем обновить MediaWiki до версии 1.31, или применить значение по умолчанию для столбцов ar_text и ar_flags в таблице archive, или сделать эти столбцы nullable. maintenance/archives/patch-nullable-ar_text.sql показывает, как сделать это для пользователей MySQL.

Таблица исполнителей (actor)

Личность вошедших в учётную запись или использующих IP-адрес «исполнителей» записываемых в журнал действий перемещается в новую таблицу actor, а таблицы версий и журналов теперь ссылаются на ID исполнителя, а не содержат имя и ID учётной записи или IP-адрес в каждой строке.

  • Это перемещение на данный момент управляется значением переменной $wgActorTableSchemaMigrationStage . Большинство вики могут задать эту переменную как MIGRATION_NEW и выполнить сценарий maintenance/migrateActors.php, как только все нужные расширения будут обновлены.
  • В большинстве случаев коду, обращающемуся к строкам протоколируемых действий из базы данных, следует использовать соответствующие методы getQueryInfo() для получения информации, нужной для составления SQL-запроса. На период перехода к новой схеме также можно использовать класс ActorMigration для получения зависящей от конфигурации информации, необходимой для доступа к полям, связанным с исполнителями.

Обратитесь к странице Перенос баз данных на систему исполнителей для получения более подробной информации.

Изменения конфигурации

  • Переменные конфигурации $wgEnableAPI и $wgEnableWriteAPI объявлены устаревшими и будут удалены в будущем. API считается стабильным, безопасным и неотъемлемым компонентом MediaWiki.
  • Переменная конфигурации $wgUsejQueryThree была удалена, так как сейчас она всегда включена. Эта переменная была временной на период перехода на jQuery 3 и была объявлена устаревшей в версии 1.29.
  • Переменная конфигурации $wgLogoHD теперь поддерживает SVG-изображения и при возможности использует переменную $wgLogo для информации об альтернативных изображениях, например в формате PNG.
  • (задача T44246) Переменная конфигурации $wgFilterLogTypes больше не будет игнорировать patrol, если у пользователя отсутствует право ставить метки патрулирования.
  • При обновлении вики, содержащих импортированные версии или глобальные блокировки Расширение:CentralAuth , необходимо выполнить сценарий maintenance/cleanupUsersWithNoId.php .
  • Удалены переменные конфигурации $wgResourceLoaderMinifierStatementsOnOwnLine и $wgResourceLoaderMinifierMaxLineLength , объявленные устаревшими в версии 1.27.
  • (задача T180921) Переменная конфигурации $wgReferrerPolicy теперь поддерживает запасные значения для браузеров, не использующих последнюю версию спецификации Referrer Policy.
  • Переменная конфигурации $wgFragmentMode теперь по умолчанию задана как [ 'legacy', 'html5' ]. Это первый шаг в процессе перехода к человекочитаемым идентификаторам разделов, и впоследствии 'html5' станет режимом по умолчанию.
  • CACHE_ACCEL теперь поддерживает только APC(u) и WinCache. Поддержка XCache была удалена, так как поставляемая библиотека не получает обновлений и не планирует переходить на PHP 7.
  • Старая функциональность CategorizedRecentChanges была удалена вместе со связанной переменной конфигурации $wgAllowCategorizedRecentChanges .
  • (задача T188472) Значение 'comma' переменной $wgArticleCountMethod больше не поддерживается ввиду проблем с производительностью, и вики с такой настройкой будут работать, как в случае со значением 'any'.
  • (задача T185753) MediaWiki теперь по умолчанию использует RemexHtml для очистки пользовательского ввода, в то время как ранее эта библиотека была отключена. Если вы хотите полностью отключить очистку HTML, задайте $wgTidyConfig как null; если вы хотите использовать устаревшую внешнюю библиотеку Tidy, задайте $wgTidyConfig как null, а $wgUseTidy — как true.
  • $wgLogAutopatrol теперь по умолчанию false вместо true.
  • Переменная $wgValidateAllHtml была удалена и будет игнорироваться.
  • Переменная $wgScriptExtension , объявленная устаревшей в версии 1.25 и игнорируемая с этой версии, была удалена. Обратитесь к примечаниям к выпуску версии 1.25 для получения более подробной информации.
  • Переменная $wgUseAjax объявлена устаревшей, как и объявленная устаревшей система AJAX, включаемая этой переменной. Некоторые расширения по ошибке полагались на значение этой переменной для проверки того, включать ли вообще какую-либо функциональность AJAX, тем самым делая оставление этой переменной ещё более проблемным.
  • Переменная $wgDBmysql5 объявлена устаревшей и будет удалена в одной из будущих версий. Эта переменная считалась экспериментальной всё время с момента введения.
  • Переменная $wgDBmwschema теперь влияет на все типы баз данных. Старые версии MediaWiki задавали её как 'mediawiki' во время установки, что может вызывать проблемы при обновлении, если используется СУБД, отличная от PostgreSQL или MSSQL. Если вы используете другую СУБД, удалите эту переменную из LocalSettings.php.

Изменения API действий в 1.31

  • (задача T185058) Значение 'name' для параметра tgprop в запросе action=query&list=tags было удалено. Оно никогда не влияло на результат запроса, так как название метки возвращалось всегда.
  • Параметры 'watch' и 'unwatch' для переименования страниц (action=move) были удалены. Они были объявлены устаревшими в версии 1.17, вышедшей в 2010 году; из-за программной ошибки они также не работали всё это время. Вместо этих параметров следует использовать параметр 'watchlist'.

Другие изменения в 1.31

  • Поддержка браузера Internet Explorer 10 была снижена, браузер переведён из категории A в категорию C.
  • Поддержка браузера Opera 12 и более ранних версий прекращена. Браузер Opera 15 и более поздние версии поддерживаются как браузер категории A.
  • Функциональность многокомпонентных версий введена в уровень хранения данных. Смотрите <https://mediawiki.org/wiki/Requests_for_comment/Multi-Content_Revisions>.
  • CSS-класс "free" теперь применяется только к не заключённым в квадратные скобки URL, указанным в вики-тексте. Внешние ссылки, использующие квадратные скобки, получат класс "text", а не "free".
  • задача T157418: Начальные и конечные пробельные символы удаляются в указанных средствами вики-текста заголовках, элементах списков, описаниях таблиц, шапках таблиц и ячейках таблиц. Указанные HTML-тегами аналогичные элементы не подвергаются этому удалению пробельных символов.
  • Add support for PSR-4 namespace autoloading for PHP classes in core and extensions (задача T173799, задача T99865).

Подстраницы