MediaWiki

MediaWiki — свободное программное обеспечение с открытым исходным кодом для организации вики-сайтов. Изначально разработан Магнусом Мансеке и выпущен для использования в Википедии 25 января 2002 года, впоследствии доработан Ли Дэниелом Крокером[5], а дальнейшая разработка координируется Фондом Викимедиа. MediaWiki используется для работы множества вики-сайтов в Интернете, включая большинство проектов Фонда Викимедиа, таких как Википедия, Викисловарь, Викисклад, Викицитатник, Мета-вики и Викиданные, которые формируют основные требования к программному обеспечению[6]. Помимо проектов Викимедиа, MediaWiki применяется как система управления знаниями и контентом на таких сайтах, как Fandom, wikiHow, а также во внутренних корпоративных вики, например Intellipedia и Diplopedia.

Общие сведения

Описание

MediaWiki написан на языке программирования PHP и хранит весь текстовый контент в базе данных. Программное обеспечение оптимизировано для эффективной работы с крупными проектами, которые могут содержать терабайты данных и обслуживать сотни тысяч просмотров страниц в секунду[6][7]. Поскольку Википедия является одним из крупнейших и наиболее посещаемых сайтов в мире, масштабируемость с помощью многоуровневого кэширования и репликации баз данных была одной из главных задач разработчиков. Важной особенностью MediaWiki является интернационализация: интерфейс доступен более чем на 400 языках. Программное обеспечение поддерживает сотни параметров конфигурации. и более 1000 расширений для добавления или изменения различных функций[8].

Ключевые особенности

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

Интернационализация и локализация

Благодаря акценту на многоязычность в проектах Викимедиа, интернационализация и локализация получили значительное внимание со стороны разработчиков. Пользовательский интерфейс полностью или частично переведён более чем на 400 языков на translatewiki.net, и может быть дополнительно настроен администраторами сайта (весь интерфейс редактируется через вики).

Существуют расширения, в частности MediaWiki Language Extension Bundle, предназначенные для расширения возможностей многоязычия и интернационализации MediaWiki.

Установка и настройка

Для установки MediaWiki требуется наличие административных прав на сервере с поддержкой PHP и совместимой базы данных SQL. Некоторые пользователи считают полезным создание виртуального хоста, если основной сайт работает на фреймворке, например, Zope или Ruby on Rails, несовместимом с MediaWiki[9]. Облачный хостинг может избавить от необходимости развертывания нового сервера[10].

Установка производится через PHP-скрипт, запускаемый в веб-браузере, который инициализирует настройки вики. Скрипт запрашивает минимальный набор параметров, а дальнейшие изменения, например, включение загрузки файлов[11], добавление логотипа сайта[12], установка расширений, производятся путём редактирования файла LocalSettings.php[13]. Некоторые параметры можно настраивать через специальные страницы или редактируя определённые страницы; например, фильтры злоупотреблений настраиваются через специальную страницу[14], а гаджеты добавляются созданием JavaScript-страниц в пространстве имён MediaWiki[15]. Сообщество MediaWiki публикует подробное руководство по установке[16].

Разметка

Одним из первых отличий MediaWiki и его предшественника UseModWiki от других вики-движков стало использование «свободных ссылок» вместо CamelCase. Для создания ссылки в MediaWiki слова заключаются в двойные квадратные скобки, а пробелы сохраняются, например, World Wide Web. Это было логичным для энциклопедии, где важна точность заголовков.

MediaWiki использует расширяемую[17] облегчённую вики-разметку, более простую для изучения, чем HTML. Существуют инструменты для конвертации, например, таблиц между разметкой MediaWiki и HTML[18]. Попытки создать формальную спецификацию разметки MediaWiki показали, что вики-код требует контекстно-зависимых грамматических правил[19][20].

Синтаксис MediaWiki
(код «за кулисами», используемый для форматирования текста)
Эквивалент в HTML
(другой тип кода для форматирования текста)
Отображаемый результат
(видимый посетителю сайта)
==== Диалог ====
«Возьмите ещё [[чай]],» — сказал Мартовский Заяц Алисе очень серьёзно.

«Я ещё ничего не брала», — обиженно ответила Алиса, — «так что не могу взять больше».

«Вы хотите сказать, что не можете взять ''меньше'',» — сказал Шляпник, — «очень легко взять '''больше''', чем ничего».
<h4>Диалог</h4>

<p>«Возьмите ещё <a href="/wiki/Tea" title="Tea">чай</a>», — сказал Мартовский Заяц Алисе очень серьёзно.</p> <br>
<p>«Я ещё ничего не брала», — обиженно ответила Алиса, — «так что не могу взять больше».</p> <br>
<p>«Вы хотите сказать, что не можете взять <i>меньше</i>», — сказал Шляпник, — «очень легко взять <b>больше</b>, чем ничего».</p>
Диалог

«Возьмите ещё чай,» — сказал Мартовский Заяц Алисе очень серьёзно.

«Я ещё ничего не брала», — обиженно ответила Алиса, — «так что не могу взять больше».

«Вы хотите сказать, что не можете взять меньше,» — сказал Шляпник, — «очень легко взять больше, чем ничего».

Примечания

  1. Reed, Sam Announcing MediaWiki 1.34.0 (19 декабря 2019). Дата обращения: 19 декабря 2019. Архивировано 19 декабря 2019 года.
  2. Security and maintenance release: 1.35.10 / 1.38.6 / 1.39.3 — 2023.
  3. Copyright. mediawiki.org. Дата обращения: 7 сентября 2015. Архивировано 19 сентября 2015 года.
  4. Names.php mediawiki. github.com (8 апреля 2021). Дата обращения: 19 мая 2021. Архивировано 15 июля 2021 года.
  5. Manske, Magnus [Wikipedia-l] PHP Wikipedia (24 августа 2001). Дата обращения: 2 октября 2025.
  6. 1 2 What is MediaWiki? MediaWiki (9 января 2021). Дата обращения: 27 марта 2021. Архивировано 22 июля 2018 года.
  7. Wikipedia:Statistics – Wikipedia, the free encyclopedia. Wikipedia. Дата обращения: 30 мая 2010. Архивировано 28 августа 2021 года.
  8. Extension Matrix. MediaWiki. Дата обращения: 6 сентября 2017. Архивировано 11 сентября 2016 года.
  9. Lerner, Reuven M. Installing and Customizing MediaWiki. Linux Journal (23 февраля 2006). Дата обращения: 23 апреля 2010. Архивировано 6 апреля 2010 года.
  10. Petrazickis, Leons (2009). “Deploying PHP applications on IBM DB2 in the cloud: MediaWiki as a case study”. Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research: 304—305. DOI:10.1145/1723028.1723069. S2CID 27463043.
  11. Manual:$wgEnableUploads. MediaWiki. Дата обращения: 30 мая 2010. Архивировано 25 июня 2010 года.
  12. Manual:$wgLogo. MediaWiki (12 декабря 2009). Дата обращения: 30 мая 2010. Архивировано 25 июня 2010 года.
  13. Manual:LocalSettings.php. MediaWiki (29 марта 2007). Дата обращения: 30 мая 2010. Архивировано 25 июня 2010 года.
  14. Extension:AbuseFilter. MediaWiki. Дата обращения: 30 мая 2010. Архивировано 25 июня 2010 года.
  15. Cacycle. wikEd. Архивировано 23 ноября 2007 года.
  16. Manual:Installation guide. MediaWiki. Дата обращения: 30 мая 2010. Архивировано 25 июня 2010 года.
  17. Manual:Extending wiki markup. MediaWiki. Дата обращения: 30 мая 2010. Архивировано 1 мая 2011 года.
  18. HTML to Wiki Converter – tables. WMF Labs (29 марта 2008). Дата обращения: 12 июня 2014. Архивировано 13 июля 2014 года.
  19. Markup spec. MediaWiki. Дата обращения: 30 мая 2010. Архивировано 19 декабря 2007 года.
  20. Extricating Meaning from Wikimedia Article Archives. Дата обращения: 2 января 2011. Архивировано 10 марта 2011 года.