Открыть сервис

MediaWiki

MediaWiki — это свободное программное обеспечение для создания вики-сайтов, написанное на языке PHP и использующее базу данных (обычно MySQL или MariaDB). Является наиболее известным и широко распространённым вики-движком в мире, в первую очередь благодаря тому, что на нём работает интернет-энциклопедия «Википедия» и другие проекты фонда «Викимедиа». MediaWiki распространяется на условиях GNU General Public License версии 2 или более поздней.

История

Разработка MediaWiki началась в 2001 году как ответ на потребности растущей «Википедии». Первоначально «Википедия» работала на движке UseModWiki, написанном на Perl. Однако по мере увеличения объёма контента и числа пользователей возникла необходимость в более функциональном, масштабируемом и специализированном решении.

Создание и первые версии

В 2001 году немецкий программист Магнус Манске начал разработку нового движка на PHP, который изначально назывался «Phase II». 25 января 2002 года новая версия движка была запущена на «Википедии». В июне 2002 года Ли Дэниел Крокер, сотрудник компании Bomis (которая на тот момент спонсировала «Википедию»), начал работу над «Phase III», который впоследствии и получил название MediaWiki. Название «MediaWiki» было придумано как игра слов: оно отсылает к слову «media» (средства массовой информации) и слову «wiki» (быстро, в контексте веб-технологий). Первый публичный релиз под названием MediaWiki (версия 1.1) состоялся 8 декабря 2003 года.

Развитие и ключевые вехи

С 2003 года разработка MediaWiki ведётся фондом «Викимедиа» (Wikimedia Foundation — некоммерческая организация, управляющая проектами «Википедия», «Викисклад», «Викисловарь» и другими). Основные этапы развития включают:

Архитектура и технические характеристики

MediaWiki написана на объектно-ориентированном PHP и следует архитектурному шаблону MVC (Model-View-Controller). Ключевые компоненты включают:

Ядро

Ядро (Core) содержит основные функции: обработку URL, авторизацию, работу с базой данных, парсинг вики-разметки, кэширование и интернационализацию. Оно реализовано в виде набора PHP-классов, организованных в подсистемы.

База данных

По умолчанию MediaWiki использует реляционную базу данных MySQL или MariaDB. Схема базы данных включает несколько десятков таблиц, основные из которых:

Расширения

Расширения (Extensions) — это дополнительный код, который может изменять или расширять функциональность ядра. Они делятся на три основных типа:

Скин

Скины (Skins) определяют внешний вид сайта. Они представляют собой набор шаблонов (на основе PHP-шаблонизатора Mustache) и CSS-стилей. Наиболее популярные скины: Vector (по умолчанию в «Википедии»), MonoBook (исторический), Timeless (адаптивный).

Кэширование

Для повышения производительности MediaWiki поддерживает несколько уровней кэширования:

Возможности

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

Вики-разметка

Основной способ редактирования — использование вики-разметки (wikitext). Она позволяет:

Управление версиями

Каждое изменение страницы сохраняется как отдельная ревизия. Система позволяет:

Права доступа

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

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

MediaWiki полностью интернационализирована. Она поддерживает более 400 языков, включая языки с письмом справа налево (арабский, иврит) и CJK-языки (китайский, японский, корейский). Интерфейс может быть локализован на любой язык.

Поиск

Встроенная система поиска использует полнотекстовый индекс. В «Википедии» и других крупных проектах используется расширение CirrusSearch, основанное на Elasticsearch, которое обеспечивает быстрый и точный поиск с поддержкой синонимов, автодополнения и фильтрации по пространствам имён.

Применение

MediaWiki используется не только в проектах фонда «Викимедиа». На ней работают тысячи сайтов по всему миру, включая:

Корпоративные и внутренние вики

Многие компании и организации используют MediaWiki для создания внутренних баз знаний, документации и корпоративных порталов. Примеры: Intel, Novell, SAP, а также ряд государственных учреждений.

Образовательные проекты

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

Сообщества и фанатские проекты

Фанатские вики по играм, фильмам, книгам и другим темам часто работают на MediaWiki. Крупнейшие из них размещаются на платформе Fandom (ранее Wikia), которая также использует MediaWiki с собственными расширениями.

Научные и энциклопедические проекты

Помимо «Википедии», на MediaWiki работают такие проекты, как «Викитека», «Викисловарь», «Викицитатник», а также специализированные энциклопедии (например, «Энциклопедия математики»).

Расширения

Экосистема MediaWiki насчитывает тысячи расширений. Наиболее известные и важные:

Критика и ограничения

Несмотря на широкую популярность, MediaWiki имеет ряд критических замечаний:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →