MediaWiki

Материал из «Знание.Вики»
MediaWiki
Логотип программы
Написана на PHP и JavaScript
Аппаратная платформа кроссплатформенность
Состояние функционирует и совершенствуется
Сайт mediawiki.org
Commons-logo.svg Медиафайлы на Викискладе

MediaWiki (Медиавики) — вики-движок, написанный специально для Википедии, используется во многих других проектах фонда Викимедиа, а также частных и государственных организациях. Является свободным ПО и распространяется на условиях универсальной общественной лицензии GNU.

MediaWiki написан на скриптовом языке общего назначения PHP и для хранения данных использует реляционную базу данных (MySQL, PostgreSQL, SQLite или Oracle DB); поддерживает использование программ memcached и Squid. MediaWiki предоставляет интерфейс работы с базой страниц, разграничение прав доступа к администрированию системы, возможность обработки текста как в собственном формате вики-текст, так и в форматах HTML и ΤΕΧ (для формул), возможность загрузки изображений и других файлов, а также другие возможности. Система расширений позволяет пользователям добавлять собственные новые возможности и программные интерфейсы. Старый логотип MediaWiki (до 1 апреля 2021) символизировал применяемый язык разметки, в котором для создания ссылок используются квадратные скобки [[ ]].

История

MediaWiki был разработан специально для Википедии немецким студентом Магнусом Манске. Сначала использовался UseModWiki (также известный, как «Фаза I» — «Phase I»), написанный на Perl. Затем 25 января 2002 года (также называемый «День Магнуса Манске») новая версия («Фаза II» — «Phase II») перешла на использование PHP.

До октября 2009 года проект возглавлял Брион Виббер, после его ухода из Фонда «Викимедиа» этот пост занял Тим Старлинг. В качестве системы управления версиями разработчики используют git. Для исправления ошибок и разработки новой функциональности используется система отслеживания ошибок Bugzilla, находящаяся по адресу bugzilla.wikimedia.org. Существует отдельный вики-проект www.mediawiki.org, полностью посвящённый движку (содержит документацию на нескольких языках). Перевод локализации движка осуществляется на специальном сайте Translatewiki.net.

Следующая, расширенная и дополненная версия одно время носила имя «Фаза III» («Phase III»), однако затем была переименована в MediaWiki, поскольку данное ПО стало возможным применять не только в Википедии, но и других проектах. Название «MediaWiki» — игра слов, оно перекликается с названием «Викимедиа» — родительской организации Википедии[1].

Логотип MediaWiki до 1 апреля 2021 года

Старый логотип продукта был создан Эриком Мёллером на основе фотографии цветка, которую сделала Флоранс Нибарт-Девуард. Первоначально он был представлен на конкурс для нового логотипа Википедии, который проходил с 20 июля по 27 августа 2003 г.[2][3]

Логотип занял третье место и был выбран для представления MediaWiki, а не Википедии[4]. Двойные квадратные скобки ([[ ]]) символизируют синтаксис, который MediaWiki использует для создания гиперссылок на других вики-страниц, а подсолнух представляет разнообразие контента Википедии, постоянный рост, а также свежесть[5].

Позже Брион Виббер, главный технический директор Фонда Викимедиа[6], взял на себя роль руководителя выпуска и самого активного разработчика[7][8].

Основные вехи в развитии MediaWiki включают: систему категоризации (2004); функции парсера (2006); Flagged Revisions (2008)[9]; «ResourceLoader», систему доставки CSS и JavaScript (2011);[10] и VisualEditor, платформу редактирования «что видишь, то и получаешь» (WYSIWYG) (2013).

Конкурс на разработку нового логотипа был инициирован 22 июня 2020 года, так как старый логотип представлял собой растровое изображение и имел «высокую детализацию», что приводило к проблемам при рендеринге в высоком и низком разрешениях соответственно. После двух туров голосования, 24 октября 2020 года был выбран новый и текущий логотип MediaWiki, который создал Serhio Magpie. Логотип официально принят 1 апреля 2021 года.

Использование

MediaWiki в сочетании с большим количеством расширений используется во многих проектах Фонда Викимедиа и вики-хостинга Фэндом. Кроме того, существуют доработанные сборки, построенные на этом движке и предназначенные для корпоративного использования: Enterprise Semantic MediaWiki+, BlueSpice[11], российские проекты Wiki4Intra[12], WikiVote. MediaWiki также являлась основой для вики-движка MindTouch.

Интерфейс прикладного программирования (API)

В MediaWiki предусмотрен специальный интерфейс прикладного программирования, обеспечивающий прямой высокоуровневый доступ к информации из баз данных. Клиентские программы могут использовать API для авторизации, получения данных и отправки изменений. Именно через этот интерфейс работают скрипты на веб-странице при обычной работе с Википедией. Доступ к API может быть получен любым образом, в том числе и через front-end и back-end программы.

В качестве примера таких программ можно назвать библиотеку Pywikipedia для создания wiki-бота на языке Python и программу для внесения полуавтоматических изменений в Википедию AutoWikiBrowser.

Главным удобством API является то, что не имеет никакого значения язык программирования, на котором будет написано клиентское приложение, поскольку все запросы обрабатываются по протоколу HTTP, а ответ получается в удобном для разработчика формате: XML, сериализованном[13] PHP или JSON.

Примечания

  1. Differences between Wikipedia, Wikimedia, MediaWiki, and wiki - MediaWiki (англ.). www.mediawiki.org. Дата обращения: 10 января 2023. Архивировано 10 января 2023 года.
  2. International logo contest - Meta (англ.). Дата обращения: 10 января 2023. Архивировано 9 мая 2020 года.
  3. International logo contest/Results - Meta (англ.). Дата обращения: 10 января 2023. Архивировано 10 января 2023 года.
  4. Logo/History - Meta (англ.). Дата обращения: 10 января 2023. Архивировано 20 февраля 2023 года.
  5. File talk:EloquenceSunflowerNew-Small.png - Meta (англ.). Дата обращения: 10 января 2023. Архивировано 4 июля 2022 года.
  6. Everything Is Miscellaneous (англ.) // Wikipedia. — 2022-08-23.
  7. Wikipedia and MediaWiki (англ.)
  8. MediaWiki history (англ.)
  9. Introducing New Features to Wikipedia: Case Studies for Web Science (researchgate.net)
  10. ResourceLoader
  11. Find knowledge easily!
  12. Mediawiki4Intranet
  13. PHP:serialize