Не следует путать с Фондом Викимедиа.
MediaWiki (МедиаВики) — движок для вики-проектов. Этот мощный вики-движок был написан специально для Википедии и в настоящее время используется во многих других проектах фонда «Викимедиа», а также частных и государственных организациях. MediaWiki является свободной программой и распространяется на условиях Общественной лицензии GNU.
MediaWiki написан на PHP и для хранения данных использует реляционную базу данных (можно использовать MySQL, PostgreSQL, SQLite и Oracle); поддерживает использование программ memcached и Squid.
MediaWiki предоставляет интерфейс работы с базой страниц, разграничение прав доступа к администрированию системы, возможность обработки текста как в собственном формате вики-текст, так и в форматах HTML и TeX (для формул), возможность загрузки изображений и других файлов, а также другие возможности. Гибкая система расширений позволяет пользователям добавлять собственные новые возможности и программные интерфейсы.
Логотип MediaWiki символизирует применяемый язык разметки, в котором для создания ссылок используются квадратные скобки ([[]]), что гораздо проще традиционного синтаксиса HTML.
История
MediaWiki был разработан специально для Википедии немецким студентом Магнусом Манске[убрать шаблон]. Сначала использовался UseModWiki (также известный, как «Фаза I» — «Phase I»), написанный на Perl.Затем 25 января 2002 года новая версия («Фаза II» — «Phase II») перешла на использование PHP. Среди википедистов этот день известен как «День Магнуса Манске».
Следующая, расширенная и дополненная версия одно время носила имя «Фаза III» («Phase III»), однако затем была переименована в MediaWiki, поскольку данное ПО стало возможным применять не только в Википедии, но и во многих других проектах, и возникла необходимость строгой нумерации версий. Название «MediaWiki» — игра слов, оно перекликается с названием «Викимедиа» — родительской организации Википедии. Это имя иногда критикуют за вероятность перепутать его с «Wikimedia», что вносит некоторую путаницу и смущает новичков проекта.
История версий
Ниже приведена таблица, наглядно показывающая, как изменялся движок MediaWiki (англ.)русск. с 2003 года до настоящего времени.
История версий MediaWiki |
Версия не поддерживается Рабочая версия Будущая версия
Версия |
Дата выпуска |
Ссылки |
Главные изменения |
1.1 |
8 декабря 2003 |
Заметки о версии |
- Новый вики-синтаксис таблиц.
- Интерфейс, изменяемый пользователями через «Пространство имен MediaWiki».
- XML-разметка страниц экспорта статей с дополнительной историей.
- «Волшебные слова» — специальные переменные и инструкции для интерпретатора.
|
1.2 |
24 марта 2004 |
Заметки о версии |
- Экспериментальный онлайн-установщик.
- Изменение размеров изображения и генерация миниатюр.
- Изменение панели инструментов для изучения вики-синтаксиса.
- Управление правами доступа в MediaWiki.
|
1.3 |
11 августа 2004 |
Заметки о версии |
- Добавлен новый дизайн и улучшена валидность HTML.
- Добавлены параметры для шаблонов.
- Добавлены характеристики категорий.
- Автоматическое слияние правок, когда возможно.
- Улучшена автоматическая установка.
|
1.4 |
20 марта 2005 |
Заметки о версии, Поддержка языков |
- Язык пользовательского интерфейса может быть изменен самим пользователем.
- Улучшена производительность.
- Добавлена поддержка сжатия старых версий статей для сокращения потребностей физической памяти.
- Добавлена генерация галереи изображений, список недавно загруженных файлов.
- Включена поддержка растризации SVG.
|
1.5 (последняя версия, поддерживающая MySQL 3) |
5 октября 2005 |
Заметки о версии, Поддержка языков |
- Внесены большие изменения в реструктуризацию БД, результатом чего стало:
- повышение производительности для некоторых операций;
- поддержка хранения информации вне основной базы данных.
- Поддержка уведомлений по e-mail.
- Включена поддержка UTF-8.
|
1.6 (последняя версия, поддерживающая PHP 4) |
5 апреля 2006 |
Заметки о версии, Поддержка языков |
- Расширен режим включения/отключения защиты страниц.
- Добавлена «очередь заданий» на фоне обновления.
- Улучшено отслеживание использования шаблонов.
- Параметры шаблонов теперь могут иметь значения по умолчанию.
|
1.7 |
7 июля 2006 |
Заметки о версии, Поддержка языков |
- MediaWiki переходит к PHP версии 5. PHP 4 больше не поддерживается.
- Удаленные файлы могут быть восстановлены.
|
1.8 |
10 октября 2006 |
Заметки о версии, Поддержка языков |
- Полная поддержка PostgreSQL (от версии 8.1) в движке.
- Поддержка создания миниатюр для DjVu и многостраничной навигации.
- Различные улучшения в блокировке пользователей.
- Возможность импорта файлов по URL.
|
1.9 |
10 января 2007 |
Заметки о версии, Поддержка языков |
- Новая функция «отмена проверок».
- Различные улучшения блокировки и кэширования служебных страниц.
- В таблицах теперь можно сортировать содержимое по столбцам.
- Добавление счетчика правок.
- Изменение размера отображается в списке наблюдения и недавних изменениях.
- Изменения в именах служебных страниц: страницы могут быть локализованы, поэтому ссылки на них могут быть более понятными, поскольку могут быть написаны не на английском языке.
|
1.10 |
9 мая 2007 |
Заметки о версии, Поддержка языков |
- Добавлена «каскадная защита».
- Улучшен интерфейс подсказок.
- Различные улучшения блокировки и кэширования служебных страниц.
- Добавлена поддержка IPv6.
|
1.11 |
10 сентября 2007 |
Заметки о версии, Поддержка языков |
- Переменные $wgAddGroups и $wgRemoveGroups позволяют осуществлять расширенный контроль.
- AJAX-режим просмотра страниц включен по умолчанию.
|
1.12 |
20 марта 2008 |
Заметки о версии, Поддержка языков |
|
1.13 |
14 августа 2008 |
Заметки о версии, Поддержка языков |
- Новые служебные страницы: FileDuplicateSearch, ListGroupRights.
- Страницы Special:UserRights и Special:SpecialPages были изменены.
- Скрытая характеристика категорий: __HIDDENCAT__ на странице категории будет скрывать категории на странице статьи.
- Дружественный интерфейс при нажатии на красные ссылки, ведущие на не созданные страницы.
- Двойные перенаправления могут быть установлены автоматически.
|
1.14 |
22 февраля 2009 |
Заметки о версии, Поддержка языков |
- Поддержка уведомления об авторском праве.
- Картинки могут быть на сторонних серверах.
- Управление поиском осуществляется в основе каждой страницы.
- Улучшенная поддержка CSS для PDA-устройств.
- Страницы истории страниц содержат дату.
- Страницы истории загрузки файлов отображают миниатюры для каждой версии файла.
|
1.15 |
10 июня 2009 |
Заметки о версии, Поддержка языков |
- Поддержка перемещения файлов.
- Добавлены ключевые слова {{GENDER:||}}, {{NUMBEROFACTIVEUSERS}} и {{REVISIONUSER}}.
|
1.16 |
28 июля 2010 |
Заметки о версии, Поддержка языков |
- Был добавлен новый скин Vector.
- Каналы RSS/Atom включены в страницу наблюдения.
- Возможен запрет отправки e-mail пользователями через Служебная:Emailuser.
|
1.17 |
22 июня 2011 |
Заметки о версии, Поддержка языков |
- Новый инсталлятор;
- Фрэймворк ResourceLoader для динамической отдачи JavaScript и CSS ресурсов;
- Улучшена реализация сортировки категорий;
- Требует PHP версии как минимум 5.2.3;
- Улучшена поддержка СУБД Oracle.
|
1.18 (последняя версия, поддерживающая MySQL 4) |
28 ноября 2011 |
заметки о версии, Поддержка языков |
- Улучшена поддержка письменности (LTR, RTL)
- Пользовательские ссылки адаптированы под пол участника
- Улучшение системы URL (добавление дополнительных RD-кодов для лучшей поддержки QQ-скриптов и расширенных мультимедийных функций, таких, как Universal Multimedia API)
|
1.19 (последняя версия, поддерживающая PHP 5.2) |
2 мая 2012 |
Заметки о версии, Поддержка языков |
- Требует MySQL версии как минимум 5.0.2.
- Была улучшена поддержка сообщений, зависящих от пола участника по сравнению с предыдущей версией.
- Был встроен языковой конвертер.
|
1.20 |
7 ноября 2012 |
Заметки о версии, Поддержка языков |
- Требует PHP версии как минимум 5.3.2;
- Новый вид разницы изменений.
|
1.21 |
25 мая 2013 |
Заметки о версии, Поддержка языков |
- Патрулирование с помощью AJAX.
- Улучшенная поддержка JavaScript вики-текстом.
- Использование семантических заголовков в меню навигации.
- Переработано оформление темы «Кёльнская тоска».
|
1.22 |
7 декабря 2013 |
Заметки о версии, Поддержка языков |
- Новый дизайн у служебной страницы «Вход».
- Незначительные улучшения темы оформления «Векторное».
- Сообщение о сохранении правки.
|
1.23 |
5 июня 2014 |
Заметки о версии, Поддержка языков |
- Незначительные улучшения служебной страницы «Вход».
|
1.24 |
26 ноября 2014 |
Заметки о версии, Поддержка языков |
- Категории теперь могут быть переименованы.[4]
- Обновление jQuery до версии 1.11.
|
1.25 |
25 мая 2015 |
Заметки о версии, Поддержка языков |
Версия не поддерживается Рабочая версия Будущая версия
|
Использование
MediaWiki в сочетании с большим количеством расширений используется во многих проектах Фонда Викимедиа и вики-фермы Wikia. Кроме того, существуют доработанные сборки, построенные на этом движке и предназначенные для корпоративного использования: Enterprise Semantic MediaWiki+, Blue Spice[5], российские проекты Wiki4Intra[6], WikiVote. MediaWiki также являлась основой для вики-движка MindTouch (англ.)русск..
Разработка
До октября 2009 года проект возглавлял Брион Виббер, после его ухода из Фонда «Викимедиа» этот пост занял Тим Старлинг. В качестве системы управления версиями разработчики используют git. Для исправления ошибок и разработки новой функциональности используется система отслеживания ошибок Bugzilla, находящаяся по адресу bugzilla.wikimedia.org. Существует отдельный вики-проект www.mediawiki.org, полностью посвящённый движку (содержит документацию на нескольких языках). Перевод локализации движка осуществляется на специальном сайте Translatewiki.net.
Интерфейс прикладного программирования (API)
В MediaWiki предусмотрен специальный интерфейс прикладного программирования, обеспечивающий прямой высокоуровневый доступ к информации из баз данных. Клиентские программы могут использовать API для авторизации, получения данных и отправки изменений. Именно через этот интерфейс работают скрипты на веб-странице при обычной работе с Википедией. Доступ к API может быть получен любым образом, в том числе и через front-end и back-end программы.
В качестве примера таких программ можно назвать библиотеку Pywikipedia для создания wiki-бота на языке Python и программу для внесения полуавтоматических изменений в Википедию AutoWikiBrowser.
Главным удобством API является то, что не имеет никакого значения язык программирования, на котором будет написано клиентское приложение, поскольку все запросы обрабатываются по протоколу HTTP, а ответ получается в удобном для разработчика формате: XML, сериализованном[7]PHP, YAML или JSON. Так, к примеру, сделав запрос по адресу http://ru.wikipedia.org/w/api.php?action=query&list=recentchanges, клиентский интерфейс получит список последних 10 правок с дополнительной информацией в формате XML.
См. также
Примечания
- ↑ The mediawiki Open Source Project on Open Hub: Languages Page — 2006.
- ↑ https://github.com/wikimedia/mediawiki/releases/tag/1.34.2
- ↑ https://phabricator.wikimedia.org/source/mediawiki/browse/master/COPYING
- ↑ T7451 Moving category description pages
- ↑ См. blue-spice.org
- ↑ См. wiki.4intra.net
- ↑ См. http://www.php.net/manual/ru/function.serialize.php
Ссылки