Установка и настройка MediaWiki + 3 полезных расширения
Интернет сервисы, Программирование 19.02.2009
Почему MediaWiki?
- Потомучто его разрабатывает и использует WikiMedia (разработчики WikiPedia);
- Базы данных MySQL, PostgreSQL, SQLite;
- Поддерживает memcached и Squid;
- YAML, HTML и TeX;
- Оптимизированна под поисковики, есть расширения и темы, полная русская локализация.
Установка
- Нам понадобиться PHP5 и выше (плюс PCRE и SPL), СУБД MySQL или PostgreSQL.
- архив и распаковываем в директорию где будет у нас находится вики-раздел сайта;
- Переходим по пункту “set up the wiki”;
- Заполняем анкетные и конфигурационные данные (Название, язык, бд, кеш, администратор и т.д.);
- Все, готово!
Настройка
Перемещаем файл LocalSettings.php (<mediawiki>/config/LocalSettings.php) в корень вики-раздела (<mediawiki>/);
В LocalSettings.php находятся основные настройки вики-движка, например директива $wgUseAjax (true/false) отвечает за AJAX, то есть если true то будет вики-движком использоваться AJAX (по возможности конечно).
Добавьте в LocalSettings.php:
# Включаем поддержку AJAX$wgUseAjax = true;
# Логотип$wgLogo = '/images/your-logotype.gif';
# Запрет незарегистрированным участникам редактировать статьи$wgEmailConfirmToEdit = true;
# Логотип$wgLogo = '/images/your-logotype.gif';
# Запрет незарегистрированным участникам редактировать статьи$wgEmailConfirmToEdit = true;
Расширения
Расширения находятся по адресу , со структурой категорий разобраться не так уж легко, поэтому рекомендую использовать поиск.
Устанавливать расширения очень просто, надо распаковать архив в каталог <mediawiki>/extensions.
И напоследок, 3 полезных расширения…
Предназначена для вывода “дерева категорий” в раздел “Спецстраницы/Списки страниц/Дерево категорий” и в сайдбар.
Добавьте в LocalSettings.php:
# CategoryTree - дерево категорийrequire_once("{$IP}/extensions/CategoryTree/CategoryTree.php");
# Максимум потомков (ветвей в ноде)$wgCategoryTreeMaxChildren = 1000;
# AJAX использовать?$wgCategoryTreeDynamicTag = true;
# Корневая категория, вместо "Root" - свою категорию.$wgCategoryTreeSidebarRoot = 'Root';
# Режим для AJAX$wgCategoryTreeSidebarOptions['mode'] = 10;
# Максимум потомков (ветвей в ноде)$wgCategoryTreeMaxChildren = 1000;
# AJAX использовать?$wgCategoryTreeDynamicTag = true;
# Корневая категория, вместо "Root" - свою категорию.$wgCategoryTreeSidebarRoot = 'Root';
# Режим для AJAX$wgCategoryTreeSidebarOptions['mode'] = 10;
Для перемещения меню категорий в сайдбаре, я изменил шаблон MonoBook (именно он используеться по умолчанию):
Файл <mediawiki>/skins/MonoBook.php строка 177
после
if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
и до
foreach ($sidebar as $boxName => $cont) {
вставить:
$sidebar = array(
'categorytree-portlet'=>$sidebar['categorytree-portlet'],
'SEARCH'=>$sidebar['SEARCH'],
'navigation'=>$sidebar['navigation'],
'TOOLBOX'=>$sidebar['TOOLBOX'],
'LANGUAGES'=>$sidebar['LANGUAGES']);
'categorytree-portlet'=>$sidebar['categorytree-portlet'],
'SEARCH'=>$sidebar['SEARCH'],
'navigation'=>$sidebar['navigation'],
'TOOLBOX'=>$sidebar['TOOLBOX'],
'LANGUAGES'=>$sidebar['LANGUAGES']);
то есть, мы просто поменяли местами порядок следования меню.
Тут их даже две версии:
Я использовал вторую, типа официальная всетаки!
Добавьте в LocalSettings.php:
Добавьте в LocalSettings.php:
# FCKeditorrequire_once( "{$IP}/extensions/FCKeditor/FCKeditor.php" );
Я пробовал еще расширение, однако оно сильно нестабильно (Release status: unstable), пользоваться невозможно :(
Еще есть дополнительные опции:
# Ссылки на переключение с рич-редактора на стандартный$wgDefaultUserOptions['riched_use_toggle'] = 1;
# По умолчанию отключен рич-редактор$wgDefaultUserOptions['riched_start_disabled'] = 1;
# Появиться ссылка для возможности открытия в новом окне рич-редактор$wgDefaultUserOptions['riched_use_popup'] = 1;
# Помнить ваш выбор (рич/стандарт)$wgDefaultUserOptions['riched_toggle_remember_state'] = 1;
# По умолчанию отключен рич-редактор$wgDefaultUserOptions['riched_start_disabled'] = 1;
# Появиться ссылка для возможности открытия в новом окне рич-редактор$wgDefaultUserOptions['riched_use_popup'] = 1;
# Помнить ваш выбор (рич/стандарт)$wgDefaultUserOptions['riched_toggle_remember_state'] = 1;
В данном случае “рич-редактор” — это FCKeditor.
MindMap
Еще есть и я их на деле не использовал, но судя по описания очень даже ничего!
Диаграмма связей, известная также как интеллект-карта, (англ. Mind map) — способ изображения процесса общего системного мышления с помощью схем. Также может рассматриваться как удобная техника альтернативной записи.