Mediawiki/wysiwyg

WYSIWYG
FCKeditor Mediawiki/copypaste

http://www.proft.com.ua/2008/09/13/sposoby-napolneniya-mediawiki-kontentom/

Сен 13 Способы наполнения MediaWiki контентом

fckeditor_wikimarkup.png В продолжение предыдущей стати о установке MediaWiki поговорим об способах наполнения Wiki. Для добавления/редактирования текстового материала существует два способа:

1. с помощью wiki-разметки 2. с помощью WYSIWYG редактора

Рассмотрим оба варианта.

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

Краткое знакомство с wiki-разметкой можно получить по следующим ссылкам:

1. Wiki cheatsheet 2. Карманный справочник Википедии

Более подробное описание wiki-разметки:

1. Форматирование текста 2. Редактирование ссылок 3. Форматирование картинок и фото галерей 4. Форматирование таблиц

Лично мне больше по душе вики-разметка, потому-что она предоставляет больший контроль за форматированием текста (по сравнению с WYSIWYG редакторами) и местами более наглядная.

WYSIWYG редакторы представляют собой редакторы похожие в той или иной степени на текстовый процессор Microsoft Word т.е. предоставляют тот же набор панелей инструментов с кнопками форматирования.

Для MediaWiki существует несколько внешних WYSIWYG редакторов :

1. FCKeditor 2. TinyMCE 3. Mozile 4. Wikiwyg

На продакшен сервере остановился на FCKeditor т.к. редактор отдельно существует давно и вполне нормально себя зарекомендовал.

Установить FCKeditor на последнюю версию MediaWiki (1.13.1) просто:

1. Скачиваем архив с последней версией редактора FCKeditor 2. Распаковываем содержимое архива в папку extensions на сервере 3. Подключаем FCKeditor и Ajax:

require_once( "extensions/FCKeditor/FCKeditor.php" ); $wgUseAjax = true;

Для работы редактора на версиях MediaWiki 1.10 – 1.12 придется немного подправить файлы, более подробно смотрим тут.

Если интерфейс редактора не появляется, то одной из возможных проблем – отсутствие подключения дополнительных javascript’ов в php-файла используемого скина. Для их подключения надо в файле скина (например, MonoBook.php), перед тегом, вставить:

<? $this->html('headscripts') ?>

Если это не поможет, то можно почитать про другие возможные ошибки на страничке Troubleshooting.

После всех этих подготовительных этапов можно приступать к наполнению Вашей вики!

http://sysadminwiki.ru/wiki/MediaWiki

Установка MediaWiki
Установка крайне проста: скачиваем последнюю версию с официального сайта http://www.mediawiki.org и распаковываем в нужный каталог сайта (например /var/www/site/w/); далее настраиваем через веб-интерфейс. Точка входа http://domain.ru/w/config/

Подробно об установке можно узнать из официальной инструкции, и ещё одна здесь.

Вики движок лучше не размещать в корне сайта. Почему, кратко объяснено в [http://www.mediawiki.org/wiki/Manual:Wiki_in_site_root_directory спец. статье].

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

Как сделать (кратко)
Хорошие краткие инструкции (ЧаВО или FAQ) есть на официальном сайте MediaWiki как на русском языке, так и на английском.

Запрещаем редактирование не авторизованным пользователям:
$wgGroupPermissions['*']['createaccount'] = true; $wgGroupPermissions['*']['read'] = true; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createpage'] = false; $wgGroupPermissions['*']['createtalk'] = false;

Делаем ссылки короткими
По умолчанию ссылки выглядят так: http://domain.ru/wiki/index.php?title=article. Чтобы сделать их такими же короткими и наглядными, как в Википедии, есть много способов. Один из них - это добавить в LocalSettings.php: $wgScriptPath  = "/w"; $wgArticlePath = "/wiki/$1"; $wgUsePathInfo = true; где $wgScriptPath - каталог установки вики-сайта, а $wgArticlePath - виртуальный каталог, который нужно будет указать в URL при обращении к статье, имя не должно совпадать с реальным каталогом.

Затем, в корневом каталоге сайта (т.е. на уровень выше от каталога "w", где лежит вики-движок) нужно создать файл .htaccess: RewriteEngine On RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA] RewriteRule ^wiki/*$ /w/index.php [L,QSA] RewriteRule ^/*$ /w/index.php [L,QSA] Если на сервере установлено несклько виртуальных хостов, то нужно ещё добавить настройку виртуального хоста в секцию &lt;VirtualHost&gt;: RewriteEngine On RewriteOptions Inherit и подключить модуль rewrite, после чего перезагрузить сервер. В Debian это делается следующим образом: ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled /etc/init.d/apache2 restart

Добавляем логотип
Картинку не более 135х135 пикселей с прозрачным фоном загружаем в папку images и добавляем в LocalSettings.php: $wgLogo = “{$wgScriptPath}/images/logofinal.png”;

Меняем favicon
Это изображение появляется возле адреса страницы в адресной строке сайта, а также в закладках. Его размер должен быть либо 16x16 либо 32x32 пикселей. Не все браузеры поддерживают формат favicon отличный от ico, подробней читайте на http://en.wikipedia.org/wiki/Favicon#Browser_support

Копируем изображение в папку images и добавляем в LocalSettings.php: $wgFavicon = "$wgScriptPath/favicon.ico";

Настраиваем навигационную панель (слева)
Создаём страницу MediaWiki:Sidebar, где описываем содержание навигационной панели.

Синтаксис:


 * <название блока 1>
 * <ссылка на статью 1>|<отображаемый текст 1>
 * <ссылка на статью 2>|<отображаемый текст 2>
 * <название блока 2>
 * <ссылка на статью 3>|<отображаемый текст 3>
 * <ссылка на статью 4>|<отображаемый текст 4>

Пример:
 * navigation
 * mainpage|Начальная
 * Служебная:AllPages|Все статьи
 * Служебная:Categories|Все категории
 * portal-url|Сообщество
 * helppage|help
 * Популярное
 * Служебная:PopularPages|Статьи
 * Служебная:MostLinkedCategories|Категории
 * recentchanges-url|recentchanges
 * randompage-url|randompage
 * SEARCH
 * TOOLBOX

Меняем права пользователей
Права пользователя можно поменять на Special:Userrights. Подробно описано в официальном руководстве.

Добавление расширений
Все расширения (extensions) устанавливаются в MediaWiki одинаково: require_once( "$IP/extensions/Каталог_Расширения/Главный_Файл_Расширения.php" );
 * 1) копируются в свой подкаталог в каталоге extensions. Список расширений можно узнать из официального списка.
 * 2) в LocalSettings.php добавляется строка:

Список всех установленных расширений и их версий можно увидеть на странице Служебная:Version

Некоторые полезные расширения

require_once( "$IP/extensions/FCKeditor/FCKeditor.php" );
 * FCKeditor - визуальный (WYSIWYG) редактор. У этого расширения можно обновить сам редатор. Подключаем:


 * Cite.php - добавляет поддержку тэгов   и '''

Параметры:


 * lang="??": Определяет язык программировария, сказывается на самой подсветке
 * line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS": Как нумеровать линии (по умолчанию никак)
 * line start="??": Какой номер у первой строки, используется вместе с line
 * highlight="??": Какую линию подсветить, не зависит от line start
 * enclose="??": В какой контейнер поместить блок. Принимает знаения "pre" (по умолчанию), "div", "none".
 * strict: Присутствие этого параметра указывает, что нужно использовать режим strict.


 * CategoryTree - добавляет более удобную навигацию по категориям. Позволяет использовать тэг

Резервное копирование
Чтобы узнать, как скачать дампы базы данных со статьями Википедии, см. статью Википедии

Для создания собственного дампа локального сайта, использующего MediaWiki, есть подробная инструкция.

Если кратко, то полная резервная копия - это дамп из СУБД (у меня MySQL) в виде SQL выражений, а частичная в виде xml файла. Особенности последней в том, что она не зависит от структуры базы данных и может быть перенесена, например, на нувую версию MediaWiki с изменнённой структурой БД, но в xml не выгружаются информация о логинаx пользователей, журналы и метаданные изображений.

mysqldump -h $SERVER -u $USER -p$PASSWORD --default-character-set=$CHARSET $DATABASE -c \
 * Для SQL дампа выполняем:
 * /bin/gzip -9 > ~/backup/wiki-$(date '+%a').sql.gz


 * параметры $USER, $PASSWORD и $DATABASE берём из LocalSettings.php
 * cat ./LocalSettings.php | grep wgDB


 * параметр --default-character-set=$CHARSET нужен, если возникли проблемы с кодировкой (подробней см. статью выше)


 * параметр -h $SERVER нужен если подключаемся не через сокет, иначе получим ошибку:
 * mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect

php maintenance\dumpBackup.php --full > full.xml Список параметров dumpBackup.php можно получить, вызвав его без параметров, однако, в исходном коде этого скрипта есть ещё несколько недокументированных опций.
 * Для XML дампа используем скрипт dumpBackup.php, расположенный в каталоге maintenance:

Редактировние статей
Об этом можно подробно узнать из Справки по редактированию.

Полезные ссылки по администрированию
Документация:

http://meta.wikimedia.org/wiki/Помощь:Содержание http://ru.wikibooks.org/wiki/Вики - небольшой Викиучебник

Советы по настройке:

http://ru.wikia.com/wiki/Настройка_вики

http://docs.altlinux.org/archive/4.1/school_server/mediawiki/index.html

http://homo-creativus.info/tag/mediawiki/

Справочники:

http://www.wikireality.ru/wiki/Настройки_конфигурации_MediaWiki_(по_алфавиту) - описание всех параметров LocalSettings.php на русском языке

Скины:

http://community.wikia.com/wiki/Wikia_custom_skins