Руководство:Расширения
Расширение позволяет Вам настроить внешний вид и работу MediaWiki.
- Системные администраторы могут устанавливать (или удалять) расширения на том вики-сайте, которым они управляют.
- Разработчики могут писать новые расширения или вносить вклад в уже существующие.
Выбор расширений
Включённые расширения
Некоторые расширения поставляются вместе с MediaWiki в качестве стандартных.
Эти расширения, как правило, должны быть очень полезными, эффективно работать, быть стабильными, хорошо написанными и не иметь серьезных проблем с безопасностью. Они также должны быть совместимы с последними версиями MediaWiki и друг с другом (т.е. одно расширение не должно блокировать функции другого). Включённое расширение может зависеть от одного или нескольких других расширений, если они также включены в пакет.
Администраторы сайта получают их автоматически при установке или обновлении MediaWiki. При обновлении MediaWiki также автоматически будут применены все обновления расширения. Администраторы сайта могут удалить любой из них, если пожелают.
В настоящее время ведутся открытые дискуссии о том, какие расширения должны быть включены в эту группу. Вы можете предложить расширения для включения. Расширения будут включены в комплект поставки, как только разработчики придут к единому мнению об этом.
Расширение исключается из поставки с движком, если его функционал переносится в ядро MediaWiki, оно заменяется альтернативным расширением или — что маловерояно, — если находятся неразрешимые проблемы безопасности.
Обзор расширений
Просмотрите Категория:Все расширения, или Категория:Расширения по категории для полного спектра доступных расширений.
Проверка установленных расширений
То, какие расширения активны в определённой установке MediaWiki, можно посмотреть на странице Special:Version, прокрутив до заголовка «Установленные расширения» (якорь #mw-version-ext).
К примеру, на этой вики установлены вот эти расширения, а в англоязычной Википедии активны следующие.
Популярные расширения
WikiApiary показывает количество вики-сайтов, на которых установлены расширения. Сервис представляет фактические установки, а не только загрузки (т. е. запрашиваются API-интерфейсы вики), но он также (по состоянию на 2023 год) не полностью обновлён. Также не учитывается количество установок на приватных вики.
Установка расширения
- Дополнительные указания, см. также в Руководство:Расширения/Установка и обновление
MediaWiki готова к установке расширений сразу же по завершении её собственной установки. Чтобы установить расширение, выполните следующие шаги:
- Перед тем, как начать.
- Многие расширения содержат инструкции по установке с использованием Unix-команд. Вам потребуется доступ в режиме командной строки (SSH) для использования команд и инструкций, содержащихся в руководствах по установке этих дополнений.
- Загрузите выбранное расширение.
- Extension Distributor помогает выбрать и скачать большинство популярных расширений.
- Расширения обычно распространяются как модульные пакеты. Обычно они располагаются в собственном подкаталоге каталога
$IP/extensions/. Список расширений, находящихся в Git-репозитории Викимедиа, расположен по адресу git:mediawiki/extensions. Некоторые расширения не используют систему контроля версий и не рекомендуются. - Некоторые расширения также могут быть доступны среди бандлов, в Composer или в хранилище пакетов.
- Перед установкой рекомендуется прочитать файл README. Обычно в нём содержатся важные сведения о конфигурации.
- Установите выбранное расширение.
- В конце файла
LocalSettings.phpдобавьте: wfLoadExtension( 'ExtensionName' );
- Эта строка вынуждает интерпретатор PHP прочесть файл расширения, и таким образом сделать его доступным для MediaWiki.
- Некоторые расширения могут конфликтовать с внутренними скриптами, в случае, если они, например, работают напрямую с переменной
$_SERVER(не рекомендовано). В этом случае они могут быть обёрнуты при условии, что сценарии обслуживания могут продолжить работу. if ( !$wgCommandLineMode ) { wfLoadExtension ( 'ExtensionName' ); }
- Скрипт обслуживания importDump.php «упадёт» для любого расширения, требующего кастомизированных пространств имён, которые включены в условия выше, такие как Расширение:Semantic MediaWiki, Расширение:Page Forms.
- В конце файла
- Убедитесь, что для расширения настроены необходимые разрешения!
- Описанная выше процедура установки достаточна для большинства расширений, однако некоторые требуют другой процедуры установки. Посмотрите документацию расширения для дополнительных подробностей.
- Если вы хотите изменить переменные конфигурации в
LocalSettings.php, вам нужно это сделать как правило после того места, где включается расширение. В противном случае значения определенные по умолчанию в расширение затрут ваши настройки.
Обновление расширения
Некоторые расширения требуют обновления всякий раз, когда вы обновляете MediaWiki, в то время как другие работают с несколькими версиями. Чтобы обновить новую версию расширения нужно:
- Загрузить новую версию расширения
- Замените все файлы расширений в каталоге
extensions/ExtensionNameновыми файлами. Не удаляйте конфигурацию расширения, представленную вLocalSettings.php - Если расширение требует внести правки в базу данных MediaWiki, вам потребуется запустить сценарий обслуживания update.php. В большинстве расширений будет указано, нужно ли запускать этот скрипт или нет. (Выполните резервное копирование ваших данных перед выполнением сценария). Если у вас нет доступа к командной строке, вы также можете использовать web updater.
Удаление расширения
Удалите строку из LocalSettings.php с именем расширения, чтобы удалить его:
wfLoadExtension( 'ExtensionName' );
- Вы должны удалить все строки, относящиеся к конфигурации расширения.
Разработка расширения
Ядро MediaWiki предоставляет несколько способов изменения поведения и внешнего вида вики для расширений. Различные точки расширения предоставляют расширениям гибкость в добавлении возможностей и функционала, по типу отображения служебной страницы или определения модуля API. Чтобы начать, просмотрите руководство по разработке расширений. Перед написанием расширения, рассмотрите возможность внести вклад в существующее расширение или помочь не поддерживаемому расширению.
Пользователи могут также сделать общий запрос на Фабрикаторе, и понадеяться, что их хорошая идея будет воспринята разработчиком. См. https://phabricator.wikimedia.org/tag/mediawiki-extension-requests/
См. также
- Категория:Расширения
- Шаблон:Extension
- Руководство:Разработка расширений
- Руководство:Перевод расширений – Информация о переводе расширений на другие языки.
- Special:ExtensionDistributor – Включает список 15 наиболее загружаемых расширений в системе контроля версий Викимедиа.
- extloc – Где расширения MediaWiki развёрнуты в рабочей инфраструктуре Викимедиа?
- API:Siteinfo#Extensions
- Руководство:Расширение вики-разметки
- Руководство:Прерывания (хуки)
- Руководство:Волшебные слова
- Руководство:Темы оформления