Расширение MediaWiki - MediaWiki extension. Расширение MediaWiki - MediaWiki extension Установка платформы MediaWiki

Статья посвящена всему тому, с чем нам пришлось столкнуться в процессе использования 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% было добавлено редактором, что редактор был считаться корректором этого предложения. Система также рассматривается ряд правок, сделанных тем же автор в качестве постоянных усилий редактирования и определила вика страницы «освобождение», как последние из этих последовательных изменений.

Разработчик: Фонд Викимедиа
Тип: вики-движок
Дата выпуска: 25 января 2002 года
Язык прог-вания: PHP и JavaScript
Операционная система: кроссплатформенное ПО
Последняя версия: 1.31.0 Скачать
Рейтинг:
Cайт: www.mediawiki.org

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

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

Коротко о MediaWiki

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

Данный движок очень удобен для написания различного рода статей. Единственной трудностью на сегодня является то, что необходимо знать, так называемую "вики разметку", чтобы полноценно контролировать редактирование и создание статей, но уже разработан редактор "Visual Editor ", который упрощает процесс написания статей и не требует знания какой-либо разметки. Установка этого редактора осуществляется отдельно и сопряжена с некоторыми техническими трудностями и требует более глубокого знания программного обеспечения MediaWiki.

Установка MediaWiki

И так, чтобы сайт начал работать на данном движке необходимо:

  1. Скачать программное обеспечение MediaWiki на официальном сайте. Следует скачать ту версию, которая помечена словом "stable" - означает стабильная версия или "LTS" - с англ. яз. Long Term Support - имеет долгосрочную поддержку.
  2. Загрузить файлы на сервер своего хостинга . Либо, в качестве пробы, можно загрузить файлы на локальный сервер , чтобы, не имея интернета, своего собственного хостинга, понять процесс установки данного движка
  3. Пройти процесс установки движка в онлайн режиме. Об этом читайте ниже:

Установка платформы MediaWiki

  • После того, как все файлы загружены на сервер хостинг-провайдера, необходимо перейти на главную страницу сайта (по адресу доменного имени), где поприветствует мастер установки MediaWiki. Нажмите "set up the wiki" для начала установки. Затем выберите язык установки и вашего Wiki сайта. Затем произойдёт проверка совместимости движка MediaWiki c версией PHP и MySQL. Если всё прошло успешно, то появится надпись "Проверка внешней среды была успешно проведена. Теперь всё готово к установки MediaWiki", затем нужно нажать кнопку "Далее". Если проверка на совместимость не прошла, то необходимо обратиться в техподдержку хостинга, они смогут разрешить проблему в данном случае.
  • Следующим шагом является настройка баз данных MySQL, где необходимо сначала создать базу данных MySQL , а во время установки движка MediaWiki выбрать тип, имя базы данных, имя пользователя, и пароль от базы данных. Далее необходимо настроить базу данных,заполнив все соотвествующие поля. Если что-то непонятно, то в каждом поле можно нажать "справку" и прочитать о том или ином поле подробную информацию.
  • Далее предстоит настроить сайт: дать ему имя и внести данные администратора. В этом же разделе можно выбрать произвести тонкую настройку (профиль прав пользователей, авторские права и лицензии, настройки электронной почты, настройка различных дополнительных расширений, возможность загрузки файлов на сервер), либо выбрать "Хватит, установить вики", после чего будет устанавливаться сайт. Лучше воспользоваться тонкой настройкой и выбрать необходимые опции. В любой настройки есть справка, которая помогает при установке движка MediaWiki.
  • После того, как установка завершиться (длится она недолго), появится сообщение "Поздравляем! Вы успешно установили MediaWiki". После этого следует сохранить файл LocalSettings.php и загрузить его в корневую папку на сервере хостинга. В данном файле осуществляются все основные настройки Wiki сайта.
  • Затем можно перейти по ссылке на главную страницу wiki сайта, где должно быть уведомление "«MediaWiki» успешно установлен". На этой же странице можете перейти по ссылкам, где можно прочитать подробнее о справочном руководстве, как работать с данным движком, настраивать его под собственные нужды.

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

Как создавать новые страницы

Редактор wiki имеет различные инструменты для редактирования страниц.

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

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

При создании страниц встроен специальный редактор, который помогает редактировать страницу в том виде, который желает пользователь. Стоит также отметить, что очень удобно создавать внутренние ссылки по ключевым словам или фразам внутри сайта на wiki движке. Для этого необходимо слово или фразу обрамить квадратными скобками - . После создания страницы обрамлённые слова такими скобками будут иметь ссылку. Если страницы по ключевому слову или фразе нет на сайте, то ссылка будет окрашена в красный цвет, перейдя по ней можно по данной фразе или слову создать новую страницу. Если же страница по такой фразе или слову уже есть, то ссылка будет синим цветом, и перейдя по ней, открывается статья.

Для того, чтобы подключить WikiEditor, не забываем прописать в Localsettings.php следующие базовые настройки редактора:

wfLoadExtension ( "WikiEditor" ); # Enables use of WikiEditor by default but still allow users to disable it in preferences $wgDefaultUserOptions [ "usebetatoolbar" ] = 1 ; $wgDefaultUserOptions [ "usebetatoolbar-cgd" ] = 1 ; # Displays the Preview and Changes tabs $wgDefaultUserOptions [ "wikieditor-preview" ] = 0 ; # Displays the Publish and Cancel buttons on the top right side $wgDefaultUserOptions [ "wikieditor-publish" ] = 0 ;

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

require_once (" $IP /extensions/WikiEditor/WikiEditor.php" );

Следует отметить, что разработчиками создан специальный плагин Extension:InputBox для вставки поля на любой странице сайта, через которую можно задать название статьи и далее система переведёт автоматический на страницу создания. Более того, система предоставляет возможность создавать шаблоны под определённые темы, что также облегчает процесс создания статей на MediaWiki.

Использование шаблонов в статьях

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

Создаётся каждый шаблон, как отдельная статья с названием, например Шаблон:Игра - соответственно данный шаблон используется в статьях про игры, можно перейти по ссылке посмотреть, как составлен этот шаблон. Разберём создание очень простого шаблона. Создав страницу шаблона с его названием (Шаблон:Тест), затем нужно вписать, какие данные будут отображаться в самом этом шаблоне, например заголовок шаблона, делается это в тройных фигурных скобках так:

{{{заголовок}}}

После этого, такой шаблон можно вставлять в статьи таким образом:

{{Тест |заголовок = }}

Официальную документацию по использованию шаблонов можно найти на официальном сайте .

Как создавать категории в вики-сайте

Как установить другие темы оформления в MediaWiki

Mediawiki разработала ряд стандартных тем оформления для движка:

  • Vector - стандартная тема оформления, он же сейчас установлен на Викижурнале
  • MonoBook - раньше это была стандартная тема оформления для движка Mediawiki
  • Modern
  • Cologne Blue

Для того, чтобы расширение работало в вики-сайте его необходимо сначала скачать, а затем загрузить в папку "extensions". После чего ввести специальную ссылку на расширение в файл LocalSettings.php. На странице каждого расширения можно найти руководство по их установке. Также следует знать, что некоторые расширения требуют обновления базы данных, а это можно сделать по так называемому SSH доступу к серверу.

Обновление MediaWiki

Программное обеспечение Mediawiki время от времени обновляется, дорабатываются различные компоненты и устраняются те или иные ошибки и недочёты. Поэтому нужно осуществлять обновление "движка", хотя и не всегда это необходимо. Существует несколько способов сделать обновление, но тут опишем самый простой - обновление непосредственно через браузер и FTP клиент. И так вот что необходимо сделать:

  • В корневой папке переименовать LocalSettings.php в любое другое название, например в LocalSettings_2.php.
  • Проверить подходит ли новая версия к требованиям сервера (php и MySQL), на котором установлен сайт от Mediawiki
  • После этого сайт станет недоступен, система попросит установить файл LocalSettings.php в корневую папку, но этого делать не нужно.
  • Сохранить все самые необходимые папки и файлы, а именно:
1) Сохранить папку "images", где сохранены все картинки сайта; 2) Сохранить папку "extensions", где расположены все дополнительные модули для дополнительных функций Mediawiki (в дальнейшем будет необходимость также загрузить свежие версии этих модулей для обновлённой Mediawiki); 3) Сохранить базу данных MySQL - это можно сделать в phpMyAdmin;
  • Загрузить с официального сайта свежую, стабильную версию от Mediawiki и распаковать файлы на компьютере.
  • Подключиться к серверу, где хранятся все файлы Mediawiki и поверх старых загрузить через FTP новые, тем самым, перезаписав все старые файлы.
  • Зайти на сайт по адресу mymediawikisite.ru/mw-config/
  • Далее система предложит пройти процесс обновления Mediawiki. Некоторые данные нужно указать снова, как при первой установке, в частности следует указать имя и пароль базы данных MySQL.
  • Снова переименовать файл LocalSettings.php.
  • После этого сайт должен заработать.

Не смотря на то, что система обновления "движка" отлажена наилучшим образом самими разработчиками, в процессе обновления, или после него могут всё же появляться те или иные ошибки. Или работоспособность сайта может быть некорректной. Поэтому обновление Mediawiki идёт на свой страх и риск. Однако на официальном сайте в разделе поддержки можно обратиться с теми или иными трудностями, которые возникли после обновления. Другие способы обновления и полную документацию к обновлении Mediawiki можно прочитать на официальной странице обновления .

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

Заключение

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

Небольшая предыстория: понадобилось мне как-то разместить в корпоративной 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://моявики/Служебная:Телефоны , но это уже другая история и об этом я расскажу в следующей серии