Домой / Скайп / Mediawiki расширения. Расширение MediaWiki - MediaWiki extension. Термины и сокращения

Mediawiki расширения. Расширение MediaWiki - MediaWiki extension. Термины и сокращения

Статья посвящена всему тому, с чем нам пришлось столкнуться в процессе использования MediaWiki . Такая своеобразная записная книжка.

Речь пойдёт о MediaWiki, размещённой на Linix-сервере. Подробнее о версиях установленного ПО можно узнать .

Термины и сокращения

BPoD

Blank Page of Death (BPoD) - белая страница смерти, когда вместо страницы вики браузер выдаёт лишь пустую страницу, на которой нет вообще ничего. Причиной может быть:

  • неверные настройки в файле LocalSettings.php ;
  • некорректно работающее свежеустановленное расширение.

Error_reporting(-1); ini_set("display_errors", 1);

Потом это лучше убрать, чтобы пользователи не увидели лишнего.

Нулевая правка

Null edit - это если зайти в режим Правки страницы и тут же нажать Записать страницу (Save page ), хотя изменений никаких внесено не было. Как бы ни казалось на первый взгляд, но это вовсе не бессмысленное действие.

Нулевая правка принуждает вики пересобрать страницу из исходников и показать её самую последнюю версию. Так вы можете быть уверены, что перед вами не версия из кэша, а актуальная версия страницы.

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

Настройка MediaWiki

В основном, вся проводится правкой файла LocalSettings.php . Он находится в корневой директории сайта.

Первичная настройка

Задание названия

В файле LocalSettings.php задать переменную:

$wgSitename = "Ваше название вики" ;

Установка логотипа

Логотип можно загрузить через интерфейс самой вики, но тогда он окажется доступным для изменения, потому лучше положить его в каталог к дефолтному: skins/common/images/ . Однако, тогда при обновлении MediaWiki логотип сбросится вновь на дефолтный или вовсе не будет отображаться.

Логотип должен быть квадратным, с размерами 135x135. Чтобы он смотрелся аккуратно и не выделялся своим фоном на фоне страниц вики, нужно сделать ему прозрачный фон .

После того, как логотип загружен на сервер, нужно задать следующую переменную в файле LocalSettings.php :

$wgLogo = "$wgStylePath /common/images/vashlogotip.gif" ;

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

Иконка сайта отображается на вкладке браузера, благодаря чему его (сайт) проще отыскать в массе открытых вкладок.

Загружать иконку рекомундуется туда же, куда и . Размеры её должны быть 16x16, а формат - ICO . Так же можно сделать ей прозрачный фон . Так же следует помнить, что после обновления MediaWiki она может сброситься на дефолтную.

После того, как иконка загружена на сервер, нужно задать следующую переменную в файле LocalSettings.php :

$wgFavicon = "$wgStylePath /common/images/favicon.ico" ;

Изменение навигационного блока

Навигационный блок, расположенный на левой части каждой страницы вики, можно изменять: удалять существующие пункты, добавлять свои. Делается это на спецстранице вашавики.net/index.php/MediaWiki:Sidebar

Разрешение загрузки изображений

Чтобы пользователи могли загружать изображения, а также для работы некоторых расширений необходимо внести в LocalSettings.php следующие изменения:

Разрешить загрузку файлов на сервер:

$wgEnableUploads = true ;

Установить разрешённые расширения файлов:

$wgFileExtensions = array ("png" , "gif" , "jpg" , "jpeg" , "svg" ) ;

Также для работы некоторых расширений может потребоваться редактор изображений ImageMagick:

$wgUseImageMagick = true ; $wgImageMagickConvertCommand = "/usr/bin/convert" ; # у вас может находиться в иной директории

Но бывает также, что в некоторых случаях редактор изображений ImageMagick неожиданно начинает мешать жить. Например, вместо миниатюр изображений на страницах появляются надписи вида:

Ошибка создания миниатюры: public_html/bin/ulimit4.sh: line 4: /usr/bin/convert: Permission denied

В этом случае помогает отключение использования ImageMagick:

$wgUseImageMagick = false ;

Вы спросите, а что делать, если возникли проблемы с миниатюрами, но ImageMagick необходим для работы расширения? И мы не ответим на этот вопрос.

Изменение стиля wikitable

По умолчанию у класса таблиц wikitable ничтожно маленькое значение отступа от границ ячейки, из-за чего таблицы не радуют глаз. Для установки собственного значения отступа необходимо внести изменения в файл skins\common\shared.css . Скажем, 5px будет достаточно:

table. wikitable { margin: 1em 1em 1em 0 ; background: #f9f9f9; border: 1px #aaa solid; border- collapse: collapse; color: black; } . wikitable th, . wikitable td { border: 1px #aaa solid; padding: 5px; }

Если у вас другая версия MediaWiki, код класса может выглядеть иначе, но суть одна - нужно изменить значение параметра padding .

Установка счётчиков

Для установки счётчика надо включить его код в код каждой страницы вики, но вообще достаточно включить его лишь в код темы оформления (скина). Так как по умолчанию используется Vector , то рассмотрим на его примере.

Код счётчика лучше сохранить в файле с расширением .php и загрузить на сервер в каталог skins , после чего в файле темы оформления ( Vector.php ) надо будет включить в определённом месте имя этого файла. Не забывайте, что кодировка файла с кодом счётчика должна совпадать с кодировкой, используемой на вашем сайте, иначе вместо кириллицы будет отображаться кракозябра.

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

Подсветка синтаксиса

SyntaxHighlight GeSHi

  • images/math ;
  • images/tmp .

$wgUseTeX = "true" ; $wgMathDirectory = "images/math" ; $wgTmpDirectory = "images/tmp" ;

После этого вики будет способна обрабатывать $\TeX$ формулы, заключённые в теге . Вкратце обработка происходит следующим образом: latex обрабатывает формулу, заключённую в теге , ImageMagic создаёт из этого картинку и помещает её на страницу. Таким образом, готовые формулы представляют собой растровые изображения.

Однако, простые формулы, вроде x + 2 = 4, вики по умолчанию отображает текстом, отчего они выглядят не как "картиночные". За это отвечает переменная в настройках внешнего вида вики для каждого зарегистрированного пользователя, но можно задать её по умолчанию для всех. Для этого надо изменить в LocalSettings.php следующую переменную:

$wgDefaultUserOptions [ "math" ] = 0 ;

MathJax

После обновления MediaWiki до версии 1.19.2 расширение Math работать перестало. Восстановить его работу не удалось. Мы стали искать альтернативу и нашли не просто альтернативу, а прекрасное расширение MathJax .

Самым главным его отличием является то, что оно не использует (соответственно, и не требует) наличия на сервере пакетов latex и dvips , и итоговые формулы являются не растровыми изображениями, а векторными объектами, которые можно сколь угодно масштабировать без потери качества их отображения на странице.

Устанавливается расширение .

Для обработки формул помимо стандартного тега можно (и удобнее) использовать родные символы $$ из $\TeX$ .

Единственное что - формулы отображаются с тем размером шрифта, в окружении какого они используются, и потому выглядят довольно мелко. Эту проблему мы решили введением шаблона Формула . Идея в том, чтобы окружить формулу тегом увеличения размера шрифта:

<span style = "font-size:130%" > $x + 2 = 4$</ span >

Сноски

Они же примечания . Для их создания используется расширение Cite . Пример использования сносок можно посмотреть в Песочнице .

Расширение устанавливается стандартно, и установилось оно без проблем. Однако, при попытке воспроизвести стандартный пример на странице вместо примечаний было лишь:

То есть, какие-то действия производились, но результат был не тот, что должен был.

В итоге, всё решилось примерно так же, как и с . Просто поочерёдно открывали одноимённые служебные страницы из пространства имён MediaWiki в Википедии и копировали текст оттуда на свои.

Обновление MediaWiki

Обновление с MediaWiki 1.17 до MediaWiki 1.19.2

Приведём сюрпризы, ожидавшие нас при обновлении с 1.17 до 1.19.2. Конечно, скорее всего, их бы не было, если бы мы тщательней изучили документацию перед обновлением.

Кстати, весьма вероятно, эти проблемы могут возникать не только при обновлении 1.17 до 1.19.2, но и при обновлении до других версий.

Логотип и иконка

Так как мы забыли, что размещённые по пути skins/common/images/ и сбросятся на дефолтные при обновлении, то они и сбросились. Пришлось заливать их обратно.

Запрет включения статей в категории шаблонов

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

Как работало в 1.17:

Как работает теперь в 1.19.2:

А через некоторое время стало работать и как раньше, потому мы вернули всё как было. Непонятно, что это случилось. Возможно, ненадолго сбилась категоризация, а после правок всё "перекатегоризировалось", так что, выходит, это двоеточие никак не влияло.

Выравнивание и таблицы

Конструкция, например, align="right" для выравнивая таблицы по правому краю страницы перестала обрабатываться, потому как за её обработку теперь вроде как отвечает CSS. В результате информационные таблицы, которые были удобно размещены справа, уехали влево.

Оказалось, что мы всё проспали: такой способ устарел и вообще считается плохой практикой в вёрстке. Вместо этого следует использовать следующее:

Перевод некоторых служебных страниц

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

Например, в служебных страницах висит уродливого вида ссылка:

Значит, надо открыть страницу MediaWiki:Changeemail и внести в неё правку - написать перевод: " Изменить адрес электронной почты ".

Для перевода надписей (подписей и иного текста), находящегося на этих страницах, править нужно эту же страницу в пространстве имён MediaWiki , но добавляя постфикс с именем надписи, под которым она сейчас отображается.

Например, на всё той же странице MediaWiki:Changeemail находится надпись с именем . Значит, надо открыть страницу MediaWiki:Changeemail-header и внести правку с переводом: " Изменение адреса электронной почты ".

Важно учитывать регистр. Если переводимый элемент принадлежит, например, странице BlockList , то правку надо вносить не в MediaWiki:BlockL ist , а в MediaWiki:Blockl ist .

Обновление с MediaWiki 1.19.2 до MediaWiki 1.20.2

Выполнив всё по мы получили Fatal exception of type MWException при открытии любой страницы сайта.

Решение было найдено на доске поддержки MediaWiki . В итоге, обновление прошло следующим образом:

  1. загружаем архив с дистрибутивом отсюда ;
  2. распаковываем его в каталог с вики: tar xvzf mediawiki-1.20.2.tar.gz -C path/to/our/wiki/ --strip-components=1 . С таким ключом распаковка пройдёт с заменой файлов, не трогая наши расширения, картинки и файл настроек;
  3. идём в path/to/our/wiki/maintenance/ и выполняем там: php5 update.php .
  4. здесь же выполняем: php5 rebuildLocalisationCache.php --force .

Также данная ошибка может возникнуть при переносе MediaWiki между системами. В таком случае необходимо убедиться, что стоит расширение APC от PHP.

Важные мелочи

Небольшие, но важные советы:

  • при создании шаблонов ни в коем случае не оставляйте пустых строк сверху (и снизу) конструкции . В противном случае пустая строка перенесётся в статью вместе с шаблоном и устроит там содомию.

Расширения MediaWiki позволяют MediaWiki быть сделаны более продвинутыми и полезными для различных целей. Эти расширения сильно различаются по сложности. Wikimedia Foundation работает Git - сервер, где организовано множество расширений, и каталог из них можно найти на веб - сайте MediaWiki. Некоторые другие сайты также известны разработки или поддержки-расширения Mediawiki.org, который поддерживает матрицу расширения; и Google Code . MediaWiki обзор кода само облегчило через Геррит инстанции. Начиная с версии 1.16 MediaWiki также использовал JQuery библиотеку.

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

Человек с административной FTP или файловой системы доступа к вики - каталогов можно устанавливать расширения вручную, загрузив их в соответствующие каталоги и с помощью текстового редактора , чтобы добавить требуют сразу строк в файл LocalSettings.php , чтобы вызвать код расширения для включения и оценку, Некоторые расширения также параметры конфигурации, которые установлены и изменены путем редактирования этого файла. Существует также расширение, настройка, что позволяет другим расширениям быть более легко управлять. Лучше платформа управления расширения находится в стадии разработки.

Виды расширений

функции парсера

Среди наиболее популярных расширений является расширение функции парсера, ParserFunctions, что позволяет различное содержанию быть вынесено на основании результата условных операторов . Эти условные операторы могут выполнять такие функции, как оценка того, является ли пустым параметр, сравнения строк, вычисления математических выражений, и возвращает одно из двух значений, в зависимости от того, существует ли страница. Он был разработан в качестве замены заведомо неэффективного шаблон называется {{QIF}}. Шиндлер рассказывает историю расширения ParserFunctions следующим образом:

В 2006 годе некоторые википедианы обнаружили, что с помощью сложной и сложной взаимосвязи особенностей шаблонных и CSS они могут создать условный текст вики, то есть текст, который отображается, если параметр шаблона имеет конкретное значение. Это включает повторяющиеся вызовы шаблонов внутри шаблонов, которые увязли производительность всей системы. Разработчики столкнулись с выбором: либо запрещая распространение заведомо желаемой функции, обнаруживая такое использование и явно запретив его в программном обеспечении, или предложить эффективную альтернативу. Последнее было сделано Тим Старлинг, который объявил о введении анализатора функций, вики текст, который вызывает функцию, реализованную в базовом программном обеспечении.

Во-первых, только условный текст и вычисление простых математических выражений был реализован, но это уже увеличили возможности вики редакторов чрезвычайно. С были введены временные функции дальнейшего синтаксического анализа, в конечном счете приводит к каркасу, что позволило простое написание функции расширения для добавления произвольных функций, как например, гео-кодирования услуг или виджетов. На этот раз разработчики явно реагируют на потребность общества, вынужден либо бороться с решением вопроса о том, что сообщество было (то есть условный текст), или предложить улучшенную техническую реализацию для замены предыдущей практики и достижение общего улучшения спектакль.

Другое расширение СА функции, StringFunctions, было разработано для оценки длины строки, строка позиции, и так далее. Wikimedia сообщества, создав неудобные обходные пути для достижения той же функциональности, требовали, чтобы он был включен в своих проектах. Большая часть его функциональности в конечном счете интегрирована в расширение ParserFunctions, хотя по умолчанию отключены и сопровождаться предупреждением Тима Старлинга, что позволяет строковые функции позволят пользователям «осуществлять свои собственные парсер в уродливом, наиболее неэффективном языке программирования известного человеку: MediaWiki с ParserFunctions вики-текст «.

Академические и энциклопедии связанных отображения данных

Другой очень популярный расширение является расширение Цитирование, которые позволяют сносок быть добавлены к страницам с помощью встроенных ссылок. Это расширение, однако, подвергается критике за то, что трудно использовать и требуя от пользователя запоминать сложный синтаксис. Инструмент под названием ProveIt был предложен в качестве замены. Гаджет под названием RefToolbar также был создан, чтобы сделать его проще для создания ссылок с использованием общих шаблонов. Обсуждение MediaWiki имеют некоторые расширения, которые хорошо подходят для научных кругов, таких, как математики расширений и расширение, что позволяет молекулам быть вынесены в .

интеграция

Обобщенная структура Widgets была создана, что позволяет MediaWiki интегрировать практически с чем угодно. Другие примеры расширений, которые могли бы улучшить вики являются категории внушение расширения и расширения для включения флэш - видео , YouTube видео и RSS - каналы . Расширение интеграции с Facebook является предстоящим. Metavid , сайт, что архивы видео кадры из Сената США и Палаты процедур пола, был создан с использованием кода расширения MediaWiki в области совместного видео авторинга. Одним из расширений, Viskimap, делает использование графических организаторов визуализировать отношения между страницами контента, так что студенты могут легко получить понимание содержания элементов и их отношений, так как они навигации по вики - страниц.

Борьба с спамом

Есть много спамботов , которые ищут в Интернет для MediaWiki установок и добавить linkspam к ним, несмотря на то, что MediaWiki использует NOFOLLOW атрибут для предупреждения таких попыток поисковой оптимизации . Часть проблемы заключается в том, что переиздают третьей стороны, такие как зеркала , не может самостоятельно осуществлять NoFollow метки на своих веб - сайтах, так что маркетологи могут еще получить PageRank выгоду путем вставки ссылки на страницы, когда эти записи появляются на веб - сайтах третьих лиц. Анти-спам расширение было разработано для борьбы с проблемой путем введения CAPTCHAs , черным списка определенной URL - адресов, и позволяет насыпное удаление страниц недавно добавленных определенным пользователем.

Поисковые запросы, и обработка данных и агрегирование

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

Пример расширения облегчающих таких анализов включают Semantic MediaWiki , который обеспечивает возможность добавлять структурированные и для поиска отношения и атрибуты к вики - страниц и WikiTrust , который реализует систему для проверки автора, происхождение и достоверность вики текста. SNPedia , NeuroLex и DBpedia проекты по этим направлениям. Занимающейся разработкой программного обеспечения платформы, предназначенной для поддержки конкретных разработки программного обеспечения мероприятий, таких как опыт управления , разработки требований или управления проектами , был основан на Semantic MediaWiki. Другая вика, SynBioSS Wiki , цель которого заключается в обеспечении научного сообщества для хранения и извлечения информации, относящейся к технологии для визуализации и взаимодействия вариантов.

Расширение под названием Woogle было создано в попытке объединить преимущества вики захватить новую информацию в легком и совместной моду и корпоративные поисковых систем в поиске существующих документов и информации в организациях. Так как по умолчанию, создание и изменение таблиц выполняется вручную, с несоответствиями могут произойти из таблиц, которые отображают одни и те же данные различных способами, расширение DynaTable было создано, чтобы предоставить пользователь вики удобным способом для определения данных в отдельном пространстве имен, в результате чего в данных, хранящихся в таблице базы данных, и он будет динамически извлечена из базы данных в момент вики страницы разборе или рендеринга, на страницы, которые имеют соответствующий тег (и необходимые параметры). Расширение также позволяет пользователям фильтровать таблицы путем выбора подмножества столбцов и строк для отображения.

Расширение на основе система, известная как Annoki была разработана, чтобы помочь отнести конкретные части статей для конкретных авторов. Если более 50% от предложения было добавлено конкретным редактором, это предложение было считаться «принадлежит» к этому редактору. Если меньше, чем 50% было добавлено редактором, что редактор был считаться корректором этого предложения. Система также рассматривается ряд правок, сделанных тем же автор в качестве постоянных усилий редактирования и определила вика страницы «освобождение», как последние из этих последовательных изменений.

При использовании моей подборки расширений ссылка на источник обязательна.

Расширения (Extension) - это сборки PHP-кода , которые добавляют новые возможности и расширяют функциональность ядра MediaWiki . Расширения — одно из главных преимуществ MediaWiki. Они дают администраторам и пользователям вики возможность адаптировать MediaWiki под собственные запросы.

В зависимости от ваших целей вы можете использовать расширения для:

  • расширения языка вики-разметки для написания статей — смотрите Category:Parser function extensions и Category:Parser extensions для примеров.
  • добавления новых возможностей отчетности и администрирования — смотрите Category:Special page extensions для примеров.
  • изменения внешнего вида MediaWiki — смотрите m:Gallery of user styles и Category:User interface extensions для примеров.
  • повышения безопасности через использования различных методов аутентификации — смотрите Category:Authentication and Authorization Extensions для примеров.

Для правильного функционирования устанавливайте расширения соответствующие именно Вашей версии MediaWiki!!!

Итак список расширений по группам:

Пользователи:

25. ParserFunctions – улучшенный синтаксический анализатор с логическими функциями.

RSS:

26. Extension:RSS — добавляет подписку RSS.

27. Extension:RSS into Wiki — добавляет RSS-подписки на страницы Wiki.

Статистика:

28. Extension:Site Meter for MediaWiki — расширение, которое позволяет добавить Site Meter — трафик сбора статистики для MediaWiki, показывая небольшое изображение на боковой панели.

29.Extension:Google Analytics Integration/ru — это расширение помещает код Google Analytics в каждую страницу MediaWiki. Настройки позволяют включить вставку кода при просмотре страниц пользователями с правами ‘защиты страниц’ (sysops) и пользователей типа ‘бот’ (bots). По умолчанию код не вставляется, чтобы избежать попадания информации об этих служебных посещениях в статистику.

Видео / YouTube / Flash / FLV / SWF / Музыка :

30. EmbedVideo – расширение для вставки видео на википедии.

31. Extension:FlvHandler — это расширение добавляет возможность пользователям загружать Flash видео и добавлять их на страницы.

32. Extension:MediawikiPlayer — добавляет JW FLV Media Player в вики-страницы.

33. Extension:Player — добавляет встроенный плеер для воспроизведение мультимедиа с помощью обычных плагинов браузера или встроенных проигрывателей.

34. Extension:FlashMP3 FlashMP3 добавляет простой Flash-плеер для воспроизведения MP3-файлов.

Навигация:

35. Extension:Admin Links — расширение MediaWiki добавляет специальную страницу, «Специальные: AdminLinks», которая содержит ссылки, предназначенные для администраторов вики; расширение призвано служить своеобразной «панелью управления» для функций администратора.

36. Extension:DinamicWikiSitemap/ru — это отдельная страница карты сайта. Карта сайта будет обновляться автоматически, что полезно, если вы регулярно обновляете ваш сайт.

37. Extension:CategoryTree/ru — расширение CategoryTree обеспечивает динамическое представление о структуре категорий в вики в виде дерева.

Небольшая предыстория: понадобилось мне как-то разместить в корпоративной MediaWiki телефонный справочник сотрудников. Справочник большой, 300 контактов с внутренними, городскими, сотовыми номерами и т.п. Справочник этот ведет специально обученный человек и хранится он (какое совпадение!) в MySql-базе рядом с базой wiki, т.е. на том же сервере. Делать статичную страницу с телефонами было бы не лучшим решением, поэтому wiki должна формировать справочник динамически, прямо из базы. Никаких подходящих инструментов и расширений для воплощения своего замысла я не нашел, поэтому решил написать расширение своими скромными силами, благо с веб-разработкой знаком. Стал искать и изучать документацию – оказалось что русской документации почти нет, официальная крайне скупа и чересчур лаконична. Пришлось вгрызаться в гранит, попутно делая заметки, которые и стали основой этой серии статей.

Приступим

Начнём с постановки задачи: создаем расширение PhoneBook. Основная идея – сделать страницу, при входе на которую мое расширение будет отображать взятый из базы данных и отформатированный телефонный справочник. Для таких целей идеально подходит служебная страница. Таким образом, я хочу, чтобы мое расширение показывало телефонный справочник на странице .

Любая wiki имеет множество специальных страниц, называемых Служебными. Это такие страницы, которые генерируются программным обеспечением по запросу пользователя. Они расположены в своём собственном пространстве имён Special: (Служебная: ) и, в отличие от остальных страниц, недоступны для прямого редактирования.

Начнем с самого малого. Для начала, расширение MediaWiki должно иметь свою папку. Папки расширений wiki располагаются в каталоге extensions , который находится в корне wiki. Зайдем туда и создадим папку PhoneBook – в ней и будет жить мое расширение. Теперь будем наполнять эту папку глубоким смыслом.

Далее: Вот горшок пустой, он предмет простой. Пустая папка – это хорошо, но мало. Для начала у расширения должен быть файл манифеста. Это текстовый файл формата json, который содержит в себе полное описание расширения и его возможностей. Файл манифеста расширения должен называться extension.json

Создадим такой файл в каталоге extensions/PhoneBook/. Сначала это будет самый простой файл. Потом, по мере взросления, файл будет усложняться:

{ "name": "PhoneBook", "author": "StarXXX", "url": "http://сайт/", "description": "Телефонный справочник организации", "version": "1.0", "license-name": "GPL-2.0+", "type": "other", "manifest_version": 1 }

Думаю, все достаточно ясно, но поясню: name – название расширения, author – его автор, либо группа авторов, url – страница расширения в интернете, description – описание, version – версия расширения, license-name – название лицензии по которой распространяется расширение, type – тип расширения (я указал other, типа “другое”, но есть еще варианты), manifest_version ссылается на схему extension.json файла (На данный момент единственной поддерживаемой 1я версия (MediaWiki 1.26.x и 1.27.x). Многие поля опциональные, но все-таки будет хорошо, если вы их заполните. Детальное описание на английском можно .

Итак, удивительно, но у нас уже есть полноценное расширение. Осталось его подключить к MediaWiki. Для этого в файл LocalSettings.php , который находится в корне wiki, добавим вызов функции wfLoadExtension:

WfLoadExtension("PhoneBook");

Думаю вполне понятно, что функции wfLoadExtension передается название расширения(=имя папки).

На время разработки так же можно отключить кеширование, чтобы не мешало. Для этого в том же LocalSettings.php добавим такие строки:

$wgMainCacheType = CACHE_NONE; $wgCacheDirectory = false; $wgEnableParserCache = false; $wgCachePages = false;

Итак, первый этап пройден. Расширение готово. Проверим, что оно действительно ожило. Для этого зайдем на служебную страницу Версия: http://моявики/Служебная:Версия

Прокрутив страницу до раздела “Установленные расширения” в разделе “Иное” мы увидим наше расширение. “Иное”, потому что в extension.json написано «type»: «other». Итак, wiki видит наше расширение, однако оно ничего не делает, потому что ничего не умеет – умелку мы ему не отрастили. Теперь необходимо умелку-то отрастить — научить его реагировать на вызов служебной страницы http://моявики/Служебная:Телефоны , но это уже другая история и об этом я расскажу в следующей серии