Jump to content

Руководство:Расширения

From mediawiki.org
This page is a translated version of the page Manual:Extensions and the translation is 100% complete.

Расширение позволяет Вам настроить внешний вид и работу MediaWiki.

  • Системные администраторы могут устанавливать (или удалять) расширения на том вики-сайте, которым они управляют.
  • Разработчики могут писать новые расширения или вносить вклад в уже существующие.
В то время как некоторые расширения поддерживаются разработчиками MediaWiki, другие разрабатываются третьими лицами и могут не поддерживаться. В результате многие расширения могут содержать ошибки, в том числе уязвимости безопасности. Не все расширения совместимы со всеми версиями MediaWiki, и при совместном использовании они могут работать ненадежно. Используйте расширения на свой риск, особенно те, что помечены как небезопасные. Если расширение требует исправлений для основного программного обеспечения, убедитесь, что вы сделали резервную копию вашей базы данных.

Выбор расширений

Включённые расширения

Некоторые расширения поставляются вместе с MediaWiki в качестве стандартных.

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

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

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

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

Обзор расширений

Просмотрите Категория:Все расширения , или Категория:Расширения по категории для полного спектра доступных расширений.

Проверка установленных расширений

То, какие расширения активны в определённой установке MediaWiki, можно посмотреть на странице Special:Version, прокрутив до заголовка «Установленные расширения» (якорь #mw-version-ext). К примеру, на этой вики установлены вот эти расширения, а в англоязычной Википедии активны следующие.

Популярные расширения

WikiApiary показывает количество вики-сайтов, на которых установлены расширения. Сервис представляет фактические установки, а не только загрузки (т. е. запрашиваются API-интерфейсы вики), но он также (по состоянию на 2023 год) не полностью обновлён. Также не учитывается количество установок на приватных вики.

Установка расширения

Дополнительные указания, см. также в Руководство:Расширения/Установка и обновление

MediaWiki готова к установке расширений сразу же по завершении её собственной установки. Чтобы установить расширение, выполните следующие шаги:

  1. Перед тем, как начать.
    Многие расширения содержат инструкции по установке с использованием Unix-команд. Вам потребуется доступ в режиме командной строки (SSH) для использования команд и инструкций, содержащихся в руководствах по установке этих дополнений.
  2. Загрузите выбранное расширение.
    Extension Distributor помогает выбрать и скачать большинство популярных расширений.
    Расширения обычно распространяются как модульные пакеты. Обычно они располагаются в собственном подкаталоге каталога $IP /extensions/. Список расширений, находящихся в Git-репозитории Викимедиа, расположен по адресу git:mediawiki/extensions. Некоторые расширения не используют систему контроля версий и не рекомендуются.
    Некоторые расширения также могут быть доступны среди бандлов, в Composer или в хранилище пакетов.
    Перед установкой рекомендуется прочитать файл README. Обычно в нём содержатся важные сведения о конфигурации.
  3. Установите выбранное расширение.
    В конце файла LocalSettings.php добавьте:
    wfLoadExtension( 'ExtensionName' );
    
    Эта строка вынуждает интерпретатор PHP прочесть файл расширения, и таким образом сделать его доступным для MediaWiki.
    Некоторые расширения могут конфликтовать с внутренними скриптами, в случае, если они, например, работают напрямую с переменной $_SERVER (не рекомендовано). В этом случае они могут быть обёрнуты при условии, что сценарии обслуживания могут продолжить работу.
    if ( !$wgCommandLineMode ) {
       wfLoadExtension ( 'ExtensionName' );
    }
    
    Скрипт обслуживания importDump.php «упадёт» для любого расширения, требующего кастомизированных пространств имён, которые включены в условия выше, такие как Расширение:Semantic MediaWiki , Расширение:Page Forms .
Убедитесь, что для расширения настроены необходимые разрешения!
Описанная выше процедура установки достаточна для большинства расширений, однако некоторые требуют другой процедуры установки. Посмотрите документацию расширения для дополнительных подробностей.
Если вы хотите изменить переменные конфигурации в LocalSettings.php, вам нужно это сделать как правило после того места, где включается расширение. В противном случае значения определенные по умолчанию в расширение затрут ваши настройки.

Обновление расширения

Некоторые расширения требуют обновления всякий раз, когда вы обновляете MediaWiki, в то время как другие работают с несколькими версиями. Чтобы обновить новую версию расширения нужно:

  1. Загрузить новую версию расширения
  2. Замените все файлы расширений в каталоге extensions/ExtensionName новыми файлами. Не удаляйте конфигурацию расширения, представленную в LocalSettings.php
  3. Если расширение требует внести правки в базу данных MediaWiki, вам потребуется запустить сценарий обслуживания update.php . В большинстве расширений будет указано, нужно ли запускать этот скрипт или нет. (Выполните резервное копирование ваших данных перед выполнением сценария). Если у вас нет доступа к командной строке, вы также можете использовать web updater.
Эти инструкции охватывают 99% расширений. Если конкретное расширение, которое вы обновляете, имеет инструкции, которые отличаются от этих, вы, вероятно, должны следовать инструкциям конкретного расширения

Удаление расширения

Удалите строку из LocalSettings.php с именем расширения, чтобы удалить его:

wfLoadExtension( 'ExtensionName' );
  • Вы должны удалить все строки, относящиеся к конфигурации расширения.

Разработка расширения

Ядро MediaWiki предоставляет несколько способов изменения поведения и внешнего вида вики для расширений. Различные точки расширения предоставляют расширениям гибкость в добавлении возможностей и функционала, по типу отображения служебной страницы или определения модуля API. Чтобы начать, просмотрите руководство по разработке расширений . Перед написанием расширения, рассмотрите возможность внести вклад в существующее расширение или помочь не поддерживаемому расширению .

Пользователи могут также сделать общий запрос на Фабрикаторе, и понадеяться, что их хорошая идея будет воспринята разработчиком. См. https://phabricator.wikimedia.org/tag/mediawiki-extension-requests/

См. также